/* ––––– global ––––– */
:root {
  --shadow--light: -5px 9px 25px -22px rgba(0, 0, 0, 0.04);
  --easing: cubic-bezier(.4, 0, .6, 1);
  --easing--alt: cubic-bezier(0.33, 1, 0.68, 1);
  --blurrr: blur(20px) saturate(180%);
}

html {
  font-size: 1.0625vw;
  font-feature-settings: "ss04" on;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  text-wrap: pretty;
}

@media screen and (max-width: 991px) {
  html {
    font-size: 1.45vw;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 1.9375vw;
  }
}

@media screen and (max-width: 479px) {
  html {
    font-size: 3.625vw;
  }
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.dropdown__item {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity .52s var(--easing--alt), transform .52s var(--easing--alt);
}

[hidden] {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: none !important;
  visibility: hidden;
}

.custom-input {
  visibility: hidden;
  opacity: 0;
}

.form__step {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  transition: opacity .32s var(--easing) 80ms;
  opacity: 0;
}


.form__step.current {
  pointer-events: all;
  z-index: 1;
  opacity: 1;
}


.faq__list--item:not(:first-child) {
  display: none;
}

[data-barba-namespace='projects'] {
  opacity: 0;
  transition: .32s var(--easing) 80ms;
}

[data-barba-namespace='projects']:has(.swiper-initialized) {
  opacity: 1;
}

body[data-lenis-prevent] {
  overscroll-behavior-y: none;
}

body.loading {
  cursor: progress;
}

::selection,
::-webkit-selection {
  background-color: #67284514;
}

address {
  font-style: unset;
  white-space: nowrap;
}

[data-bg="alt"] {
  background-color: var(--color--bg);
}

[data-bg="white"] {
  background-color: white;
}

.header [style*="opacity"]:not([style="opacity: 1;"]),
.header [style*="opacity"]:not([style="opacity: 1;"]) .nav__item {
  pointer-events: none;
}

.header::before,
.nav__item::before {
  content: '';
  position: fixed;
  display: block;
  pointer-events: none;
  opacity: 0;
  transition: opacity .32s var(--easing) 80ms;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
}

.header::before {
  z-index: -1;
}

.nav__item::before {
  z-index: -3;
}


/* focus */
a:focus-visible,
button:focus-visible,
input[type='submit']:focus-visible,
input[type='radio']:focus-visible+label h3,
input[type='radio']:focus-visible+.btn--filter {
  outline: 1.5px solid var(--color--brand) !important;
  outline-offset: .21875rem;
}

a:not(.btn--primary):focus-visible,
.link--nav:focus-visible,
.btn--faq:focus-visible,
.btn--social:focus-visible,
.nav--dropdown .btn--prev:focus-visible {
  border-radius: var(--radius--md) !important;
}


/* blur backgrounds */
.nav__menu::before,
.maps__menu::before,
.products__menu::before,
.gmnoprint div[draggable="false"]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color--tp-dark);
  backdrop-filter: var(--blurrr);
  box-shadow: var(--shadow--light);
  border-radius: var(--radius--md);
}

.nav__item::before,
.fancybox__backdrop,
.header::before {
  background-color: hsla(50, 23%, 95%, .4) !important;
  backdrop-filter: var(--blurrr);
}


/* buttons and links */
button {
  background-color: unset;
  padding: unset;
  user-select: none;
}

.btn--home {
  transition: transform .32s var(--easing--alt)
}

a svg,
button svg {
  overflow: visible !important;
}

.what-we-do__links .btn--italics:last-of-type,
.contact__btns .btn--italics:first-of-type {
  padding-left: .125rem;
}

input[type='submit'] {
  transition: opacity .32s var(--easing);
}

input[type='submit'][disabled] {
  opacity: .5;
}

.logo--credits {
  overflow: hidden !important
}

.link_footer::before,
.link_footer-alt::before,
.link_privacy::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right;
}

.link_footer::before {
  height: 2.5px;
  bottom: -0.84375rem;
  transition: transform .41s var(--easing--alt) 80ms;
}

