/* общие */

.home.banner-top-padding {
  display: none;
}

section {
  padding: 0;
  margin-bottom: 60px;
}

section.banner-top-padding {
  padding-top: 0;
}

.form-template.form-section .tx .h3 {
  margin-bottom: 21px;
}

@media screen and (min-width: 640px) {

  section {
      margin-bottom: 80px;
  }
}

@media screen and (min-width: 1000px) {

  section {
      margin-bottom: 120px;
  }
}

._img {
  display: block;
  width: 100%;
}

section .button {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 36px;
  border: 1px solid var(--main-color);
  border-radius: 4px;
  background: var(--main-color);
  color: var(--background);
  text-transform: uppercase;
  font: normal 500 12px var(--text-font);
  letter-spacing: 0.089em;
  padding: 0 29px;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
  cursor: pointer;
}

section .button:hover {
  color: var(--main-color);
  background: var(--background);
  border: 1px solid var(--main-color);
}

section .button.button__white {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 36px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: transparent;
  color: var(--title-color);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font: normal 500 12px var(--text-font);
  padding: 0 29px;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

section .button.button__white:hover {
  color: var(--main-color);
  border: 1px solid var(--main-color);
}

.btn-arrow .inner {
  width: 10px;
  height: 10px;
  border-bottom: 1.5px solid var(--title-color);
  border-right: 1.5px solid var(--title-color);
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .3s all;
}

.button.text-white {
  color: var(--background);
}

/* end общие */

/* main-block */

.main-block .wrapper {
  position: static;
}

.main-block_container {
  position: relative;
}

.main-block_img {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: 450px;
  overflow: hidden;
}

.main-block_img img {
  -o-object-fit: cover;
  object-fit: cover;
}

.main-block_info {
  position: absolute;
  bottom: 40px;
}

.main-block_subtitle {
  display: none;
  font: 500 14px/130% var(--title-font);
  color: var(--background);
  letter-spacing: 1.12px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.main-block_title {
  font: 600 30px/130% var(--title-font);
  color: var(--background);
  max-width: 240px;
  letter-spacing: 0;
}

.main-block_info .button {
  margin-top: 30px;
}

section .main-block_info .button:hover {
  border: 1px solid var(--background);
}

@media screen and (min-width: 645px) {

  .main-block_title {
      max-width: 350px;
  }

  .main-block_img img {
      height: 100%;
      width: auto;
  }

  .main-block_info .button {
      margin-top: 40px;
  }
}

@media screen and (min-width: 1000px) {

  .main-block_info {
      bottom: unset;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  }

  .main-block_img {
      max-height: unset;
  }

  .main-block_img img {
      width: 100%;
  }

  .main-block_subtitle {
      display: block;
  }

  .main-block_title {
      font-size: 50px;
      max-width: 597px;
  }

  .main-block_info .button.button__white {
      margin-top: 50px;
      margin-bottom: 1px;
  }
}
/* end main-block */

/* карточки со ссылками */

.cards-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  row-gap: 10px;
  box-sizing: border-box;
}

.card-item {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  min-height: 84px;
  padding: 29px 31px 29px 29px;
  border-radius: 10px;
  border: 1px solid var(--border-color);
}

.card-item.wide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.card-item_inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.card-item_title {
  font: 500 16px/150% var(--text-font);
  color: var(--title-color);
  margin-right: 15px;
  transition: .3s all;
}

.card-item_subtitle {
  font: 400 16px/150% var(--text-font);
  color: var(--text-color);
}

.card-item .button.button__white.view-hh {
  padding: 0;
  width: 100%;
  max-width: 206px;
}

.card-item .to-hide {
  display: none;
}

.card-item .to-show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.card-item:hover .card-item_title {
  color: var(--main-color);
}

.card-item:hover .btn-arrow .inner {
  border-bottom: 1.5px solid var(--main-color);
  border-right: 1.5px solid var(--main-color);
}

.card-item:hover .button.button__white {
  color: var(--main-color);
  border: 1px solid var(--main-color);
}

section .card-item_inner .button.button__white {
  display: none;
}

@media screen and (min-width: 1200px) {
  .cards-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-column-gap: 30px;
      -moz-column-gap: 30px;
      column-gap: 30px;
      margin-right: -2px;
  }

  .card-item {
      min-height: unset;
      width: calc(25% - 22.5px);
      border-radius: 4px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      padding: 29px;
  }

  .card-item.wide {
      width: calc(50% - 14px);
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      padding: 29px;
  }

  .card-item.wide .card-item_img {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 260px;
      margin-left: 30px;
  }

  .card-item_inner {
      max-width: 248px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: unset;
      -ms-flex-align: unset;
      align-items: unset;
  }

  .card-item_title {
      font: 600 18px/130% var(--title-font);
      color: var(--text-color);
      margin-right: 0;
      margin-bottom: 18px;
      padding-top: 1px;
  }

  .card-item_subtitle {
      margin-bottom: 20px;
  }

  .card-item .btn-arrow {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 60px;
      height: 60px;
      border: 1px solid var(--border-color);
      border-radius: 50%;
      transition: .3s all;
  }

  .card-item .btn-arrow .inner {
      width: 10px;
      height: 10px;
      border-bottom: 1.5px solid var(--title-color);
      border-right: 1.5px solid var(--title-color);
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      margin-left: -4px;
      transition: .3s all;
  }

  .card-item .to-hide {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
  }

  .card-item .to-show {
      display: none;
  }

  .card-item:hover .btn-arrow {
      border: 1px solid var(--main-color);
  }

  section .card-item_inner .button.button__white {
      display: flex;
  }
}

