/*NOTE: This file is intended for programmers. Aspro technical support is not advised to work with him.*/
/* Examples (uncomment to use):*/
/* Expand site width */
/* body .wrapper { max-width: 1400px !important; } */
/* Set site background image */
/* body { background: url(image_source) top no-repeat; } /* Hide compare button */
/* a.compare_item { display: none !important; }*/
/*подключение шрифтов*/
@font-face {
  font-family: "Gilroy";
  src: url("/bitrix/templates/aspro-allcorp3/css/fonts/gilroy/Gilroy-Regular.eot");
  src:
    local("Gilroy Regular"),
    local("Gilroy-Regular"),
    url("/bitrix/templates/aspro-allcorp3/css/fonts/gilroy/Gilroy-Regular.eot?#iefix")
      format("embedded-opentype"),
    url("/bitrix/templates/aspro-allcorp3/css/fonts/gilroy/Gilroy-Regular.woff")
      format("woff"),
    url("/bitrix/templates/aspro-allcorp3/css/fonts/gilroy/Gilroy-Regular.ttf")
      format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "GilroyBold";
  src: url("/bitrix/templates/aspro-allcorp3/css/fonts/gilroy/Gilroy-Bold.eot");
  src:
    local("Gilroy-Bold"),
    local("Gilroy-Bold"),
    url("/bitrix/templates/aspro-allcorp3/css/fonts/gilroy/Gilroy-Bold.eot?#iefix")
      format("embedded-opentype"),
    url("/bitrix/templates/aspro-allcorp3/css/fonts/gilroy/Gilroy-Bold.woff")
      format("woff"),
    url("/bitrix/templates/aspro-allcorp3/css/fonts/gilroy/Gilroy-Bold.ttf")
      format("truetype");
  font-weight: normal;
  font-style: normal;
}

body {
  color: #000000;
  font-size: 17px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Gilroy;
  font-weight: 800;
  /* color: #000000!important;*/
}

h3 {
  font-size: 1.5em;
}

/*
.topic__heading #pagetitle {
color: #FFFFFF!important;
}
@media screen and (min-width: 992px) {
.topic__heading #pagetitle {
color: #000000!important;
}
}
*/
/*главный баннер*/
.banners-big__title--small {
  font-family: GilroyBold;
  font-size: 75px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0px;
}

.banners-big__top-text {
  font-family: Gilroy;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0px;
  opacity: 0.8;
}

.index-block__preview {
  color: #000000;
  text-align: justify;
}

.index-block__title {
  color: #000000;
}

.company-item__text .index-block__preview {
  font-size: 22px;
  text-align: justify;
}

@media screen and (min-width: 992px) {
  .company-item__text .index-block__preview {
    font-size: 17px;
    text-align: justify;
  }
}

/*
.project-list__item-additional-text {
  position: initial;
}
*/
@media screen and (min-width: 992px) {
  .grid-list--items-2 .project-list__item-content {
    padding: 24px 0 43px 48px;
  }
}

body .ordered-block .dops {
  background-color: beige;
}

.dops .ordered-block__title {
  padding-top: 20px;
  /* padding-left: 20px;*/
}

/* .services-detail__bottom-info .dops {
   background: url(/images/fon.jpg) no-repeat center center/cover;
} */
p.cloud {
  line-height: 2;
}

.banners-img-with-text-list__item-image {
  background-position: left;
}

.custom-form.js-tabs .form-footer .text-left {
  display: flex;
}

.banners-big__text-block,
.banners-tizers__desc-text {
  color: #000000;
  font-size: 20px;
}