.link_footer-alt::before {
  height: 2.5px;
}

.link_footer-alt[href^="tel:"]::before,
.link_footer-alt[href-disabled^="tel:"]::before {
  bottom: 0;
  transition: transform .54s var(--easing--alt) 80ms;
}

.link_footer-alt[href^="mailto:"]::before,
.link_footer-alt[href-disabled^="mailto:"]::before {
  bottom: -0.1875rem;
  transition: transform .75s var(--easing--alt) 80ms;
}

.link_privacy::before {
  bottom: -0.1875rem;
  height: 1.5px;
  transition: transform .42s var(--easing--alt) 80ms;
}

.link_footer:hover::before,
.link_footer-alt:hover::before,
.link_privacy:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}


/* clip/scale button hover */
.btn--home {
  transition: transform .35s var(--easing--alt) 69ms;
}

.btn--primary:not(.is-hours-address) {
  clip-path: inset(.125rem round var(--radius--lg));
  transition: clip-path .35s var(--easing--alt) 69ms;
  height: 3.4375rem;
}


.btn--primary:not(.is-hours-address):hover {
  clip-path: inset(0 round calc(var(--radius--lg) * 1.19));
}

.btn--primary:not(.is-hours-address):focus-visible,
.btn--social:focus-visible,
button:has(.btn__inner):focus-visible,
.btn--fancybox:focus-visible,
.btn--projects:focus-visible {
  clip-path: unset !important;
}

.btn--social {
  clip-path: inset(.125rem round var(--radius--md));
  transition: clip-path .35s var(--easing--alt) 69ms;
  height: 3.4375rem;
}

.btn--social:hover {
  clip-path: inset(0 round calc(var(--radius--md) * 1.19));
}

button:has(.btn__inner) {
  clip-path: inset(.125rem round 50%);
  transition: clip-path .35s var(--easing--alt) 69ms;
}

button:has(.btn__inner):hover {
  clip-path: inset(0 round 50%);
}

button:has(.btn__inner) .btn__inner {
  clip-path: inset(.15625rem round 50%);
  transition: clip-path .35s var(--easing--alt) 69ms;
}

button:has(.btn__inner):hover .btn__inner {
  clip-path: inset(0 round 50%);
}

.btn--blog img,
.btn--projects {
  clip-path: inset(.28125rem round var(--radius--lg));
  transition: clip-path .43s var(--easing--alt),
    transform .43s var(--easing--alt);
  transform: scale(.986);
}

.btn--blog:hover img,
.btn--projects:hover {
  clip-path: inset(0 round calc(var(--radius--lg) * 1.5));
  transform: scale(1);
}


.btn--fancybox {
  clip-path: inset(.34375rem round var(--radius--sm));
  transition: clip-path .43s var(--easing--alt);
}

.btn--fancybox:hover {
  clip-path: inset(0 round calc(var(--radius--sm) * 1.5));
}


/* dropdowns */
.dropdown {
  transition: clip-path .32s var(--easing) 80ms,
    opacity .32s var(--easing) .80ms,
    background-color .32s var(--easing) .80ms;
  opacity: 0;
  z-index: -2;
}

.nav__item::before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  opacity: 0;
  transition: opacity .32s var(--easing) 80ms;
  pointer-events: none;
  z-index: -3;
}

.nav__item[dropdown]:hover::before,
.nav__item[dropdown]:has(.dropdown:focus-within)::before {
  opacity: 1;
}

.nav__item[dropdown]:hover .dropdown,
.dropdown:focus-within {
  clip-path: inset(0 0 0 0 round 0 0 var(--radius--lg) var(--radius--lg));
  transition: clip-path .32s var(--easing) 80ms;
  opacity: 1;
  z-index: -1;
}

.nav__item[dropdown]:hover .icon--dropdown,
.nav__item[dropdown]:has(.dropdown:focus-within) .icon--dropdown {
  transform: rotate(180deg);
}

