/* сброс стилей */

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: 'Montserrat', serif;
  font-style: normal;
  font-size: 16px;
  scroll-behavior: smooth;
}

p, h1, h2, h3, h4 {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

ul, li {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
}
 /* //конец сброса стилей */


 /* общие стили */
 :root {
  --black: #171718;
  --design: #037E8C;
  --design-hover: #015c66;
  --design-light-hover: rgba(3, 118, 131, 0.4);
  --white: #ffff;

  --bg-color:#F4F4F4;
  --text-color:#121214;
  --over-gradient: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(78, 78, 78, 0) 70%);
 }

h2{
  font-size: 36px;
  font-weight: 700;
}

h3{
  font-size: 24px;
}

h4 {
  font-size: 20px;
  font-weight: 600;
}
p{
  font-size: 18px;
}

.aling-center {
  text-align: center;
}

 /* ----------кнопка - наверх ---------*/

 #back-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 50;
  }

  #back-top a {
  width: 50px;
  display: block;
  transition: .2s;
  }

  #back-top span {
  width: 50px;
  height: 50px;
  display: block;
  margin-bottom: 7px;
  background: rgb(255, 255, 255) url(./../img/icon/row-top-1r.webp) no-repeat 50%;
  background-size: 40px;

  border-radius: 15px;

  opacity: .3;
  transition: .2s;
  }

  #back-top a:hover span {
    opacity: 1;
  }

 /* // кнопка - наверх */


/*  ****** style for my button ******* */

.button {
  display: block;
  text-align: center;
  cursor: pointer;
}

.btn {
  display: inline-block;
  padding: 11px 28px 10px;
  font-family: inherit;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 9px;
  letter-spacing: 0.15px;
  cursor: pointer;
  transition: all .15s ease-in;
}

.btn-dark {
  color: #fff;
  background-color: var(--design);
  border: 1px solid var(--design);
}
.btn-dark:hover {
  background-color: var(--design-hover);
}

.btn-light {
  color: var(--design);
  font-weight: 600;
  border: 1px solid var(--design);
  background-color: transparent;
}
.btn-light:hover {
  color: var(--white);
  background-color: var(--design-light-hover);
}

.btn-dark:active {
  transform: translateY(2px);
  background: rgb(226, 226, 226);
}
.btn-light:active,
.nav-phone .btn:active {
  transform: translateY(2px);
  background-color: var(--design);
  color: var(--white);
}

.btn-route{
  margin-right: 15px;
}

/* button-top */
.top-btn {
  cursor: pointer;
  position: fixed;
  bottom: 50px;
  right: -50px;
  width: 45px;
  height: 45px;
  background: rgba(0, 0, 0, 0.2);
  border: none;
  border-radius: 9px;
  opacity: 0;
  z-index: 25;
  transition: all .25s ease;
}

.top-btn--active:hover {
  opacity: 1;
}
.top-btn--active{
  right: 50px;
  opacity: .7;
}
.top-btn-img {
  transform: scaleY(.8);
  width: 55px;
}
 /* // кнопка - наверх */

 html, body {
  color: var(--text-color);
 }

 /* nav bar */
 .container {
  position: relative;
  max-width: 1450px;
  margin: 0 auto;
  padding: 0 75px;
}
.nav-row {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding: 0 75px;
  display: flex;
  justify-content: space-between;
  margin-top: 12px;
  color: var(--white);
  z-index: 25;
}
.nav-logo {
  width: 110px;
  height: 140px;
}
.nav-list {
  display: flex;
  margin-left: auto;
  justify-content: space-between;
  margin-top: 26px;
  font-size: 14px;
  font-weight: 500;
}

.nav-item {
  text-transform: uppercase;
  margin-left: 25px;
  line-height: 1.2;
  font-weight: 700;
}

 /* полоска подчеркивания при наведении */
 .nav-item a {
  position: relative;
 }
.nav-item a:hover {
  /* border-bottom: 2px solid #00c4da; */
  color:#00c4da;
}


.nav-item a::before {
content: '';
position: absolute;
width: 100%;
height: 3px;
top: 20px;
left: 0;
color:#00c4da;

background-color: #00c4da;
border-radius: 1px;

transform: scaleX(0);
transform-origin: right;
transition: transform .15s ease-in;
}

