@media (min-width: 300px) {
.logo a{width: 100px; height: 70px;}

#sp-shapka{background-position: 40% 50%;}
.podz{background: rgba(255,255,255,.6);}
.text-block{padding: 0px;}
.limg:after, .rimg:after{border: 0px solid transparent;}
.upod{font-size:12px;}
.owl-prev {left: -15px; position: absolute;}
.owl-next {right: -15px;position: absolute;}
.fullinfu{background: #fff; margin-bottom:20px;
padding: 20px; box-shadow: rgba(114, 132, 181, 0.1) 0px 4px 20px 0px;
border-left: 4px solid #ceac7a;}
}


@media (min-width: 768px) {
.logo a{width: 120px; height: 80px;}
#sp-shapka{background-position: 40% 50%;}
.podz{background: rgba(255,255,255,.6);}
.text-block{padding: 0px;}
.limg:after, .rimg:after{border: 0px solid transparent;}
.upod{font-size:14px;}
.owl-prev {left: -15px; position: absolute;}
.owl-next {right: -15px;position: absolute;}
}


@media (min-width: 992px) { 
.fullinfu{padding: 40px;}
.logo a{width: 120px; height: 80px;}
#sp-shapka{background-position: 50% 50%;}
.podz{background: transparent;}
.text-block{padding: 0 20px;}
.limg:after, .rimg:after{border: 1px solid #354155;}
.upod{font-size:14px;}
.owl-prev {left: -25px; position: absolute;}
.owl-next {right: -25px;position: absolute;}

}


@media (min-width: 1200px) { 
.logo a{width: 150px; height: 80px;}
#sp-shapka{background-position: 50% 50%;}
.text-block{padding: 0 30px;}
.limg:after, .rimg:after{border: 1px solid #354155;}
.upod{font-size:16px;}
.owl-prev {left: -65px; position: absolute;}
.owl-next {right: -65px;position: absolute;}
}

@media (min-width: 1400px) { 
.logo a{width: 150px; height: 80px;}
#sp-shapka{background-position: 50% 50%;}
.text-block{padding: 0 30px;}
.limg:after, .rimg:after{border: 1px solid #354155;}
.upod{font-size:16px;}
.owl-prev {left: -65px; position: absolute;}
.owl-next {right: -65px;position: absolute;}
}
.logo a{
text-align: center;
justify-content: center;
display: flex;
align-items: center;}

.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span, .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
    font-family: inherit !important;
    color: #000000;
    text-decoration: none;
}
.top-phone{display: flex;
align-items: center;}
.ttel a{display:block; font-weight: 500;
color: #333;
line-height: 20px;}
.ttel a:hover{color:#8c878e}
.fico{background: #373350;
width: 30px;
height: 30px;
border-radius: 100%;
color: #fff;
line-height: 30px;
text-align: center;
font-size: 12px;
margin-right: 18px;}
.knopka{color: #373350;
border: 1px solid #373350;
text-transform: uppercase;
font-weight: 600;
font-size: 12px;
padding: 5px 20px;
display: inline-block;
line-height: 30px;}
.knopka:hover, .knopka:active, .knopka:focus{background:#373350; color:#fff;}
#sp-menu .knopka{margin-left: 20px;  
margin-right: 20px;}
.tmail a{display:block;}
.top-mail{margin-right:40px;}
.tmail a{font-weight: 300;
color: #333;line-height: 18px;
text-decoration: underline dotted;
font-size: 15px;}
.mob-tel{background: #373350;
color: #fff;
width: 40px;
height: 40px;
text-align: center;
line-height: 40px;
border-radius: 100%;}

#sp-shapka{min-height: 550px;
background-size: cover; display: flex;
flex-direction: column;
justify-content: center;
}
h1{text-transform: uppercase;
font-weight: 300; max-width: 700px;
letter-spacing: 8px;}
.podz{max-width: 600px;
font-weight: 300;
font-size: 14px; margin-bottom: 20px;
margin-top: 15px;}
h1 span{background: #2f2f2f;
color: #fff;
padding: 0 5px;}

.knopka2 {
 padding: 12px 25px;
background: none;
border: none;
position: relative;
text-transform: uppercase;
font-weight: 300;
letter-spacing: 3px;
cursor: pointer;
color: #333;
display: inline-block;
font-size: 12px;
}
#sp-gallery .knopka2{color: #fff;}
.knopka2:hover, .knopka2:focus, .knopka2:active{color:#333;}
#sp-gallery .knopka2:hover, #sp-gallery .knopka2:active, #sp-gallery .knopka2:focus{color:#fff;}
.knopka2:after, .knopka2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border: 2px solid #000;
  transition: transform 0.2s;
}
#sp-gallery .knopka2:after, #sp-gallery .knopka2:before{border: 2px solid #fff;}
.knopka2:after {
  transform: translate(3px, 3px);
}
.knopka2:before {
  transform: translate(-3px, -3px);
}
.knopka2:hover:after, .knopka2:hover:before {
  transform: translate(0);
}
.rimg, .limg{position: relative;
margin-top: 0;
overflow: visible;}
.rimg:before {content:"";
    top: -25px;
    bottom: 30px;
    left: -40px;
    right: 40px;
    background: #EAEFF1;
position: absolute;
z-index: 0;
}
.rimg:after {content:"";
    top: -46px;
    bottom: 49px;
    left: -21px;
    right: 20px;
position: absolute;
z-index: 1;
}

.limg:before {content: "";
top: -25px;
bottom: 30px;
left: 40px;
right: -40px;
background: #EAEFF1;
position: absolute;
z-index: 0;
}
.limg:after {content: "";
top: -46px;
bottom: 49px;
left: 21px;
right: -20px;
position: absolute;
z-index: 1;
}


.rimg img, .limg img{position:relative; z-index:4;}
h2{text-transform:uppercase; letter-spacing: 2px; margin-top:20px;}
h2 span{color:#373350}
.ustext{font-weight: 300; margin-bottom: 35px;
font-size: 15px; margin-top: 25px;
letter-spacing: 1.1px;}

.text-block p a{text-decoration:underline dotted}

.upod{text-transform: uppercase;
color: #8c878e;
letter-spacing: 2px;
font-weight: 300; position:relative}
.nen{background: #f3f6f8;
padding: 40px;
text-align: center;}
.nen h2{font-weight: bold;
color: #2f2f2f;}
.podf{text-transform: uppercase;
letter-spacing: 1.9px;
color: #8c878e;
font-size: 14px;}
.nen p{font-weight: 300;
font-size: 14px;
max-width: 740px;
margin: 10px auto;}
.ba-form-1{max-width: 900px;
margin: 0 auto;}

.plogo img{max-height: 80px;
width: auto;
}
.ptitle{position:relative; text-transform: uppercase;
font-weight: 500; display: flex; align-items: center;
line-height: 20px;}
.ptitle:before{content: "";
width: 30px;
height: 30px;
display: block;
margin-right: 20px;
background-size: contain; position: absolute;
top: 5px;
background-repeat: no-repeat;}
.ptitle span{left: 50px;
position: relative;}
.pt1:before{background-image: url('/images/ico/1.svg');}
.pt2:before{background-image: url('/images/ico/2.svg');}
.pt3:before{background-image: url('/images/ico/3.svg');}
.pt4:before{background-image: url('/images/ico/4.svg');}


.row-preim p{margin-left: 48px;
font-weight: 300; font-size: 15px;
margin-top: 15px;}
.row-preim .col-lg-4{margin-top:25px; margin-bottom:25px;}
.topgal{text-align: center;
margin-bottom: 50px;}
.topgal h2{color:#fff;}
#sp-gallery{position:relative;}
#sp-gallery:before {
   width: 100%;
content: " ";
background-image: url(/images/ico/6.svg);
position: absolute;
left: -5%;
top: -100px;
height: 80%;
background-repeat: no-repeat;
background-size: contain;
}
#sp-gallery:after{
  width: 100%;
content: " ";
background-image: url(/images/ico/5.svg);
position: absolute;
left: 76%;
top: 20px;
height: 80%;
background-repeat: no-repeat;
background-size: contain;
}
.gbt{margin-top: 30px;
text-align: center;}
#sp-vidi{text-align:center;}
#sp-vidi h3{font-weight: normal;
text-transform: uppercase; bottom: 5px;
background: #2f2f2f;
color: #fff;
left: 5px;
padding: 0 5px;
position:absolute;
font-size: 20px; text-align:left}
.owl-carousel{margin:30px 0;}
.owl-nav span{background: rgba(0,0,0,.7);
color: #fff;
width: 50px;
height: 50px;
line-height: 50px;
text-align: center;
font-size: 15px;}
.owl-dots {
    margin-top: 15px;
}
.owl-carousel .owl-nav.disabled {
display: flex; position:absolute; top:40%; width: 100%;
}
.owl-nav {
    display: flex;
    position: absolute;
    top: 35%;
    width: 100%;
}
.owl-dots {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
    margin-top: 0px;
    left: 0;
    right: 0;
    margin-top: 20px;
}
.owl-dots span{background: #333; width: 10px;
height: 10px; margin: 0 3px; 
display: block;}
.owl-dots .active span {
    background: #373350;
}
.htitle{display:flex; align-items: center;}
.dig{font-weight: 900;
color: #ceac7a;
font-size: 40px;
margin-right: 10px;}
h4{    font-size: 16px;
    line-height: 18px;
    font-weight: 500; position: relative;
top: 5px;
}
.line{margin-top: 30px;
height: 1px; position: relative;
margin-bottom: 10px;
width: 300%;
background: #cbcbcb;}
.line:before{content: "";
background: #373350;
width: 15px;
height: 15px;
display: block;
transform: rotate(45deg);
position: absolute;
top: -7px;}
#sp-shema p{font-weight: 300;}
.zj{margin-top: 40px;}
#sp-gallery .container{z-index: 99;
position: relative;}
.ymap-container {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background: url('/images/yandex.jpg') #ffffff no-repeat;
  background-position: center center;
  background-size: cover;
  box-shadow: 0 0 2em  0 rgba(0,0,0,.2);
  z-index:6;
width: 100%;
margin-top: 30px;
}
/* Блок, в котором появится Яндекс.Карта */
#map-yandex {
  position: relative;
  z-index: 7;
  width: 100%;
  height: 22em;
  cursor: pointer;
  background-color: transparent;
}
.maps2{height: 64vh !important;}
.loader {
  position: absolute;
  z-index: 15;
  top: -100%;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #000000;
  transition: opacity .7s ease;
  opacity: 0;
  background-color: rgba(0,0,0,.55);
}
 
.loader:after,
.loader:before {
  box-sizing: border-box;
}
 
.loader.is-active {
  top: 0;
  opacity: 1;
}
 
.loader-default:after {
  position: absolute;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  content: '';
  animation: rotation 1s linear infinite;
  border: solid 8px #ffffff;
  border-left-color: transparent;
  border-radius: 50%;
}
 
@keyframes rotation {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(359deg);
  }
}
 
@keyframes blink {
  from {
    opacity: .5;
  }
  to {
    opacity: 1;
  }
}
#sp-footer1 h3{text-transform: uppercase;
font-weight: normal;
letter-spacing: 6px;
margin-bottom: 30px;}
#sp-footer1 h3 span{background: #2f2f2f;
color: #fff;
padding: 0 5px;}
.fline i{
    background: #373350;
    color: #fff;
    width: 40px; flex-shrink: 0;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 100%;
    margin-right: 20px;
}
.ftel a{color: #333;
font-size: 20px;
}
.fmail a{color: #333;
text-decoration: underline dotted;}
.fadr{position:relative;}
.fadr span{display: block;
font-size: 12px;
font-weight: 300;
position: absolute;
top: 30px;
left: 65px;
color: #8c878e;}
.fline{margin: 20px 0; display: flex;
}
#sp-cop{color:#fff; text-align:center; font-weight: 300;
font-size: 14px;}
a{outline:none !important;}
.offcanvas-menu .offcanvas-inner ul.menu > li a, .offcanvas-menu .offcanvas-inner ul.menu > li span {
    color: #252525;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 15px;
margin: 5px 0;
}
.offcanvas-menu .offcanvas-inner ul.menu > li a:hover, .offcanvas-menu .offcanvas-inner ul.menu > li a:focus, .offcanvas-menu .offcanvas-inner ul.menu > li span:hover, .offcanvas-menu .offcanvas-inner ul.menu > li span:focus {
    color: #373350;
}
.ba-form-acceptance-html p{font-size: 14px !important;
font-weight: 300!important;}
.ba-forms-lightbox-row{position: absolute; z-index:999999 !important; width: 96% !important;}
.ba-form-icons.ba-icon-close::before {
  content: "\f136";
  color: #373350;
}
.ba-forms-lightbox-row .ba-form-icons .ba-icon-close{right: 20px!important;
position: relative!important;}
.top{background: #2f2f2f;
height: 50px;
z-index: 9966;
position: relative !important;}
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
  display: inline-block;
  padding: 0 15px;
  line-height: 50px;
  font-size: 13px;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .1em; 
  font-weight:300;
}
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span, .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
color:#fff !important;
  text-decoration: none;
}
.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li a:hover{
  font-weight: 300;
  color: #ceac7a !important;
}
.top #offcanvas-toggler{display:none;}
.bts img{height: 30px;
width: auto; transition:all .6s ease;}
.bts{cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
width: 80px;
height: 80px;
}
.bts:hover img{height: 35px;}

