@charset "UTF-8";
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

*:focus {
  outline: none; }

dl, ol, ul {
  margin: 0; }

html {
  font-size: 62.5%; }
  @media only screen and (max-width: 75em) {
    html {
      font-size: 56.25%; } }
  @media only screen and (max-width: 62em) {
    html {
      font-size: 50%; } }

body {
  box-sizing: border-box; }
  @media screen and (min-width: 75em) {
    body {
      padding-top: 13.5rem; } }

::selection {
  background-color: #809d0b;
  color: #fff; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

body {
  font-family: 'PT Sans', sans-serif;
  font-weight: 400;
  line-height: 1.3;
  color: #222; }

a[href^="tel"] {
  color: inherit;
  text-decoration: none; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 600; }

.img-bordered {
  border-radius: 5px; }

.img-fluid {
  max-width: 100%; }

.header {
  background-color: #fff; }
  @media screen and (min-width: 75em) {
    .header {
      position: fixed;
      top: 0;
      right: 0;
      left: 0;
      z-index: 1030;
      box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); } }
  .header__top {
    height: 9rem; }
    @media only screen and (max-width: 48em) {
      .header__top {
        height: auto;
        padding: 2.2rem 0; } }
  .header__phone {
    font-weight: 600;
    font-size: 2.2rem; }
    .header__phone img {
      max-width: 3rem;
      margin-right: 1.25rem; }
    @media only screen and (max-width: 48em) {
      .header__phone {
        font-size: 2.6rem;
        margin: 1.8rem 0 1.5rem; } }
  .header__call-me {
    display: block;
    line-height: 4rem;
    color: #222;
    background-color: #F4D03F;
    text-align: center;
    width: 16rem;
    font-size: 1.6rem;
    font-weight: bold;
    transition: .3s background; }
    .header__call-me:hover {
      background: #f1c40f;
      color: #222; }
  .header__nav {
    background-color: #f5f5f5; }
    .header__nav > .container {
      position: relative; }
  .header__menu {
    list-style: none; }
    .header__menu::after {
      content: "";
      display: table;
      clear: both; }
    @media only screen and (max-width: 75em) {
      .header__menu {
        display: none;
        position: absolute;
        width: 40rem;
        left: 0;
        background-color: #f5f5f5;
        z-index: 2050; } }
    @media only screen and (max-width: 36em) {
      .header__menu {
        width: 100%; } }
    .header__menu-label {
      font-size: 2.2rem;
      background-image: url(../img/menu-label.png);
      background-position: left center;
      background-repeat: no-repeat;
      background-size: 3.3rem 2rem;
      line-height: 5rem;
      padding-left: 4rem;
      padding-top: 2px;
      display: none;
      cursor: pointer; }
      @media only screen and (max-width: 75em) {
        .header__menu-label {
          display: inline-block; } }
    .header__menu-item {
      display: inline; }
    .header__menu-link {
      display: inline-block;
      float: left;
      color: #222;
      padding: 2rem 1.5rem 1.5rem;
      font-size: 1.7rem;
      line-height: 1;
      transition: all .2s;
      border-bottom: 4px solid transparent; }
      @media only screen and (max-width: 75em) {
        .header__menu-link {
          display: block;
          float: none;
          padding-left: 15px;
          font-size: 2rem;
          padding: 1.8rem 1.2rem;
          border-bottom: none; } }
      .header__menu-link:hover, .header__menu-link_active {
        color: #222;
        text-decoration: none;
        border-bottom: 4px solid #809d0b; }
        @media only screen and (max-width: 75em) {
          .header__menu-link:hover, .header__menu-link_active {
            border-bottom: none;
            background-color: #809d0b;
            color: #fff; } }

.section {
  padding: 6.5rem 0; }
  @media only screen and (max-width: 36em) {
    .section {
      padding: 4.5rem 0 3.5rem; } }
  .section__title {
    position: relative;
    margin-bottom: 4rem;
    text-align: center;
    color: #222;
    font-size: 3.7rem;
    font-weight: 600; }
    @media only screen and (max-width: 36em) {
      .section__title {
        margin-bottom: 3rem;
        line-height: 1; } }
    .section__title span {
      color: #809d0b; }
  .section__subtitle {
    text-align: center;
    font-size: 2.1rem;
    margin-bottom: 5rem; }
    @media only screen and (max-width: 36em) {
      .section__subtitle {
        margin-bottom: 3rem;
        line-height: 1; } }
  .section_color_grey {
    background: url(../img/satinweave.png); }
  .section_gal {
    padding-bottom: 3.5rem; }
    .section_gal .row > div {
      margin-bottom: 3rem; }

.about-i {
  display: block;
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 4.5rem; }

.benefit__item {
  text-align: center; }
  @media only screen and (max-width: 48em) {
    .benefit__item:not(:last-child) {
      margin-bottom: 3rem; } }

.benefit__title {
  font-size: 1.8rem; }

.benefit__icon {
  max-width: 15rem;
  margin: 0 auto 2rem; }

@media only screen and (max-width: 48em) {
  .list-reactor {
    margin-top: 3rem; } }

.list-reactor-item {
  font-size: 1.8rem; }
  .list-reactor-item:not(:last-child) {
    margin-bottom: 3.2rem; }
  .list-reactor-item img {
    max-width: 3rem;
    margin-right: 1.2rem; }

.t-prices {
  font-size: 1.8rem;
  max-width: 100rem;
  margin: 0 auto; }
  .t-prices th, .t-prices td {
    padding: 2rem;
    padding-bottom: 1.8rem; }
  .t-prices th {
    border: 1px solid #748f0a;
    font-weight: normal;
    background: #809d0b;
    color: #fff;
    font-size: 1.9rem; }
    .t-prices th:first-child {
      width: 50%; }
    .t-prices th:nth-child(2), .t-prices th:nth-child(3) {
      width: 25%; }
  .t-prices tbody tr {
    transition: all .3s; }
  .t-prices tbody tr:hover {
    background-color: #f6f6f6; }

.prices .fact {
  max-width: 100rem;
  margin: 0 auto;
  margin-top: 4rem; }

.prices .text {
  margin-top: 5rem; }

.prices span {
  color: #809d0b;
  font-weight: bold; }

.fact {
  background: #f6fddd;
  font-size: 1.8rem;
  padding: 2.5rem; }
  .fact p:last-child {
    margin-bottom: 0; }

.callus {
  padding: 5rem 0;
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/callus2.jpg);
  background-size: cover;
  background-position: center;
  color: #fff; }
  .callus h2 {
    margin-bottom: 3rem;
    color: #fff; }
  .callus .hero__form-input {
    margin-bottom: 0;
    border: 0; }
    @media only screen and (max-width: 48em) {
      .callus .hero__form-input {
        margin-bottom: 1rem; } }
  .callus .hero__form-submit {
    height: 5rem;
    font-size: 1.8rem;
    margin-top: 0; }

.text {
  font-size: 1.8rem;
  line-height: 1.5; }
  .text h2 {
    font-size: 2.8rem;
    margin-bottom: 1.8rem; }
    .text h2:not(:last-child) {
      margin-top: 4.5rem; }
  .text ul {
    list-style-position: inside; }
    .text ul li:not(:last-child) {
      margin-bottom: 1rem; }
    .text ul + p {
      margin-top: 2rem; }
  .text p:not(:last-child) {
    margin-bottom: 2rem; }

.ben__item {
  background: #fff;
  margin-bottom: 3rem;
  transition: all .3s; }
  .ben__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); }

.ben__title {
  background: #809d0b;
  color: #fff;
  padding: 0 1.5rem;
  height: 6rem;
  font-size: 2.1rem;
  line-height: 1;
  padding-top: 3px; }
  .ben__title img {
    max-width: 3rem;
    margin-right: 1.4rem;
    margin-top: -2px; }

.ben__text {
  font-size: 1.8rem;
  padding: 1.5rem;
  padding-bottom: 1.3rem; }
  .ben__text p:not(:last-child) {
    margin-bottom: 2rem; }

.utep h3 {
  font-size: 3rem;
  text-align: center;
  margin-top: 5.5rem;
  margin-bottom: 2.6rem; }

.utep__item {
  overflow: hidden; }

.utep__link {
  display: block; }
  @media only screen and (max-width: 62em) {
    .utep__link {
      margin-bottom: 3rem; } }
  .utep__link:hover .utep__image {
    transform: scale(1.05); }
  .utep__link:hover .utep__title {
    background: #809d0b;
    color: #fff; }
  .utep__link:hover .utep__title.bg-white {
    background: #fff;
    color: #222; }

.utep__image {
  width: 100%;
  height: 15rem;
  object-fit: cover;
  transition: transform .3s; }
  @media only screen and (max-width: 62em) {
    .utep__image {
      height: 20rem; } }
  @media only screen and (max-width: 36em) {
    .utep__image {
      height: 25rem; } }

.utep__title {
  padding: 1.5rem;
  font-size: 1.7rem;
  line-height: 1.2;
  text-align: center;
  transition: all .3s;
  color: #222;
  background: #f6f6f6; }

.prom .utep__image {
  height: 20rem; }
  @media only screen and (max-width: 36em) {
    .prom .utep__image {
      height: 25rem; } }

.question__item {
  background: #fff;
  padding: 2.5rem;
  font-size: 1.8rem; }
  .question__item:not(:last-child) {
    margin-bottom: 3rem; }

.question__title {
  color: #809d0b;
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 2rem; }
  .question__title::after {
    display: block;
    content: "";
    width: 10rem;
    height: 1px;
    background: #809d0b;
    margin-top: .9rem; }

.gidro-examples .utep__link {
  margin-bottom: 3rem; }
  .gidro-examples .utep__link .utep__image {
    height: 22rem; }

.components__item {
  margin-bottom: 3rem;
  width: 100%;
  background-color: #fff;
  padding: 2rem; }

.components__title {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 8px; }

.components__content {
  font-size: 1.7rem; }

.components__img {
  width: 100%;
  height: 21rem;
  object-fit: cover;
  padding-bottom: 2rem; }

.components__desc {
  list-style: none; }
  .components__desc li {
    padding-bottom: 5px; }
    .components__desc li.desc {
      padding-bottom: 1.5rem; }

.components__price {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 2rem 0 1.5rem; }

.components__btn {
  display: block;
  text-align: center;
  font-size: 1.7rem;
  background: #F4D03F;
  color: #000;
  font-weight: bold;
  width: 100%;
  line-height: 5rem;
  cursor: pointer; }
  .components__btn:hover {
    color: #000; }

.email-input {
  display: none; }

.contacts__map {
  height: 50rem; }
  @media only screen and (max-width: 75em) {
    .contacts__map {
      height: 35rem; } }
  .contacts__map iframe {
    width: 100%;
    height: 100%; }

.contacts .container {
  position: relative; }

.contacts__box {
  position: absolute;
  top: 0;
  left: 15px;
  background: #fff;
  padding: 5rem 3rem 4rem;
  border-bottom: 5px solid #809d0b;
  z-index: 90; }
  @media only screen and (max-width: 75em) {
    .contacts__box {
      position: relative;
      padding-left: 0;
      left: 0;
      border-bottom: 0; } }

.contacts__title {
  color: #222;
  font-size: 3.7rem;
  font-weight: 600;
  margin-bottom: 2rem; }

.contacts p {
  margin-bottom: .8rem;
  font-size: 2rem; }

.hero {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: linear-gradient(rgba(0, 1, 5, 0.45), rgba(0, 1, 5, 0.45)), url(../img/callus.jpg);
  padding: 8rem 0;
  color: #fff; }
  .hero_bg_gidro {
    background-image: linear-gradient(rgba(0, 1, 5, 0.6), rgba(0, 1, 5, 0.6)), url(../img/hero-gidro.jpg) !important; }
  .hero_bg_components {
    background-image: linear-gradient(rgba(0, 1, 5, 0.6), rgba(0, 1, 5, 0.6)), url(../img/hero-components.jpg) !important; }
  .hero_bg_bezvoz {
    background-image: linear-gradient(rgba(0, 1, 5, 0.6), rgba(0, 1, 5, 0.6)), url(../img/hero-bezvoz.jpg) !important; }
  .hero__title {
    font-size: 4.2rem;
    text-align: center;
    width: 100%;
    margin-bottom: 4.3rem; }
    @media only screen and (max-width: 36em) {
      .hero__title {
        font-size: 3.8rem;
        line-height: 1.2; } }
  .hero__list {
    margin-top: 1.8rem; }
  .hero__item-inner {
    font-size: 2.2rem; }
    .hero__item-inner:not(:last-child) {
      margin-bottom: 2.65rem; }
    .hero__item-inner p {
      margin-left: 1.5rem;
      margin-bottom: 0;
      width: 100%; }
      @media only screen and (max-width: 36em) {
        .hero__item-inner p {
          line-height: 1; } }
  .hero__icon-okay {
    display: block;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 3.5rem;
    height: 3.5rem;
    background-image: url(../img/hero-icon-okay.png);
    background-size: 100% 100%; }
  .hero__form {
    background-color: #fff;
    padding: 2.5rem;
    color: #222; }
    @media only screen and (max-width: 62em) {
      .hero__form {
        margin-top: 3rem; } }
    .hero__form-title {
      font-size: 1.8rem;
      line-height: 1;
      margin-bottom: 2.8rem; }
      .hero__form-title b {
        font-size: 3.2rem;
        display: block;
        margin-bottom: .9rem; }
    .hero__form-input, .hero__form-submit {
      width: 100%;
      height: 5rem;
      font-size: 1.8rem; }
    .hero__form-input {
      margin-bottom: 1rem;
      padding-left: 1rem;
      padding-right: 1rem;
      border: 1px solid #aaa; }
      .hero__form-input::placeholder {
        color: #aaa; }
    .hero__form-submit {
      margin-top: .5rem;
      cursor: pointer;
      height: 6rem;
      background-color: #F4D03F;
      color: #222;
      border: 0;
      font-weight: bold;
      font-size: 2rem;
      transition: .3s background; }
      .hero__form-submit:hover {
        background: #f1c40f;
        color: #222; }

.services > div {
  margin-bottom: 3rem; }

.services__card {
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  border-radius: 5px;
  transition: .5s box-shadow;
  height: 100%; }
  .services__card::after {
    content: "";
    display: table;
    clear: both; }
  .services__card:hover {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); }
  .services__card-wrapper {
    margin-bottom: 3rem; }

.services__card {
  position: relative; }

.services__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  transition: all .5s;
  position: relative; }
  .services__card:hover .services__img {
    transform: scale(1.05); }
  .services__img-wrapper {
    overflow: hidden;
    height: 25rem;
    border-radius: 5px 5px 0 0;
    z-index: 1;
    position: relative; }

.services__title {
  line-height: 1.2;
  font-size: 2rem;
  padding: 2rem 2.2rem; }

.services__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2; }

.list {
  list-style: none;
  font-size: 2.5rem; }
  @media only screen and (max-width: 48em) {
    .list {
      margin-top: 2.5rem; } }
  .list__item {
    margin-bottom: 1rem; }
    .list__item::before {
      content: "•";
      font-size: 3rem;
      color: #809d0b;
      padding-right: 1rem; }
  @media only screen and (max-width: 48em) {
    .list__img {
      display: block;
      margin: 0 auto; } }

.prices__card {
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  border-radius: 5px;
  transition: .5s box-shadow;
  height: 100%; }
  .prices__card::after {
    content: "";
    display: table;
    clear: both; }
  .prices__card:hover {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); }
  .prices__card-wrapper {
    margin-bottom: 3rem; }

.prices__card {
  padding: 2rem; }

.prices__left {
  width: 40%;
  float: left; }
  @media only screen and (max-width: 62em) {
    .prices__left {
      width: 50%; } }
  @media only screen and (max-width: 36em) {
    .prices__left {
      width: 100%; } }

.prices__photos img:not(:last-child) {
  margin-bottom: 1rem; }

.prices__right {
  width: 60%;
  height: 100%;
  float: left;
  padding-left: 2rem; }
  @media only screen and (max-width: 62em) {
    .prices__right {
      width: 50%; } }
  @media only screen and (max-width: 36em) {
    .prices__right {
      width: 100%;
      padding-left: 0; } }

.prices__title {
  color: #222;
  font-size: 2.3rem;
  line-height: 1.2;
  margin-bottom: 2rem; }
  @media only screen and (max-width: 36em) {
    .prices__title {
      font-size: 2.6rem; } }

.prices__info {
  /* flex-grow: 1; */ }
  .prices__info p {
    font-size: 1.8rem;
    margin-bottom: 1.3rem; }
    @media only screen and (max-width: 36em) {
      .prices__info p {
        font-size: 2rem; } }

.prices__button {
  display: block;
  text-align: center;
  height: auto;
  line-height: 5rem;
  margin: 2rem auto 0; }

.examples__card {
  margin-bottom: 3rem; }
  @media only screen and (max-width: 48em) {
    .examples__card {
      margin-bottom: 5rem; } }

.examples__text {
  background-color: rgba(128, 157, 11, 0.15);
  padding: 2.5rem;
  border-radius: 5px;
  font-size: 1.9rem; }
  @media only screen and (max-width: 48em) {
    .examples__text {
      margin-top: 1rem; } }

.examples__title {
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 2rem; }

.examples p:not(:last-child) {
  margin-bottom: 1.5rem; }

.questions {
  background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/questions.jpg);
  background-size: cover;
  background-position: center;
  color: #fff; }
  .questions h2 {
    color: #fff; }
  .questions__content {
    padding: 1rem 0 2.5rem; }
  .questions__left {
    text-align: center;
    font-size: 2.2rem; }
    .questions__left > div {
      display: inline-block;
      margin-bottom: 1.5rem; }
    @media only screen and (max-width: 48em) {
      .questions__left {
        margin-bottom: 3rem; } }
  .questions__phone {
    line-height: 3.5rem;
    padding-left: 4.5rem;
    background-image: url(../img/phone-c.png);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 3.5rem 3.5rem; }
  .questions__whatsapp {
    line-height: 4rem;
    padding-left: 4.5rem;
    background-image: url(../img/whatsapp.png);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 4rem 4rem; }
  .questions__email {
    display: block;
    color: #fff !important;
    text-decoration: underline; }
  .questions__address {
    margin-top: 2rem; }
  .questions textarea {
    height: 15rem;
    padding-top: 1.4rem; }

.modal-content {
  background-color: #fff;
  width: 40rem;
  margin: 15% auto;
  border-radius: 0;
  border: 0;
  padding: 2rem; }
  @media only screen and (max-width: 36em) {
    .modal-content {
      width: 90%;
      margin: 50px auto; } }

.modal__title {
  font-size: 3rem;
  line-height: 1;
  font-weight: 600;
  margin-bottom: 2.3rem; }