.icon--dropdown {
  transition: transform .32s var(--easing);
}

.link--nav {
  transition: color .32s var(--easing);
}

.btn--enter {
  transform: scale(0);
  opacity: 0;
  transition: all .32s var(--easing);
}

.btn--dropdown:hover .btn--enter,
.btn--products:hover .btn--enter {
  transform: scale(1);
  opacity: 1;
}

/* anim dropdown */
.dropdown__item.animate {
  opacity: 1;
  transform: translateY(0);
}

.dropdown__item:nth-child(1) {
  transition-delay: 80ms;
}

.dropdown__item:nth-child(2) {
  transition-delay: .125s;
}

.dropdown__item:nth-child(3) {
  transition-delay: .145s;
}

.dropdown__item:nth-child(4) {
  transition-delay: .165s;
}


.dropdown h2,
.nav--dropdown .btn--prev h4 {
  mask-image: linear-gradient(to right, currentColor 0%, transparent 100%);
  mask-size: 0% 100%;
  mask-position: left;
  mask-repeat: no-repeat;
  transform-origin: left;
}

.dropdown:has(.animate) h2,
.nav--dropdown:has(.animate) .btn--prev h4 {
  mask-size: 650% 100%;
  transition: mask-size 1.1s cubic-bezier(0.55, 0.2, 0, 1.1) 80ms;
}

.nav--dropdown .btn--prev {
  position: absolute;
  top: -3.75rem;
  left: 0;
}

.nav--dropdown .btn--prev div {
  visibility: hidden;
}

.nav--dropdown .btn--prev svg {
  opacity: 0;
  transition: opacity .18s var(--easing);
}

.nav--dropdown:has(.animate) .btn--prev svg {
  opacity: 1;
}


/* ––––– home ––––– */
/* vendors slider */
.vendors__slider:hover .vendors__list {
  animation-play-state: paused !important;
}

@keyframes slider {
  from {
    transform: translateX(0%);
  }

  to {
    transform: translateX(-100%);
  }
}

.vendors__list--item svg {
  height: 100%;
}

/* ––––– request an estimate ––––– */
/* form fields */
.input-wrapper::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.5px;
  background-color: var(--color--tp-dark);
  transition: transform .4s var(--easing);
}

.input-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1.5px;
  width: 100%;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .4s var(--easing);
}

.input-wrapper:focus-within::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* google maps embed */
#map div[style*="border: 2px solid rgb(26, 115, 232);"],
#map>div>div.gm-style>div:nth-child(14),
#map>div>div.gm-style>div:nth-child(16)>div:nth-child(2),
gmp-internal-camera-control.gmnoprint,
.gm-style-moc {
  display: none !important;
}

.gmnoprint div[draggable="false"] {
  box-shadow: unset !important;
  border-radius: var(--radius--lg) !important;
  cursor: unset !important;
  background-color: unset !important;
  width: unset !important;
  height: unset !important;
  border: unset !important;
  display: flex;
  flex-direction: column;

}

.gmnoprint button.gm-control-active {
  background-color: unset !important;
  width: 3rem !important;
  height: 3rem !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius--lg) !important
}

.gmnoprint button[disabled].gm-control-active::before {
  opacity: .5 !important;
}

.gmnoprint button.gm-control-active img {
  display: none !important;
}

.gmnoprint button.gm-control-active::before {
  content: "";
  position: relative;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  width: 0.875rem;
  height: 0.5625rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M12.6.6 14 2 7.5 8.4h-1L0 2 1.4.6 7 6.2z'/%3E%3C/svg%3E") !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .32s var(--easing) !important;
}

.gmnoprint button.gm-control-active:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1.4 8.4 0 7 6.5.6h1L14 7l-1.4 1.4L7 2.8z'/%3E%3C/svg%3E") !important;
}

.gmnoprint button.gm-control-active:hover::before {
  opacity: .75;
}

.gmnoprint div[draggable="false"] div {
  width: auto !important;
  background-color: var(--color--tp-dark-alt) !important;
  margin: 0px 0.53125rem !important;
}

