:root{
  --clr-black: #0A0A0A;
  --clr-border: #CBCBCB;
  --clr-red: #D0021B;
}
body *{
  font-size: 20px;
}
body{
  background: #ECECEC;
}
img{max-width: 100%;}
.title,
.title *{
  text-transform: uppercase;
  font-family: "Roboto Condensed";
  color: var(--clr-black);
}
.title a{
  color: var(--clr-red);
  text-decoration: underline;
  transition: .3s;
}
.title a:hover{
  text-decoration-color: transparent;
}
.button-link.style-2{
  color: var(--clr-black);
  font-size: inherit;
}
.title h2, .title h1{
  font-size: 64px;color: var(--clr-black);line-height: 1.1;
}
hr{
  display: block;height: 1px;background: var(--clr-border);margin: 0;
  width: 100%;
  border: none;
}
.l-header__content{
  text-align: center;
}
.l-header__content img{
  width: 200px;
  margin-top: 65px;
}
.l-header__content .title {
 
  margin-top: 70px;

}
.l-about{margin-top: 200px;}
.about-text{
  position: relative;
  margin: 0 auto;
  max-width: 550px;
}
.about-text .text{
  display: grid;
  gap: 40px;
}
.about-text img{
  position: absolute;
  left: 50%;top: 0;
  transform: translate(-50%, -50%);
  z-index: -1;pointer-events: none;

}
.l-about__image{margin-top: 80px;}
.l-about__image img{
  display: block;
}

.l-banner{
  position: relative;
  margin-top: 77px;
}
.l-banner__bg{
  position: absolute;
  left: 0;top: 0;width: 100%;height: 100%;
}
.l-banner__bg img{
position: absolute;
  left: 0;top: 0;width: 100%;height: 100%;
  object-fit: cover;
  object-position: center ;
}
.l-banner__content{
  position: relative;
  width: 50%;
  margin-left: auto;
  display: grid;
  gap: 40px;
  padding: 48px 70px 48px 0;
  align-items: center;
  min-height: 31vw;
  align-content: center;
}

/* swipers */
.l-swiper-photo{
  width: 100%;
  position: relative;
  aspect-ratio: 338/240;
}
.l-partner-photo{
  width: 100%;
  position: relative;
  aspect-ratio: 1/1;
}
.l-partner-photo img,
.l-swiper-photo img{
  position: absolute;left: 0;top: 0;width: 100%;height: 100%;object-fit: cover;
}
.l-photos{
  margin-top: 64px;
  padding-bottom: 32px;
  border-bottom: solid 1px var(--clr-border);
}
.l-partners-swiper{
  margin-top: 32px;
}
.swiper-entry{
  position: relative;
  padding: 0 30px;
}
.swiper-controls{
  position: absolute;
  z-index: 4;
  width: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;justify-content: space-between;
}
.swiper-controls .swiper-button-prev,
.swiper-controls .swiper-button-next{
  position: relative; left: unset;top: unset;
  width: 20px;height: 20px;
  margin: 0;
  display: flex;align-items: center;
  justify-content: center;
}
.swiper-controls .swiper-button-prev svg,
.swiper-controls .swiper-button-next svg{
  height: auto;
  max-width: 100%;
  max-height: 100%;
}


/* instruction */
.l-instruction{margin-top: 152px;padding-bottom: 64px;}
.l-instruction-wrap{
  position: relative;
}
.l-instruction-wrap>img{
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: -1;
}
.l-instruction__content{
  max-width: 550px;
  margin: 0 auto;
  display: grid;
  gap: 32px;
}
.l-instruction__content>*{
  padding-left: 50px;
  padding-right: 50px;
}
.l-instruction__btn-holder{
  padding: 0 100px;
}
.l-instruction__contact{
  padding: 20px;
  border: solid 1px var(--clr-border);
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 20px;
}
.l-instruction .text,
.l-instruction .text *{
  font-size: 16px;
  line-height: 1.4;
}
.l-partners-grid{display: none;}

@media (max-width:1400px) {
  .title h2, .title h1{
    font-size: 50px;
  }
}
@media (max-width:991px) and (orientation) {
  .l-banner__content{
    min-height: 160vw;
    padding-bottom: calc(80vw + 42px);
    padding-right: 0;
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

@media (max-width:767px) {
  .title h2, .title h1{
    font-size: 32px;
  }
  body *{
    font-size: 16px;
  }
  .l-header__content img{
    width: 100px;
    margin-top: 42px;
  }
  .l-header__content .title{
    margin-top: 48px;
  }
  .l-about{
    margin-top: 86px;
  }
  .l-about__image{
    margin-top: 54px;
  }
  .l-banner__content{
    grid-gap: 17px;
  }
  .swiper-entry{
    padding: 0 18px;
  }
  .swiper-controls .swiper-button-prev,
  .swiper-controls .swiper-button-next{
    width: 16px;
    height: 16px;
  }
  .l-photos{
    margin-top: 48px;
    padding-bottom: 24px;
  }
  .l-partners-swiper{display: none;}
  .l-partners-grid{
    display: grid;
    padding: 24px 20px 0;
    grid-template-columns: repeat(4, 1fr);
    justify-items: center;
    gap: 18px;
  }
  .l-partners-grid .l-partner-photo{max-width: 90px;}
  .l-instruction{
    margin-top: 76px;
    padding-bottom: 50px;
  }
  .l-instruction__content{
    gap: 24px;
  }
  .l-instruction__content > *{
    padding-left: 30px;padding-right: 30px;
  }
  .l-instruction__contact{
    grid-template-columns: 1fr;
    text-align: center;
  }
  .l-instruction >.text{padding: 0;font-size: 14px!important;}
  .l-instruction__contact .title{font-size: 20px;}

}
