/* HERO WITH PROMOTIONS
   ----------------------------- */

section.hero .hero-inner{
   display: grid;
   grid-template-columns: repeat(2,1fr);
   color: var(--off-white);
   align-items: stretch;
   height: 100svh;
   min-height: 650px;
}

section.hero .hero-inner .hero-left{
   position: relative;
   background: url("../images/decoration-entete.svg");
   background-size: cover;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   flex-direction: column;
   padding: 0 30px;
   background-color: var(--dark-red);
}

section.hero .hero-inner .bottom-text-wrap{
   position: absolute;
   bottom: 40px;
   left: 0;
   width: 100%;
   text-align: center;
   display: flex;
   justify-content: center;
   padding: 0 30px;
}

section.hero .hero-inner .bottom-text-wrap span{
   width: 100%;
   max-width: 500px;
}
section.hero .hero-title {
   max-width: 700px;
   color: var(--off-white);
   text-align: center;
   padding: 60px 0;
   font-size: clamp(45px,6.5vw,100px);
}

section.hero .hero-title img{
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   margin: 0 !important; 
   display: inline;
}

section.hero .hero-title span {
    display: inline;
}

section.hero .hero-title span.decor-img{
   position: relative;
   display: inline-flex;
   width: 1em;
   height: 0.72em;
}

section.hero .hero-inner .hero-right{
   user-select: none;
   position: relative;
   width: 100%;
   height: 100%;
   padding: 25px;
   display: flex;
   align-items: flex-end;
}

