/*header*/
.header__row {
   display: grid;
   grid-template-columns: auto 1fr;
   align-items: center;
   gap: 50px;
   padding: 30px 0;
   position: relative;
   z-index: 100;
}

.menu__row {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.logo-header {
   display: flex;
}

.menu {
   display: flex;
   gap: 25px;
}

.menu a {
   display: inline-block;
   line-height: 1;
}

.menu a:hover,
.menu__center-bl a:hover {
   border-bottom: 1px solid #626262;
}

.menu__right-bl {
   display: flex;
   align-items: center;
   gap: 25px;
}

.header-telephone {
   padding-left: 40px;
   position: relative;
   display: flex;
   align-items: center;
}

.header-telephone .icon-tel {
   position: absolute;
   top: 0;
   left: 0px;
}

.header-telephone__list {
   display: none;
   position: absolute;
   left: 40px;
   top: 28px;
   background: #2D2D2D;
}

.header-telephone a {
   display: inline-block;
   line-height: 1;
   border-bottom: 1px solid #626262;
}

.header-telephone .icon-chevron-down {
   display: flex;
   width: 30px;
   height: 30px;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: 0.5s;
}

.header-telephone .icon-chevron-down.open {
   transform: rotate(180deg);
}

.header-language {
   display: flex;
   gap: 15px;
}

.header-language__text {
   color: #4C4C4C;
   line-height: 1;
   cursor: pointer;
}

.header-language .active {
   font-weight: 700;
   color: #fff;
   border-bottom: 1px solid #626262;
}

/*footer*/
.footer-tel-list {
   top: inherit;
   bottom: 28px;
}

/*hero*/
.hero .title-h1 {
   margin-bottom: 50px;
}

.hero__row {
   display: grid;
   grid-template-columns: 1fr 50%;
}

.hero__desc {
   grid-column: 1/-1;
   grid-row: 1/-1;
   align-self: end;
   justify-self: center;
   padding: 100px 0;
}

.hero__img1 {
   grid-column: 1/2;
   grid-row: 1/-1;
   max-width: 75%;
}

.hero__img1 img {
   margin-left: -30px;
}

.hero__img2 {
   grid-column: 2/3;
   grid-row: 1/-1;
   padding-top: 100px;
}

.hero__img2 img {
   margin-left: -50px;
}

/*sec1*/
.sec1-top__row {
   display: grid;
   grid-template-columns: 1fr 50%;
   gap: 80px;
}

.sec1-top--img-right .sec1-top__row {
   grid-template-columns: 61% auto;
   align-items: center;
   margin-top: -80px;
}

.sec1-top--img-left .sec1-top__desc {
   margin-bottom: 80px;
}

.sec1-top--img-right .sec1-top__desc {
   order: -1;
   padding-top: 80px;
   padding-bottom: 80px;
}

.sec1 .title-h2 {
   margin-bottom: 50px;
}

.sec1-top--img-left .sec1-top__img {
   margin-left: -50px;
}

.sec1-top__desc {
   padding-top: 30px;
}

.sec1-list {
   display: table;
   width: 100%;
   padding-left: 30px;
   margin-bottom: 50px;
}

.description ul {
   padding-left: 30px;
   margin-bottom: 30px;
}

.sec1-list__row,
.description ul li {
   position: relative;
}

.sec1-list__row:before,
.description ul li:before {
   content: "";
   position: absolute;
   top: 12px;
   left: -18px;
   height: 4px;
   width: 4px;
   background: #fff;
   border-radius: 50%;
}

.col-first,
.col-last {
   display: inline-block;
   line-height: 28px;
}

.col-first span,
.col-last {
   background: #2D2D2D;
   position: relative;
   z-index: 2;
}

.col-first {
   width: 60%;
   position: relative;
}

.col-first:before {
   content: "..................................................................................................................................................";
   display: inline-block;
   width: 100%;
   height: 28px;
   position: absolute;
   top: 0;
   left: 0;
   overflow: hidden;
}

.col-last {
   display: inline;
   padding-left: 4px;
}

.price-reviews {
   margin-top: 100px;
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.price-reviews__left {
   display: flex;
   align-items: center;
   gap: 25px;
}

.price-reviews .price {
   font-size: 38px;
   font-weight: 700;
}
.price-reviews .price s {
   color: #4C4C4C;
}

.price-reviews .reviews {
   display: flex;
   align-items: center;
   gap: 13px;
}

.price-reviews .reviews span {
   font-size: 16px;
   color: #4C4C4C;
}

.price-reviews .stars {
   display: flex;
   align-items: center;
   gap: 3px;
}

.icon-star-fill {
   font-size: 26px;
   color: #F6B100;
}

.characteristics {
   display: flex;
   justify-content: space-between;
   gap: 25px;
   margin-top: 100px;
}

.characteristics-item {
   display: flex;
   flex-direction: column;
   gap: 10px;
   align-items: center;
}

.characteristics-item__text{
   text-align: center;
}

.sec1__video {
   height: 0;
   position: relative;
   padding-bottom: 56.25%;
   margin-top: 100px;
}

.sec1__video iframe {
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
}

.sec-characteristics .title-h2 {
   text-align: center;
}

.sec-characteristics .characteristics {
   margin-top: 120px;
}

.sec-characteristics .characteristics-item {
   max-width: 250px;
}

.characteristics-item__title {
   font-size: 42px;
   font-weight: 800;
   margin-bottom: 10px;
   text-transform: lowercase;
}

/*table*/
table {
   border-spacing: 14px;
   width: calc(100% + 28px);
   margin-left: -14px;
   font-size: 24px;
}

th {
   width: 25%;
   background: #DB4F00;
   border-radius: 25px 25px 0 0;
   font-size: 28px;
   font-weight: 700;
}

table th span {
   display: block;
   position: relative;
   padding: 31px 21px 17px 21px;
}

table th span:before {
   content: "";
   position: absolute;
   left: -1px;
   bottom: -14px;
   height: 14px;
   width: calc(100% + 2px);
   background: #DB4F00;
}

td {
   background: #4C4C4C;
   padding: 21px;
   text-align: center;
}

td:first-child {
   padding-left: 37px;
   background: #fff;
   color: #2D2D2D;
   font-weight: 700;
   text-align: left;
}

th:first-child span {
   padding-left: 37px;
   text-align: left;
}

/*comments*/
.comment-slider {
   padding-bottom: 40px;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
   bottom: 0px;
}

.swiper-pagination-bullet {
   height: 10px;
   width: 10px;
   opacity: 0.5;
   background: #fff;
}

.swiper-pagination-bullet-active {
   opacity: 1;
}

@media only screen and (min-width: 1365px) {
   .swiper-wrapper {
      margin-left: calc(-12.5% - -25px);
   }

   .swiper-slide {
      width: 25% !important;
   }

   .swiper-slide-active {
      width: calc(50% - 50px) !important;
   }
}

.swiper-wrapper {
   align-items: stretch;
}

.swiper-slide {
   height: auto;
}

.comment-item {
   color: #2D2D2D;
   background: #fff;
   padding: 20px 25px 35px;
   border-radius: 25px;
   height: 100%;
}

.comment-item__head {
   display: flex;
   gap: 15px;
   margin-bottom: 25px;
}

.comment-item__img {
   width: 85px;
   aspect-ratio: 1 / 1;
   border-radius: 50%;
   background: url("../img/slider_bg-img.png") no-repeat center;
   background-size: contain;
   overflow: hidden;
}

.comment-item__name {
   font-weight: 700;
   margin-top: 10px;
   margin-bottom: 5px;
}

.comment-item__desc {
   display: -webkit-box;
   -webkit-line-clamp: 12;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

/*call-back*/
.call-back__bl {
   padding: 150px 60px;
   background: #DB4F00;
   border-radius: 25px;
   position: relative;
   margin-top: 100px;
}

.call-back__title {
   font-weight: 700;
   font-size: 38px;
   text-transform: uppercase;
   max-width: 770px;
   margin-bottom: 50px;
   z-index: 2;
   position: relative;
}

.call-back__img {
   display: flex;
   position: absolute;
   right: 0;
   bottom: 0;
}

.call-back__form {
   max-width: 490px;
   position: relative;
   z-index: 2;
}

.call-back__form button {
   height: 100%;
   width: 90px;
   position: absolute;
   top: 0;
   right: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   border: 1px solid #fff;
   border-radius: 0 30px 30px 0;
   background: #DB4F00;
   font-size: 26px;
}

/*modal*/
.modal {
   display: none;
   position: fixed;
   z-index: 900;
   left: 0;
   top: 0;
   width: 100vw;
   height: 100vh;
   overflow: auto;
   background: rgba(0, 0, 0, 0.7);
   justify-content: center;
   align-items: center;
   padding: 15px;
}

.modal .modal-content {
   position: relative;
   padding: 70px 115px;
   width: 1060px;
   background: #2D2D2D;
   z-index: 999;
   border-radius: 25px;
}

.modal__close{
   position: absolute;
   top: 30px;
   right: 30px;
   cursor: pointer;
}

.in-el {
   display: flex;
   position: relative;
}

.in-el .err {
   display: none;
   font-size: 14px;
   color: #DB4F00;
   position: absolute;
   left: 30px;
   bottom: -18px;
}

input,
textarea {
   width: 100%;
   height: 60px;
   font-family: "Open Sans", sans-serif;
   font-size: 20px;
   border: 1px solid transparent;
   color: #4C4C4C;
   background: #fff;
   border-radius: 30px;
   padding-left: 30px;
   padding-right: 30px;
}
.success{
    font-size: 14px;
    padding: 10px 25px;
    z-index: 1;
    position: relative;
}
.feedback .success{
   text-align: center;
}
.error .err {
   display: block;   
}
.error input,
.error textarea {
   color:#DB4F00;
   border-color:#DB4F00;
}
.error input::-moz-placeholder {
   color: #DB4F00;
}
.error input::-webkit-input-placeholder {
   color: #DB4F00;
}
.error textarea:-moz-placeholder {
   color: #DB4F00;
}
.error textarea::-webkit-input-placeholder {
   color: #DB4F00;
}

textarea {
   height: 230px;
   resize: none;
   padding-top: 12px;
}

.feedback__row {
   display: grid;
   grid-template-rows: 1fr 1fr 1fr;
   gap: 25px;
   margin-bottom: 70px;
}

.feedback__row>.in-el:last-child {
   grid-row: 1/-1;
   grid-column-start: 2;
}

.feedback .btn-bl {
   text-align: center;
}

.feedback input:focus,
.feedback textarea:focus {
   border-color: #019232;
}

.feedback.error input:focus {
   border-color: #DB4F00;
}

#button-up {
   display: flex;
   align-items: center;
   justify-content: center;
   height: 70px;
   width: 70px;
   border-radius: 50%;
   position: fixed;
   bottom: 60px;
   right: 60px;
   z-index: 10;
   border: 2px solid #DB4F00;
   cursor: pointer;
   font-size: 26px;
   color: #DB4F00;
   padding-bottom: 3px;
}

