.section {
 	display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
	position: relative; 
	z-index: 1; 
    min-height: 100vh;
}

/* .section > div {width: 100%;} */


.case {
    padding: 150px 0;
    /* background: rgb(255 255 255 / 20%); */
}

.case > h2 {
	text-align: center;
	font-size: 2.5rem;
    margin-bottom: 75px; 
	position: relative;
}

.case > h2:after {
    position: absolute;
    bottom: -15px;
    left: 50%;
    height: 2px;
    content: " ";
    background: var(--color-main);
    width: 100px;
    margin-left: -50px;
}

.case > p {
    text-align: center;
    margin: -35px auto 75px;
    font-size: 1.2rem;
    max-width: 1280px;
}

@media (max-width: 1200px) { 
    .case {padding: 120px 0;}
}

@media (max-width: 992px) { 
    .section {min-height: auto;}
    .case {padding: 90px 0;}
    .case > h2 {font-size: 2.2rem;}
    .case > p {margin: -35px auto 50px;}
}

@media (max-width: 768px) { 
    .case {padding: 70px 0;}
    .case > h2 {font-size: 2rem;}
    .case > p {font-size: 1.1rem;}
}

@media (max-width: 576px) { 
    .case {padding: 50px 0;}
    .case > h2 {font-size: 1.7rem; font-weight: 600;}
    .case > p {font-size: 1rem;}
}

@media (max-width: 480px) { 
    .case {padding: 40px 0;}
    .case > h2 {font-size: 1.5rem;}
    .case > p {margin: -35px auto 30px;}
    .case > h2:after {width: 60px; margin-left: -30px;}
}

@media (max-width: 480px) { 
    .case {padding: 30px 0;}
    .case > h2 {font-size: 1.4rem;}
    .case > h2:after {width: 50px; margin-left: -25px; height: 1px;}
    .case > p {margin: -45px auto 30px;}
}




/* Форматирование текста */

.area {font-size: 1.1rem; text-align: left;}

.area a {text-decoration: underline; text-decoration-style: dotted;}
.area a:hover {text-decoration: none;}

.area p, .area h2, .area > img, .area > div, .area table {margin-bottom: var(--bs-gutter-x);}
.area > *:last-child {margin-bottom: 0;}

.area p, .area ul li {
    line-height: 1.5;
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
}

.area > ul, .area > ol {display: inline-block; margin-bottom: calc(var(--bs-gutter-x) / 2); width: 100%; padding-left: 20px;}
.area ul li, .area ol li {width: 100%; margin-bottom: calc(var(--bs-gutter-x) / 2); list-style: square; position: relative; line-height: 1.5;}
.area ul li:last-child, .area ol li:last-child {margin-bottom: 0;}
.area ul li::marker {color: var(--color-main);}

.area td, .area th, .area .wp-block-table td {padding: calc(var(--bs-gutter-x) / 2); border: 1px solid var(--color-lines);}
.area th {font-weight: 600;}

