@font-face {
    font-family: 'Book Antiqua';
    src: url(../fonts/Book_Antiqua_Bold.ttf) format('truetype');
}

.hidden {
    display: none;
}

.wrapTitle {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.wrapTitle .title {
    font-family: "Book Antiqua";
    font-size: 45px;
    color: #000;
    position: relative;
    display: inline-block;
    margin: 0 auto 10px auto;
    text-transform: uppercase;
}

.wrapFooter .textF .phone small {
    opacity: 1 !important;
}

.wrapPhone .inst {
    display: flex;
    gap: 10px;
    align-items: center;
}

.wrapTitle .title::before {
    content: "";
    width: 95px;
    height: 5px;
    background: #d3b876;
    top: calc(50% - 2px);
    left: -110px;
    position: absolute;
}

.wrapHead .wrapPhone a small {
    opacity: 1 !important;
}

.wrapTitle .title::after {
    content: "";
    width: 95px;
    height: 5px;
    background: #d3b876;
    top: calc(50% - 2px);
    right: -110px;
    position: absolute;
}

.wrapTitle .description {
    font-size: 20px;
    font-weight: 300;
    color: #000;
    margin-bottom: 35px;
    text-transform: uppercase;
    text-align: center;
    display: block;
}

.wrapLabel input {
    width: 10px !important;
    height: 10px !important;
    left: 0 !important;
    top: 0 !important;
    position: absolute !important;
    opacity: 0 !important;
}

body,
html {
    padding: 0;
    margin: 0;
    width: 100%;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1;
    color: #2f281c;
}

main {
    max-width: 1920px;
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 320px;
}

.all_cnt img {
    max-width: 100%;
}

.flexSA {
    display: flex;
    justify-content: space-around;
}

.flexSB {
    display: flex;
    justify-content: space-between;
}

.flexCenter {
    display: flex;
    justify-content: center;
}

.flexAI {
    display: flex;
    align-items: center;
}

.flexW {
    display: flex;
    flex-wrap: wrap;
}

.flexColumn {
    display: flex;
    flex-direction: column;
}

.flexStart {
    display: flex;
    justify-content: flex-start;
}

.flexAiStart {
    display: flex;
    align-items: flex-start;
}

.flexAiEnd {
    display: flex;
    align-items: flex-end;
}

.flexEnd {
    display: flex;
    justify-content: flex-end;
}

.container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
}

.goldButton {
    background: #d3b876;
    font-size: 20px;
    font-weight: normal;
    color: #000;
    border-bottom: 3px solid #917e51;
    border-radius: 5px;
    padding: 18px 25px;
    display: inline-block;
    cursor: pointer;
}


/* header */

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    padding-bottom: 15px;
    transition: .4s;
}

header.active {
    background: #151515;
}

.wrapRightBlockHead {
    width: calc(100% - 410px);
}

.wrapHead .wrapMine ul {
    display: flex;
    justify-content: space-between;
}

.wrapHead .wrapMine ul li a {
    padding: 30px 0;
    display: block;
    font-size: 20px;
    font-weight: 300;
    color: #fff;
    text-decoration: none;
}

.wrapHead .wrapMine ul li a::after {
    content: "•";
    margin: 0 20px;
    color: #d3b876;
}

.wrapHead .wrapMine ul li:last-child a::after {
    display: none;
}

.wrapHead .wrapSocial img {
    width: 30px;
    height: 30px;
}

.wrapHead .wrapSocial {
    margin-right: 20px;
}

.wrapHead .wrapPhone a {
    color: #fff;
    font-size: 19px;
    text-decoration: none;
    font-weight: bold;
}

.wrapHead .wrapPhone a:hover {
    text-decoration: underline;
}

.wrapHead .wrapPhone a span {
    font-size: 30px;
}

.wrapHead .wrapMainAndPhone {
    border-bottom: 2px solid #d3b876;
}

.wrapHead .wrapAdressAndTime {
    font-size: 15px;
    color: #fff;
    margin-top: 15px;
    align-items: flex-start;
}

.wrapHead .wrapAdressAndTime .wrapTime {
    padding-right: 15px;
    display: grid;
    grid-template-columns: 110px calc(100% - 110px);
}