.offcanvas.offcanvas-top {
top: 0;
right: 0;
left: 0;
height: 150px;
max-height: 100%;
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%);
display: flex;
align-items: center;
justify-content: center;
padding-top: 45px;
}
.btn-close.text-reset{position: absolute;
top: 40%;
width: 80px;
height: 80px;
line-height: 80px;
text-align: center;
cursor: pointer;
right: 0;}
#mod-finder-searchword124{height: 60px;
max-width: 400px;
width: 400px;
border-radius: 0px;}
.knopka-poisk{background: #373350;
color: #fff;
border: 1px solid #373350;
font-weight: 300;
letter-spacing: .1em;
margin: 0 !important;}
.catshap{min-height: 460px;
margin-bottom: 0px;padding: 40px 0px;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
background-position: center !important;
width: 100vw;
transform: translateX(-50%);
position: relative;
left: 50%;
background-size: cover !important;}
.breadcrumb {
  padding: 0px; font-size: 14px;
  background-color: transparent;
  border-radius: 0.25rem;
}
.float-start{display:none;}
.responsive{overflow:auto;}
.descr{transform: translateX(-50%);
position: relative;
left: 50%;
background: #f7f7f7;
width: 100vw; padding: 80px 0px; font-size: 15px; font-weight:300; letter-spacing: 1.1px;}
.category_usl{padding-top:100px;}
.catblock, .uslugi-tizer{margin-bottom:80px;position: relative;
padding: 0 30px;}
.subcat-title a{color: #000;
display: block;
margin-top: 10px;
font-weight: 400;}
.uslugi-tizer h3 a{color: #000;
display: flex;
margin-top: 10px;
font-weight: 400;
font-size: 25px;
min-height: 60px;
align-items: center;}
.subcat-desc{color: #adabab;
font-weight: 300;
font-size: 15px;
margin-top: -5px;}
.catshap h1{max-width: 900px;}