blockquote {position: relative; font-style: italic; border-left: 3px solid var(--color-main); padding-left: var(--bs-gutter-x); margin-bottom: var(--bs-gutter-x); color: #555;}
  
.alignleft {display: inline; float: left; margin-right: 30px; margin-bottom: 15px;}
.alignright {display: inline; float: right; margin-left: 30px; margin-bottom: 15px;}
.aligncenter {display: block; margin-right: auto; margin-left: auto; margin-bottom: 15px;}

.buttons {display: flex; flex-wrap: wrap; /*justify-content: center;*/ margin: 0 -30px; }

.buttons .btn {padding: 0 30px;}

.buttons .btn > * {
    background: var(--color-main);
    color: #fff;
    padding: 10px 30px;
    font-size: 1.2rem;
    border: 2px solid var(--color-main);
    border-radius: 5px;
    text-decoration: none;
    cursor: pointer;
    display: block;
	white-space: nowrap;
    transition: all 0.3s ease;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s ease 0s;
}

.buttons .btn > *:hover {border: 2px solid var(--color-main-2); background: var(--color-main-2);}

.btn.btn-o {background: none; color: inherit;}
.btn.btn-o:hover {color: #2196F3;}

.clear {clear: both;}

@media (max-width: 576px) { 
    .buttons {margin: 0 -15px;}
    .buttons .btn {padding: 0 15px;}    
    .buttons .btn > * {padding: 10px 20px; font-size: 1.1rem;}   
}

@media (max-width: 576px) { 
    .buttons .btn > * {padding: 7px 18px; font-size: 1rem;}   
}




/* Расходники */

div[class*="row-cols"] > * {
    margin-bottom: var(--bs-gutter-x);
}

div[class*="row-cols"] > * > * {
    height: 100%;
    /* background: var(--color-second-2); */
    /* border: 1px solid var(--color-lines); */
    display: block;
    color: inherit;
	text-decoration: none;
}

div[class^="row-cols-"] > * > a:hover {border-color: var(--color-main);}

.icon-text .col > * {display: flex; align-items: center; padding: 30px;}
.icon-text .col > * .image {width: 20%; font-size: 4rem; text-align: center; color: #0090ff;}
.icon-text .col > * .text {width: 80%; padding-left: 30px; font-family: 'Montserrat', sans-serif;}

.icon-text-vertical .col > * {text-align: center; padding: 30px;}
.icon-text-vertical .col > * .image {margin-bottom: 30px;}
.icon-text-vertical .col > * .text {font-family: 'Montserrat', sans-serif;}


.image-text .col > * {display: flex; align-items: center;}
.image-text .col > * .image {width: 30%; height: 100%;}
.image-text .col > * img {object-fit: cover; height: 100%; display: block;}
.image-text .col > * .text {width: 70%; padding: 30px;}

.image-text-vertical .col > * {text-align: center;}
.image-text-vertical .col > * img {width: 100%; display: block;}
.image-text-vertical .col > * .text {padding: 20px 20px 0;}


.number-text .col > * {display: flex; align-items: center;}
.number-text .col > * .number {
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 7rem;
    font-weight: 600;
    color: #eee;
}
.number-text .col > * .text {width: 70%; padding: 30px;}


.number-text-vertical .col > * {text-align: center; padding: 30px;}
.number-text-vertical .col > * .number {margin-bottom: 15px; font-size: 4rem; color: #1c9cff;}
.number-text-vertical .col > * .text {}

.number-text.in-order {counter-reset: schetchik;}
.number-text.in-order .col {counter-increment: schetchik;}
.number-text.in-order .col > * .number:before {content: counter(schetchik);}


.cols.owl-carousel {margin: 0 0 30px;}
.cols.owl-carousel .owl-stage {display: flex;}
.cols.owl-carousel .col {padding: 0; margin-bottom: 0; height: 100%; width: 100%;}





/* Main-block */

#main-block {
    min-height: 100vh;
    color: #fff;
}

#main-block:before {
    content: "";
    background: var(--color-second-2);
    position: absolute;
    z-index: -1;
    top: 0;
    height: 100%;
    left: 0;
    width: 100%;
    opacity: 0.8;
}

#main-block > a { position: absolute; width: 60px; bottom: 25px; left: 50%; margin-left: -30px;}

#main-descript {padding-top: 50px;}

#main-descript h1 {
    text-transform: uppercase;
    font-size: 3rem;
}

#main-descript p {
    font-size: 1.4rem;
    text-align: left;
    hyphens: none;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
}

@media (max-width: 1200px) { 
    #main-block .col-8 {width: 80%;}
}

@media (max-width: 992px) { 
    #main-block .col-8 {width: 100%;}
    #main-descript h1 {font-size: 2.6rem;}
}

@media (max-width: 768px) { 
    #main-block {min-height: 80vh;}
    #main-descript h1 {font-size: 2.2rem;}
    #main-descript p {font-size: 1.2rem;}
}

@media (max-width: 567px) { 
    #main-block {padding: 100px 0; min-height: auto;}
    #main-descript h1 {font-size: 2rem;}
    #main-descript p {font-size: 1.1rem;}
    #main-block > a {display: none;}
}

