@tailwind base;

@tailwind components;

@tailwind utilities;

.comparison-label {
  font-size: 0;
  line-height: 0;
}

.comparison-list-item.active{
  text-decoration-line: underline;
  text-decoration-color: #212e63;
  text-underline-offset: 4px;
}

[data-component="image-comparison-slider"] figcaption {
  text-shadow:
        1px 1px 0 #4e5568,
        -1px -1px 0 #4e5568,
        1px -1px 0 #4e5568,
        -1px 1px #4e5568;
}

.comparison-label,
.comparison-range {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  cursor: ew-resize;
  z-index: 20;
}

.comparison-range {
  @media (hover) {
    &:hover ~ .comparison-slider .comparison-thumb {
      transform: scale(1.2);
    }
  }
}

.comparison-range:active,
.comparison-range:focus,
.comparison-range--active {
  ~ .comparison-slider .comparison-thumb {
    transform: scale(0.8);
    background-color: rgba(10,10,10, 0.5);
  }
}

.comparison-slider {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  z-index: 10;
  width: 1px;
  background-color: white;
}

.comparison-thumb {
  position: absolute;
  top: calc(50% - 20px);
  left: calc(50% - 20px);
  width: 40px;
  height: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-bg-opacity: 0.5;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  border-radius: 50%;
  box-shadow: 0 0 22px 0 rgba(0,0,0, 0.5);
  transform-origin: center;
  transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.comparison-range::-webkit-slider-runnable-track {
  width: 40px;
  height: 40px;
  opacity: 0;
}

.comparison-range::-moz-range-thumb {
  width: 40px;
  height: 40px;
  opacity: 0;
}

.comparison-range::-webkit-slider-thumb {
  width: 40px;
  height: 40px;
  opacity: 0;
}

.comparison-range::-ms-fill-lower {
  background-color: transparent;
}

.comparison-range::-ms-track {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  margin: 0;
  padding: 0;
  background-color: transparent;
  color: transparent;
  outline: none;
  cursor: col-resize;
}

.comparison-range::-ms-thumb {
  width: 0.5%;
  height: 100%;
  opacity: 0;
}

.comparison-range::-ms-tooltip {
  display: none;
}

.dynamic-aspect-ratio {
  padding-top: var(--aspect-ratio-mobile, 120%);
}

@media (min-width: 1024px) {
  .dynamic-aspect-ratio {
    padding-top: var(--aspect-ratio-desktop, 66.66%);
  }
}

@tailwind base;

@tailwind components;

@tailwind utilities;

/*@import url(components/category-page.css);*/

::before,
::after {
  --tw-content: '';
}

/* Prevent displaying cookie message in the live editor */

body.storyblok-edit-mode #CybotCookiebotDialog,
body.storyblok-edit-mode #notice-cookie-block {
  display: none !important;
}

/* Add variable */

:root {
  --container-padding: calc(100vw / 24);
}

*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

.container{
  width: 100%;
}

@media (min-width: 480px){
  .container{
    max-width: 480px;
  }
}

@media (min-width: 768px){
  .container{
    max-width: 768px;
  }
}

@media (min-width: 1024px){
  .container{
    max-width: 1024px;
  }
}

@media (min-width: 1200px){
  .container{
    max-width: 1200px;
  }
}

@media (min-width: 1440px){
  .container{
    max-width: 1440px;
  }
}

@media (min-width: 1920px){
  .container{
    max-width: 1920px;
  }
}

.section-default{
  display: block;
  max-width: 1440px;
}

@media (min-width: 768px){
  .section-default{
    margin: auto;
  }
}

.section-spacing-top{
  padding-top: 40px;
}

@media (min-width: 768px){
  .section-spacing-top{
    padding-top: 60px;
  }
}

@media (min-width: 1024px){
  .section-spacing-top{
    padding-top: 60px;
  }
}

.section-spacing-bottom{
  padding-bottom: 40px;
}

@media (min-width: 768px){
  .section-spacing-bottom{
    padding-bottom: 60px;
  }
}

@media (min-width: 1024px){
  .section-spacing-bottom{
    padding-bottom: 60px;
  }
}

.section-spacing-y{
  padding-top: 40px;
  padding-bottom: 40px;
}