.nav-item a:hover::before{
transform-origin: left;
transform: scaleX(1);
}
 /*  // конец полоски */

.--link-active a{
  color:#00c4da;
  font-weight: 700;
  border-bottom: 2px solid #00c4da;
}

.nav-phone .btn {
  margin-top: 15px;
  margin-left: auto;
  display: block;
  padding: 12px 19px;
  background-color: rgba(255, 255, 255, 0.4);

  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  color: var(--white);
  border-radius: 9px;
  border: rgba(255, 255, 255, 0.4);
}
.nav-phone>p {
  padding-left: 0px;
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 500;
}

.nav-phone p::before{
  content: '';
  position: relative;
  display: inline-block;
  left: 0;
  top: 2px;
  background-image: url(../img/icon/phone-i.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 39px;
  height: 17px;
}

.burger {
  display: none;
}

/*полоска при наведении и активной ссылке*/

/*  ********** intro ****** */
.intro {
  position: relative;
  align-items: center;
  background:var(--over-gradient) ;

  height: 100%;
}
.intro::after{
  content: '';
  position: absolute;
  top: 0;left: 0;right: 0;bottom: 0;
  background: var(--over-gradient);
  z-index: 5;
}
.bg-intro{
  position: absolute;
  top: 0;
  width: 100%;
}
.intro-container{
  padding-bottom: 250px;
  z-index: 20;
}
.intro-content {
  padding-top: 250px;
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.intro-content h1{
  font-size: 65px;
  font-weight: 700;
  max-width: 550px;
}

.intro-content p{
  margin-top: 38px;
}

.intro-dotts span{
  display: block;
  border-radius: 50%;
  background-color: var(--white);

  margin-top: 15px;
  width: 10px;
  height: 10px;
}

.intro-dotts span.--active{
  background-color: var(--design);
}

.intro-text button{
  margin-top: 70px;
}


/*  ****** features ********* */
.features{
  position: relative;
  /* margin-top: 300px; */
  background: var(--white);
  /* padding-top: 25px; */
  padding-bottom: 27px;
  z-index: 10;
}
.features-list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.features-item{
  flex: 25%;
  padding-right: 15px;
  padding-top: 25px;
}

.f-bg-logo{
  display: flex;
  align-items: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  margin-left: 15px;
  background: var(--design);
}

.f-bg-logo img {
  margin-left: -15px;
  /* margin-top: 5px; */
}

.f-item-title {
  margin-top: 21px;
}
.f-item-text {
  margin-top: 20px;
}

/* ******* поп ап окно бронирования онлайн */
.book-online {
  position: fixed;
  display: block;
  overflow-y: scroll;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 70px;
  /* margin: 25px; */
  background: rgb(41, 41, 41);
  z-index: 25;

  transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transform: scale(0);
  opacity: 0;
}
.book-online.--active{
  transform: scale(1);
  opacity: 1;
}
.book-online .book {
  margin-top: 0;
  border-radius: 9px;
}

/*  ******* route section ******** */
.route {
  position: relative;
  background-color: var(--bg-color);
  background-image: url(../img/bground/bg-kwadro.webp);
  background-repeat-X: no-repeat;
  background-size: cover;
  padding-top: 57px;
  padding-bottom: 118px;
  overflow: hidden;
}
.route-wrapper {
  display: grid;
  grid-template-columns: 1fr 5fr 5fr;
}
.route-wrapper.--mirr{
  grid-template-columns: 5fr 1fr 5fr;
}
h2.route-main{
  text-align: center;
  font-weight: 700;
}

.route-col {
  margin-top: 61px;
}

.route-col h2{
  text-transform: uppercase;
}
.tab-line {
  display: block;
  background-color: var(--design);
  height: 3px;
  margin-top: 82px;
  margin-right: 30px;
}

.tab-line.--right{
  display: none;
}

.price {
  font-size: 24px;
  font-weight: 700;
  margin-top: 9px;
  margin-bottom: 32px;
}
.route-fitches {
  line-height: 1.5;
}
.route-fitches img {
  margin-right: 15px;
}

img.route-fitches-time{
  margin-left: 3px;
}
.route-title {
  position: relative;
  display: inline-block;
  margin-top: 35px;
  padding-right: 40px;
}

.route-title::after {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  background-image: url('../img/icon/icon-track.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  right: 0;
  top: 0;
}
.route-descript {
  margin-top: 15px;
  padding-right: 25px;
}
.btn-route {
  margin-top: 39px;
}
.rout-slide {
  display: flex;
  align-items: center;
}
.--mirr .rout-slide {
  justify-content: flex-end;
}
.route-slide-img {
  cursor: pointer;
  margin-right: 15px;
  width: 250px;
  height: 300px;
  border-radius: 9px;
  object-fit: cover;

  transition: all .20s ease;
}
.route-slide-img.--active{
  width: 360px;
  height: 360px;
  object-fit: cover;

  transition: all .20s ease;
}

/*  анимация ? */
@-webkit-keyframes fadeOut {
  0% {
      opacity: 0
  }

  100% {
      opacity: 1
  }
}

@keyframes fadeOut {
  0% {
      opacity: 0
  }

  100% {
      opacity: 1
  }
}

.fadeOut {
  /* -webkit-animation-name: fadeOut; */
  /* animation-name: fadeOut; */
  animation: fadeOut .2s ease-in;
}
/* // конец анимация ? */

.route-slide-pagin {
  display: flex;
  /* justify-content: space-between; */
}
.route-slide-pagin span{
  display: block;
  border-radius: 50%;
  background-color: var(--black);

  margin-top: 15px;
  margin-right: 10px;
  width: 7px;
  height: 7px;
}
.route-slide-pagin span.--active {
  background-color: var(--design);
}
.--mirr .route-slide-pagin{
  justify-content: end;
  margin-right: 6px;
}

/* ********* стили поп-апп окна с маршрутом **** */

.pop-route-hide{
  position: fixed;
  display: block;
  overflow-y: scroll;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 70px;
  /* margin: 25px; */
  background: rgb(41, 41, 41);
  z-index: 25;

  transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transform: scale(0);
  opacity: 0;
}
.pop-route-hide.--active{
  transform: scale(1);
  opacity: 1;
}
.pop-bg {
  /* overflow: hidden; */
  border-radius: 9px;
  background: #ffff;
}
.pop-close {
  display: flex;
  align-items: center;
  margin-top: -45px;
  margin-bottom: 20px;
}

.pop-close-img,
.book-close-img,
.service-close-img,
.faq-close-img {
  cursor: pointer;
  display: block;
  margin-left: auto;
  /* margin-bottom: 60px; */
}

.pop-grid {
  display: grid;
  grid-template-columns: 1fr 5fr 5fr;
  overflow: hidden;
  /* padding: 15px; */
}
.pop-wrapper {
  display: grid;
  grid-template-columns: 1fr 10fr;
  margin-top: 70px;
  padding-right: 75px;
}
.pop-content {
  margin-top: 30px;
}

.pop-price {
  margin-top: 70px;
}
.pop-galery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin-top: 45px;
}
.pop-galery-kard {
  position: relative;
  overflow: hidden;
  border-radius: 9px;
  background: #f4f4f4;
}

.pop-inf {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 5px;
  left: 5px;
  padding: 5px;
  width: 25px;
  height: 25px;
  color: white;
  background: rgba(128, 128, 128, 0.7);
  border-radius: 50%;
  border: 1px solid white;
  z-index: 5;
}

.pop-moto-inf {
  position: absolute;
  opacity: 0;
  transform: scale(0);
  width: 100%;
  height: 100%;
  background: gray;
  color: white;
  padding-top: 33px;
  padding-left: 33px;
  transition: all 0.2s ease;
}

.pop-inf:hover+.pop-moto-inf{
  opacity: 1;
  transform: scale(1);
}

.pop-galery-kard img {
width: -webkit-fill-available;
}

.pop-card-descript {
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: center;
}
.pop-descript-model {
  font-size: 14px;
  line-height: 1.3;
}
.pop-descript-price{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--design);
}
/* секция бронирования онлайн в поп-ап окне */
.book {
  display: grid;
  grid-template-columns: 1fr 10fr;
  margin-top: 74px;
  padding-top: 56px;
  padding-bottom: 98px;
  background-image: url('../img/bground/book-bg.webp');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.book-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 20px;

  margin-top: 32px;
  max-width: 720px;
}

.input {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 350px;
}

.input input {
  height: 46px;
  margin-top: 10px;
  padding-left: 14px;
  padding-right: 14px;

  user-select: none;
  font-size: 20px;

  border: 1px solid gray;
  border-radius: 9px;
}

.book-number {
  color: transparent;
}

.input-number {
  position: absolute;
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  column-gap: 15px;
  align-items: center;
  justify-items: center;
  height: 30px;
  width: 177px;
  top: 37px;
  left: 91px;
  font-size: 20px;
  font-weight: 600;
}
.input-number div {
  display: flex;
  justify-content: center;
  align-items: center;

  border: 1px solid var(--design);
  border-radius: 6px;
  width: 100%;
  height: 100%;
}

.number-plus,
.number-minus {
  cursor: pointer;
  user-select: none;
}

.--red {
  background: red;
  color: white;
}

.button-form {
  margin-top: 22px;
}


/*  ******** offer ******* */
.offer{
  text-align: center;
  padding-top: 81px;
  padding-bottom: 94px;

  color: var(--white);
  background: rgba(0, 0, 0, 0.7);

  background-image: url(../img/bground/bg-kwadro.webp);
  background-repeat-X: no-repeat;
  background-size: cover;
}
.offer-text{
  margin-top: 19px;
}

/*  ********* photo ******* */
.photo{
  text-align: center;
  padding-top: 83px;
  /* overflow: hidden; */

  background: var(--white);
}
.photo-wrapper{
  position: relative;
  margin-top: 43px;
  min-width: fit-content;
  /* overflow: scroll; */
}
.photo-slider {
  max-width: 100%;
  padding: 10px;
  margin: 0 15px;
  white-space: nowrap;

  overflow-x: auto;
  user-select: none;
  scroll-behavior: smooth;
  cursor: grab;
  scroll-behavior: unset;
  user-select: none;
}

.slide-photo {
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  width: 413px;
  height: 413px;
  object-fit: cover;
  border-radius: 9px;
  margin-left: 15px;
}

  /* стили всплывающего окна просмотра фото */
.img-slider-wrapper {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000000a8;
  z-index: 25;

  transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transform: scale(0);
  opacity: 0;
}
.img-slider-wrapper.--active-img{
  transform: scale(1);
  opacity: 1;
}
.img-slider-wrapper img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max-content;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(-50%) translateX(-50%);
}