@media (max-width: 480px) { 
    #main-descript {padding-top: 30px;}
    #main-descript h1 {font-size: 1.8rem;}
    #main-descript p {line-height: 1.4rem;}
}

@media (max-width: 380px) { 
    #main-block {padding: 90px 0;}
    #main-descript h1 {font-size: 1.6rem;}
    #main-descript p {font-size: 1rem; line-height: 1.3rem;}
}





.dark-bg {
   background: url(/wp-content/uploads/2023/08/texture.webp); 
   background-size: cover;
   color: #fff;
}

.dark-bg:before {
    content: "";
    background: var(--color-second-2);
    position: absolute;
    z-index: -1;
    top: 0;
    height: 100%;
    left: 0;
    width: 100%;
    opacity: 0.6;
}

.dark-bg {
	--color-lines: #111;
}




/* Gallery */

#gallery-block {
    overflow: hidden;
}

#gallery {
    margin: 0 auto;
    max-width: 800px;
}

#gallery .owl-stage-outer {
    overflow: visible;
}

#gallery .owl-item {
    opacity: 0.3;
    -o-transition: all 0.3s;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease 0s;
    transform: scale(0.8);
}

#gallery .owl-item.active {
    opacity: 1;
    transform: scale(1);
}

#gallery button.owl-prev {
    left: -250px;
}

#gallery button.owl-next {
    right: -250px;
}

@media (max-width: 1400px) { 
    #gallery button.owl-prev {left: -150px;}
    #gallery button.owl-next {right: -150px;}
}

@media (max-width: 1200px) { 
    #gallery button.owl-prev {left: -50px;}
    #gallery button.owl-next {right: -50px;}
}

@media (max-width: 768px) { 
    #gallery button.owl-prev {left: -25px;}
    #gallery button.owl-next {right: -25px;}
    button.owl-prev i, button.owl-next i {
        background: #fff;
        width: 50px;
        display: block;
        line-height: 50px;
        border-radius: 5px;
    }
}

@media (max-width: 480px) { 
    #gallery button.owl-prev {left: -20px;}
    #gallery button.owl-next {right: -20px;}
    button.owl-prev i, button.owl-next i {width: 40px; line-height: 40px;}
}




/* Options */

#options {
    margin: 0 -50px;
    margin-bottom: calc(var(--bs-gutter-x) * -1);
}

#options .col {
    padding: 0 50px;
}

#options-block h3 {
    font-weight: 400;
    line-height: 1.6rem;
}

@media (max-width: 1200px) { 
    #options {margin: 0 -30px;}
    #options .col {padding: 0 30px;}
}

@media (max-width: 992px) { 
    #options .col {width: 50%;}
}

@media (max-width: 768px) { 
    #options .text {
        padding: 20px 0 0;
    }
}

@media (max-width: 567px) { 
    #options {
        margin-right: calc(var(--bs-gutter-x) * -.5);
        margin-left: calc(var(--bs-gutter-x) * -.5);
    }
    #options .col {
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
    }
    #options-block h3 {line-height: 1.4rem; font-size: 1rem;}
}

@media (max-width: 480px) { 
    #options .text {padding: 15px 0 0;}
    #options-block h3 {line-height: 1.2rem; font-size: 0.8rem;}
    #options img {max-height: 200px;}
}

@media (max-width: 380px) { 
    #options .col {width: 100%;}
    #options-block h3 {line-height: 1.4rem; font-size: 1rem;}
}




/* Our works */

#ourworks {
    margin-bottom: calc(var(--bs-gutter-x) * -1);
}

#ourworks .col > div {
    position: relative;
}

#ourworks .col > div:before {
    position: absolute;
    z-index: 2;
    width: 50px;
    height: 50px;
    content: '';
    border-color: var(--color-main);
    border-style: solid;
    left: -3px;
    top: -3px;
    border-width: 7px 0 0 7px;
}

#ourworks .col > div:after {
    position: absolute;
    z-index: 2;
    width: 50px;
    height: 50px;
    content: '';
    border-color: var(--color-main);
    border-style: solid;
    right: -3px;
    bottom: -3px;
    border-width: 0 7px 7px 0;
}