section.hero .hero-right .main-img{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

section.hero .hero-right .main-img img{
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   margin: 0 !important;
}

section.hero .hero-promotions{
   position: relative;
   width: 100%;
   color: var(--black);
   border-radius: 20px;
   background: var(--off-white);
   overflow: hidden;
}

section.hero .hero-promotions .carousel-cell{
   width: 100%;
   padding: 15px;
   display: grid;
   grid-template-columns: 200px 1fr;
   align-items: center;
   gap: 20px 40px;
   padding-right: 65px;
   min-height: 160px;
}

section.hero .hero-promotions .carousel-cell .info{
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   padding: 15px 0;
}

section.hero .hero-promotions .carousel-cell h6{
   margin-top: 12px;
   font-size: var(--large-paragraph-size);
   line-height: 1.25;
}

section.hero .hero-promotions .carousel-cell .c-badge{
   font-size: 10px;
   padding: 5px 12px;
}

section.hero .hero-promotions .carousel-cell .promo-img{
   border-radius: 8px;
   overflow: hidden;
   max-width: 200px;
}

section.hero .hero-promotions .carousel-cell img{
   width: 100%;
   height: auto;
   aspect-ratio: 200 / 120;
   object-fit: cover;
   margin: 0 !important;
   display: block;
}

section.hero .hero-promotions .carousel-cell .promo-button {
   position: relative;
   color: inherit;
   display: block;
   overflow: hidden;
   margin-top: 10px;
   font-size: 13px;
   line-height: 1.4;
}

section.hero .hero-promotions .carousel-cell .promo-button span{
   display: block;
   transition-property: transform, opacity;
   transition-duration: 0.3s;
   transition-timing-function: cubic-bezier(0.5, 1.8, 0.62, 1);
}

section.hero .hero-promotions .carousel-cell .promo-button span:last-child{
   position: absolute;
   top: 100%;
   left: 0;
}

section.hero .hero-promotions .carousel-cell .promo-button:hover span{
   transform: translate3d(0, -100%, 0);
   transition-delay: 0.07s;
}

section.hero .hero-promotions .carousel-controls{
   position: absolute;
   right: 0;
   top: 0;
   width: 50px;
   height: 100%;
   z-index: 5;
   border-left: 0.8px solid var(--divider-grey);
   background: var(--off-white);
}

section.hero .hero-promotions .carousel-controls > div{
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   height: 50%;
   transition: background 0.3s ease;
}

section.hero .hero-promotions .carousel-controls > div:hover {
   background: var(--off-white-darker);
}

section.hero .hero-promotions .carousel-controls .slider-prev{
   border-top: 0.8px solid var(--divider-grey);
}

section.hero .hero-promotions .carousel-controls .slider-prev svg{
   transform: rotate(180deg);
}

@media(max-width: 1100px){
   section.hero .hero-promotions .carousel-cell {
      grid-template-columns: 150px 1fr;
   }
   section.hero .hero-promotions .carousel-controls {
      width: 42px;
   }
   section.hero .hero-promotions .carousel-controls svg {
      width: 15px;
      height: auto;
   }
}

@media(max-width: 999px){
   section.hero .hero-inner{
      height: auto;
      align-items: initial;
      grid-template-columns: 1fr;
      min-height: 0;
   }
   section.hero .hero-title {
      font-size: var(--h1-size);
      padding: 0;
      max-width: 500px;
   }
   section.hero .hero-inner .bottom-text-wrap {
      position: relative;
      bottom: 0;
      padding: 0;
      margin-top: 20px;
   }
   section.hero .hero-inner .hero-left{
      padding: 160px 50px 100px 50px;
      background-position: center center;
   }
   section.hero .hero-promotions {
      margin-top: 250px;
      border-radius: 8px;
   }
   section.hero .hero-promotions .carousel-cell {
      grid-template-columns: 1fr;
      min-height: 0;
   }
   section.hero .hero-promotions .carousel-cell .promo-img {
      display: none;
   }
}


@media(max-width: 690px){
   section.hero .hero-inner .hero-left {
      padding: 150px 20px 80px 20px;
   }
   section.hero .hero-inner .hero-right{
      padding: 20px;
   }
   section.hero .hero-title {
      max-width: 400px;
   }
   section.hero .hero-inner .bottom-text-wrap p {
      font-size: 14px !important;
   }
   section.hero .hero-promotions {
      margin-top: 200px;
   }
   section.hero .hero-promotions .carousel-cell .promo-button {
      font-size: 12px;
   }
   section.hero .hero-promotions .carousel-cell .info {
      padding: 5px 0;
   }

}

@media(max-width: 550px){
   section.hero .hero-inner .bottom-text-wrap p {
      font-size: 13px !important;
   }
   section.hero .hero-title {
      max-width: 330px;
   }
   section.hero .hero-promotions {
      display: flex;
      flex-direction: column-reverse;
   }
   section.hero .hero-inner .hero-right{
      padding: 15px;
   }
   section.hero .hero-promotions .carousel-cell {
      padding: 20px;
   }
   section.hero .hero-promotions .carousel-cell .info {
      align-items: center;
      text-align: center;
   }
   section.hero .hero-promotions .carousel-controls {
      position: static;
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: row-reverse;
      border-left: none;
      border-top: 0.8px solid var(--divider-grey);
   }

   section.hero .hero-promotions .carousel-controls > div {
      height: 40px;
      width: 50%;
   }

   section.hero .hero-promotions .carousel-controls .slider-prev {
      border-top: 0;
      border-right: 0.8px solid var(--divider-grey);
   }

}


/* SIMPLE HERO BLOCK
----------------------------- */

section.hero-simple{
   height: 40vh;
   min-height: 300px;
   background: var(--black);
   display: flex;
   align-items: flex-end;
   padding-bottom: 40px;
}
section.hero-simple h1 {
   color: var(--white);
   max-width: 700px;
}


/* TERMS BLOCK
   ----------------------------- */

section.terms .c-wrap {
    max-width: 1100px;
}

section.terms h1,
section.terms h2,
section.terms h3,
section.terms h4,
section.terms h5,
section.terms h6 {
    padding-top: 20px !important;
    padding-bottom: 15px !important;
    margin: 0 !important;
}

section.terms p {
    padding-bottom: 15px !important;
    margin: 0 !important;
}

section.terms p:last-child {
    padding-bottom: 0 !important;
}

section.terms a {
   color: inherit;
   text-decoration: underline;
}


/* INNER HEADER 
   ----------------------------- */

section.inner-header{
   height: 90vh;
   min-height: 600px;
   color: var(--white);
   padding-bottom: 70px;
   background: var(--dark-red-alternate);
}

section.inner-header:after{
   content: ' ';
   position: absolute;
   bottom: -1px;
   left: 0;
   width: 100%;
   height: 25px;
   border-radius: 24px 24px 0 0;
   background: var(--bg-off-white);
   z-index: 3;
}

section.inner-header:before {
   content: ' ';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   min-height: 100%;
   z-index: 1;
   background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
   opacity: 0.4;
}

section.inner-header .simpleParallax{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   min-height: 100%;
   z-index: 0;
}
section.inner-header .simpleParallax img{
   min-width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: top;
}

section.inner-header img.parallax-img{
   position: absolute;
   top: 0;
   left: 0;
   z-index: 0;
   min-width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   opacity: 0.65;
}

section.inner-header .c-wrap{
   position: relative;
   z-index: 2;
   height: 100%;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: flex-end;
}

section.inner-header .inner-header-content {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 30px;
}
section.inner-header h1{
   color: var(--white);
   max-width: 550px;
}

@media(max-width: 1024px){
   section.inner-header {
      height: 70vh;
      min-height: 500px;
   }
}

@media(max-width: 999px){
   section.inner-header:after {
      border-radius: 18px 18px 0 0;
   }
   section.inner-header .inner-header-content {
      gap: 25px;
   }
}

@media(max-width: 690px){
   section.inner-header {
      padding-bottom: 60px;
   }
}




/* PRODUCTS VERTICAL TABS
   ----------------------------- */

section.p-vertical-tabs .main-box{
   background: var(--white);
   padding: 100px 70px;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 60px 80px;
   align-items: center;
   border-radius: 16px;
}

section.p-vertical-tabs .main-box .tabs-left {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   padding-left: 50px;
}

section.p-vertical-tabs .tabs-nav{
   margin-top: 25px;
   display: flex;
   align-items: flex-start;
   gap: 5px;
   flex-direction: column;
   overflow: hidden;
   width: 100%;
}

section.p-vertical-tabs .tabs-nav .tab-button{
   position: relative;
   border: 0;
   font-size: var(--h2-size);
   font-family: var(--font-title);
   color: var(--black);
   opacity: 0.6;
   transition: opacity 0.2s ease, transform 0.2s ease;
   cursor: pointer;
   padding: 0;
   background: none;
   text-align: left;
}

section.p-vertical-tabs .tabs-nav .tab-button:visited,
section.p-vertical-tabs .tabs-nav .tab-button:focus,
section.p-vertical-tabs .tabs-nav .tab-button:hover {
   color: var(--black);
}

section.p-vertical-tabs .tabs-nav .tab-button span{
   line-height: 1;
   color: var(--black);
   text-decoration: none;
}
section.p-vertical-tabs .tabs-nav .arrow-wrap{
   position: absolute;
   top: 0%;
   height: 100%;
   right: calc(100% + 10px);
   display: flex;
   align-items: center;
   justify-content: center;
}

section.p-vertical-tabs .tabs-nav .arrow-wrap svg {
   width: 29px;
   height: auto;
}

section.p-vertical-tabs .tabs-nav .tab-button.active{
   opacity: 1;
   transform: translateX(40px);
}
section.p-vertical-tabs .main-image{
   width: 100%;
   height: 100%;
   border-radius: 12px;
   overflow: hidden;
   z-index: 0;
}
section.p-vertical-tabs .main-image img{
   width: 100% !important;
   height: 100%;
   object-fit: cover;
}
section.p-vertical-tabs .tabs-carousel,
section.p-vertical-tabs .carousel-cell{
   width: 100%;
   height: 100%;
   min-height: 700px;
}
section.p-vertical-tabs .item-content{
   width: 100%;
   height: 100%;
}
section.p-vertical-tabs .c-box{
   position: absolute;
   bottom: 20px;
   left: 20px;
   background: var(--white);
   max-width: 500px;
   width: calc(100% - 40px);
   border-radius: 8px;
   padding: 25px;
   display: flex;
   flex-direction: column;
   gap: 10px;
}

section.p-vertical-tabs .c-box figure.small-image img {
   display: block;
   max-width: 64px;
   max-height: 52px;
}

@media(max-width: 1300px){
   section.p-vertical-tabs .main-box {
      grid-template-columns: 1fr 2fr;
   }
   section.p-vertical-tabs .main-box .tabs-left {
      padding-left: 0;
   }
   section.p-vertical-tabs .main-box {
      padding-inline: 60px;
   }
   section.p-vertical-tabs .tabs-nav .arrow-wrap svg {
      width: 27px;
   }
}


@media(max-width: 999px){
   section.p-vertical-tabs .c-box figure.small-image img {
      max-width: 55px;
   }
   section.p-vertical-tabs .main-box {
      padding: 80px 40px;
      gap: 60px;
   }
   section.p-vertical-tabs .tabs-nav .tab-button {
      font-size: var(--h3-size);
   }
   section.p-vertical-tabs .tabs-nav .arrow-wrap svg {
      width: 22px;
   }
   section.p-vertical-tabs .tabs-nav .tab-button.active {
      transform: translateX(32px);
   }

}

@media(max-width: 768px){
   section.p-vertical-tabs .main-box{
      grid-template-columns: 1fr;
      padding: 60px 40px;
   }
   section.p-vertical-tabs .main-box .tabs-left {
      order: 2;
   }
   section.p-vertical-tabs .main-box{
      padding: 60px 30px;
   }
   section.p-vertical-tabs .tabs-carousel,
   section.p-vertical-tabs .carousel-cell {
      min-height: 550px;
   }
   section.p-vertical-tabs .c-box {
      max-width: none;
   }

}

@media(max-width: 690px){
   section.p-vertical-tabs .main-box {
      padding: 20px 20px 50px 20px;
   }
   section.p-vertical-tabs .main-box .tabs-left {
      padding-left: 20px;
   }
   section.p-vertical-tabs .tabs-nav .arrow-wrap svg {
      width: 20px;
   }
   section.p-vertical-tabs .tabs-nav .tab-button.active {
      transform: translateX(30px);
   }
   section.p-vertical-tabs .tabs-carousel,
   section.p-vertical-tabs .carousel-cell {
      min-height: 500px;
   }
   section.p-vertical-tabs .main-box {
      gap: 50px;
   }
}


/* ABOUT
----------------------------- */

section.about {
   overflow: hidden;
}

section.about h2 {
   max-width: 850px;
}

section.about .about-images {
   padding: 130px 0;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0 130px;
}

section.about .about-images img {
   object-fit: cover;
   border-radius: 8px;
   width: 100%;
   height: 100%;
}

section.about .about-images .image-1,
section.about .about-images .image-3 {
   aspect-ratio: 320 / 309;
   max-width: 320px;
}

section.about .about-images .image-2-wrap {
   position: relative;
   max-width: 450px;
   min-width: 375px;
   width: 100%;
   aspect-ratio: 450 / 520;
}

section.about .about-images .image-2-wrap img {
   position: relative;
   z-index: 2;
}

section.about .about-images .image-2-wrap .c-card {
   content: ' ';
   position: absolute;
   top: 30px;
   right: 0%;
   width: 80%;
   height: 50%;
   z-index: 0;
   border-radius: 8px;
   background: var(--red);
   transform: rotate(7deg);
}

.scroll-anim {
   will-change: transform;
}

section.about .about-paragraphs {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px 100px;
}

section.about .about-paragraphs p {
   font-size: var(--alternate-paragraph-size);
   line-height: 1.5;
}


@media (min-width: 1600px) {
   section.about .about-images .image-1,
   section.about .about-images .image-3 {
      max-width: 380px;
   }

   section.about .about-images .image-2-wrap {
      max-width: 500px;
      aspect-ratio: 450 / 520;
   }
}

@media (max-width: 1300px) {
   section.about .about-images .image-1,
   section.about .about-images .image-3 {
      max-width: 260px;
   }
   section.about .about-paragraphs {
      column-gap: 80px;
   }
}

@media (max-width: 1024px) {
   section.about .about-images .image-2-wrap {
      min-width: 340px;
   }
   section.about .about-images {
      padding: 90px 0;
   }
}


@media (max-width: 999px) {
   section.about .about-paragraphs {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 690px) {
   section.about .about-images {
      gap: 80px;
   }
   section.about .about-images .image-2-wrap {
      max-width: 320px;
      min-width: 240px;
   }

   section.about .about-images .image-1,
   section.about .about-images .image-3 {
      max-width: 160px;
   }
   section.about .about-images {
      padding: 70px 0;
   }
}

@media (max-width: 550px) {
   section.about .about-images {
      gap: 50px;
   }
   section.about .about-images .image-2-wrap {
      min-width: 210px;
   }
   section.about .about-images .image-1,
   section.about .about-images .image-3 {
      max-width: 140px;
   }
}

@media (max-width: 370px) {
   section.about .about-images .image-1,
   section.about .about-images .image-3 {
      display: none;
   }
   section.about .about-images {
      width: calc(100% - 80px);
      margin: 0 auto;
   }
}


/* PRODUCTS HEADER
   ----------------------------- */

section.products-header{
   position: relative;
   color: var(--white);
   background-size: cover;
   padding-top: 245px;
   margin-bottom: 145px;
}

section.products-header figure.background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}
section.products-header figure.background img {
    width: 100% !important;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: var(--dark-red);
}

section.products-header .c-wrap{
   position: relative;
   z-index: 2;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;
}

section.products-header h1{
   margin-top: 30px;
   color: var(--white);
   max-width: 600px;
}

section.products-header .c-products-carousel .flickity-viewport,
section.products-header .carousel-cell,
section.products-header .product-item {
   transform: translate3d(0, 0, 0);
   will-change: transform;
   backface-visibility: hidden;
}


section.products-header .c-products-carousel{
   width: 100vw;
}

section.products-header .carousel-translate{
   transform: translateY(50%);
}

section.products-header .c-products-carousel-wrap {
   position: relative;
}

section.products-header .carousel-arrow {
   background: none;
   border: none;
   font-size: 2rem;
   cursor: pointer;
   z-index: 2;
   transition: background 0.3s ease;
}

section.products-header .carousel-arrow:hover {
   background: var(--black) !important;
}

section.products-header .carousel-arrow.prev {
    position: absolute;
    top: 50%;
    left: 50px;
    transform: translateY(-50%);
    background: var(--red);
    color: var(--white);
    z-index: 5;
    width: 60px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px !important;
    transition: all 0.3s ease;
}
section.products-header .carousel-arrow svg {
   width: 15px;
   height: auto;
}

section.products-header .carousel-arrow.prev svg{
   transform: rotate(180deg);
}
section.products-header .carousel-arrow.next {
    position: absolute;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
    background: var(--red);
    color: var(--white);
    z-index: 5;
    width: 60px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px !important;
    transition: all 0.3s ease;
}

section.products-header .carousel-cell{
   width: 290px;
   margin: 0 10px;
}
section.products-header .product-item{
   position: relative;
   width: 100%;
   height: 290px;
   background: var(--white);
   border-radius: 12px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
}
section.products-header .product-item figure.image{
   text-align: center;
   transform: translate3d(0, 0, 0) scale(1.01);
   transition: transform 0.15s ease;
}
section.products-header .product-item figure.image img{
   display: block;
   max-width: 150px;
   max-height: 115px;
	width: 100% !important;
}
section.products-header .product-item h6{
   position: absolute;
   top: 20px;
   left: 20px;
}
section.products-header .product-item .arrow-wrap {
   position: absolute;
   bottom: 20px;
   left: 20px;
   width: 50px;
   height: 30px;
   border-radius: 6px;
   border: 1px solid var(--divider-grey-darker);
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 2;
   color: var(--black);
   transform: translate3d(0, 0, 0);
   will-change: background-color, border-color, color;
   transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

section.products-header .product-item .arrow-wrap svg {
   width: 10px;
   height: auto;
}
section.products-header .product-item:hover .arrow-wrap{
   border-color: var(--red);
   background: var(--red);
   color: var(--white);
}
section.products-header .product-item:hover figure.image{
   transform: translate3d(0, 0, 0) scale(0.9);
}


@media(max-width: 1024px){
   section.products-header {
      padding-top: 200px;
      margin-bottom: 120px;
   }
   section.products-header .carousel-translate{
      transform: translateY(40%);
   }
   section.products-header .carousel-cell {
      width: 240px;
   }
   section.products-header .product-item figure.image {
      transform: translate3d(0, 0, 0) scale(0.9) !important;
   }
   section.products-header .carousel-arrow.prev{
      left: 20px;
      width: 55px;
      height: 32px;
   }
   section.products-header .carousel-arrow.next{
      right: 20px;
      width: 55px;
      height: 32px;
   }
}


@media(max-width: 690px){
   section.products-header {
      padding-top: 180px;
      margin-bottom: 80px;
   }
   section.products-header .carousel-translate{
      transform: translateY(30%);
   }
   section.products-header .carousel-arrow.prev{
      left: 10px;
      width: 46px;
      height: 30px;
   }
   section.products-header .carousel-arrow.next{
      right: 10px;
      width: 46px;
      height: 30px;
   }
   section.products-header .carousel-arrow svg{
      width: 14px;
   }
   section.products-header .product-item {
      height: 260px;
   }
   section.products-header .product-item figure.image {
      transform: translate3d(0, 0, 0) scale(0.85) !important;
   }
   section.products-header .product-item .arrow-wrap {
      width: 45px;
      height: 25px;
   }
   section.products-header .product-item .arrow-wrap svg {
      width: 9px;
   }
   section.products-header .carousel-cell {
      margin: 0 8px;
   }
}

@media(max-width: 550px){
   section.products-header .carousel-arrow {
      display: none !important;
   }
}



/* DIVIDER
   ----------------------------- */


div.theme-divider{
   width: 100%;
   height: 1px;
   background: var(--divider-grey-darker);
}
div.theme-divider.divider-light{
   background: var(--white);
}




/* PRODUCTS TABS 
   ----------------------------- */


section.products-tabs .info{
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 25px;
   max-width: 600px;
   margin: 0 auto;
   text-align: center;
}

section.products-tabs .info figure.main-image img {
   display: block;
   max-width: 96px;
}

section.products-tabs .tabs-nav-wrap{
   display: flex;
   justify-content: center;
   padding: 0 20px;
}
section.products-tabs .tabs-nav-container{
   margin-top: 50px;
   display: inline-flex;
   justify-content: center;
   padding: 5px;
   border-radius: 6px;
   border: 1px solid var(--divider-grey-darker);
}

section.products-tabs .flickity-tabs {
   position: relative;
   display: inline-flex;
   gap: 10px;
}

section.products-tabs .flickity-tabs .tab-button {
   position: relative;
   z-index: 2;
   padding: 15px 18px;
   font-weight: 500;
   font-size: 16px;
   font-family: var(--font-text);
   background: none;
   border: none;
   cursor: pointer;
   transition: all 0.3s;
   color: var(--black);
}

section.products-tabs .flickity-tabs .tab-button:hover:not(.active) {
   background: #e2e0de;
}

section.products-tabs .flickity-tabs .tab-button.active {
   color: var(--white);
}

section.products-tabs .flickity-tabs .bg-indicator {
   position: absolute;
   z-index: 1;
   top: 0;
   left: 0;
   height: 100%;
   background: var(--red);
   border-radius: 4px;
   transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), width 0.3s ease;
   pointer-events: none;
}


section.products-tabs .tabs-carousel{
   max-width: 100%;
   margin: 50px auto 0 auto;
   transition: height 0.4s ease;
}

section.products-tabs .tabs-carousel .carousel-cell{
   width: 60%;
   max-width: 950px;
   margin: 0 10px 30px 10px;
}
section.products-tabs .tabs-carousel .carousel-cell .c-item{
   box-sizing: border-box;
   max-width: 100%;
   border-radius: 12px;
   overflow: hidden;
   transform: translateY(30px);
   transition: transform 0.4s ease, opacity 0.4s ease;
   opacity: 0.5;
}

section.products-tabs .tabs-carousel .carousel-cell.is-selected .c-item{
   transform: translateY(0);
   opacity: 1;
}

section.products-tabs .c-box{
   position: absolute;
   top: 30px;
   left: 30px;
   background: var(--white);
   max-width: 500px;
   width: calc(100% - 80px);
   border-radius: 8px;
   padding: 25px;
   display: flex;
   flex-direction: column;
   gap: 10px;
}

section.products-tabs .c-box h5 {
   max-width: 400px;
}

section.products-tabs .c-box figure.icon img {
   display: block;
   max-width: 60px;
}

section.products-tabs .bg-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 9;
   min-height: 500px;
}