.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom {
  width: 3rem !important;
  margin: unset !important;
  right: 2rem !important;
  bottom: 1rem !important;
}

.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom>div {
  position: relative !important;
}

/* ––––– privacy policy ––––– */
.w-richtext::before,
.w-richtext::after,
.w-row::before,
.w-row::after {
  content: none;
}

.rich-text a {
  transition: border-color .32s var(--easing) 80ms;
}

table {
  border-radius: var(--radius--lg);
  overflow: hidden;
  box-shadow: inset 0 0 0 1px var(--color--tp-dark-alt);
  font-size: 1.21875rem;
  line-height: 1.48;
  letter-spacing: -0.01825rem;
}

thead {
  text-align: left;
  background-color: var(--color--tp-dark);
  font-size: 1.36875rem;
  font-weight: 700;
  height: 1.3;
  letter-spacing: -0.02875rem;
}

tr {
  border-bottom: 1px solid var(--color--tp-dark-alt);
}

tr:last-child {
  border-bottom: unset;
}

th:first-child,
td:first-child {
  width: 13.125rem;
  border-right: 1px solid var(--color--tp-dark-alt);
}

th,
td {
  padding: 0.875rem;
}

/* ––––– our story ––––– */
.f-carousel__nav {
  bottom: 1.8125rem;
  position: absolute;
  right: 3.875rem;
  display: flex;
  flex-direction: row-reverse;
  gap: 0.21875rem;
}

[data-carousel-next],
[data-carousel-prev] {
  box-sizing: border-box;
  box-shadow: var(--shadow--light);
  backdrop-filter: blur(2px);
  border-radius: 50%;
  border: unset;
  padding: .1875rem;
  top: auto !important;
  bottom: 0;
  transform: unset !important;
  position: relative !important;
}

[data-fancybox-next] svg,
[data-carousel-next] svg {
  margin-left: 0.125rem;
}

[data-fancybox-prev] svg,
[data-carousel-prev] svg {
  margin-right: 0.125rem;
}

.f-thumbs {
  background-color: transparent;
}

.f-carousel__thumbs,
.fancybox__thumbs {
  --f-thumb-border-radius: calc(var(--f-thumb-clip-width) * .2875) !important;
  padding: 0 3rem;
}

.f-thumbs__track {
  padding: .5rem 0 .75rem 0;
}

.f-thumbs__viewport {
  -webkit-mask-image: linear-gradient(90deg, #0000, #000 20% 80%, #0000);
  mask-image: linear-gradient(90deg, #0000, #000 20% 80%, #0000);
}

.f-carousel,
.fancybox__nav {
  --f-carousel-theme-color: var(--color--black);
  --f-carousel-spacing: 0px;
  --f-button-prev-pos: auto;
  --f-button-next-pos: auto;
  --f-button-width: 3.1875rem;
  --f-button-height: 3.1875rem;
  --f-button-svg-width: 0.875rem;
  --f-button-svg-height: 0.875rem;
  --f-button-svg-stroke-width: 0;
  --f-button-transition: none;
  --f-button-color: var(--color--black);
  --f-button-svg-filter: none;
  --f-button-bg: var(--color--tp-light);
}

.viewer__img {
  opacity: 0;
  transition: opacity .32s var(--easing);
}

.viewer__img[data-active] {
  opacity: 1;
  transition-delay: 0s;
}

.viewer__thumb button {
  transition: clip-path .32s var(--easing--alt);
}

.viewer__thumb[data-active] button {
  clip-path: inset(0px 0rem round var(--radius--md));
  pointer-events: none;
}

/* ––––– reviews ––––– */
.reviews__list--item p {
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  display: -webkit-box;
  line-clamp: 6;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  max-height: 9em;
}

/* ––––– projects ––––– */
[data-barba-namespace='projects']~.footer {
  display: none;
}

html:has([data-barba-namespace='projects']) {
  overscroll-behavior: none;
}

/* fancybox */
.btn--controls,
.f-button:focus-visible {
  box-shadow: none !important;
  outline-offset: 0 !important;
}

.f-button:hover,
.f-button:active {
  color: var(--color--black) !important;
  background-color: var(--color--tp-light) !important;
}

#fancybox-projects .fancybox__carousel {
  padding-bottom: 4.65625rem;
}

.fancybox__backdrop {
  border-radius: unset;
}

.is-idle .fancybox__toolbar {
  animation: none;
}

.f-crossfadeIn {
  animation: var(--f-transition-duration, 0.15s) ease-out both f-crossfadeIn;
  z-index: 2
}

.f-crossfadeOut {
  animation: calc(var(--f-transition-duration, 0.15s)*.5) linear .1s both f-crossfadeOut;
  z-index: 1
}

.fancybox__container {
  z-index: 3;
}

.fancybox__content>.f-button.is-close-btn {
  display: none !important;
}

#fancybox-projects .fancybox__slide {
  padding: 0 1rem;
  overflow: visible;
}