/* отменить события картинки при мышке над картинкой */
.photo-slider.draggin img {
  pointer-events: none;
}

/*  ******* video ********* */
.video{
  margin-top: 60px;
  padding-top: 80px;
  padding-bottom: 80px;

  background-image: url('../img/bground/bg-video.webp');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/*  ****** commando ********* */
.commando{
  position: relative;
  margin-top: 60px;
  padding-bottom: 64px;
  overflow: hidden;
}
.commando-title{
  text-align: center;
}

.commando::before {
  content: '';
  position: absolute;
  top: 50px;
  left: -10%;
  display: inline-block;
  background-image: url('../img/bground/bg-01.webp');
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
}

.commando::after {
  content: '';
  position: absolute;
  top: -120px;
  left: 55%;
  display: inline-block;
  background-image: url('../img/bground/bg-02.webp');
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  z-index: -1;
}
.commando-wrapper{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 15px;
  margin-top: 24px;
}
.commando-card{
  overflow: hidden;
  width: 300px;
  margin-top: 15px;
  flex: 0 0 23%;
  background: var(--bg-color);
  border-radius: 9px;
}
.commando-card img{
  height: 340px;
  object-fit: cover;
}

.commando-card h3{
  color: #037E8C;
  padding-top: 10px;
  padding-left: 10px;
}
.commando-card p{
  padding-bottom: 15px;
  line-height: 1.5;
  padding-left: 10px;
}

/* ********* condition ******** */
.condition{
  padding: 50px 0 82px;
  background: var(--bg-color) url(./../img/bground/bg-usluga.webp) no-repeat;
  background-size: cover;
}
.condition-title {
  display: block;
  margin: 0 auto;
  max-width: 500px;
  text-align: center;
}

.condition-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 25px;

  margin-top: 43px;
}
.condition-item {
  display: flex;
  align-items: start;
  padding: 9px;

  border-radius: 9px;
  background-color: var(--white);
}
.condition-item span{
  padding-left: 15px;
    font-size: 14px;
    line-height: 1.5;
}