.wrapHead .wrapAdressAndTime .wrapTime p {
    margin: 0;
}

.wrapHead .wrapAdressAndTime .wrapTime p:nth-child(3) {
    grid-column-start: 2;
}


/* end header */


/* TopBanner */

.topBanner {
    position: relative;
    margin-bottom: 100px;
}

.topBanner>img {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    max-width: none;
}

.topBanner .wrapTextTopBanner {
    position: absolute;
    left: calc(((100vw - 1140px) / 2) + 410px);
    top: 295px;
}

.topBanner .wrapTextTopBanner .title {
    font-family: 'Playfair Display', serif;
    font-size: 44px;
    font-weight: bold;
    color: #d3b876;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.topBanner .wrapTextTopBanner .description {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 75px;
    text-transform: uppercase;
}


/* End TopBanner */


/* nashUslug */

.NashUslug {
    margin-bottom: 100px;
}

.wrapNU {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.wrapNU .title {
    font-family: "Book Antiqua";
    font-size: 45px;
    color: #000;
    text-align: center;
}

.itemsNU {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding-bottom: 20px;
    border-bottom: 4px solid #cccccc;
    position: relative;
    margin-bottom: 25px;
}

.itemsNU::after {
    content: '';
    position: absolute;
    border: 10px solid transparent;
    border-top: 10px solid #cccccc;
    bottom: -24px;
    height: 0px;
    z-index: -1;
    left: 50%;
    transform: translateX(-50%);
}

.hiddenItemsNU {
    display: none;
}

.itemNU {
    padding: 30px;
    border-bottom: solid 1px #d3b876;
    border-right: solid 1px #d3b876;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.itemsNU>.itemNU:nth-child(3n) {
    border-right: none;
    padding-right: 0;
}

.itemsNU>.itemNU:nth-child(3n+1) {
    padding-left: 0;
}

.itemsNU>.itemNU:nth-child(-n+3) {
    padding-top: 0;
}

.itemsNU>.itemNU:nth-last-child(-n+3) {
    border-bottom: none;
}

.itemNU .wimg {
    margin-bottom: 20px;
    height: 235px;
    overflow: hidden;
}

.itemNU .wimg img {
    min-height: 100%;
    min-width: 100%;
}

.itemNU .titleNU {
    margin-bottom: 20px;
    min-height: 55px;
    font-family: "Book Antiqua";
    font-size: 23px;
    color: #000;
}

.itemNU .titleName {
    margin-bottom: 0;
    min-height: 55px;
    font-family: "Book Antiqua";
    font-size: 23px;
    color: #000;
}

.itemNU .descriptionNU {
    margin-bottom: 20px;
    min-height: 80px;
    font-size: 16px;
    font-weight: 300;
    color: #000;
}

.itemNU .listUls {
    font-weight: 500;
    font-size: 16px;
    color: #000;
    min-height: 165px;
}

.itemNU .listUls ul {
    margin-top: 15px;
}

.itemNU .listUls ul li {
    margin-bottom: 15px;
    font-weight: 300;
}

.itemNU .wrapPriceAndButton .price {
    font-weight: bold;
    font-size: 30px;
    color: #000;
}

.itemNU .wrapPriceAndButton .price span {
    font-size: 20px;
}

.itemNU .wrapPriceAndButton .buttonNU {
    padding: 15px 35px;
}

.wrapNU .buttonAllNU {
    padding: 15px 20px;
    color: #000;
    border: 1px solid #000;
    border-radius: 5px;
    font-size: 20px;
    text-transform: uppercase;
    font-weight: bold;
    display: none;
    text-decoration: none;
}

.wrapNU .buttonAllNU.active {
    display: inline-block;
}


/* end nashUslug */


/* preim */

.preim {
    margin-bottom: 100px;
}

.itemsP {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px;
    position: relative;
}

.itemP {
    background: #d3b876;
    -webkit-box-shadow: 0px -5px 5px -5px rgba(0, 0, 0, 1) inset;
    -moz-box-shadow: 0px -5px 5px -5px rgba(0, 0, 0, 1) inset;
    box-shadow: 0px -5px 5px -5px rgba(0, 0, 0, 1) inset;
    border-radius: 10px;
    padding: 35px 20px;
    position: relative;
    overflow: hidden;
}

.itemP::before {
    content: "";
    width: 265px;
    position: absolute;
    top: 0;
    height: 300px;
    left: 50%;
    z-index: 1;
    transition: 1s;
    transform: translate(-50%, 100%);
    background: rgb(243, 231, 210);
    background: -moz-radial-gradient(circle, rgba(243, 231, 210, 0.7) 0%, rgba(211, 184, 118, 1) 60%);
    background: -webkit-radial-gradient(circle, rgba(243, 231, 210, 0.7) 0%, rgba(211, 184, 118, 1) 60%);
    background: radial-gradient(circle, rgba(243, 231, 210, 0.7) 0%, rgba(211, 184, 118, 1) 60%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#f3e7d2", endColorstr="#d3b876", GradientType=1);
}

.itemP.shown::before {
    transform: translate(-50%, -50%);
}

.fiveItemP {
    grid-column-start: span 2;
    text-align: center;
    padding: 0;
    overflow: visible;
    position: relative;
    background: #d3b876;
    border-radius: 10px;
    border-bottom: 3px solid #b9a359;
}

.wrapFiveItemP {
    padding: 35px 60px;
    background: none;
    z-index: 10;
    position: relative;
    box-shadow: none;
}

.fiveItemP::after {
    content: url("../images/molot.webp");
    position: absolute;
    bottom: -5px;
    left: -135px;
    z-index: 5;
}

.itemP .textP,
.itemP .titleP {
    z-index: 2;
    position: relative;
}

.itemP .titleP {
    margin-bottom: 20px;
    font-size: 22px;
    color: #000;
    text-transform: uppercase;
    font-family: "Book Antiqua";
}

.itemP .textP {
    font-size: 17px;
    font-weight: 300;
    color: #000;
    line-height: 23px;
}

.itemP .textP a {
    font-size: 17px;
    font-style: italic;
    font-weight: 300;
    color: #000;
    text-decoration: none;
}

.itemP .textP a:hover {
    text-decoration: underline;
}

.wrapForm {
    margin-top: 15px;
    display: flex;
    justify-content: center;
}

.wrapForm form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 35px;
    grid-row-gap: 15px;
}

.wrapForm form input {
    font-size: 17px;
    font-weight: 300;
    color: #353535;
    padding: 15px 10px;
    border: none;
    border-radius: 5px;
    background: #e9dcbb;
}

.wrapForm form button {
    font-size: 18px;
    font-weight: 300;
    color: #222222;
    padding: 15px 10px;
    border: none;
    border-radius: 5px;
    background: #e0ddd6;
    border-bottom: 3px solid #917e51;
}

.wrapForm form .wrapLabel {
    width: 100%;
    display: flex;
    align-items: center;
    color: #353434;
    font-size: 13px;
    font-weight: 300;
}

.wrapForm form .wrapLabel label {
    padding-left: 25px;
    position: relative;
}

.wrapForm form .wrapLabel a {
    color: #717171;
    font-size: 13px;
    font-weight: 300;
}

#checkF:checked+label::after {
    position: absolute;
    left: 8px;
    top: calc(50% - 10px);
    text-align: center;
    content: "\2713";
    font-family: "ProximaNova-Bold";
    font-size: 14px;
}

