@media (max-width: 1612px) {
   .btn {
      font-size: calc(12px + 4 * (100vw - 376px) / 1544);
   }

   #contactModal {
      text-align: center;
   }

   #contactModal h2 {
      font-size: calc(28px + 26 * (100vw - 376px) / 1544);
      margin-bottom: 14px;
   }

   #contactModal p.modal__text {
      font-size: calc(16px + 4 * (100vw - 376px) / 1544);
      margin-bottom: 14px;
   }

   #contactModal .form p {
      margin-bottom: calc(10px + 4 * (100vw - 376px) / 1544);
   }

   #contactModal .form p.accept {
      font-size: calc(12px + 2 * (100vw - 376px) / 1544);
   }

   #contactModal .form p.accept a {
      color: #2F9D46;
   }

   #contactModal .form p.submit {
      margin-bottom: calc(12px + 2 * (100vw - 376px) / 1544);
   }

   .compact__content h2 {
      font-size: 50px;
   }

   .compact__content p {
      font-size: 23px;
   }

   .cleaning__content h2 {
      font-size: 50px;
   }

   .cleaning__content p {
      font-size: 23px;
   }

   .cleaning__levels ul.cleaning__desc li {
      margin-bottom: 10px;
      padding: 18px 20px;
   }

   .cleaning__levels ul.cleaning__desc li h5 {
      font-size: 16px;
   }

   .cleaning__levels ul.cleaning__desc li p {
      font-size: 14px;
   }

   .benefit__half .benefit__content h3 {
      font-size: 34px;
   }

   .benefit__half .benefit__content p {
      font-size: 22px;
   }

   .about__content h2 {
      font-size: 50px;
   }

   .about__content p {
      font-size: 22px;
   }

   .error h1 {
      font-size: calc(140px + 32 * (100vw - 376px) / 1236);
   }

   .error h2 {
      font-size: calc(28px + 26 * (100vw - 376px) / 1236);
   }

   .error p {
      font-size: calc(16px + 4 * (100vw - 376px) / 1236);
   }

   .thanks h1 {
      font-size: calc(28px + 26 * (100vw - 376px) / 1236);
   }

   .thanks p {
      font-size: calc(16px + 4 * (100vw - 376px) / 1236);
   }

   .benefit__half .benefit__img img {
      height: 600px !important;
   }
}

@media (max-width: 1440px) {
   .benefit__half .benefit__img img {
      height: 550px !important;
   }

   .reviews .average,
   .reviews .total {
      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-align: center;
      -ms-flex-align: center;
      align-items: center;
      text-align: center;
   }

   .reviews .average span,
   .reviews .total span {
      text-align: center;
      margin-left: 0;
      white-space: nowrap;
   }

   .compact__content h2 {
      font-size: 44px;
   }

   .compact__content p {
      font-size: 22px;
   }

   .cleaning__content h2 {
      font-size: 44px;
   }

   .cleaning__content p {
      font-size: 22px;
   }

   .benefit__half .benefit__content {
      padding: 30px;
   }

   .benefit__half .benefit__content h3 {
      font-size: 30px;
   }

   .benefit__half .benefit__content p {
      font-size: 21px;
   }

   .benefit__half.reflect .benefit__content {
      padding: 30px;
   }

   .about__content h2 {
      font-size: 46px;
   }

   .about__content p {
      font-size: 20px;
   }
}

@media (max-width: 1280px) {
   .benefit__half .benefit__img img {
      height: 500px !important;
   }

   .compact__content h2 {
      font-size: 42px;
   }

   .compact__content p {
      font-size: 21px;
   }

   .cleaning__content h2 {
      font-size: 50px;
   }

   .cleaning__content p {
      font-size: 23px;
   }

   .cleaning__levels ul.cleaning__desc li {
      margin-bottom: 8px;
   }

   .cleaning__levels ul.cleaning__desc li h5 {
      font-size: 15px;
   }

   .cleaning__levels ul.cleaning__desc li p {
      font-size: 13px;
   }

   .benefit__half .benefit__content {
      padding: 25px;
   }

   .benefit__half .benefit__content h3 {
      font-size: 26px;
   }

   .benefit__half .benefit__content p {
      font-size: 20px;
   }

   .benefit__half.reflect .benefit__content {
      padding: 25px;
   }

   .about__content h2 {
      font-size: 42px;
      margin-bottom: 15px;
   }

   .about__content p {
      font-size: 19px;
      margin-bottom: 18px;
   }
}