.condition-icon{
  width: 42px;
  height: 42px;
}

/*  ********** offers ******* */
.offers{
  padding: 64px 0 75px;
}
.offers>h2 {
  text-align: center;
}

.offer-list{
  margin-top: 45px;

  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
}

.offer-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background-color: var(--bg-color);
  border-radius: 9px;
  overflow: hidden;
}
.offer-title{
  color: var(--design);
}

.offer-descript{
  color: var(--design);
}

.offer-img-1{
  background: url('../img/spec/spec-01.webp');

}
.offer-img-2{
  background: url('../img/spec/spec-02.webp');
}
.offer-img {
  border-radius: 9px;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 90%;
}

.offer-content{
  /* position: relative; */
  background: url('../img/bground/mount-corner-right.webp') no-repeat;
  background-position-x: right;
  background-position-y: bottom;
  background-size: 90%;

  padding: 30px 10% 20px 30px;
}

.offer-text {
  line-height: 1.3;
  font-size: 18px;
}

/*  ******* sertificate ******* */
.sertificate{
  display: block;
  width: 100%;
  padding: 50px 0 90px;
  background: var(--bg-color) url('../img/bground/bg-00.webp');
  background-position: top;
  background-size: cover;
  background-repeat-x: no-repeat;
}

.sertificate>p{
  display: block;
  margin-top: 13px;
  color: var(--design);
}
.sertificate-wrapper {
  display: grid;
  grid-template-columns: 3fr 4fr;
  margin-top: 46px;
}