.wrapForm form label::before {
    content: '';
    position: absolute;
    left: 5px;
    top: calc(50% - 6px);
    width: 12px;
    height: 12px;
    border: 1px solid #2b2523;
}


/* end preim */


/* aboutCompany */

.aboutCompany {
    margin-bottom: 100px;
}

.wrapAC .wrapTitle {
    margin-bottom: 50px;
}

.itemsAC {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.itemAC .wImg {
    margin-bottom: 45px;
    height: 115px;
    text-align: center;
}

.itemAC .textAC {
    font-family: "Book Antiqua";
    font-size: 23px;
    line-height: 25px;
    text-align: center;
}


/* end aboutCompany */


/* staticForm */

.staticForm {
    background: url("../images/bgConsul.webp") center center no-repeat;
    padding: 80px 0;
    background-size: cover;
    margin-bottom: 100px;
}

.staticForm .title {
    color: #d3b876;
    font-size: 55px;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.staticForm .description {
    font-weight: 300;
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 35px;
    text-align: center;
    color: #fff;
}

.staticForm .wrapForm form {
    grid-template-columns: repeat(3, 1fr);
    padding: 25px 15px;
    background: #d3d3d3;
    border-radius: 10px;
}

.staticForm .wrapForm form input {
    background: #fff;
    color: #000;
}

.staticForm .wrapForm form .wrapLabel {
    grid-column-start: span 3;
    justify-content: flex-end;
    width: 100%;
    position: relative;
}

.staticForm .wrapForm form button {
    background: #d3b876;
    font-size: 20px;
    font-weight: normal;
    color: #000;
    border-bottom: 3px solid #917e51;
    border-radius: 5px;
    padding: 18px 25px;
    display: inline-block;
}

#checkStat:checked+label::after {
    position: absolute;
    left: 6px;
    top: calc(50% - 6px);
    text-align: center;
    content: "\2713";
    font-family: "ProximaNova-Bold";
    font-size: 14px;
}


/* end staticForm */


/* Context */

.Context {
    margin-bottom: 100px;
}

.Context .wrapImgText img {
    width: 360px;
}

.Context .wrapImgText .textC {
    width: calc(100% - 400px);
    padding-top: 50px;
    margin-bottom: 25px;
}

.Context .wrapImgText .textC .title {
    color: #a8925d;
    font-family: "Book Antiqua";
    font-size: 25px;
    line-height: 25px;
    margin-bottom: 35px;
    text-indent: 1.5em;
}

.Context .wrapImgText .textC p {
    font-size: 20px;
    font-weight: 300;
    line-height: 25px;
    color: #000;
    margin: 0;
    text-indent: 1.5em;
}

.Context p {
    font-size: 20px;
    font-weight: 300;
    margin-bottom: 25px;
    text-indent: 1.5em;
}


/* end Context */


/* otzv */

.otzv {
    margin-bottom: 100px;
}

.itemsO {
    position: relative;
}

.itemsO .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0;
    border: none;
    background: none;
    z-index: 5;
}