#ourworks .text {
    position: absolute;
    z-index: 1;
    top: 0;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    padding: 30px;
    color: #fff;
}

#ourworks .text:before {
    content: "";
    background: var(--color-second-2);
    position: absolute;
    z-index: -2;
    top: 0;
    height: 100%;
    left: 0;
    width: 100%;
    opacity: 0.4;
}

#ourworks .text h3 {
    margin-bottom: 0;
}

@media (max-width: 1200px) { 
    #ourworks .text {font-size: 1.6rem;}
}

@media (max-width: 992px) { 
    #ourworks .col {width: 100%;}
    #ourworks .col > * img {max-height: 220px; object-fit: cover;}
}

@media (max-width: 768px) { 
    #ourworks .col > * img {max-height: 180px;}
}

@media (max-width: 567px) { 
    #ourworks .text {font-size: 1.4rem;}
}

@media (max-width: 480px) { 
    #ourworks .col > * img {max-height: 150px;}
    #ourworks .text {font-size: 1.2rem;}
    #ourworks .text h3 {font-weight: 600;}
}

@media (max-width: 480px) { 
    #ourworks .col > * img {max-height: 140px;}
    #ourworks .text {font-size: 1.1rem;}
}




/* Features */

#features-block .case > p span {
    font-weight: 600;
    font-size: 1.5rem;
    padding: 20px 0 0;
    display: inline-block;
}

/* #features {
    margin-bottom: calc(var(--bs-gutter-x) * -1);
} */

#features img {
    /* border-radius: 1000px; */
    max-width: 200px;
    margin: 0 auto;
}

#features .text {
    font-size: 1.2rem;
    line-height: 2rem;
}

@media (max-width: 1400px) { 
    #features img {max-width: 150px;}
}

@media (max-width: 1200px) { 
    #features img {max-width: 120px;}
}

@media (max-width: 992px) { 
    #features-block .case > p span {font-size: 1.3rem;}
    #features img {max-width: 90px;}
    #features .text {font-size: 1rem; line-height: 1.6rem; padding: 20px 0 0;}
}

@media (max-width: 768px) { 
    #features-block .case > p span {font-size: 1.2rem;}
    #features {margin-bottom: calc(var(--bs-gutter-x) * -1);}
    #features img {max-width: 70px;}
    #features .text {font-size: 0.9rem; line-height: 1.2rem;}
}

@media (max-width: 576px) { 
    #features-block .case > p span {font-size: 1.1rem;}
    #features {margin-bottom: auto;}
    #features .col {display: flex; justify-content: center;}
    #features .col > div {display: flex; align-items: center; text-align: left; width: 320px;}
    #features .text {padding: 0 0 0 20px; font-size: 1rem; line-height: 1.3rem;}
    #features img {max-width: 60px;}
}

@media (max-width: 380px) { 
    #features img {max-width: 50px;}
    #features-block .case > p span {font-size: 1rem;}
    #features .text {padding: 0 0 0 15px; font-size: 0.9rem; line-height: 1.2rem;}
}



/* Promo */

#promo-block {
    min-height: auto;
    background: var(--color-second-2);
    background: linear-gradient(45deg, var(--color-second-2), var(--color-second));
    color: #fff;
}

#promo-block .case {
    padding: 0;
}

#promo .text h2 {
    margin-bottom: 0;
    padding-right: 50px;
    font-size: 2rem;
    text-align: center;
}

#promo .image {
    flex: 0 0 0%;
}

#promo .image img {
    max-width: 350px;
	max-height: 500px;
    display: block;
    margin-top: -120px;
}


@media (max-width: 1200px) { 
    #promo .image img {max-width: 280px; margin-top: -100px;}
}

@media (max-width: 992px) { 
    #promo .text h2 {font-size: 1.4rem;}
    #promo .image img {max-width: 200px; margin-top: -70px;}
}

@media (max-width: 768px) { 
    #promo .text h2 {font-size: 1.4rem;}
    #promo .image img {max-width: 180px; margin-top: -50px;}
}

