hr{
  border-top-width: 1px !important;
  border-color: var(--color-black);
  opacity: 1;
  padding-bottom: 1rem;
}
img{max-width: 100%;}

.hyphens-auto{
  hyphens: auto;
}
/* .material-symbols-rounded {
  font-variation-settings:
  'FILL' 0,
  'wght' 200,
  'GRAD' 0,
  'opsz' 24
} */
.btn-close{
  --bs-btn-close-bg: transparent;
  --bs-btn-close-color: var(--color-black);
  width: inherit;
  height: inherit;
  line-height: 1;
  box-shadow: none !important;
}
.btn-close:after{
  content: "\e5cd";
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  font-size: 1.4em;
}

.spacer.spacer-header{
  display: block;
  height: 125px;
}
.spacer.spacer-100{
  display: block;
  height: 100px;
}

.container-fluid{
  --bs-gutter-x: 6rem;
}
@media (max-width: 1199px) {
  .container-fluid{
    --bs-gutter-x: 3rem;
  }
}
@media (min-width: 1900px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: var(--wp--style--global--content-size);
    }
}

h1.wp-block-heading,
h1.page-title{
  margin-top: 0;
}

/*------------------------------------*\
  Header
\*------------------------------------*/
.navbar-brand svg{
  width: 150px;
  transition: all .15s ease;
}
@media (max-width: 1199px) {
  .navbar-brand svg{
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 300px) {
  .navbar-brand svg{
    width: 50px;
    height: 50px;
  }
}

body > header{
  z-index: 99;
}
body.scroll > header{
  /* box-shadow: var(--bs-box-shadow); */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.scroll > header::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background-color: #fff;
}
body.scroll .navbar-brand svg{
  width: 80px;
  height: 80px;
}



/*------------------------------------*\
  Navigation
\*------------------------------------*/

body > header .offcanvas-header{
  padding-bottom: 0;
}
.navbar-toggler{
  --bs-navbar-toggler-padding-y: 0;
  --bs-navbar-toggler-padding-x: 0;
  --bs-navbar-color: #fff;
  --bs-border-width: 0;
  color: var(--color-blue);
  box-shadow: none !important;
  padding-left: 1.5rem;
}
.navbar-toggler > span{font-size: 40px;}
.navbar-nav{
  --bs-nav-link-font-weight: 500;
  --bs-nav-link-font-size: 16px;
  --bs-navbar-nav-link-padding-x: 1.5rem;
  --bs-nav-link-padding-y: .8rem;
  --bs-nav-link-border-radius: 0;
  --bs-nav-link-color: var(--color-grey-dark);
  --bs-navbar-hover-color: var(--color-black);
  /* --bs-nav-link-hover-bg: var(--color-grey-light); */
  --bs-navbar-active-color: var(--color-grey-dark);
}
.nav-link{
  --bs-nav-link-font-size: 18px;
  --bs-nav-link-font-weight: 700;
  --bs-nav-link-color: var(--color-blue);
  letter-spacing: .05rem;
  border-radius: var(--bs-nav-link-border-radius);
  text-transform: uppercase;
}


.has-icon .nav-link{
  line-height: 1;
}
.has-icon .nav-link span[class^="material-symbols"]{
  font-size: 35px;
}

.nav-link:hover{
  background-color: var(--bs-nav-link-hover-bg);
}
.navbar-nav li .nav-link:after{
  content: "";
  border-bottom: 2px solid var(--color-blue);
  display: block;
  transform: translateY(4px);
  opacity: 0;
}
.navbar-nav li.current-menu-item:not(.onlyicon) .nav-link:after{
  opacity: 1;
}

.navbar-nav .dropdown-menu{
  --bs-dropdown-bg: transparent;
}

.navbar-nav .dropdown-toggle{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.navbar-nav a[data-bs-toggle]:after{
  content: "\e313";
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  border: 0;
  transform: rotate(-90deg);
  transition: transform .35s
  ease;
  font-size: 1.5em;
  margin: 0;
  min-width: 23px;
}
.dropdown-item{
  --bs-dropdown-link-color: var(--color-blue);
  font-weight: var(--bs-dropdown-font-weight);
  border-radius: var(--bs-dropdown-item-border-radius);
}
.dropdown-menu{
  box-shadow: var(--bs-box-shadow);
}
.navbar-nav li.onlyicon span[itemprop="name"]{
  display: none;
}
.navbar-nav .has-icon .material-symbols-rounded{
  width: 35px;
  height: 35px;
}
.cart-icon .cart-qty{
  line-height: 2;
  vertical-align: bottom;
}

@media (min-width: 1200px) {
  .navbar-nav a[data-bs-toggle]:after{
    transform: inherit;
    margin-left: .5rem;
  }
  .navbar-nav .dropdown-menu{
    --bs-dropdown-link-color: var(--color-grey-dark);
    --bs-dropdown-bg: var(--color-white);
    --bs-dropdown-link-hover-bg: var(--color-grey-light);
    --bs-dropdown-link-hover-color: var(--color-black);
    --bs-dropdown-font-size: 18px;
    --bs-dropdown-link-active-bg: transparent;
    --bs-dropdown-padding-y: 3px;
    --bs-dropdown-padding-x: 3px;
    --bs-dropdown-item-padding-x: 1.8rem;
    --bs-dropdown-item-padding-y: 0.8rem;
    --bs-dropdown-item-border-radius: 15px;
    --bs-dropdown-font-weight: 600;
    --bs-dropdown-border-radius: 18px;
    --bs-dropdown-min-width: 13rem;
    --bs-dropdown-border-width: 0;
    box-shadow: none;
  }

  .has-icon.onlyicon .nav-link{
    padding-right: .5rem;
    padding-left: .5rem;
  }

}

@media (max-width: 1199px) {

  .navbar-nav{
    /* --bs-nav-link-color: var(--color-grey-light);
    --bs-navbar-hover-color: var(--color-grey-light);
    --bs-nav-link-hover-bg: transparent;
    --bs-navbar-active-color: var(--color-white); */
    --bs-nav-link-hover-bg: transparent;
    --bs-nav-link-border-radius: 0;
    flex-direction: row;
  }

  .offcanvas .navbar-nav{
    flex-direction: column;
  }

  ul.navbar-nav > li{
    line-height: 1.4;
    /* border-bottom: 1px solid var(--color-grey-light); */
  }

  ul.navbar-nav li > .dropdown-item {
    /* border-top: 1px solid #49464f1c; */
  }

  .navbar-nav .dropdown-toggle > span {
    position: relative;
  }
  .navbar-nav a[data-bs-toggle][aria-expanded="true"]:after {
    transform: rotate(0deg);
  }
  ul.navbar-nav .nav-link,
  ul.navbar-nav .dropdown-item{
    padding: 1rem 1.8rem;
    margin: 0;
    position: relative;
    transition: none;
  }

  .has-icon.onlyicon .nav-link{
    padding: 1rem;
  }

  ul.navbar-nav .nav-link[aria-expanded="true"]{
    background-color: rgb(var(--color-primary-rgb) / 10%);
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
  }

  .navbar-nav .dropdown-menu{
    --bs-dropdown-bg: rgb(var(--color-primary-rgb) / 10%);
    --bs-dropdown-link-color: var(--color-grey-dark);
    --bs-dropdown-link-active-color: var(--color-olive-medium);
    --bs-dropdown-border-width: 0;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: .5rem;
    --bs-box-shadow: none;
    --bs-dropdown-font-weight: 500;
    --bs-dropdown-font-size: 16px;
    --bs-dropdown-border-radius: 0;
    margin: 0;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
  }
  .navbar-nav .dropdown-menu > li:first-of-type{
    margin-top: -.5rem;
  }

}

@media (max-width: 400px) {
  .has-icon.onlyicon .nav-link{
    padding-left: .6rem;
    padding-right: .6rem;
  }
  .navbar-toggler{
    padding-left: .6rem;
  }
}
@media (max-width: 320px) {
  .navbar-brand svg {
      width: 60px;
      height: 60px;
  }
}

/*------------------------------------*\
  Page
\*------------------------------------*/
.jumbotron h1{
  margin: 0;
  font-size: var(--fs-jumbotron);
  hyphens: auto;
}

/*------------------------------------*\
  Bolton animation
\*------------------------------------*/
#bolton-ani{width: 70%; min-height: 40vw;}
@media (max-width: 768px) {
  #bolton-ani{width: 100%;}
}

/*------------------------------------*\
  References
\*------------------------------------*/
.references-grid > div{

}
.references-grid > div:nth-child(even) > div:first-of-type{
  order: 2;
}
@media (max-width: 1199px) {
  .references-grid > div > div:first-of-type{
    order: 1;
  }
}

/*------------------------------------*\
  Modals
\*------------------------------------*/
.modal{
  --bs-modal-border-width: 0;
  --bs-modal-header-border-width: 0;
  --bs-modal-footer-border-width: 0;
  --bs-modal-header-padding: 2rem;
  --bs-modal-padding: 2rem;
}

.modal-title{margin-top: 0;}
.modal-body{padding-top: 0; padding-bottom: 0;}

@media (max-width: 1199px) {
  .modal{
    --bs-modal-header-padding: 1rem;
    --bs-modal-padding: 1rem;
  }
}

/*------------------------------------*\
  Woocommerce
\*------------------------------------*/
.woocommerce .product_cat-resor .onsale{
  display: none;
}
.woocommerce div.product div.images{
  float: none;
  width: 100%;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{

}
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2){

}
.woocommerce div.product p.price, .woocommerce div.product  span.price{
  color: var(--color-blue);
}
.woocommerce div.product p.price ins, .woocommerce div.product  span.price ins{
  text-decoration: none;
}
.woocommerce div.product .stock{
  margin-top: -1rem;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-blue);
}
.woocommerce button.button{
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  border-radius: var(--bs-btn-border-radius);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
}
.woocommerce button.button.disabled{
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
}
.woocommerce .quantity .qty{
  width: inherit;
  width: 4em;
}
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering{
  display: none;
}
.woocommerce.archive.term-resor ul.products{
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.woocommerce.archive .term-description a{
  text-decoration: underline;
}
.woocommerce.archive.term-resor ul.products li.product{
  float: none;
  width: 100%;
  margin: 0;
  padding: 1rem 2rem;
  background-color: var(--color-grey-dark);
  color: var(--color-beige);
  text-transform: uppercase;
}
.woocommerce.archive.term-resor ul.products li.product a{
  display: flex;
  gap: 2rem;
  align-items: center;
}
.woocommerce.archive.term-resor ul.products li.product a > *{
  line-height: 1.2;
  margin: 0;
  padding: 0;
}
.woocommerce.archive.term-resor ul.products li.product h2,
.woocommerce.archive.term-resor ul.products li.product h3{
  font-size: var(--fs-h3);
}
.woocommerce.archive .term-description{
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
/* .woocommerce.archive .term-description:before{
  content: "";
  background: no-repeat url(../images/lines.svg);
  display: inline-block;
  width: 50px;
  height: 52px;
  background-size: 50px;
} */

.archive-logged-out-info {
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 2rem;
  font-size: var(--fs-small);
}
.archive-logged-out-info > span{
  font-size: 45px;
  vertical-align: middle;
  margin-right: .2rem;
}
.woocommerce.archive .term-description > p:first-of-type{margin: 0;}
.woocommerce.archive.term-resor ul.products li.product .resor-medlemsstart{
  text-transform: none;
}
.woocommerce:not(.term-resor) ul.products li.product .woocommerce-loop-product__title{
  text-align: center;
}
.woocommerce:not(.term-resor) ul.products li.product .price{
  color: var(--color-blue);
  text-align: center;
}
.woocommerce:not(.term-resor) ul.products li.product .price ins{
  text-decoration: none;
}
.woocommerce ul.products li.product a img{
  /* padding: 2rem; */
  background: #fff;
  mix-blend-mode: multiply;
}
.woocommerce div.product div.images img{
  padding: 3rem;
  background: #fff;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) img{
  padding: 1rem;
}
.woocommerce div.product .variations tr{
  display: flex;
  align-items: center;
  gap: 1rem;
}
.woocommerce div.product .variations tr td.value{
  display: flex;
  align-items: center;
  gap: 1rem;
}
.woocommerce .single_variation_wrap{
  /* padding-top: 1rem; */
}
.woocommerce .woocommerce-variation.single_variation > div:not(:empty) {
  padding-bottom: 1rem;
}


.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  background: var(--color-blue);
  color: var(--color-beige);
  font-size: var(--fs-small);
  border: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.woocommerce-error,
.woocommerce-info{
  display: block;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info:before{
  top: inherit;
  color: #fff;
}
.woocommerce-message::after{display: none;}
.woocommerce .woocommerce-message .button{
  background: transparent !important;
  color: #fff !important;
}



/*------------------------------------*\
  Cart
\*------------------------------------*/
.woocommerce-cart .cart_totals h2{
  font-size: var(--fs-h3);
  margin-bottom: 1rem;
}
.variation-Avresedatum p{
  margin-top: .5rem;
  font-size: var(--fs-small);
  font-weight: 400;
}
dt.variation-Avresedatum{
  font-size: var(--fs-small);
  font-weight: 400;
}
.woocommerce-checkout .variation dd > p,
.woocommerce-cart .variation dd > p{margin: 0;}
.woocommerce .form-row input[type="file"]{
  background: #fff;
  padding: .729rem 1rem;
  width: 100%;
  font-size: 17px;
}

.woocommerce .woocommerce-additional-fields > h3{display: none;}
#bik_intyg_filelista{
  padding: .5rem;
  font-size: 17px;
}
#bik_intyg_filelista > div{
  padding: .5rem;
}
.woocommerce input.loading{
  position: relative;
}
.woocommerce input.loading:after{
  content: "";
  --bs-spinner-width: 20px;
  --bs-spinner-height: 20px;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid var(--color-blue);
  border-right-color: transparent;
  display: inline-block;
  flex-shrink: 0;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
  position: absolute;
  right: 1rem;
  top: 1rem;
}
@keyframes spinner-border {
  to { transform: rotate(360deg); }
}

/*------------------------------------*\
  Checkout
\*------------------------------------*/
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-additional-fields__field-wrapper{
  display: none;
}

.woocommerce-checkout select.country_to_state{
  padding: 1.141rem 3rem 1.141rem 1rem !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  width: 100% !important;
}
.woocommerce-checkout .woocommerce-checkout-payment{
  background: transparent !important;
  padding: 2rem 0;
}
.woocommerce-checkout button[type="submit"]{
  padding: 1em 2.5rem;
  font-size: 20px;
  font-weight: 800;
  text-transform: uppercase;
  background-color: var(--color-blue) !important;
}
.woocommerce table.shop_table{
  background: #fff;
  border: 0;
  border-radius: 0;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
  padding: 1rem 1.5rem;
}
.woocommerce-checkout .wc_payment_methods .payment_box:before{
  display: none !important;
}
.woocommerce-checkout .wc_payment_methods .payment_box{
  border-radius: 15px !important;
  background-color: #fff !important;
  padding: 2rem !important;
}
.woocommerce-checkout .wc_payment_methods .payment_box p{
  margin-top: 0;
}
.woocommerce-checkout .wc_payment_methods .payment_method_swish .payment_method_swish{
  text-align: center;
  font-size: 20px !important;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}
.woocommerce-checkout .wc_payment_methods .payment_method_swish .required{display: none;}
.woocommerce-checkout .wc_payment_methods .payment_method_swish .payment_method_swish img{
  max-height: 50px !important;
  margin: 0 0 1rem 0 !important;
}
.woocommerce-checkout .wc_payment_methods .payment_method_swish .payment_method_swish .wc-swish-form-payer-alias{
  padding: 1.141rem 1rem;
  max-width: 400px;
  margin: 0 auto !important;
}

/*------------------------------------*\
  Account
\*------------------------------------*/
.woocommerce-account article nav ul{
  list-style: none;
  padding: 0;
}
.woocommerce-account article nav ul li a{
  padding: 1rem;
  background-color: var(--color-blue);
  font-weight: 800;
  text-transform: uppercase;
  color: #fff;
  display: block;
  text-decoration: none;
  margin-bottom: 1px
}
.woocommerce-MyAccount-content{
  padding: 2rem;
  background-color: #fff;
  min-height: 400px;
}
.woocommerce-MyAccount-content p:first-of-type{margin-top: 0;}

.woocommerce-MyAccount-content h2{font-size: var(--fs-h4);}

.woocommerce-MyAccount-content form input.form-control.input-text{
  background-color: #f1f1f1 !important;
}

/*------------------------------------*\
  Swiper JS
\*------------------------------------*/
.swiper {
 width: 100%;
 height: 600px;
}

.swiper-slide {
 text-align: center;
 font-size: 18px;
 background: #444;
 display: flex;
 justify-content: center;
 align-items: center;
}

.swiper-slide img {
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
}


/*------------------------------------*\
  Sidfot
\*------------------------------------*/

.kwb-partner-loggor {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
  column-gap: 3rem;
}
.kwb-partner-logga-bild {
	display: block;
	width: auto;
	height: 150px !important;
	max-width: 190px !important;
	max-height: 150px;
	filter: brightness(0) saturate(100%) invert(20%) sepia(45%) saturate(1800%) hue-rotate(215deg) brightness(90%) contrast(92%);
  transition: filter .35s ease;
}
.kwb-partner-loggor a:hover .kwb-partner-logga-bild{
  filter: brightness(0);
}


.footer-menu ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-menu ul > li > a{
  font-size: var(--fs-large);
  text-transform: uppercase;
  font-weight: 700;
}

.footer-info label{
  text-transform: uppercase;
}
.footer-info span{
  text-transform: uppercase;
  font-size: var(--fs-medium);
  font-weight: 700;
}

footer a:hover{
  text-decoration: underline;
}

footer{
  margin-top: 2rem;
  border-top: 4px solid var(--color-blue);
}
footer .social svg{
  width: 30px;
  height: 30px;
}
footer .social a:hover > svg{
  border-radius: 10px;
  background-color: #fff;
}
.social-icon svg{
  stroke: var(--color-primary) !important;
}
footer p{
  margin-top: 2rem;
  margin-bottom: 2rem;
}
footer .navbar-brand > svg,
footer .navbar-brand > img{
  width: 250px;
}
footer .navbar-brand path{
  fill: var(--color-olive-light);
}
footer > div:first-of-type{
  position: relative;
  background-size: cover;
  background-position: center center;
}
footer > div:first-of-type > *{
  z-index:1;
  position: relative;
}