@media(max-width: 1300px){
   section.products-tabs .tabs-carousel .carousel-cell{
      width: 80%;
   }
   section.products-tabs .flickity-tabs .tab-button {
      font-size: 15px;
      padding: 14px 16px;
   }
   section.products-tabs .info figure.main-image img {
      max-width: 90px;
   }
}

@media(max-width: 999px){
   section.products-tabs .bg-image img{
      border-top-left-radius: 12px;
      border-top-right-radius: 12px;
   }
   section.products-tabs .c-box{
      position: relative;
      left: 0;
      top: 0;
      width: 100%;
      max-width: none;
      border-top-left-radius: 0;
      border-top-right-radius: 0;
      padding: 40px 25px;
   }

   section.products-tabs .tabs-carousel .carousel-cell .c-item {
       transform: none !important;
   }
   section.products-tabs .info figure.main-image img {
      max-width: 85px;
   }
   section.products-tabs .flickity-tabs .tab-button {
      font-size: 14px;
   }
   section.products-tabs .tabs-nav-container {
      margin-top: 40px;
   }
   section.products-tabs .bg-image img {
      aspect-ratio: 16 / 7;
      min-height: 230px;
   }
   section.products-tabs .c-box figure.icon img {
      max-width: 55px;
   }
   section.products-tabs .tabs-carousel .carousel-cell {
      margin-bottom: 0;
   }
}