.catblock .rimg img, .uslugi-tizer .rimg img{ transition: all 1s ease;}
.catblock:hover .rimg img, .uslugi-tizer:hover .rimg img  {transform:scale(0.95);}
.uslugi-tizer .readmore{margin-top:15px;}
.breadcrumb-item + .breadcrumb-item::before {

    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "-");

}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
  text-decoration: none;
  color: #2f2f2f !important;
}
.utp{font-size: 16px;
font-weight: bold;
text-transform: uppercase;}
.artinfo{margin-top:50px;}
.cons{color: #787878;
font-size: 14px;
line-height: 16px;
margin-top: 15px;}
.utptel{font-weight: bold;
font-size: 20px;
color: #2f2f2f;
padding: 18px 0px;
display: block;}
.primeri{color: #2f2f2f;
text-decoration: underline;
margin-bottom: 15px;
display: block;}
.fullinfu img{  height: 60px;
margin-bottom: 20px;}
.fulldisc{text-transform: uppercase;
color: #8c878e;
letter-spacing: 2px;
font-weight: 300;
position: relative;
margin-bottom: 20px;}
.breadcrumb .breadcrumb-item.active{display:none;}
.tf-gallery-wrapper .gallery-items .item img {
  width: 100%;
  height: auto;
}
.tf-gallery-wrapper .gallery-items .item {
  margin: 0;
  display: inline-block;
  width: 100%;
  text-align: center;
  display: block;
  height: 200px;
  overflow: hidden;
}
#portfo{margin-top:40px;}
#portfo h2{text-align:center; margin-bottom:30px;}
.kamen{margin-top: 50px;
text-align: center;
border-bottom: 1px solid #e1e1e1;
padding-bottom: 50px;}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a, .sp-megamenu-parent .sp-dropdown li.sp-menu-item span:not(.sp-menu-badge) {
  font-size: 16px;
  line-height: 1;
  display: flex;
  padding: 8px 0;
  cursor: pointer;
  justify-content: space-between;
}
.menu-child li a{text-transform: none !important;
display: block!important;}
.catlb{border: 1px solid #eee;
padding: 30px;
margin-top: 20px;
text-align: center;
margin-bottom: 20px;
background: #eaeff1;
font-size: 14px;}
.arinfo{position: absolute;
bottom: 0px;
color: #fff;
width: 100%;
display: flex;
justify-content: center;
border-top: 1px solid #fff;
padding-bottom: 10px;
padding-top: 20px;
left: 0;}
.article-info{color: #727272;}
.article-list{margin-top:50px;}
.blit h3 a{color: #2f2f2f;
font-size: 18px;
text-transform: uppercase;}
.article-list .article {
  margin-bottom: 30px;
  padding: 10px;
  border: none;
  border-radius: 3px;
}
.article-info > span a {
  color: #727272;
}
.finder{margin-top:50px;}
.kontakk #sp-foot{min-height: 90vh;
display: flex;
align-items: center;}