@media (min-width: 768px){
  .section-spacing-y{
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media (min-width: 1024px){
  .section-spacing-y{
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.section-full-width{
  display: block;
  margin-left: calc(var(--container-padding) * -1);
  margin-right: calc(var(--container-padding) * -1);
  margin-bottom: 0;
  width: calc(100% + var(--container-padding) * 2);
}

.storyblok-element{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--desktopImage);
  &.mobile {
    background-image: var(--mobileImage);
    @media (min-width: 768px) {
      background-image: var(--desktopImage);
    }
  }
}

.pointer-events-none{
  pointer-events: none;
}

.absolute{
  position: absolute;
}

.relative{
  position: relative;
}

.bottom-0{
  bottom: 0px;
}

.bottom-1{
  bottom: 0.25rem;
}

.left-0{
  left: 0px;
}

.left-1{
  left: 0.25rem;
}

.left-5{
  left: 1.25rem;
}

.right-0{
  right: 0px;
}

.right-1{
  right: 0.25rem;
}

.top-0{
  top: 0px;
}

.top-5{
  top: 1.25rem;
}

.z-0{
  z-index: 0;
}

.z-10{
  z-index: 10;
}

.z-20{
  z-index: 20;
}

.z-\[1\!important\]{
  z-index: 1 !important;
}

.col-span-2{
  grid-column: span 2 / span 2;
}

.m-0{
  margin: 0px;
}

.mx-auto{
  margin-left: auto;
  margin-right: auto;
}

.my-auto{
  margin-top: auto;
  margin-bottom: auto;
}

.\!mb-0{
  margin-bottom: 0px !important;
}

.mb-0{
  margin-bottom: 0px;
}

.mb-2{
  margin-bottom: 0.5rem;
}

.mb-3{
  margin-bottom: 0.75rem;
}

.mb-40{
  margin-bottom: 10rem;
}

.mb-8{
  margin-bottom: 2rem;
}

.mr-auto{
  margin-right: auto;
}

.mt-3{
  margin-top: 0.75rem;
}

.mt-4{
  margin-top: 1rem;
}

.mt-8{
  margin-top: 2rem;
}

.mt-auto{
  margin-top: auto;
}

.block{
  display: block;
}

.inline-block{
  display: inline-block;
}

.flex{
  display: flex;
}

.grid{
  display: grid;
}

.hidden{
  display: none;
}

.aspect-square{
  aspect-ratio: 1 / 1;
}

.aspect-video{
  aspect-ratio: 16 / 9;
}

.h-\[20px\]{
  height: 20px;
}

.h-auto{
  height: auto;
}

.h-full{
  height: 100%;
}

.min-h-\[350px\]{
  min-height: 350px;
}

.w-1\/2{
  width: 50%;
}

.w-\[20px\]{
  width: 20px;
}

.w-full{
  width: 100%;
}

.min-w-max{
  min-width: -moz-max-content;
  min-width: max-content;
}

.max-w-2xl{
  max-width: 42rem;
}

.max-w-\[350px\]{
  max-width: 350px;
}

.rotate-45{
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cursor-pointer{
  cursor: pointer;
}

.resize{
  resize: both;
}

.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5{
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-rows-\[1fr_auto\]{
  grid-template-rows: 1fr auto;
}

.flex-col{
  flex-direction: column;
}

.flex-wrap{
  flex-wrap: wrap;
}

.flex-nowrap{
  flex-wrap: nowrap;
}

.items-end{
  align-items: flex-end;
}

.items-center{
  align-items: center;
}

.justify-start{
  justify-content: flex-start;
}

.justify-end{
  justify-content: flex-end;
}

.justify-center{
  justify-content: center;
}

.justify-between{
  justify-content: space-between;
}

.justify-around{
  justify-content: space-around;
}

.gap-10{
  gap: 2.5rem;
}

.gap-2{
  gap: 0.5rem;
}

.gap-3{
  gap: 0.75rem;
}

.gap-4{
  gap: 1rem;
}

.gap-6{
  gap: 1.5rem;
}

.gap-8{
  gap: 2rem;
}

.space-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.self-start{
  align-self: flex-start;
}

.justify-self-start{
  justify-self: start;
}

.justify-self-end{
  justify-self: end;
}

.justify-self-center{
  justify-self: center;
}

.overflow-hidden{
  overflow: hidden;
}

.border-b-0{
  border-bottom-width: 0px;
}

.border-b-2{
  border-bottom-width: 2px;
}

.border-l-0{
  border-left-width: 0px;
}

.border-l-2{
  border-left-width: 2px;
}

.border-r-0{
  border-right-width: 0px;
}

.border-r-2{
  border-right-width: 2px;
}

.border-t-0{
  border-top-width: 0px;
}

.border-t-2{
  border-top-width: 2px;
}

.border-solid{
  border-style: solid;
}

.border-black{
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}

.bg-cover{
  background-size: cover;
}

.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}

.object-left-top{
  -o-object-position: left top;
     object-position: left top;
}

.p-0{
  padding: 0px;
}

.p-6{
  padding: 1.5rem;
}

.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.text-left{
  text-align: left;
}

.text-center{
  text-align: center;
}

.text-right{
  text-align: right;
}

.font-heading{
  font-family: MontserratMedium, Helvetica Neue, Helvetica, Arial, sans-serif;
}

.font-sans{
  font-family: Avenir, sans-serif;
}

.text-\[18px\]{
  font-size: 18px;
}

.text-\[20px\]{
  font-size: 20px;
}

.text-lg{
  font-size: 1.5rem;
}

.text-sm{
  font-size: 0.8rem;
}

.font-bold{
  font-weight: 700;
}

.font-normal{
  font-weight: 400;
}

.font-semibold{
  font-weight: 600;
}

.uppercase{
  text-transform: uppercase;
}

.leading-\[20px\]{
  line-height: 20px;
}

.leading-\[24px\]{
  line-height: 24px;
}

.leading-none{
  line-height: 1;
}

.text-gray{
  --tw-text-opacity: 1;
  color: rgb(146 148 150 / var(--tw-text-opacity, 1));
}

.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:pointer-events-none::after{
  content: var(--tw-content);
  pointer-events: none;
}

.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}

.after\:inset-0::after{
  content: var(--tw-content);
  inset: 0px;
}

.after\:scale-100::after{
  content: var(--tw-content);
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.after\:transform::after{
  content: var(--tw-content);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.after\:bg-gradient-to-bl::after{
  content: var(--tw-content);
  background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
}

.after\:from-transparent::after{
  content: var(--tw-content);
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.after\:via-transparent::after{
  content: var(--tw-content);
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.after\:to-black::after{
  content: var(--tw-content);
  --tw-gradient-to: #000000 var(--tw-gradient-to-position);
}

.after\:mix-blend-multiply::after{
  content: var(--tw-content);
  mix-blend-mode: multiply;
}

.after\:transition-transform::after{
  content: var(--tw-content);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:ease-in-out::after{
  content: var(--tw-content);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.hover\:no-underline:hover{
  text-decoration-line: none;
}

.hover\:after\:scale-110:hover::after{
  content: var(--tw-content);
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.focus\:after\:scale-110:focus::after{
  content: var(--tw-content);
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media (min-width: 768px){
  .md\:static{
    position: static;
  }

  .md\:order-1{
    order: 1;
  }

  .md\:order-first{
    order: -9999;
  }

  .md\:order-last{
    order: 9999;
  }

  .md\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .md\:-ml-\[10\%\]{
    margin-left: -10%;
  }

  .md\:-mr-\[10\%\]{
    margin-right: -10%;
  }

  .md\:mb-0{
    margin-bottom: 0px;
  }

  .md\:ml-\[10\%\]{
    margin-left: 10%;
  }

  .md\:block{
    display: block;
  }

  .md\:flex{
    display: flex;
  }

  .md\:hidden{
    display: none;
  }

  .md\:w-1\/2{
    width: 50%;
  }

  .md\:w-\[110\%\]{
    width: 110%;
  }

  .md\:basis-1\/2{
    flex-basis: 50%;
  }

  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:grid-rows-\[auto_auto_auto\]{
    grid-template-rows: auto auto auto;
  }

  .md\:flex-row{
    flex-direction: row;
  }

  .md\:items-center{
    align-items: center;
  }

  .md\:gap-10{
    gap: 2.5rem;
  }

  .md\:gap-12{
    gap: 3rem;
  }

  .md\:gap-4{
    gap: 1rem;
  }

  .md\:gap-5{
    gap: 1.25rem;
  }

  .md\:gap-6{
    gap: 1.5rem;
  }

  .md\:gap-8{
    gap: 2rem;
  }

  .md\:object-cover{
    -o-object-fit: cover;
       object-fit: cover;
  }

  .md\:p-8{
    padding: 2rem;
  }

  .md\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:text-left{
    text-align: left;
  }

  .md\:text-2xl{
    font-size: 2.5rem;
  }

  .md\:text-\[20px\]{
    font-size: 20px;
  }

  .md\:text-\[32px\]{
    font-size: 32px;
  }

  .md\:text-lg{
    font-size: 1.5rem;
  }

  .md\:leading-12{
    line-height: 3rem;
  }

  .md\:leading-\[32px\]{
    line-height: 32px;
  }

  .md\:leading-\[40px\]{
    line-height: 40px;
  }
}

@media (min-width: 1024px){
  .lg\:bottom-3{
    bottom: 0.75rem;
  }

  .lg\:left-3{
    left: 0.75rem;
  }

  .lg\:right-3{
    right: 0.75rem;
  }

  .lg\:mb-4{
    margin-bottom: 1rem;
  }

  .lg\:\!block{
    display: block !important;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:text-base{
    font-size: 1rem;
  }
}