@media(max-width: 690px){
   section.products-tabs .flickity-tabs .tab-button{
      font-size: 12px;
      padding: 15px 12px;
   }
   section.products-tabs .info figure.main-image img {
      max-width: 75px;
   }
   section.products-tabs .tabs-carousel {
      margin-top: 40px;
   }
   section.products-tabs .c-box {
      padding: 35px 20px;
   }

}


/* INTRO 
   ----------------------------- */

section.intro .info{
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px 100px;
}

section.intro .paragraph p{
   padding-bottom: 15px;
   font-size: var(--alternate-paragraph-size);
   line-height: 1.5;
}
section.intro .paragraph p:last-child{
   padding-bottom: 0;
}


@media(max-width: 1200px){

   section.intro .info{
      grid-template-columns: 1fr;
   }
}


/* CONTACT HEADER
   ----------------------------- */


section.contact-header{
   position: relative;
   overflow: hidden;
   color: var(--white);
   background-size: cover;
   padding-top: 190px;
   padding-bottom: 90px;
}

section.contact-header:after {
    content: ' ';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 25px;
    border-radius: 24px 24px 0 0;
    background: var(--bg-off-white);
    z-index: 3;
}

section.contact-header .c-wrap{
   position: relative;
    z-index: 2;
   display: grid;
   grid-template-columns: 5fr 7fr;
   gap: 40px 100px;
   align-items: center;
}

