:root {
  interpolate-size: allow-keywords;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/montserrat-regular-webfont.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/montserrat-bold-webfont.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/montserrat-semibold-webfont.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}

p, h1, h2, h3, h4, h5, h6, ul, li {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
img {
  max-width: 100%;
}
body {
  color: #3d3e40;
  font-size: 16px;
  line-height: 20px;
  font-family: 'Montserrat', sans-serif;
}
main.page-wrapper {
  padding: unset;
  margin: unset;
  max-width: unset;
}

.banner {
  background-image: url(/landings/vanchess-courses/img/banner.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  
  .banner__content {
    max-width: 1172px;    
    margin: 0 auto;
    padding: 96px 20px;
  }
  .banner__title {
    font-weight: 700;
    font-size: 36px;
    line-height: 1;
    margin-bottom: 25px;
    color: #fafafa;
  }
  .banner__description {
    max-width: 400px;
    margin-bottom: 50px;
    font-size: 18px;
    line-height: 20px;
    color: #fff;
  }
  .banner__actions {
    display: flex;
    align-items: center;
    gap: 30px;
  }
}

.button {
  width: unset;
  height: unset;
  padding: 9px 19px;
  font-weight: 600;
  font-size: 16px;
  line-height: 30px;
  border: 1px solid;
  border-radius: 10px;
  text-decoration: none;
  color: #fafafa;
  text-align: center;
}
.button_transparent {
  border-color: #B5BDCD;
  color: #242935;
}
.button_orange {
  background-color: #FF7900;
  border-color: #FF7900;
}
.button_blue {
  background-color: #0177CC;
  border-color: #0177CC;
}

.section-limiter {
  max-width: 1248px;
  margin: 0 auto;
  padding: 60px 20px;
}

.section-title {
  text-align: center;
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  margin-bottom: 30px;
}
.section-title_space-l {
  margin-bottom: 50px;
}

.section-description {
  text-align: center;
  font-weight: 700;
  margin-bottom: 40px;
}

.card {
  border-radius: 15px;
  background-color: #3D3E401A;
  padding: 20px;

  .card__stats {
    font-weight: 700;
    margin-bottom: 10px;
  }
  .card__title {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
  }
  .card__description {
    margin-bottom: 16px;
  }
  .card__action {
    width: 100%;
    margin-top: auto;
    margin-bottom: 0;
  }
}
.card_white {
  background-color: #FFFFFFCC;
}


.course-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  gap: 24px 36px;
}

.benefits {
  max-width: 950px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 38px 30px;
  list-style: none;
}
.benefit {
  display: flex;
  align-items: center;
  gap: 20px;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
}

.next-section {
  background-color: #EBEBEB;
}
.next-cards {
  max-width: 950px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  gap: 10px;
}

.hosted-section {
  position: relative;

  .hosted-section__left-bg {
    position: absolute;
    top: 50%;
    left: 3.1%;
    transform: translateY(-50%);
    width: 13.85%;
  }
  .hosted-section__right-bg {
    position: absolute;
    top: 50%;
    right: 4.96%;
    transform: translateY(-50%);
    width: 25%;
  }
  .hosted-section__content {
    max-width: 793px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 50px;
  }
  .hosted-section__texts {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .hosted-section__subtitle {
    font-size: 16px;
    line-height: 20px;
    font-weight: 700;
  }
}

.reviews-section-blue {
  padding-top: 60px;
  background-color: #0177CC33;
}

@media screen and (max-width: 991px) {
  .reviews-section-blue .reviews-section__title {
    font-size: 28px;
  }
  .section-title {
    font-size: 28px;
  }
  .course-cards {
    grid-template-columns: 1fr;
  }
  .benefits {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .next-cards {
    grid-template-columns: 1fr;
  }
  .hosted-section__left-bg, .hosted-section__right-bg {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .section-title_space-l {
    margin-bottom: 30px;
  }
  .section-description {
    margin-bottom: 24px;
  }
  .hosted-section {
    .hosted-section__content {
      flex-direction: column;
      text-align: center;
      gap: 30px;
    }
    .hosted-section__texts {
      gap: 20px;
    }
  }
  .section-limiter {
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .reviews-section-blue {
    padding-top: 30px;
  }
  .banner .banner__content {
    height: calc(100vh - 64px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
