/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
/* DL Blocks */
/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_animated_list {
  --sn-list-base-color: #FFE800;
  background-color: #242520;
  color: #fff;
}
.sn_animated_list.__numbers {
  --sn-list-base-color: #fff;
}
.sn_animated_list__items {
  list-style-type: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.sn_animated_list__i {
  position: relative;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.sn_animated_list.__numbers .sn_animated_list__i {
  height: 12.5rem;
}
@media only screen and (min-width: 62em) {
  .sn_animated_list__i {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
.sn_animated_list__i::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0.0625rem;
  background-color: var(--sn-list-base-color);
  transition: height 0.75s cubic-bezier(0.7, 0, 0, 1), background-color 0s 0.75s;
}
.sn_animated_list__i:hover::before {
  height: 100%;
  background-color: #FFE800;
  transition: height 0.75s cubic-bezier(0.7, 0, 0, 1), background-color 0s 0s;
}
.sn_animated_list__i:hover .sn_animated_list__i__title {
  color: #161714;
}
.sn_animated_list__i__title {
  transition: color 0.75s cubic-bezier(0.7, 0, 0, 1);
  position: relative;
  color: var(--sn-list-base-color);
  line-height: 1;
}
.sn_animated_list__i figure {
  overflow: hidden;
  position: relative;
  border-radius: 0.5rem;
}
.sn_animated_list__i figure:before {
  content: "";
  display: block;
  height: 0;
  padding-top: 66.6666666667%;
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_banner {
  height: calc(var(--vh, 1vh) * 100);
  position: relative;
  overflow: hidden;
}
.sn_banner.__overlay .sn_banner__in {
  background-color: rgba(0, 0, 0, 0.65);
}
.sn_banner__media {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  overflow: hidden;
}
.sn_banner__in {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sn_banner__in__texture {
  mix-blend-mode: soft-light;
  position: absolute;
  pointer-events: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.875rem;
}
.sn_banner__in__texture svg-sprite {
  width: 10.25rem;
  fill: #161714;
}
@media only screen and (min-width: 62em) {
  .sn_banner__in__texture svg-sprite {
    width: 17.3125rem;
  }
}
.sn_banner__in__texture.__top {
  top: 0;
  left: 0;
}
.sn_banner__in__texture.__top .__item1 {
  grid-column: 1/-1;
  width: 50%;
  justify-self: start;
  order: 1;
}
.sn_banner__in__texture:not(.__top) {
  right: 0;
  bottom: 0;
}
.sn_banner__in__texture:not(.__top) .__item1 {
  grid-column: 1/-1;
  width: 50%;
  justify-self: end;
}
.sn_banner.__overlay::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: rgba(0, 0, 0, 0.65);
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_faq ul {
  list-style-type: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.sn_faq__i {
  border-bottom: 0.0625rem solid #161714;
  position: relative;
}
@media only screen and (min-width: 62em) {
  .sn_faq__i:has(.sn_faq__i__collapse__trigger:not(.collapsed))::before {
    opacity: 0;
  }
  .sn_faq__i:has(.sn_faq__i__collapse__trigger:not(.collapsed)) .title::after {
    width: 100%;
  }
}
.sn_faq__i .accordion-body.__last {
  margin-top: 1.5rem;
}
@media only screen and (min-width: 62em) {
  .sn_faq__i .accordion-body.__last {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 62em) {
  .sn_faq__i::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background-color: #FFE800;
    z-index: -1;
    transition: height 0.75s cubic-bezier(0.7, 0, 0, 1), opacity 0.75s cubic-bezier(0.7, 0, 0, 1);
  }
}
@media only screen and (min-width: 62em) {
  .sn_faq__i:hover::before, .sn_faq__i:has(.sn_faq__i__collapse__trigger:focus-visible)::before {
    height: 100%;
  }
  .sn_faq__i:hover .title::after, .sn_faq__i:has(.sn_faq__i__collapse__trigger:focus-visible) .title::after {
    width: 100%;
  }
}
.sn_faq__i__collapse__trigger {
  padding-top: 0.5625rem;
  padding-bottom: 0.5625rem;
  margin-bottom: 1.5rem;
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media only screen and (min-width: 62em) {
  .sn_faq__i__collapse__trigger {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
    align-items: center;
  }
}
.sn_faq__i__collapse__trigger:not(.collapsed) svg-sprite {
  transform: rotate(-90deg);
}
.sn_faq__i__collapse__trigger .title {
  position: relative;
}
@media only screen and (min-width: 62em) {
  .sn_faq__i__collapse__trigger .title::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 0.0625rem;
    background-color: #161714;
    transition: width 0.35s ease;
  }
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_faq__i__collapse__trigger {
    --sn-focus-top: -0.3125rem;
    --sn-focus-right: -0.3125rem;
    --sn-focus-bottom: -0.3125rem;
    --sn-focus-left: -0.3125rem;
    --sn-focus-color: #212529;
    --sn-focus-border-width: 0.125rem;
    --sn-focus-border-radius: 0.5rem;
    --sn-focus-opacity: 0;
    position: relative;
  }
  .sn_faq__i__collapse__trigger::before {
    content: "";
    position: absolute;
    top: var(--sn-focus-inset, var(--sn-focus-y, var(--sn-focus-top)));
    right: var(--sn-focus-inset, var(--sn-focus-x, var(--sn-focus-right)));
    bottom: var(--sn-focus-inset, var(--sn-focus-y, var(--sn-focus-bottom)));
    left: var(--sn-focus-inset, var(--sn-focus-x, var(--sn-focus-left)));
    border-width: var(--sn-focus-border-width);
    border-style: solid;
    border-radius: var(--sn-focus-border-radius);
    border-color: var(--sn-focus-color);
    opacity: var(--sn-focus-opacity);
    pointer-events: none;
    z-index: 1;
    transition: border-color 0.35s ease, opacity 0.35s ease;
  }
  .sn_faq__i__collapse__trigger:focus-visible {
    outline: none;
    --sn-focus-opacity: 1;
  }
}
@media only screen and (min-width: 62em) {
  .sn_faq__i__collapse__trigger {
    --sn-focus-top: 1rem;
    --sn-focus-right: -1rem;
    --sn-focus-bottom: 1rem;
    --sn-focus-left: -1rem;
    --sn-focus-color: #212529;
    --sn-focus-border-width: 0.125rem;
    --sn-focus-border-radius: 0.5rem;
    --sn-focus-opacity: 0;
    position: relative;
  }
  .sn_faq__i__collapse__trigger::before {
    content: "";
    position: absolute;
    top: var(--sn-focus-inset, var(--sn-focus-y, var(--sn-focus-top)));
    right: var(--sn-focus-inset, var(--sn-focus-x, var(--sn-focus-right)));
    bottom: var(--sn-focus-inset, var(--sn-focus-y, var(--sn-focus-bottom)));
    left: var(--sn-focus-inset, var(--sn-focus-x, var(--sn-focus-left)));
    border-width: var(--sn-focus-border-width);
    border-style: solid;
    border-radius: var(--sn-focus-border-radius);
    border-color: var(--sn-focus-color);
    opacity: var(--sn-focus-opacity);
    pointer-events: none;
    z-index: 1;
    transition: border-color 0.35s ease, opacity 0.35s ease;
  }
  .sn_faq__i__collapse__trigger:focus-visible {
    outline: none;
    --sn-focus-opacity: 1;
  }
}
.sn_faq__i__collapse__trigger svg-sprite {
  width: 1.5rem;
  height: 1.5rem;
  transition: transform 0.35s ease;
}
@media only screen and (min-width: 62em) {
  .sn_faq__i__collapse__trigger svg-sprite {
    width: 3rem;
    height: 3rem;
  }
}
.sn_faq__i:last-child .sn_faq__i__collapse {
  margin-bottom: 6rem;
}
@media only screen and (min-width: 62em) {
  .sn_faq__i:last-child .sn_faq__i__collapse {
    margin-bottom: 8rem;
  }
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_grid_materials ul {
  list-style-type: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.sn_grid_materials__i {
  border-radius: 0.5rem;
  border: 0.0625rem solid #242520;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 1rem;
  padding-right: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
}
@media only screen and (min-width: 62em) {
  .sn_grid_materials__i {
    height: 12.5rem;
    padding-top: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 1.5rem;
  }
}
.sn_grid_materials__i .sn_badge.__collection_paper {
  --sn-badge-bg: #FFF37F;
}
.sn_grid_materials__i .sn_badge.__collection_wood {
  --sn-badge-bg: #FFB86B;
}
.sn_grid_materials__i .sn_badge.__collection_plastic {
  --sn-badge-bg: #A6D5FB;
}
.sn_grid_materials__i__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_grid_materials__i__bottom {
    margin-top: 1.625rem;
  }
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_list_files__list {
  list-style-type: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.sn_list_files__i {
  border-bottom: 0.0625rem solid #161714;
  position: relative;
}
.sn_list_files__i__in {
  gap: 1rem;
}
.sn_list_files__i__in__icon {
  width: 3rem;
  height: 3rem;
}
.sn_list_files__i__in__ct {
  flex-grow: 1;
  justify-content: space-between;
}
.sn_list_files__i__in__ct .title {
  margin-bottom: 0.25rem;
}
.sn_list_files__i__in__ct .actions {
  gap: 1rem;
}
@media only screen and (min-width: 62em) {
  .sn_list_files__i:hover::before, .sn_list_files__i:focus-within::before {
    height: 100%;
  }
  .sn_list_files__i::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 0%;
    transition: height 0.75s cubic-bezier(0.7, 0, 0, 1);
    background-color: #FFE800;
    z-index: -1;
  }
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_slider_loop {
  overflow: hidden;
}
.sn_slider_loop__i {
  overflow: hidden;
  position: relative;
  border-radius: 0.5rem;
}
.sn_slider_loop__i:before {
  content: "";
  display: block;
  height: 0;
  padding-top: 100%;
}
.sn_slider_loop__slider {
  position: relative;
}
.sn_slider_loop .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
  width: calc((100% - 1.075rem) / 1.86);
  margin-right: 1.25rem;
}
@media only screen and (min-width: 48em) {
  .sn_slider_loop .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    width: calc((100% - 3rem) / 3);
    margin-right: 1.5rem;
  }
}
.sn_slider_loop .swiper .swiper-wrapper {
  transition-timing-function: linear;
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_slider_news {
  background-color: #242520;
}
.sn_slider_news__top {
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 62em) {
  .sn_slider_news .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    width: calc((100% - 3rem) / 3);
    margin-right: 1.5rem;
  }
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_text_media__media {
  overflow: hidden;
  position: relative;
  border-radius: 0.5rem;
  flex-grow: 1;
}
.sn_text_media__media:before {
  content: "";
  display: block;
  height: 0;
  padding-top: 100%;
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_slider_features {
  overflow: hidden;
}
.sn_slider_features .swiper {
  color: #242520;
}
.sn_slider_features .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
  width: calc((100% - 0.3rem) / 1.2);
  margin-right: 1.5rem;
}
@media only screen and (min-width: 62em) {
  .sn_slider_features .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    width: calc((100% - 1.5rem) / 2);
    margin-right: 1.5rem;
  }
}

/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_slider_products {
  overflow: hidden;
}
.sn_slider_products .swiper {
  color: #242520;
}
@media only screen and (min-width: 0em) and (max-width: 35.99em) {
  .sn_slider_products .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    width: calc((100% - 0.25rem) / 1.2);
    margin-right: 1.25rem;
  }
}
@media only screen and (min-width: 36em) and (max-width: 47.99em) {
  .sn_slider_products .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    width: calc((100% - 1.25rem) / 2);
    margin-right: 1.25rem;
  }
}
@media only screen and (min-width: 48em) {
  .sn_slider_products:not(.__grid_dsk):not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    width: calc((100% - 2.5rem) / 3);
    margin-right: 1.25rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 61.99em) {
  .sn_slider_products.__grid_dsk:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    width: calc((100% - 2.5rem) / 3);
    margin-right: 1.25rem;
  }
}
@media only screen and (min-width: 62em) {
  .sn_slider_products.__grid_dsk .swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
}
@media only screen and (min-width: 62em) {
  .sn_slider_products.__grid_dsk .sn_swiper_controls {
    display: none;
  }
}