section.contact-header figure.background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    background: var(--dark-red);
}

section.contact-header figure.background img {
    width: 100% !important;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

section.contact-header figure.image{
   position: relative;
   border-radius: 12px;
   overflow: hidden;
   height: 100%;
}
section.contact-header figure.image img{
   object-fit: cover;
   object-position: top;
   display: block;
   height: 100%;
   min-height: 500px;
}
section.contact-header figure.image .hr-wrap{
   position: absolute;
   bottom: 20px;
   left: 20px;
   background: var(--off-white);
   border-radius: 8px;
   color: var(--black);
   padding: 25px;
}

section.contact-header figure.image .hr-wrap .hours-text {
   font-size: var(--smaller-paragraph-size);
   line-height: 1.5;
}

section.contact-header figure.image .hr-wrap svg {
   width: 35px;
   height: auto;
}
section.contact-header figure.image .hr-wrap h6{
   margin-top: 15px;
   color: var(--black);
   font-family: var(--font-text);
   font-weight: 600;
}

section.contact-header h1{
   margin-top: 30px;
   color: var(--white);
}
section.contact-header h6{
   color: var(--white);
   font-size: var(--paragraph-size);
   font-family: var(--font-text);
   font-weight: 600;
   margin-bottom: 8px;
}
section.contact-header .info{
   padding: 60px 0;
}
section.contact-header .contacts-wrap{
   font-size: var(--smaller-paragraph-size);
   margin-top: 60px;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 40px;
}
section.contact-header .contacts-wrap .inner-wrap{
   border-left: 1px solid var(--divider-light);
   padding-left: 20px;
}

section.contact-header .contacts-wrap .email-wrap {
    display: flex;
    flex-direction: column;
    margin-bottom: 5px;
    gap: 3px;
}

section.contact-header .contacts-wrap .phone-wrap {
   display: flex;
   flex-direction: column;
   gap: 3px;
}

section.contact-header .social-wrap{
   display: flex;
   align-items: center;
   gap: 13px;
   font-size: 20px;
   margin-top: 20px;
}
section.contact-header a.btn-link{
   margin-top: 15px;
}
section.contact-header a{
   position: relative;
   display: block;
   overflow: hidden;
   line-height: 1.4;
   color: inherit;
}
section.contact-header a span{
   display: block;
   transition-property: transform, opacity;
   transition-duration: 0.3s;
   transition-delay: 0.05s;
   transition-timing-function: cubic-bezier(0.5, 1.8, 0.62, 1);
}
section.contact-header a span:last-child{
   position: absolute;
   top: 100%;
   left: 0;
}
section.contact-header a:hover span{
   transform: translate3d(0, -100%, 0);
}


@media(max-width: 1400px){
   section.contact-header .c-wrap{
      gap: 40px 80px;
   }
}

@media(max-width: 1200px){
   section.contact-header .c-wrap{
      grid-template-columns: 1fr 1fr;
      gap: 40px 60px;
   }
   section.contact-header .contacts-wrap{
      grid-template-columns: 1fr;
      margin-top: 40px;
      gap: 35px;
   }
   section.contact-header .contacts-wrap .social-wrap {
      font-size: 18px;
      gap: 10px;
   }
}


@media(max-width: 1024px){
   section.contact-header {
      padding-top: 160px;
      padding-bottom: 100px;
   }
   section.contact-header .c-wrap{
      grid-template-columns: 1fr;
      gap: 70px;
   }
   section.contact-header .contacts-wrap{
      grid-template-columns: 1fr 1fr;
   }
   section.contact-header .info{
      padding: 0;
   }

   section.contact-header figure.image img{
      aspect-ratio: 16 / 8;
      min-height: 400px;
   }
   section.contact-header figure.image .hr-wrap {
      bottom: 15px;
      left: 15px;
   }
   section.contact-header figure.image .hr-wrap svg {
      width: 30px;
   }
   section.contact-header figure.image .hr-wrap h6 {
      margin-top: 10px;
   }
}

@media(max-width: 999px){
   section.contact-header:after {
      border-radius: 18px 18px 0 0;
   }
}

@media(max-width: 690px){
   section.contact-header .contacts-wrap {
      grid-template-columns: 1fr;
   }
   section.contact-header {
      padding-top: 140px;
      padding-bottom: 90px;
   }
   section.contact-header .c-wrap{
      gap: 50px;
   }
}
@media(max-width: 550px){
   section.contact-header figure.image img{
      min-height: 360px;
   }
}


/* FEATURES 
   ----------------------------- */

section.features .c-wrap{
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 50px 80px;
}

section.features h2{
   max-width: 500px;
}

section.features .c-items{
   display: flex;
   flex-direction: column;
   gap: 25px;
}

section.features .c-item {
   display: flex;
   flex-direction: column;
   gap: 120px;
   color: var(--white);
   border-radius: 12px;
   padding: 30px;
}
section.features .c-item:nth-child(4n-3){ background:var(--red); }
section.features .c-item:nth-child(4n-2){ background:var(--dark-red); }
section.features .c-item:nth-child(4n-1){ background:var(--greyish-brown); }
section.features .c-item:nth-child(4n){ background:var(--black); }

section.features .c-item h5{
   color: var(--white);
}

section.features .c-item .content-wrap {
   display: flex;
   flex-direction: column;
   gap: 12px;
}

section.features .c-item img{
   max-width: 52px;
   max-height: 56px;
   align-self: flex-start;
}

@media (max-width: 1300px) {
   section.features .c-item img {
      max-width: 48px;
      max-height: 50px;
   }
   section.features .c-item {
      gap: 100px;
      padding: 25px;
   }
}

@media (max-width: 999px) {
    section.features .theia-sticky {
        position: static !important;
        transform: none !important;
        top: auto !important;
    }
   section.features .c-wrap{
      grid-template-columns: 1fr;
      gap: 45px;
   }
   section.features .c-items {
      display: grid;
      grid-template-columns: repeat(2,1fr);
      gap: 15px;
   }
   section.features .c-item {
      gap: 80px;
   }
   section.features .c-item img {
      max-width: 45px;
      max-height: 45px;
   }
}

@media (max-width: 690px) {
   section.features h2 {
      max-width: 400px;
      margin: 0 auto;
      text-align: center;
   }
   section.features .c-items {
      grid-template-columns: 1fr;
   }
   section.features .c-item {
      gap: 50px;
      padding: 20px;
   }
   section.features .c-item .content-wrap {
      gap: 8px;
   }
   section.features .c-item img {
      max-width: 36px;
      max-height: 36px;
   }
}



/* FORM
   ----------------------------- */

section.c-form .c-wrap{
   max-width: 1300px;
}
section.c-form .title-wrap{
   display: grid;
   grid-template-columns: 460px 1fr;
   align-items: center;
   gap: 20px 80px;
   padding-bottom: 70px;
   border-bottom: 1px solid var(--divider-grey-darker);
}

section.c-form .title-wrap .paragraph {
   font-size: var(--alternate-paragraph-size);
   line-height: 1.5;
}

section.c-form .form-wrap{
   margin-top: 60px;
}
section.c-form .form-wrap .submit-btn{
   width: 100%;
}
section.c-form .form-wrap .submit-btn span{
   width: 100%;
   text-align: center;
}
section.c-form .form-wrap input[type="submit"]{
   display: none;
}

@media(max-width: 1200px){
   section.c-form .title-wrap{
      grid-template-columns: 1fr 1fr;
      column-gap: 60px;
   }
}

@media(max-width: 800px){
   section.c-form .title-wrap{
      grid-template-columns: 1fr;
      text-align: center;
      gap: 15px;
   }
   section.c-form .form-wrap {
      margin-top: 50px;
   }
}



/* PRODUCTS
   ----------------------------- */

section.products .title-wrap{
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 50px;
}

section.products .title-wrap h2 {
   max-width: 600px;
}

section.products .c-divider{
   margin: 65px 0 70px 0;
   border-top: 1px solid var(--divider-grey-darker);
}

section.products .c-items{
   display: grid;
   grid-template-columns: repeat(2,1fr);
   gap: 25px;
   align-items: stretch;
}

section.products .c-item{
   display: flex;
   flex-direction: column;
   background: var(--white);
   border-radius: 12px;
   padding: 12px;
}

section.products figure.main-image{
   width: 100%;
   border-radius: 8px;
   overflow: hidden;
}

section.products figure.main-image img{
   width: 100% !important;
   min-height: 290px;
   aspect-ratio: 16 / 9;
   object-fit: cover;
   display: block;
}

section.products .info{
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   flex-grow: 1;
   gap: 60px;
   padding: 40px 15px 25px 15px;
}

section.products .content-wrap {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 22px;
}

section.products .c-items .main-btn {
   width: 100%;
}

section.products .c-items .main-btn span{
   width: 100%;
   text-align: center;
}

section.products .sub-items{
   display: inline-flex;
   border-radius: 4px;
   border: 1px solid var(--divider-grey-darker);
}

section.products .sub-item{
   padding: 10px 17px;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 5px 8px;
   border-right: 1px solid var(--divider-grey-darker);
   font-size: var(--smaller-paragraph-size);
   line-height: 1.2;
}

section.products .sub-item:last-child {
   border-right: 0;
}

section.products .sub-item img{
   height: 22px;
   width: auto !important;
   max-width: 44px;
   flex-shrink: 0;
}

@media(max-width: 1500px){
   section.products .sub-items {
      width: 100%;
   }
   section.products .sub-item {
      font-size: 14px;
      flex-direction: column;
      text-align: center;
      justify-content: center;
      padding: 10px;
      width: 100%;
   }
   section.products .content-wrap {
      align-items: center;
      text-align: center;
   }
}


@media(max-width: 999px){
   section.products .title-wrap{
      flex-direction: column;
      align-items: center;
      gap: 30px;
   }
   section.products .info {
      padding: 30px 5px 20px 5px;
   }
   section.products .title-wrap h2 {
      margin: 0 auto;
      text-align: center;
      max-width: 500px;
   }
   section.products .sub-item img {
      height: 18px;
   }
   section.products .sub-item {
      font-size: 13px;
      gap: 4px;
      padding: 8px;
   }
   section.products figure.main-image img {
      min-height: 200px;
   }
   section.products .c-items {
      gap: 15px;
   }
}

@media(max-width: 850px){
  section.products .sub-items {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 0;
  }

  section.products .sub-item {
    width: 50%;
    border: none;
    border-bottom: 1px solid var(--divider-grey-darker);
    padding: 12px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    box-sizing: border-box;
  }

  section.products .sub-item:nth-child(odd) {
    border-right: 1px solid var(--divider-grey-darker);
  }

  section.products .sub-item {
    margin-bottom: -1px;
  }

}

@media(max-width: 768px){
   section.products .c-items{
      grid-template-columns: 1fr;
   }
   section.products figure.main-image img {
      aspect-ratio: 16 / 7;
   }
   section.products .info {
      gap: 45px;
   }
}

@media(max-width: 690px){
   section.products .title-wrap {
      gap: 25px;
   }
   section.products .c-divider {
      margin: 55px 0;
   }
}


/* FEATURES GRID
   ----------------------------- */

section.features-grid h2{
   margin: 0 auto;
   width: 100%;
   max-width: 700px;
   text-align: center;
}

section.features-grid .c-wrap{
   max-width: 1300px;
}

section.features-grid .c-items{
   margin-top: 70px;
   display: grid;
   grid-template-columns: repeat(4,1fr);
   gap: 70px 40px;
}
section.features-grid .c-item{
   text-align: center;
   max-width: 200px;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 20px;
}

section.features-grid .c-item h6{
   font-size: var(--h6-size);
   line-height: 1.25;
}
section.features-grid figure.icon{
   border-radius: 50%;
   background: var(--white);
   width: 100px;
   height: 100px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}
section.features-grid figure.icon img{
   max-width: 40px;
   max-height: 40px;
   width: 100% !important;
}

@media(max-width: 1300px){
   section.features-grid figure.icon {
      width: 90px;
      height: 90px;
   }
   section.features-grid figure.icon img {
      max-width: 37px;
      max-height: 37px;
   }
}

@media(max-width: 1100px){
   section.features-grid .c-items {
      grid-template-columns: repeat(3,1fr);
      gap: 60px 35px;
      margin-top: 60px;
   }
   section.features-grid figure.icon {
      width: 85px;
      height: 85px;
   }
   section.features-grid figure.icon img {
      max-width: 34px;
      max-height: 34px;
   }
}

@media(max-width: 768px){
   section.features-grid .c-items {
      grid-template-columns: repeat(2,1fr);
      gap: 50px 30px;
      margin-top: 50px;
   }
   section.features-grid .c-item {
      width: 100%;
      max-width: 180px;
      gap: 15px;
   }
}

@media(max-width: 550px){
   section.features-grid .c-items {
      gap: 35px 20px;
   }
   section.features-grid figure.icon {
      width: 70px;
      height: 70px;
   }
   section.features-grid figure.icon img {
      max-width: 28px;
      max-height: 28px;
   }
   section.features-grid .c-item h6 {
      font-size: 15px;
   }
}


/* GENERAL CONTENT
   ----------------------------- */

section.general-content {
    position: relative;
}

section.general-content .main-wrap {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    align-items: stretch;
    gap: 50px 100px;
}
section.general-content .main-wrap .left-wrap{
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   padding: 50px 0;
}

section.general-content .main-paragraph {
    margin-top: 25px;
    font-size: var(--paragraph-size);
    line-height: 1.58;
}

section.general-content ul.features {
    list-style: none;
    padding: 0;
    margin: 40px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

section.general-content ul.features li {
   list-style: none;
    display: flex;
    align-items: center;
    gap: 13px;
}

section.general-content ul.features .icon {
   flex-shrink: 0;
}

section.general-content ul.features .icon img {
   width: 30px;
   height: auto;
   max-height: 28px;
   display: block;
}

section.general-content ul.features .feature-item {
    font-size: var(--paragraph-size);
    line-height: 1.3;
}

section.general-content .main-btn {
   margin-top: 40px;
}

section.general-content .image-mask-wrap {
   position: relative;
   height: 100%;
   max-width: 590px;
   justify-self: flex-end;
}

section.general-content .image-mask-wrap .simpleParallax{
   clip-path: polygon(50% 0%, 100% 100px, 100% 100%, 0% 100%, 0% 100px);
   height: 100%;
}
section.general-content .image-mask-wrap img{
   height: 100%;
   object-fit: cover;
}

section.general-content .main-decoration {
    position: absolute;
    top: 40px;
    right: 15%;
    will-change: transform;
}

section.general-content .main-decoration img {
    width: clamp(100px, 8vw, 120px) !important;
    height: auto;
    display: block;
}

section.general-content.s-dark {
   background: var(--black);
   color: var(--white);
}

section.general-content.s-dark h2{
   color: var(--white);
}

section.general-content.s-light {
   background: transparent;
   color: var(--black);
}

section.general-content.reverse .main-wrap .left-wrap{
   order: 2;
}
section.general-content.reverse .main-wrap .right-wrap{
   order: 1;
}

@media(max-width: 1300px){
   section.general-content .main-wrap {
      column-gap: 70px;
   }
   section.general-content.reverse .main-wrap .left-wrap,
   section.general-content .main-wrap .left-wrap {
      padding: 0;
   }
   section.general-content .main-decoration {
      right: 12%;
   }
   section.general-content ul.features .icon img {
      width: 28px;
      height: 24px;
   }
}

@media(max-width: 999px){
   section.general-content .main-wrap{
      grid-template-columns: 1fr;
   }
   section.general-content .main-wrap .left-wrap {
      order: 2;
   }
   section.general-content .main-wrap .right-wrap{
      order: 1;
   }
   section.general-content .main-decoration {
      display: none;
   }
   section.general-content .image-mask-wrap {
      max-width: none;
   }
   section.general-content .image-mask-wrap img {
      aspect-ratio: 16 / 8;
      min-height: 250px;
   }
   section.general-content .image-mask-wrap .simpleParallax {
      clip-path: polygon(50% 0%, 100% 40px, 100% 100%, 0% 100%, 0% 40px);
   }
   section.general-content ul.features {
      margin-top: 30px;
   }
   section.general-content .main-btn {
      margin-top: 35px;
   }
   section.general-content .main-paragraph {
      margin-top: 20px;
   }
   section.general-content ul.features .icon img {
      width: 26px;
      height: 22px;
   }
   section.general-content ul.features {
      gap: 12px;
   }
}

@media(max-width: 690px){
   section.general-content .image-mask-wrap .simpleParallax {
      clip-path: none;
   }
   section.general-content .main-wrap {
      gap: 45px;
   }
   section.general-content .main-paragraph {
      margin-top: 15px;
   }
   section.general-content ul.features .icon img {
      width: 24px;
      height: 20px;
   }
}

@media(max-width: 550px){
   section.general-content .main-wrap {
      gap: 40px;
   }
}



/* IMAGE CTA
   ----------------------------- */

section.image-cta{
   background: var(--white);
   border-radius: var(--s-radius);
   overflow: hidden;
}
section.image-cta .content-wrap{
   display: grid;
   grid-template-columns: 3fr 2fr;
   gap: 0;
}

section.image-cta .decoration{
   position: absolute;
   bottom: 15px;
   left: 30px;
   will-change: transform;
}

section.image-cta figure.main-image img.decoration-img {
   width: clamp(100px, 8vw, 120px) !important;
}

section.image-cta figure.main-image{
   position: relative;
   width: 100%;
   background: var(--black);
}

section.image-cta figure.main-image img{
   width: 100% !important;
   height: 100%;
   object-fit: cover;
}

section.image-cta figure.main-image img.parallax-img {
   aspect-ratio: 16 / 8;
   min-height: 525px;
}

section.image-cta .cta-info{
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   gap: 30px 40px;
   background: var(--white);
   padding: 40px;
}

section.image-cta .cta-info h3{
   max-width: 650px;
}

section.image-cta .cta-info .main-btn span{
   width: 100%;
   text-align: center;
}


@media(max-width: 1300px){
   section.image-cta .content-wrap {
      grid-template-columns: 1fr 1fr;
   }
}

@media(max-width: 999px){
   section.image-cta .cta-info {
      padding: 40px 30px;
   }
   section.image-cta .decoration {
      display: none;
   }
}

@media(max-width: 800px){
   section.image-cta .content-wrap{
      grid-template-columns: 1fr;
   }
   section.image-cta figure.main-image img.parallax-img {
      min-height: 260px;
   }
   section.image-cta .cta-info {
      padding: 60px 30px;
      text-align: center;
   }
}

@media(max-width: 550px){
      section.image-cta .cta-info {
         padding: 50px 25px 55px 25px;
      }
}


/* IMPACT CTA
   ----------------------------- */

section.impact-cta h2{
   font-family: var(--font-accent);
   font-size: var(--cta-size);
   line-height: 1.02;
}

section.impact-cta .cta-content{
   display: grid;
   grid-template-columns: 4fr 2fr;
   gap: 30px 80px;
   align-items: center;
}

section.impact-cta .cta-buttons{
   display: flex;
   align-items: center;
   justify-content: flex-end;
   gap: 15px;
}

@media(max-width: 999px){
   section.impact-cta .cta-content{
      grid-template-columns: 1fr;
      justify-content: center;
      text-align: center;
   }
   section.impact-cta .cta-buttons{
      justify-content: center;
   }
}


/* CTA
   ----------------------------- */

section.cta{
   position: relative;
   color: var(--white);
   padding: 120px 50px;
   overflow: hidden;
   border-radius: var(--s-radius);
}

section.cta h2{
   font-family: var(--font-accent);
   font-size: var(--cta-size);
   color: var(--white);
   line-height: 1.02;
}

section.cta .decoration-overlay{
   position: absolute;
   top: 0;
   left: 0;
   width: 100% !important;
   height: 100%;
   object-fit: cover;
   z-index: 1;
}

section.cta figure.image img {
   display: block;
   max-width: 96px;
   width: 100% !important;
}

section.cta .info{
   position: relative;
   z-index: 2;
   margin: 0 auto;
   max-width: 850px;
   text-align: center;
   display: flex;
   flex-direction: column;
   gap: 40px;
   align-items: center;
}

section.cta.bg-beige{
   background: var(--greyish-brown);
}
section.cta.bg-black{
   background: var(--black);
}

@media(max-width: 1300px){
   section.cta figure.image img {
      max-width: 88px;
   }
}

@media(max-width: 999px){
   section.cta{
      padding: 100px 30px;
   }
   section.cta .info {
      gap: 35px;
   }
   section.cta figure.image img {
      max-width: 84px;
   }
}
@media(max-width: 690px){
   section.cta{
      padding: 90px 20px;
   }
   section.cta figure.image img {
      max-width: 75px;
   }
   section.cta .info {
      gap: 30px;
   }
}

@media(max-width: 550px){
   section.cta .main-btn {
      margin-top: 5px;
   }
}


/* FOOTER
   ----------------------------- */

footer.footer{
   font-size: var(--paragraph-size);
   padding-top: 100px;
}

footer.footer .c-wrap {
   display: flex;
   flex-direction: column;
}
footer.footer .footer-wrap a{
   color: inherit;
}

footer.footer figure.logo {
   margin-bottom: 40px;
}

footer.footer figure.logo img {
   max-width: 65px;
   display: block;
}

footer.footer h6 {
   display: block;
   font-family: var(--font-text);
   font-size: var(--paragraph-size);
   font-weight: 500;
}

footer.footer a{
   position: relative;
   display: block;
   overflow: hidden;
   line-height: 1.4;
}

footer.footer a span{
   display: block;
   transition-property: transform, opacity;
   transition-duration: 0.3s;
   transition-delay: 0.05s;
   transition-timing-function: cubic-bezier(0.5, 1.8, 0.62, 1);
}

footer.footer a span:last-child{
   position: absolute;
   top: 100%;
   left: 0;
}

footer.footer a:hover span{
   transform: translate3d(0, -100%, 0);
}

footer.footer .contacts-wrap,
footer.footer .menu-wrap {
   display: flex;
   flex-direction: column;
   gap: 20px;
}

footer.footer .footer-wrap{
   display: flex;
   justify-content: space-between;
   gap: 50px 40px;
}
footer.footer .address-wrap{
   margin-bottom: 20px;
   line-height: 1.55;
}

footer.footer .hours-text {
   line-height: 1.55;
}

footer.footer .email-wrap {
   display: flex;
   flex-direction: column;
   gap: 3px;
   margin-bottom: 5px;
}

footer.footer ul{
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 8px;
}
footer.footer ul li{
   list-style: none;
}
footer.footer .social-wrap {
   margin-top: 20px;
   display: flex;
   flex-wrap: wrap;
   gap: 13px;
   align-items: center;
   font-size: 20px;
}


footer.footer .footer-bottom{
   margin-top: 110px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 0px 80px;
   padding-bottom: 35px;
   font-size: var(--smaller-paragraph-size);
}
footer.footer .footer-bottom a{
   color: inherit;
}
footer.footer .footer-bottom .footer-credits{
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 5px;
}

footer.footer .footer-bottom .footer-copyright{
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 5px;
}

@media(max-width: 1300px){
   footer.footer {
      font-size: 15px;
   }
   footer.footer .footer-bottom{
      font-size: 14px;
   }
   footer.footer .social-wrap {
      font-size: 18px;
      gap: 10px;
   }
   footer.footer figure.logo img {
      max-width: 60px;
   }
   footer.footer .address-wrap {
      margin-bottom: 15px;
   }
}

@media(max-width: 1024px){
   footer.footer a:hover span {
      transform: none;
   }
   footer.footer .footer-bottom {
      line-height: 1.5;
   }
}

@media(max-width: 999px){
   footer.footer {
      padding-top: 80px;
   }
   footer.footer .footer-wrap{
      display: grid;
      grid-template-columns: 1fr 1fr;
   }
   footer.footer .footer-bottom{
      flex-direction: column;
      font-size: 14px;
      align-items: flex-start;
   }
   footer.footer figure.logo img {
      max-width: 55px;
   }
   footer.footer .footer-bottom {
      margin-top: 100px;
   }
}

@media(max-width: 690px){
   footer.footer{
      font-size: 14px;
      padding-top: 70px;
   }
   footer.footer figure.logo {
      margin-bottom: 30px;
   }
   footer.footer figure.logo img {
      margin: 0 auto;
   }
   footer.footer ul {
      gap: 0;
   }
   footer.footer .footer-wrap{
      grid-template-columns: 1fr;
      text-align: center;
      gap: 40px;
   }
   footer.footer a{
      display: inline-block;
   }
   footer.footer .social-wrap{
      justify-content: center;
      margin-top: 10px;
   }
   footer.footer .footer-bottom {
      align-items: center;
      margin-top: 80px;
   }
   footer.footer .contacts-wrap,
   footer.footer .menu-wrap {
      gap: 10px;
   }
}