.itemsO .slick-prev {
    left: 15px;
}

.itemsO .slick-prev::before {
    content: url("../images/arrow-prev.webp");
}

.itemsO .slick-next {
    right: 15px;
}

.itemsO .slick-next::before {
    content: url("../images/arrow-next.webp");
}

.itemO {
    padding: 0 15px;
}

.itemO img {
    width: 100%;
    max-height: 360px;
}


/* end otzv */


/* maps */

[class*="ymaps-2"][class*="-ground-pane"] {
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
    /* Firefox 3.5+ */
    -webkit-filter: grayscale(100%);
    /* Chrome 19+ & Safari 6+ */
}


/* maps */


/* vopr */

.vopr {
    background: url("../images/bgVopr.webp") center center no-repeat;
    background-size: cover;
    margin-bottom: 0;
}


/* end vopr */


/* footer */

footer {
    padding: 25px 0 40px;
    background: #363636;
}

.wrapFooter .textF .city {
    font-size: 17px;
    font-weight: 300;
    color: #d3b876;
    margin-bottom: 15px;
    text-align: right;
}

.wrapFooter .textF .city span {
    display: block;
}

.wrapFooter .textF .phone {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.wrapFooter .textF .phone a {
    font-size: 17px;
    font-weight: 300;
    color: #fff;
    text-decoration: none;
}

.wrapFooter .textF .owner {
    font-size: 14px;
    color: rgb(139, 132, 132);
    text-align: right;
    line-height: 1.2;
    font-weight: 300;
}


/* end footer */


/* модальное окно */

.callback-modal {
    max-width: none;
    position: relative;
    width: 630px;
    padding: 0;
}

.callback-modal .callback-modal__form {
    width: 630px;
    padding: 60px 130px 45px;
    max-width: none;
    background: #d3b876;
    border-bottom: 3px solid #917e51;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}

.callback-modal::after {
    content: url("../images/molot.webp");
    position: absolute;
    bottom: -55px;
    right: -80px;
    z-index: 5;
    transform: scaleX(-1);
}

.callback-modal .callback-modal__form::before {
    content: "";
    width: 265px;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 0;
    height: 300px;
    left: 50%;
    z-index: 1;
    transition: 1s;
    background: rgb(243, 231, 210);
    background: -moz-radial-gradient(circle, rgba(243, 231, 210, 0.7) 0%, rgba(211, 184, 118, 1) 60%);
    background: -webkit-radial-gradient(circle, rgba(243, 231, 210, 0.7) 0%, rgba(211, 184, 118, 1) 60%);
    background: radial-gradient(circle, rgba(243, 231, 210, 0.7) 0%, rgba(211, 184, 118, 1) 60%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#f3e7d2", endColorstr="#d3b876", GradientType=1);
}

.callback-modal .logoModal {
    margin-bottom: 35px;
    z-index: 10;
    position: relative;
}

.callback-modal .callback-modal__headline {
    font-size: 22px;
    color: #000;
    line-height: 26px;
    text-transform: uppercase;
    font-family: "Book Antiqua";
    margin-bottom: 30px;
}

.callback-modal .callback-modal__headline2 {
    font-size: 17px;
    font-weight: 300;
    color: #000;
    line-height: 23px;
    margin-bottom: 20px;
    text-align: center;
}

.callback-modal form {
    display: flex;
    flex-direction: column;
    z-index: 5;
    position: relative;
}

.callback-modal form input {
    font-size: 17px;
    font-weight: 300;
    color: #353535;
    padding: 15px 10px;
    border: none;
    border-radius: 5px;
    background: #e9dcbb;
    margin-bottom: 20px;
}

.callback-modal form button {
    font-size: 18px;
    font-weight: 300;
    color: #222222;
    padding: 15px 10px;
    border: none;
    border-radius: 5px;
    background: #e0ddd6;
    border-bottom: 3px solid #917e51;
    display: block;
    margin-bottom: 35px;
}

.callback-modal form .wrapLabel {
    width: 100%;
    display: flex;
    align-items: center;
    color: #353434;
    font-size: 13px;
    font-weight: 300;
    justify-content: center;
}

.callback-modal form .wrapLabel label {
    padding-left: 25px;
    position: relative;
}

.callback-modal form .wrapLabel a {
    color: #717171;
    font-size: 13px;
    font-weight: 300;
}

#check3:checked+label::after {
    position: absolute;
    left: 8px;
    top: calc(50% - 10px);
    text-align: center;
    content: "\2713";
    font-family: "ProximaNova-Bold";
    font-size: 14px;
}

.callback-modal form label::before {
    content: '';
    position: absolute;
    left: 5px;
    top: calc(50% - 6px);
    width: 12px;
    height: 12px;
    border: 1px solid #2b2523;
}

.callback-modal.textP::after {
    display: none;
}

.callback-modal.textP .callback-modal__form {
    padding: 60px 60px 45px;
}

.callback-modal.textP .textHidden {
    position: relative;
    z-index: 10;
    font-size: 17px;
    font-weight: 300;
    color: #000;
    line-height: 23px;
    text-indent: 1.5em;
}

.wrapHead .wrapPhone a {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wrapHead .wrapPhone a span {
    font-size: 14px;
}

.wrapHead .wrapPhone a img {
    max-width: 30px;
}


/* модальное окно */


/* контенер */

@media screen and (min-width:576px) {
    .container {
        max-width: 540px;
    }
}

@media screen and (min-width:768px) {
    .container {
        max-width: 720px;
    }
}

@media screen and (min-width:992px) {
    .container {
        max-width: 960px;
    }
}

@media screen and (min-width:1200px) {
    .container {
        max-width: 1140px;
    }
}


/* --- effects --*/

.bounceInUp {
    opacity: 0;
    -moz-transform: scale(0.9);
    /* Для Firefox */
    -ms-transform: scale(0.9);
    /* Для IE */
    -webkit-transform: scale(0.9);
    /* Для Safari, Chrome, iOS */
    -o-transform: scale(0.9);
    /* Для Opera */
    transform: scale(0.9);
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
}

.bounceInUp.shown {
    opacity: 1;
    transform: scale(1);
    -moz-transform: scale(1);
    /* Для Firefox */
    -ms-transform: scale(1);
    /* Для IE */
    -webkit-transform: scale(1);
    /* Для Safari, Chrome, iOS */
    -o-transform: scale(1);
    /* Для Opera */
}