.sertificate-offer{
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: flex-start;
}
.sertificate-offer p{
  line-height: 1.7;
  padding-right: 100px;
}
.btn-sertificate {
  margin-top: 50px;
  display: inline-block;
}
.sertificate-card {
  max-width: 650px;
  text-align: right;
  margin: 0 auto;
  padding-left: 124px;
  padding-right: 50px;
  padding-top: 40px;

  color: var(--white);
  background: url('../img/bground/sertificate.webp');
  background-position: right;
  background-size: contain;
  background-repeat: no-repeat;
}
.sertificate-title {
  display: inline-block;
  color: var(--black);
  font-size: 48px;
  font-weight: 900;
  margin-left: 90px;
}

.sertificate-text-block{
  margin-right: 250px;
}
.sertificate-text {
  padding-top: 54px;
  font-size: 24px;
  line-height: 1.3;
}
.sertificate-descript {
  padding-top: 24px;
  padding-bottom: 59px;
  font-size: 14px;
}

/*  ****** FAQ ***** */
.faq{
  padding-top: 71px;
}
.container.--faq{
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 48px;
}

.faq-item {
  overflow: hidden;
  margin-top: 8px;
  padding: 21px;
  padding-bottom: 6px;
  border: 1px solid grey;
  transition: all .2s ease-out;
}