@media (max-width: 1212px) {
   .benefit__half .benefit__img img {
      height: 450px !important;
   }

   .reviews h2 {
      font-size: 48px;
   }

   .reviews .average span,
   .reviews .total span {
      font-size: 19px;
   }

   .compact__content h2 {
      font-size: 37px;
   }

   .compact__content p {
      font-size: 20px;
   }

   .cleaning__content h2 {
      font-size: 37px;
   }

   .cleaning__content p {
      font-size: 20px;
   }

   .cleaning__levels ul.cleaning__desc li {
      margin-bottom: 4px;
      padding: 15px 17px;
   }

   .cleaning__levels ul.cleaning__desc li h5 {
      font-size: 15px;
      margin-bottom: 4px;
   }

   .benefit__half .benefit__content {
      padding: 20px;
   }

   .benefit__half .benefit__content h3 {
      font-size: 22px;
   }

   .benefit__half .benefit__content p {
      font-size: 18px;
   }

   .benefit__half.reflect .benefit__content {
      padding: 20px;
   }

   .about__content h2 {
      font-size: 36px;
      margin-bottom: 10px;
   }

   .about__content p {
      font-size: 18px;
      margin-bottom: 12px;
   }
}

@media (max-width: 1110px) {
   .benefit__half .benefit__img img {
      height: auto !important;
   }

   .reviews h2 {
      font-size: 38px;
   }

   .reviews .average,
   .reviews .total {
      font-size: 35px;
   }

   .reviews .average span,
   .reviews .total span {
      font-size: 18px;
   }

   .compact__content h2 {
      font-size: 32px;
   }

   .compact__content p {
      font-size: 19px;
   }

   .cleaning__levels {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
   }

   .cleaning__levels ul.cleaning__desc {
      width: 100%;
      -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
      background: #fff;
      border-radius: 18px;
      padding: 14px;
   }

   .cleaning__levels ul.cleaning__desc li {
      margin-bottom: 10px;
      padding: 0 10px 0 30px;
   }

   .cleaning__levels ul.cleaning__desc li h5 {
      font-size: 15px;
      margin-bottom: 2px;
   }

   .cleaning__levels ul.cleaning__desc li:before {
      display: none;
   }

   .cleaning__levels ul.cleaning__desc li:after {
      height: 22px;
      width: 22px;
      left: 0;
      top: 0;
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
      font-size: 12px;
   }

   .cleaning__levels .cleaning__layers {
      position: relative;
      width: 100%;
      -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
      margin-bottom: 18px;
   }

   .cleaning__levels .cleaning__layers span {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      text-align: center;
      font-size: 12px;
      font-weight: 600;
      line-height: 140%;
   }

   .cleaning__levels .cleaning__layers span:before {
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      z-index: 10;
      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;
      position: absolute;
      height: 22px;
      width: 22px;
      background: #2F9D46;
      border-radius: 50%;
      color: #FFF;
      right: 25%;
      text-align: center;
   }

   .cleaning__levels .cleaning__layers span:after {
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      z-index: 10;
      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;
      position: absolute;
      height: 22px;
      width: 22px;
      background: #2F9D46;
      border-radius: 50%;
      color: #FFF;
      right: 25%;
      text-align: center;
   }

   .cleaning__levels .cleaning__layers span:nth-child(2):before {
      content: "1";
      top: calc(14.2857142857% + 0px);
   }

   .cleaning__levels .cleaning__layers span:nth-child(2):after {
      content: "2";
      top: calc(28.5714285714% + 0px);
   }

   .cleaning__levels .cleaning__layers span:nth-child(3):before {
      content: "3";
      top: calc(42.8571428571% + 0px);
   }

   .cleaning__levels .cleaning__layers span:nth-child(3):after {
      content: "4";
      top: calc(57.1428571429% + 0px);
   }

   .cleaning__levels .cleaning__layers span:nth-child(4):before {
      content: "5";
      top: calc(71.4285714286% + 0px);
   }

   .cleaning__levels .cleaning__layers span:nth-child(4):after {
      content: "6";
      top: calc(85.7142857143% + 0px);
   }

   .benefit__half {
      margin: 0 auto 14px;
      border-radius: 18px;
      width: 100%;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      border: 1px solid #DCDCDC;
      background: #F6F6F6;
   }

   .benefit__half .benefit__content {
      padding: 18px 13px 14px 18px;
      width: 100%;
   }

   .benefit__half .benefit__content h3 {
      font-size: 20px;
   }

   .benefit__half .benefit__content p {
      font-size: 18px;
   }

   .benefit__half .benefit__img {
      width: 100%;
   }

   .benefit__half.reflect {
      border-radius: 18px;
      border: 1px solid #DCDCDC;
      background: #EEF7EF;
      width: 100%;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-top: 0;
   }

   .benefit__half.reflect .benefit__content {
      width: 100%;
      padding: 18px 13px 14px 18px;
   }

   .about__content {
      width: 100%;
      padding-bottom: 68vw;
      background: url(../img/about_bg.webp) center calc(100% - 64vw)/contain no-repeat;
   }

   .about__content h2 {
      font-size: 36px;
   }

   .about__content p {
      font-size: 18px;
   }

   .about__img {
      top: unset;
      bottom: 0;
      left: 0;
      height: auto;
      width: 100vw;
   }

   .about__img img {
      border-radius: 18px 18px 0 0;
   }
}