@media (max-width: 768px) { 
    #promo .text h2 {padding-right: 30px; text-align: right; font-size: 1.2rem;}
    #promo .image img {max-width: 150px; margin-top: -30px;}
}

@media (max-width: 480px) { 
    #promo .image {flex: 0 0 100%;}
    #promo .image img {max-width: 180px; margin: 30px auto 0;}
    #promo .text h2 {
        padding-right: 0;
        padding-top: 40px;
        text-align: center;
        font-size: 1.5rem;
        font-weight: 600;
    }
}

@media (max-width: 380px) { 
    #promo .text h2 {padding-top: 30px; font-size: 1.4rem;}
}



/* Form */

#form-block {
    /* background: var(--color-second); */
    min-height: auto;
}


#form-block .image {
    height: 100%;
    position: relative;
}

#form-block .image img {
    position: absolute;
    /* left: 0; */
    width: 100%;
    height: 100%;
    object-fit: cover;
}


#form-block h2 {
    text-align: left;
    /* padding-left: 50px; */
    /* color: #fff; */
}

#form-block h2:after {
    left: 0;
    /* margin-left: 50px; */
    width: 75px;
}


/* #form {
    padding-left: 50px;
} */

.shift {
    /* transform: translateX(-60px); */
    position: relative;
    background: #fff;
    padding: 60px;
    /* border: 10px solid #f7f7f7;
    border-radius: 5px; */
}

.shift h2 {
    color: initial;
    margin-bottom: 30px;
    font-size: 2rem;
}


#form-block .image-cont {
    padding-right: 0;
}

#form-block .form-cont {
    padding-left: 0;
}


@media (max-width: 992px) { 
    #form-block .image-cont {width: 40%;}
    #form-block .form-cont {width: 60%;}
    .shift h2 {font-size: 1.8rem;}
}

@media (max-width: 768px) { 
    #form-block .image-cont {width: 35%;}
    #form-block .form-cont {width: 65%;}
    .shift {padding: 30px;}
    .shift h2 {font-size: 1.6rem;}
}

@media (max-width: 576px) { 
    #form-block .image-cont {width: 100%; padding-right: calc(var(--bs-gutter-x) * .5);}
    #form-block .form-cont {width: 100%; padding-left: calc(var(--bs-gutter-x) * .5);}
    #form-block .image {height: 200px;}
    .shift {padding: 50px;}
    .shift h2 {font-weight: 600;}
}

@media (max-width: 480px) { 
    #form-block .image {height: 150px;}
    .shift {padding: 30px;}
}

@media (max-width: 380px) { 
    #form-block .image {height: 120px;}
    .shift {padding: 25px;}
    .shift h2 {font-size: 1.4rem;}
}


/* Map */

#block-map {
    min-height: auto;
}

#block-map > img {
    position: absolute;
    left: 0;
    width: 50%;
    z-index: -1;
    opacity: 0.04;
    height: 100%;
}

#block-map #YMapsID {
    position: absolute;
    background: #f7f7f7;
    width: 50%;
    right: 0;
    height: 100%;
}

#map-contact {
    /* min-height: 500px; */
    display: flex;
    align-items: center;
}

#map-contact .area {
    font-size: 1.2rem;
}

#map-contact .area {
    font-size: 1.2rem;
}

.large-text {
    font-size: 1.5rem;
}

.phone-wa {
    display: flex;
    align-items: center;
}

.phone-wa .wa-link {
    width: 30px;
}

#map-contact h2 {
    text-align: left;
}

#map-contact h2:after {
    display: none;
}

@media (max-width: 992px) { 
    #block-map .text-cont {width: 60%;}
    #block-map .map-cont {width: 40%;}
    #map-contact h2 {margin-bottom: 50px;}
    #block-map #YMapsID {width: 45%;}
}

@media (max-width: 768px) { 
    #block-map > img {width: 100%;}
    #block-map .text-cont {width: 100%;}
    #block-map .map-cont {width: 100%;}
    #block-map #YMapsID {width: 100%; height: 300px; position: relative; margin-bottom: 50px;}
}