.fancybox-image {
  border-radius: var(--radius--lg);
  box-shadow: var(--shadow--light);
  height: auto;
}

.fancybox__carousel {
  padding: 8.6875rem 0 2rem
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
  padding-top: 0px;
}

.fancybox__toolbar {
  font-family: inherit !important;
  font-size: inherit;
  font-weight: 500;
  text-shadow: none !important;
  font-variant-numeric: inherit;
  -webkit-font-smoothing: inherit;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 9.4375rem;
}

.fancybox__toolbar__column {
  align-content: center !important;
  align-items: center;
  padding-top: 3.125rem
}

[data-fancybox-prev] {
  margin-right: 3.875rem;
  position: fixed;
  bottom: 2.9375rem;
  right: 3.65625rem;
  pointer-events: all;
}

[data-fancybox-next] {
  margin-right: 3.875rem;
  position: fixed;
  bottom: 2.9375rem;
  right: 0;
  pointer-events: all;
}

[data-fancybox-close] {
  margin-right: 3.875rem;
  position: fixed;
  top: 6.90625rem;
  right: 0;
  pointer-events: all;
  z-index: 11;
}

[data-fancybox-prev] svg,
[data-fancybox-next] svg,
[data-fancybox-close] svg {
  pointer-events: none;
}


/* –––––– products –––––– */
.products__title h2 {
  white-space: nowrap;
}

.btn--fancybox img {
  transform: scale(.98);
  transition: transform .43s var(--easing--alt);
}

.btn--fancybox:hover img {
  transform: scale(1);
}

.product__slider,
.vendors__slider {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow-y: scroll;
}

.product__slider::-webkit-scrollbar,
.vendors__slider::-webkit-scrollbar {
  display: none;
}

.product__slider:active {
  cursor: grabbing;
}

.product__slider.is-scrolling {
  pointer-events: none;
}

/* fancybox */
.f-progress {
  height: 3.5px;
  background: var(--color--brand);
}

#fancybox-products>div.fancybox__carousel.is-ltr.is-horizontal.has-thumbs>div.fancybox__nav {
  position: absolute;
  display: flex;
  flex-direction: row-reverse;
  right: 3.875rem;
  gap: .21875rem;
  bottom: .375rem;
}

#fancybox-products>div.fancybox__carousel.is-ltr.is-horizontal.has-thumbs>div.fancybox__nav button {
  position: relative !important;
  top: 0 !important;
  left: 0;
}

.fancybox__nav .f-button::before {
  display: none;
}

.fancybox__container {
  --fancybox-slide-gap: 0px !important;
  --fancybox-color: transparent !important;
}

.fancybox__content {
  padding: 0 !important;
  --fancybox-content-bg: transparent !important;
  color: var(--color--black) !important;
}

.details__item:has(.copy_body:empty) {
  display: none;
}

.fancybox__slide {
  padding: 0;
  overflow: visible;
}

/* –––––– faq –––––– */
.faq__list--item {
  transition: opacity .64s var(--easing);
}