@media (max-width: 992px) {
   .reviews {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: 18px 0;
      height: auto;
   }

   .reviews h2 {
      text-align: center;
      margin-bottom: 22px;
   }

   .reviews .average,
   .reviews .total {
      font-size: 30px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
   }

   .reviews .average span,
   .reviews .total span {
      margin-left: 6px;
      font-size: 17px;
   }

   .reviews .rate,
   .reviews .average {
      margin-bottom: 6px;
   }

   .compact {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
   }

   .compact__content {
      width: 100%;
      padding: 18px 20px;
   }

   .compact__content h2 {
      font-size: 37px;
   }

   .compact__content p {
      font-size: 20px;
   }

   .compact__img {
      width: 100%;
   }

   .benefit__half {
      width: 100%;
   }

   .benefit__half.reflect {
      width: 100%;
   }

   .about__content h2 {
      font-size: 33px;
   }

   .cleaning__content p {
      font-size: 16px;
   }

   .cleaning__content h2 {
      margin-bottom: 24px;
   }
}

@media (max-width: 768px) {
   .compact {
      padding: 0;
   }

   .compact__img {
      border-radius: 0px 0px 18px 18px;
   }

   .benefit__half .benefit__content {
      width: 100%;
      padding: 18px 30px 14px 30px;
   }

   .benefit__half .benefit__img {
      width: 100%;
   }

   .benefit__half.reflect .benefit__content {
      width: 100%;
      padding: 18px 30px 14px 30px;
   }

   .about__content h2 {
      font-size: 30px;
   }
}

@media (max-width: 480px) {
   .reviews h2 {
      font-size: 28px;
   }

   .reviews .average,
   .reviews .total {
      font-size: 20px;
   }

   .reviews .average span,
   .reviews .total span {
      font-size: 16px;
   }

   .compact__content h2 {
      font-size: 28px;
   }

   .compact__content p {
      font-size: 18px;
   }

   .cleaning__levels .cleaning__layers {
      width: 100%;
   }

   .cleaning__levels ul.cleaning__desc {
      width: 100%;
   }

   .about__content a.btn {
      width: 169px;
   }

   .benefit__half {
      width: 100%;
   }

   .benefit__half .benefit__content {
      padding: 18px 13px 14px 18px;
   }

   .benefit__half .benefit__img {
      padding: 18px;
   }

   .benefit__half.reflect {
      width: 100%;
   }

   .benefit__half.reflect .benefit__content {
      padding: 18px 13px 14px 18px;
   }

   .about__content h2 {
      font-size: 28px;
   }
}