.services-detail__bottom-info .custom-form .top-form {
  background: linear-gradient(#e5dff6, #d9edfa);
}

/*Форма на баннере услуги*/

.banners-big-custom {
  .custom_banner_form {
    max-width: 560px;
    /* background-color: #ae865c7a; */
    /* background-image: linear-gradient(135deg, #e8c88b96, #fab399); */
    padding: 1rem;
    border-radius: 1rem;
    margin-block: 1rem;
    /* isolation: isolate; */

    /* & .custom_banner_blur_bg {
        filter: blur(1px);
        background: linear-gradient(135deg, #fad998, #fab399);
        z-index: -1;
    } */

    h2 {
      margin-bottom: 0;
    }

    label {
      color: #3e3e3e;
    }

    input {
      border-radius: 1rem;
    }

    @media (max-width: 768px) {
      & {
        max-width: 100%;
        width: 100%;

        .captcha-row {
          margin: 0 auto;
          padding-bottom: 0.5rem;
        }
      }
    }
  }

  @media (max-width: 991px) {
    #navigation {
      display: none;
    }
  }
}

/* Стили для баннера */
@media (min-width: 992px) {
  body.header_opacity.header_padding-150
    .banners-big--normal
    .banners-big__depend-padding {
    height: calc(580px + 250px);
  }

  .banners-big--normal .banners-big__depend-height {
    height: auto;
  }
}

@media (max-width: 991px) {
  body.header_opacity.header_padding-150
    .banners-big--normal
    .banners-big__depend-padding {
    height: calc(580px + 150px);
  }

  .banners-big--normal .banners-big__depend-height {
    height: auto;
  }

  .custom_banner_form {
    margin: 0;
  }
}

@media (max-width: 768px) {
  body.header_opacity.header_padding-150
    .banners-big--normal
    .banners-big__depend-padding {
    height: calc(580px);
  }
}

@media (max-width: 656px) {
  body.header_opacity.header_padding-150
    .banners-big--normal
    .banners-big__depend-padding {
    height: calc(600px);
  }
}

@media (max-width: 464px) {
  body.header_opacity.header_padding-150
    .banners-big--normal
    .banners-big__depend-padding {
    height: calc(620px);
  }
}

@media (max-width: 360px) {
  body.header_opacity.header_padding-150
    .banners-big--normal
    .banners-big__depend-padding {
    height: calc(640px);
  }
}

.form-radiobox__label {
  color: #000000;
}

.top-form.bordered_block .questions-block .form-group .color_999 {
  color: #000000;
}

body .form-checkbox__label {
  color: #000000;
}