.faq__list--item.animate {
  opacity: 1;
}

.faq__nested-list li:first-child .btn--faq {
  padding-top: 0;
}

.btn--faq:hover .btn--faq__border {
  transform: scaleY(2) !important;
}

.rich-text--faq a {
  transition: border-color .32s var(--easing) 80ms;
}

.faq__answer:focus-within {
  height: auto !important;
  opacity: 100% !important;
}

.faq__answer:focus-within~.btn--faq__border {
  transform: scaleY(2) !important;
}

.btn--faq:has(.faq__answer:focus-within) .icon--expand-collapse {
  transform: rotateZ(-180deg) !important;
}


.faq__answer p:not(.rich-text--faq p),
.rich-text--faq {
  margin-bottom: 1.6875rem;
}

.expand__path {
  transform-origin: 50% 50% !important;
}

.nav__filters-list::before {
  content: '';
  position: absolute;
  left: var(--btn-left, 0px);
  top: var(--btn-top, 0px);
  width: var(--btn-width, 0px);
  height: var(--btn-height, 3.25rem);
  border-radius: var(--radius--md);
  background-color: var(--color--tp-dark);
  box-shadow: var(--shadow--light);
  transition: all .32s var(--easing);
}

.btn--filter {
  transition: color .29s var(--easing),
    background-color .32s var(--easing);
}

input[name='filter']:checked~.btn--filter {
  color: var(--color--black);
}

input[name='filter']:checked~.btn--filter:hover {
  background-color: transparent;
}


/* quizzes */
.quiz-options:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  padding: 0;
}

.quiz-options:has(> :nth-child(2)):not(:has(> :nth-child(3))) {
  grid-template-columns: 1fr 1fr;
  padding: 0;
}


.quiz-contact-info,
[data-receive-info='email'] label,
[data-receive-info='phone'] label {
  pointer-events: none;
  opacity: 0;
  transition: opacity .32s var(--easing) 80ms;
}