/* end карточки со ссылками */

/* блок О компании */
.about-company_container {
  display: flex;
  align-items: start;
  gap: 30px;
  margin-bottom: 60px;
}

.about-company_item {
  width: 50%;
}

.about-company_text {
  font: 400 16px/150% var(--text-font);
  color: var(--title-color);
}

.about-company_title {
  font: 600 30px/130% var(--title-font);
  color: var(--title-color);
}

.about-company_link {
  display: inline-block;
  border-bottom: none;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, var(--title-color)), to(var(--title-color)));
  background-image: -o-linear-gradient(left, var(--title-color) 0, var(--title-color) 100%);
  background-image: linear-gradient(to right, var(--title-color) 0, var(--title-color) 100%);
  background-repeat: repeat-x;
  background-position: 0 96%;
  background-size: 100% 1px;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
  color: var(--title-color);
}

.about-company_link:hover {
  color: var(--title-color);
  background-image: none;
}

.about-company .button.button__white {
  margin-top: 40px;
  margin-left: 1px;
  padding-right: 28px;
}

@media screen and (max-width: 999px) {
  .about-company_container {
      flex-direction: column;
      margin-bottom: 40px;
  }

  .about-company_item {
      width: 100%;
  }

  .about-company_title {
      color: var(--text-color);
  }
}

@media screen and (max-width: 640px) {
  .about-company_title {
      font-size: 21px;
  }
}

@media screen and (max-width: 400px) {
  .about-company .button.button__white {
      width: 100%;
  }
}

/* end блок О компании */

/* блок История, Премии и награды */

@media screen and (min-width: 1200px) {
  .cards-links .cards-container {
      margin-right: 0;
  }

  .cards-links .card-item {
      width: calc(50% - 15px);
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
  }

  .cards-links .card-item:first-child {
      width: calc(50% - 14px);
  }

  .cards-links .card-item_title {
      margin-bottom: 19px;
  }

  .cards-links .card-item .card-item_img {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 260px;
      margin-left: 30px;
  }

  .cards-links .card-item .card-item_img img {
      border-radius: 4px;
  }

}

@media screen and (max-width: 599px) {
  .cards-links .card-item_title {
      color: var(--text-color);
  }
}

/* end блок История, Премии и награды */

/* news */
section.news.carousel-section {
  padding-bottom: 1px;
  margin: 0;
}

.no-touchevents .tx a.button:hover {
  border: 1px solid var(--main-color);
}

@media screen and (max-width: 599px) {
  section.news.carousel-section {
      padding-bottom: 35px;
  }

  section.news .wrapper h4 {
      margin-bottom: 15px;
  }
}

/* end news */