.styled-block {
  background: linear-gradient(#e5dff6, #d9edfa);
  color: #000000;
}

.drag-block.container.BIG_BANNER_INDEX
  .banners-big__inner.banners-big__inner--righttext {
  align-items: center;
}

@media (max-width: 360px) {
  .banners-big__adaptive-block
    .banners-big__title
    .switcher-title
    .banners-big__title--small {
    font-size: 30px !important;
    line-height: 32px;
  }
}

@media (max-width: 600px) {
  .banners-big--adaptive-2 .banners-big__title,
  .banners-big--adaptive-2 .banners-big__title h1 {
    font-size: 30px;
    line-height: 32px;
  }
}

.custom_banners {
  .maxwidth-theme.pos-static {
    display: flex;
    justify-content: center;
  }

  .text {
    width: 100%;
  }

  @media (min-width: 1300px) {
    .banners-big__inner.banners-big__inner--righttext {
      align-items: center !important;
      width: 100% !important;
      gap: 5rem !important;
    }
  }

  @media (max-width: 1299px) {
    .banners-big__inner.banners-big__inner--righttext {
      align-items: center;
      width: 90% !important;
      gap: 4rem !important;
    }
  }

  @media (max-width: 1024px) {
    .banners-big__inner.banners-big__inner--righttext {
      align-items: center;
      width: 80% !important;
      gap: 3rem !important;
    }
  }
}

:root {
  --main-bg: #041524;
  --main-accent-bg: #021f39;
  --steps-icon-bg: #082742;
  --steps-bg: #012340;
  --steps-bg-border: #0c5579;
  --main-btns-color: #c41e1f;
}

/*
Стили для модифицированных баннеров
*/

.custom_banners {
  .flexbox {
    display: flex;
    gap: 1.2rem;
    flex-direction: row;
  }
  .banners-big__img-wrapper {
    display: flex;
    justify-content: center;

    .title {
      font-weight: 800;
      font-size: 52px;
      line-height: 1.08;
      letter-spacing: -0.01em;
      color: rgb(255, 255, 255);
      margin: 0px 0px 24px;
    }

    .sub-title {
      font-size: 19px;
      line-height: 1.55;
      color: rgba(255, 255, 255, 0.66);
      max-width: 480px;
      margin: 0px 0px 36px;
    }

    .title-header {
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.09em;
      color: var(--main-btns-color);
      text-transform: uppercase;
      margin-bottom: 22px;
    }

    .primary_btn_custom {
      background: rgb(232, 85, 29);
      color: rgb(255, 255, 255);
      font-size: 16px;
      font-weight: 700;
      padding: 16px 32px;
      border-radius: 10px;
      box-shadow: rgba(0, 0, 0, 0.45) 0px 10px 26px;
    }

    .primary_btn:hover {
      filter: brightness(1.08);
    }

    .cases {
      color: rgb(255, 255, 255);
      font-size: 15px;
      font-weight: 600;
      border-bottom: 1px solid rgba(255, 255, 255, 0.32);
      padding-bottom: 3px;
    }

    .custom.switcher-title {
      font-size: 16px;
      color: rgba(255, 255, 255, 0.85);
      margin-bottom: 0;
      line-height: 20px;
    }

    .btns {
      margin-bottom: 40px;
    }
  }

  /* --- из form.php (блок степов "как мы работаем") --- */
  .banners-big__text {
    justify-content: center;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .sub-header {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 22px;
  }

  .w-22 {
    width: 22px;
    height: 22px;
    object-fit: cover;
  }

  .dot {
    z-index: 1;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    box-shadow:
      rgba(20, 17, 16, 0.4) 0px 0px 0px 4px,
      rgba(232, 85, 29, 0.4) 0px 0px 14px 2px;
    flex: 0 0 auto;
  }

  .dot.orange {
    background: rgb(232, 85, 29);
  }

  .item {
    display: flex;
    align-items: center;
    gap: 1.2rem;
  }

  .steps {
    counter-reset: my-count;
    gap: 1.3rem;
    display: flex;
    flex-direction: column;
    position: relative;
  }

  .line {
    position: absolute;
    left: 22px;
    top: 14px;
    bottom: 14px;
    width: 2px;
    background: rgba(255, 255, 255, 0.1);
  }

  /* внимание: этот .info — карточка шага, отдельно от .form-top .info ниже */
  .info {
    flex: 1 1 0%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    padding: 18px 20px;

    .step-logo.develop_svg {
      background-image: url("/images/develop.svg");
    }

    .step-logo {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
    }

    .step-logo.orig {
      background: rgba(232, 85, 29, 0.125);
    }

    .step-header {
      font-weight: 700;
      font-size: 16px;
      color: rgb(255, 255, 255);
      margin-bottom: 2px;
    }

    .step-sub-header {
      font-size: 13px;
      color: #999;
    }

    .step-number::before {
      counter-increment: my-count;
      content: counter(my-count, decimal-leading-zero);
      position: absolute;
      right: 14px;
      top: 2px;
      font-family: "Golos Text", sans-serif;
      font-weight: 800;
      font-size: 38px;
      color: rgba(255, 255, 255, 0.05);
      line-height: 1;
    }
  }

  /* --- из form-list.php (сама карточка формы) --- */
  .form__wrapper {
    flex: 0 0 420px;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    padding: 36px 34px;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 26px 60px;

    label,
    label span {
      font-size: 13px;
      color: rgba(255, 255, 255, 0.55) !important;
      margin-bottom: 7px;
    }

    label a {
      color: rgba(255, 255, 255, 0.55) !important;
    }

    .form-inner {
      padding-top: 0;
    }

    .row::before {
      content: unset;
    }

    input {
      width: 100%;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 10px;
      padding: 13px 15px;
      font-size: 15px;
      color: rgb(255, 255, 255);
      margin-bottom: 18px;

      &:hover,
      &:focus {
        background-color: none;
        background: none;
      }
    }

    form :where(.userconsent-wrap, .subscribe_licenses) label.error {
      top: 0;
    }

    .captcha-row {
      margin: 0;
    }

    .form-footer {
      padding-top: 0;

      button[type="submit"] {
        width: 100%;
        background: rgb(232, 85, 29);
        color: rgb(255, 255, 255);
        font-size: 16px;
        font-weight: 700;
        padding: 15px;
        border: medium;
        border-radius: 10px;
        font-family: "Manrope", sans-serif;
        box-shadow: rgba(0, 0, 0, 0.4) 0px 10px 26px;
      }
    }

    .form-top {
      display: flex;
      flex-direction: column;
      text-align: left;

      /* это .form-top .info — бейдж "ответим за 15 минут", НЕ карточка шага выше */
      .info {
        max-width: fit-content;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: rgba(232, 85, 29, 0.125);
        color: rgb(232, 85, 29);
        font-size: 12px;
        font-weight: 700;
        padding: 6px 13px;
        border-radius: 999px;
        margin-bottom: 18px;

        p {
          margin: 0;
        }
      }

      .title {
        font-weight: 700;
        font-size: 23px;
        color: rgb(255, 255, 255);
        margin-bottom: 8px;
        line-height: 1.25;
      }

      .sub-title {
        font-size: 14px;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.55);
        margin-bottom: 26px;
      }
    }

    .form-send {
      background: rgba(255, 255, 255, 0.045);

      .form-send__info-title,
      .btn {
        color: white;
      }

      .form-send__info-text {
        color: rgba(255, 255, 255, 0.55);
      }

      .btn {
        border-color: white;
      }

      .form-send__icon,
      .btn,
      .close-block {
        display: none;
      }
    }
  }

  @media (max-width: 768px) {
    & .banners-big__item,
    & .banners-big__item .banners-big__inner,
    & .banners-big__item .maxwidth-theme,
    & .slider-solution,
    & .banners-big__item .banners-big__img-wrapper {
      height: 100% !important;
    }

    & .banners-big__inner.banners-big__inner--righttext {
      width: 100% !important;

      .text {
        margin-top: 40px;
      }

      a {
        height: 100%;
      }
    }

    .banners-big__adaptive-block {
      background-image: url("/upload/iblock/0f1/25jregt4wjj4ks30nahm8kipdutcchrz.png");
      padding: 0;
      .right {
        width: 100%;

        .form__wrapper {
          flex: unset;
        }
      }
    }
  }

  @media (max-width: 360px) {
    .banners-big__buttons {
      flex-direction: column;
      gap: 1rem;
    }
    .banners-big__img-wrapper {
      .primary_btn_custom {
        padding: 8px 16px;
      }
      .title {
        font-size: 24px;
      }

      .title-header {
        font-size: 10px;
        margin-bottom: 6px;
      }
      .sub-title {
        font-size: 13px;
      }
    }

    & .maxwidth-theme {
      padding: 0;
    }

    .banners-big__adaptive-block {
      .right {
        width: 100%;
      }
    }
  }
}

.custom_banner_bg {
  background-color: var(--main-bg);

  .info {
    background-color: var(--steps-bg);
    border: 1px solid var(--steps-bg-border);

    /* .steps-logo{
            background: var(--steps-icon-bg);
        } */
  }
  .text {
    .primary_btn_custom {
      background: var(--main-btns-color);
    }
  }
}