.form__step.current:has(:checked) .quiz-contact-info,
.form__step.current:has(#email-preference:checked) [data-receive-info='email'] label,
.form__step.current:has(#text-preference:checked) [data-receive-info='phone'] label {
  pointer-events: all;
  opacity: 1;
}

[data-receive-info='email'],
[data-receive-info='phone'] {
  pointer-events: none;
  visibility: hidden;
}

.form__step.current:has(#email-preference:checked) [data-receive-info='email'],
.form__step.current:has(#text-preference:checked) [data-receive-info='phone'] {
  pointer-events: all;
  visibility: visible;
}

[data-barba-namespace='quiz']~.footer {
  display: none;
}

.form__step .copy_lead {
  line-height: 1.12;
}

.btn--back:hover svg {
  transform: translateX(-0.1875rem);
}

.btn--continue:hover svg {
  transform: translateX(0.1875rem);
}

.btn--back svg,
.btn--continue svg {
  transition: transform 0.17s var(--easing);
}

.btn--quiz-wrapper {
  transition: transform 0.28s var(--easing);
}

.btn--back,
.btn--continue {
  transition: opacity 0.32s var(--easing--alt) 80ms;
}

.btn--back .copy_bold,
.btn--continue .copy_bold {
  margin-bottom: .203125rem;
}

.btn--quiz-wrapper:has(.w--redirected-checked) {
  transform: scale(1.03);
}

.btn--quiz-custom:has(.w--redirected-checked) .custom-input {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.28s var(--easing);
}

.btn--quiz-custom:has(.w--redirected-checked) img {
  filter: blur(4.7px) brightness(78%) saturate(160%);
}

.btn--continue[disabled] {
  opacity: 0;
  pointer-events: none;
}

.input[disabled] {
  background-color: var(--color--white) !important;
}

.quiz-options:has(.btn--quiz-custom .w--redirected-checked)~.btn--continue[disabled] {
  opacity: .5;
}

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

.custom-input {
  transition: filter .32s var(--easing) 80ms,
    opacity .32s var(--easing) 80ms;
}

.custom-input .input-wrapper::before,
.custom-input .input-wrapper::after {
  display: none;
}

.enabled {
  pointer-events: all;
  visibility: visible;
  opacity: 1;
}


.progress-indicator {
  transition: clip-path .32s var(--easing);
}


/* blog */
/* .post__link img {
  transition: transform 2s var(--easing) 80ms;
}

.post__link:hover img {
 transform: scale(1.05);
} */


/* media queries */
@media screen and (min-width: 992px) {
  .nav--header {
    display: flex !important;
  }
}

@media screen and (max-width: 991px) {

  /* touch menu */
  .nav--header {
    --touch-menu-clip: 100%;
    --touch-menu-clip--pos-top: 4.625rem;
    --touch-menu-clip--pos-right: 5.78125rem;
    transition: clip-path .64s var(--easing) 80ms;
  }

  .header.open .nav--header {
    --touch-menu-clip: 0%;
    --touch-menu-clip--pos-top: 0rem;
    --touch-menu-clip--pos-right: 0rem;
  }

  .header.open::before {
    opacity: 1;
  }

  .nav__menu::before,
  .nav__item::before {
    display: none;
  }

  .dropdown {
    opacity: unset;
    transition: unset;
    clip-path: none;
    z-index: 0 !important;
  }

  .nav__item[dropdown]:hover .dropdown {
    clip-path: none;
  }

  .nav__item[dropdown]:hover .icon--dropdown {
    transform: unset;
  }

  .dropdown h2 {
    display: none;
  }

  .fancybox__toolbar {
    top: 0;
  }

  .fancybox__toolbar__column {
    padding-top: 0;
  }
}


@media screen and (max-width: 767px) {

  .fancybox__carousel {
    padding-top: 7.6875rem;
  }

  [data-fancybox-close] {
    top: 5.9375rem;
  }

  [data-fancybox-close],
  [data-fancybox-prev],
  [data-fancybox-next] {
    margin-right: 2.375rem;
  }

  .fancybox__toolbar {
    height: 8rem;
  }

  .f-carousel__thumbs,
  .fancybox__thumbs {
    padding: 0 2.5rem;
  }

  #fancybox-products>div.fancybox__carousel.is-ltr.is-horizontal.has-thumbs>div.fancybox__nav,
  .f-carousel__nav {
    right: 2.375rem;
  }
}

@media screen and (max-width: 479px) {
  .quiz-options:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
    grid-template-columns: 1fr 1fr;
  }

  .dropdown__item .btn--text .copy_body-alt {
    font-size: 1.140625rem;
  }

  .contact__heading .lead_section-alt {
    font-size: 3.77rem;
    line-height: 1.54cap;
    letter-spacing: -0.041176470588235294rem;
  }

  [data-fancybox-close],
  [data-fancybox-prev],
  [data-fancybox-next] {
    margin-right: 1.125rem;
  }

  [data-fancybox-close] {
    top: 6.21875rem;
  }

  .gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom {
    bottom: 6rem !important;
  }

  #fancybox-products .fancybox__thumbs {
    position: fixed;
    bottom: 0;
    z-index: 10;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0px;
  }

  #fancybox-products .fancybox__carousel {
    padding: 0;
  }

  #fancybox-products .f-thumbs__viewport {
    mask-image: none;
  }

  #fancybox-products .fancybox-slide .copy_body {
    max-width: 22.75rem;
  }

  .f-carousel__thumbs,
  .fancybox__thumbs {
    padding: 0 1.25rem;
  }

  #fancybox-products>div.fancybox__carousel.is-ltr.is-horizontal.has-thumbs>div.fancybox__nav {
    right: 1.125rem;
    bottom: 68px;
  }

  .f-carousel__nav {
    right: 1.125rem;
  }

  .fancybox__item--content {
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .fancybox__item--content::-webkit-scrollbar {
    display: none;
  }

  th:first-child,
  td:first-child {
    width: auto;
  }
}