@media (max-width: 576px) { 
    #map-contact {justify-content: center;}
}

@media (max-width: 480px) { 
    #map-contact h2 {margin-bottom: 40px; font-size: 1.6rem;}
    #map-contact .area {font-size: 1.1rem;}
}

@media (max-width: 380px) { 
    #map-contact h2 {margin-bottom: 30px;}
    #map-contact .area {font-size: 1rem;}
}




/* Подвал */

body > footer {width: 100%; position: relative;}

#footer-foot {padding: 20px 0; background: var(--color-second-2); color: #fff; text-align: center;}

#footer-foot a {color: #fff;}
#footer-foot a:hover {color: var(--color-main);}

#footer-info {padding: 15px 0;}

@media (max-width: 576px) { 
    body > footer {font-size: 0.9rem;}
}


/* плавное изменение прозрачности  placeholder-а при фокусе */
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder       {opacity: 1; transition: opacity 0.3s ease;}
input::-moz-placeholder, textarea::-moz-placeholder                {opacity: 1; transition: opacity 0.3s ease;}
input:-moz-placeholder, textarea:-moz-placeholder                 {opacity: 1; transition: opacity 0.3s ease;}
input:-ms-input-placeholder, textarea:-ms-input-placeholder            {opacity: 1; transition: opacity 0.3s ease;}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {opacity: 0; transition: opacity 0.3s ease;}
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder        {opacity: 0; transition: opacity 0.3s ease;}
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder           {opacity: 0; transition: opacity 0.3s ease;}
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder      {opacity: 0; transition: opacity 0.3s ease;}


#Go_Top {
	position: fixed;
	right: 5%;
	bottom: -70px;
	z-index: 291; 
	display: block;
    text-align: center;
    font-size: 1.6rem;
    line-height: 55px;
	width: 55px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.8);
    color: #000;
	cursor: pointer;
    border: 2px solid var(--color-lines);
}

#Go_Top i {margin: 0;}
#Go_Top:hover {background: var(--color-main); color: #fff;}
#Go_Top.up {bottom: 70px;}

@media (max-width: 1024px) { #Go_Top {right: 0;}	#Go_Top.up {bottom: 0px;} }
@media (max-width:  576px) { #Go_Top {display: none;} }



.call-item {position: fixed; z-index: 99; width: 90px; height: 90px; right: 5%; bottom: 50%;}

.call-item a {
    background: #8BC34A;
    color: #fff;
    text-decoration: none;
    position: fixed;
    z-index: 999;
    height: 90px;
    width: 90px;
    text-align: center;
    border-radius: 100%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.call-item a:hover {background: #4CAF50; color: #fff;}

.call-item i {/*position: absolute; right: 25px; top: 18px;*/ font-size: 2rem; margin-right: 0;}

/* .call-item small {
    position: absolute;
    line-height: 14px;
    bottom: 12px;
    right: 0;
    width: 100%;
    text-align: center;
    font-size: 0.8rem;
} */

.dot {
    height: 90px;
    width: 90px;
	position: absolute;
	top: 0;
    border-radius: 100%;
    animation: sploosh 3s cubic-bezier(0.165, 0.84, 0.44, 1);
    background: #4CAF50;
}

@keyframes sploosh {
	0% {
		transform: scale(1);
		opacity: 0.7;  
	}
	100% {
		transform: scale(1.5);
		opacity: 0;
	}
}


@media (max-width: 992px) {
	.call-item {width: 70px; height: 70px;}
	.call-item i {right: 8px; top: 15px; font-size: 1.6rem;}
	.call-item a {width: 70px; height: 70px;}
	.dot {width: 70px; height: 70px;}
}

@media (max-width: 576px) {
	.call-item {width: 50px; height: 50px; bottom: 150px;}
	.call-item i {right: 8px; top: 15px; font-size: 1.2rem;}
	.call-item a {width: 50px; height: 50px;}
	.call-item a small {display: none;}
	.dot {width: 50px; height: 50px;}
}