.faq-item h4 {
  cursor: pointer;
  position: relative;
  display: block;
  line-height: 1;
}
.faq-item h4::after {
  content: '';
  position: absolute;
  display: block;
  width: 25px;
  height: 19px;
  top: 0;
  right: 0;

  background: url(../img/icon/row-next-2.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all .2s ease-out;
}
.faq-item.--active h4::after{
  transform: rotate(-90deg);
  top: -5px;
  right: 3px;
  transform-origin: center;
  transition: all .2s ease-out;
}

.faq-item.--active {
  border: 1px solid var(--design);
  transition: all .2s ease-out;
  padding: 21px;
}


.faq-item span{
  transform: scaleY(0);
  opacity: 0;
  transform-origin: top;
  /* display: none; */
  display: block;
  visibility: hidden;
  line-height: 0;
  height: 0px;
  padding-top: 15px;
  font-size: 14px;
  line-height: 1.5;
  transition: all .2s ease-out;
}
.faq-item.--active span {
  display: block;
  position: relative;
  transform: scaleY(1);
  opacity: 1;
  height: fit-content;
  visibility: visible;
  transition: all .2s ease-out ;
}

.faq-col p{
  padding: 15px 20px 0;
}

.btn-faq {
  margin-top: 31px;
}

.addition{
  padding-top: 85px;
}

/*  *********** service ******* */
.service{
  padding-top: 85px;
}
.servise-list{
  margin-top: 55px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.service-link {
  position: relative;
  padding-top: 65%;
  overflow: hidden;
  border-radius: 9px;
  color: var(--design);
  background: var(--bg-color);
}
.btn-service-order{
  position: absolute;
  top: 25%;
  right: 50%;
  transform: scale(0);
  opacity: 0;
  z-index: 15;
}

.service-img {
  position: absolute;
  top: 0;
  z-index: 1;
  width: -webkit-fill-available;
  transition: transform .2s ease-out ;
}
.service-link::before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;left: 0;right: 0;bottom: 0;
  z-index: 0;
  /* background: rgba(104, 104, 104, 0.459); */
  backdrop-filter: blur(5px);
}

.service-link:hover>.btn-service-order{
  opacity: 1;
  transform:  scale(1) translateX(50%) ;
}
.service-link:hover>.service-img{
  transform: scale(1.2);
}
.service-link:hover.service-link::before{
  z-index: 5;
}

.service-name {
  position: relative;
  background: var(--bg-color);
  padding: 25px;
  font-size: 18px;
  font-weight: 600;
  z-index: 5;
}

/*  ***** всплывающее окно - заказать услугу и задать вопрос, одинаковые стили */
.service-pop,
.faq-pop {
  position: fixed;
  overflow: scroll;
  top: 0;left: 0;
  width: 100vw;
  height: 100vh;
  background: rgb(92, 92, 92);

  padding: 75px;

  transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transform: scale(0);
  opacity: 0;
}
.service-pop.--active,
.faq-pop.--active {
  transform: scale(1);
  opacity: 1;
  z-index: 35;
}
.service-pop-wrapper,
.faq-pop-wrapper {
  padding: 25px;
  background: white;
  border-radius: 9px;
}
.service-book,
.faq-book {
  /* display: grid; */
  /* grid-template-columns: repeat(1, 1fr); */
  gap: 10px 20px;
  margin-top: 32px;
  max-width: 650px;
  border-radius: 9px;
  background: white;
  padding: 25px;
  background-image: url(../img/bground/book-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.input-message {
  grid-column: 1/3;
}
.text-service,
.text-faq {
  height: 150px;
  border-radius: 9px;
  padding: 15px;
}
form.service-form ,
form.faq-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.input textarea {
  margin-top: 10px;
}

.input-message {
  max-width: unset;
}
/*  ****** contact section ****** */
.contact {
  margin-top: 100px;
}
.contact-container{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}

.contact-col {
  position: relative;
}
.contact-col h2 {
  border-top: 3px solid var(--design);
  padding-top: 15px;
}

.adress-section {
  grid-template-columns: 1fr 1fr;
  margin-top: 65px;
  display: grid;
}
.adress-item {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-top: 15px;
}
.adress-item img {
  background: var(--design);
  width: 45px;
  height: 45px;
  margin-right: 15px;
  border-radius: 50%;
  object-fit: scale-down;
}

.contact-write {
  margin-top: 20px;
}
.icon-wapp {
  background: black;
  border-radius: 50%;
  padding: 3px;
}
.icon-insta {
  margin-top: 15px;
  margin-left: 15px;
}
.gr-149 {
  width: 45px;
  height: 45px;
  padding-top: 3px;
  margin-left: 10px;
}
.gr-149:hover {
  transform: scale(6);
  transform-origin: bottom;
}
/*  ****** map **** */
.map {
  position: relative;
  background-image: url(../img/icon/loading-25.gif);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 30px;
  color: var(--text-light);
}

.load-map {
  position: absolute;
  margin-top: 100px;
  margin-left: 50%;
  transform: translateX(-50%);
}

/*  ********* footer ****** */

.container-footer{
  margin-top: 74px;
}
.nav-row-footer {
  width: 100%;
  padding: 4px 15px;
  display: flex;
  justify-content: space-evenly;
  align-items: center;

  border-top: 1px solid var(--black);
  border-bottom: 1px solid var(--black);
}

.nav-list-footer {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  font-size: 14px;
  font-weight: 500;
}

.nav-logo-footer {
  width: 65px;
  height: 83px;
}

.footer-copy {
  display: block;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
}
