/* --------------------------------- */
.containerWrapper { width: 100%; max-width: 1540px; min-width: 540px; padding: 0 84px; box-sizing: border-box; margin: 0 auto; position: relative; }
.containerContent { padding: 50px 0 50px 0; overflow: hidden; position: relative; }
.containerPage { min-width: 540px; box-sizing: border-box; background: url(../img/back.png) center top repeat; background-size: 100% auto;}
body.inside .containerPage { overflow-x: hidden; }
.vertical-line { position: fixed;  top: 0; right: 0; left: 80px; display: block;  height: 100%; margin: 0 auto; pointer-events: none; border-left: 1px solid #e5e5e5;}
.vertical-line:before { position: absolute; z-index: 0; top: 0; right: 0; left: 0; display: none; width: 320px; height: 100%; margin: 0 auto; content: ""; pointer-events: none; border-right: 1px solid #e5e5e5; border-left: 1px solid #e5e5e5;}
h2 { margin-bottom: 30px!important; }
.containerView--content--present p { line-height: 26px;}
/* --------------------------------- */
.containerMenu { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000; background: rgb(252 176 65 / 90%); }
.containerMenu--container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; display: inline-grid; justify-content: center; align-content: center; }
.containerMenu--close { position: absolute; top: 60px; right: 60px; font-size: 60px; cursor: pointer; color: #fff; }
.containerMenu--content { position: relative; display: inline-block; text-align: left; margin-bottom: -200px; opacity: 0; visibility: hidden; transition: all .3s; }
.containerMenu--content.active { margin-bottom: 0; opacity: 1; visibility: visible; }
.containerMenu--content a { display: block; color: #fff; font-size: 24px; font-weight: 600; padding: 10px 0; border-bottom: 2px solid #ffffffcc; }
.containerMenu--content ul li ul li a { font-size: 18px; padding: 7px 0 7px 30px; color: rgba(255,255,255,0.7); }
.containerMenu--content a:last-child { border-bottom: none; }
/* --------------------------------- */
.mapBlock--image { width: 30%; float: left; padding: 10px; box-sizing: border-box; }
.mapBlock--map {padding: 10px; box-sizing: border-box; width: 70%; float: left; }
/* --------------------------------- */
.containerHeader { position: relative; overflow: hidden; }
.containerHeader .containerHeader--first { height: 140px; }
.containerHeader .containerHeader--logotype { float: left; margin-left: 80px; margin-top: 25px; }
.containerHeader .containerHeader--logo { display: block; width: 113px; height: 120px; background: url('../img/logo.png') no-repeat; background-size: contain;}
.containerHeader .containerHeader--first .containerHeader--burger { margin: 20px 0 0 30px;  border-radius: 40px; background: #fcb040; display: block; float: left; width: 75px; height: 75px; box-sizing: border-box; padding: 25px 23px; cursor: pointer; }
.containerHeader .containerHeader--first .containerHeader--burger .burger--element { float: right; width: 100%; border-radius: 4px; height: 4px; background: #fff; margin: 3px 0; }
.containerHeader .containerFirst--menu { float: left; margin: 40px 0 0 40px;}
.containerHeader .containerFirst--menu ul li { display: inline-block; font-size: 17px; color: #000; padding: 10px 15px; font-weight: 700; position: relative;}
.containerHeader .containerFirst--menu ul li a { color: #000;}
.containerFirst--block { max-width: 365px; float: right; margin: 35px 80px 0 0; }
.containerFirst--logoFg { float: right; margin: 35px 80px 0 0; }
.containerFirst--block .containerFirst--slogan { margin-bottom: 15px;}
.containerHeader .containerFirst--button a { background: #666; color: #fff; padding: 10px 40px; border-radius: 10px; display: block; }
.containerHeader .containerFirst--button img { padding: 8px 0; margin-left: 50px;}
.containerHeader--social { display: block; position: relative; float: right; margin-top: 40px; }
.containerHeader--social a { margin-left: 10px;}

/* --------------------------------- */
.containerContent--button { background: #fcb040; padding: 10px 25px; border-radius: 10px; color: #000; display: block; margin-top: 30px;}
.containerContent--button--reestr { font-weight: 700; color: #000;  margin-top: 30px; display: block; position: relative; }
.containerContent--button--reestr span { display: block; text-transform: uppercase; font-size: 18px;}
.containerContent--button--reestr img { filter: contrast(0.5); float: right; padding: 7px 0 0 0; position: absolute; right: 0; bottom: 20px;}
.containerContent--button img { filter: invert(1); float: right; padding: 9px 0 0 0;}

.containerContent--wrapper {width: calc(100% + 40px); left: -20px; position: relative; display: inline-block; }
.containerContent--wrapper .containerContent--element { width: 33.333%; float: left; padding: 0 20px; box-sizing: border-box; display: block; position: relative;}
.containerContent--wrapper .containerContent--element:before {  content: ""; background: #ddd; position: absolute; top: 0; right: 0; height: 5px; width: 5px;}
.containerContent--wrapper .containerContent--element:after { content: ""; background: #ddd; position: absolute; bottom: 0; right: 0; height: 100%; width: 1px;}
.containerContent--wrapper .containerContent--element.two:after { height: 90%;}
.containerContent--wrapper .containerContent--element.three:after {height: 80%; }
.containerContent--wrapper .containerContent--element.two:before { top:10%; }
.containerContent--wrapper .containerContent--element.three:before { top:20%; }

.containerContent--wrapper .containerContent--element.two { padding: 50px 20px 70px 20px; }
.containerContent--wrapper .containerContent--element.three { padding: 250px 20px 0 20px; }

.containerContent--wrapper .containerContent--element .containerContent--block { margin-bottom: 40px;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--logo { padding: 0 20px;  margin-bottom: 50px;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--image { text-align: center; margin-bottom: 50px;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--image.minBottom { margin-bottom: 30px;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--image img { max-width: 100%;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--text { padding: 0 20px;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--text.bigindent { padding: 0 20px 50px 20px;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--text h2 { font-size: 20px; font-weight: 400; color: #000;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--text h2 a { color: #000;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--text h2 span { font-size: 25px; font-weight: 400; color: #000; }
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--topText {  padding: 0 20px; font-size: 28px;}
.containerContent--wrapper .containerContent--element .containerContent--block .containerContent--topText p { font-size: 19px;}
    /* --------------------------------- */
.containerView { padding: 50px 0; }
.containerView .containerView--title h1 { font-size: 40px; font-weight: 700; color: #000; }
.containerView .containerView--bread a { font-size: 13px; color: #999; }
.containerView .containerView--content { padding: 50px 0 0 0; overflow: hidden; }
.containerView .containerView--content .containerView--content--left { float: left; width: 270px; position: relative; overflow: hidden; }
.containerView .containerView--content .containerView--content--right { margin-left: 300px; }
.containerView .containerView--content .containerView--content--right img { max-width: 100%; }
.containerSeo { padding: 100px 0; line-height: 21px; }
.containerSeo h2 { font-size: 40px; line-height: 70px; }
.containerSeo p:last-child { margin-bottom: 0; }


.containerFooter {  padding: 40px 80px; overflow: hidden; color: #000; border-top: 1px solid #d5d5d5; }
.containerFooter a { color: #000; }
.containerFooter .containerFooter--times { float: left; margin-right: 65px; }
.containerFooter .containerFooter--times a { display: block; font-size: 21px; font-weight: 500; }
.containerFooter .containerFooter--times a.none { font-size: 18px; }
.containerFooter .containerFooter--menu { float: left; margin-right: 65px; }
.containerFooter .containerFooter--menu a { padding: 0 10px 0 0; color: #000; }
.containerFooter .containerFooter--copyrights { float: right; text-align: right; }
.containerFooter .containerFooter--contacts a {font-size: 20px; font-weight: 600; }
.containerFooter .containerFooter--first { overflow: hidden; padding-bottom: 20px; }
.containerFooter .containerFooter--second { overflow: hidden; }
.containerFooter .containerFooter--right { margin-left: 315px; line-height: 24px; }
.containerFooter .containerFooter--right span { padding-top: 5px; display: block; }
.containerFooter .containerFooter--right h3 { font-weight: 500; font-size: 18px; padding-bottom: 10px; color: #000; }
.containerFooter .containerFooter--left { float: left; width: 250px; }
.containerFooter .containerFooter--left .containerFooter--logotype { float: left; }
.containerFooter .containerFooter--left .containerFooter--logotype .containerFooter--logo { display: block; width: 97px; height: 76px; background: url('../img/logo.png') no-repeat; background-size: contain; }
.containerFooter .containerFooter--socials { padding-top: 20px; }
.containerFooter .containerFooter--socials a { float: right; margin-right: 10px; margin-top: 20px; }
.containerFooter .containerFooter--copyrights { clear: both; width: 100%; padding-top: 40px; }
.containerFooter .containerFooter--copyrights a { font-size: 15px; display: inline-block; }
.containerFooter .containerFooter--times.graph { float: right; text-align: right; margin-right: 0; }
.containerFooter--contacts { display: block; float: right; }

/* --------------------------------- */
.containerObjects { display: inline-block; width: calc(100% + 20px); left: -10px; position: relative; }
.containerObjects .containerObjects--element { float: left; width: 25%; padding: 0 10px; box-sizing: border-box; margin-bottom: 20px; }
.containerObjects .containerObjects--element a { height: 300px; background-size: cover; display: block; position: relative; color: #fff; width: 100%; transition: all .3s; border-radius: 12px; overflow: hidden; }
.containerObjects .containerObjects--element img { max-width: 100%; }
.containerObjects .containerObjects--element a:hover { transform: scale(1.05); }
.containerObjects .containerObjects--element a h3 { position: absolute; bottom: 0; left: 0; padding: 20px; width: 100%; background: rgb(4 4 4 / 64%); box-sizing: border-box; font-size: 14px; font-weight: 400; text-align: center; color: #fff; }
.containerObjects .containerObjects--element a h3:empty { padding: 0; }
.containerObject--element img { border-radius: 12px; }

.containerPrises { position: relative; padding: 50px 0;  }
.containerPrises .containerPrises--title { font-size: 30px; font-weight: 900; color: #000000; margin-bottom: 20px; }
.containerPrises .containerPrises--element { border-bottom: 1px solid #cacaca; overflow: hidden; margin-bottom: 15px; }
.containerPrises .containerPrises--element { cursor: pointer; }
.containerPrises .containerPrises--element:last-child { margin-bottom: 0; }
.containerPrises .containerPrises--element .containerPrises--element--header { padding: 15px; }
.containerPrises .containerPrises--element .containerPrises--element--plus { float: right; height: 24px; width: 24px; cursor: pointer; text-align: center; }
.containerPrises .containerPrises--element .containerPrises--element--plus img { position: relative; top: 1px; transition: all .3s; }
.containerPrises .containerPrises--element .containerPrises--element--plus.active img { transform: rotate(180deg); }
.containerPrises .containerPrises--element .containerPrises--element--title { margin-right: 40px; line-height: 24px; font-size: 20px; font-weight: 700; color: #000; }
.containerPrises .containerPrises--element .containerPrises--element--content { display: none; padding: 0px 30px 20px; line-height: 24px; color: #333; }


.activeBlock { width: 100%; display: inline-block; position: relative; margin-bottom: 30px; }
.activeBlock .activeBlock--element { display: block; position: relative; width: 50%; box-sizing: border-box; padding: 10px 60px; float: left; }
.a.activeBlock .activeBlock--elementctiveBlock .activeBlock--element .activeBlock--element--image { position: absolute; right: 0; }

.activeBlock--element--image img { max-width: 110px!important;}
.activeBlock .activeBlock--element ul { margin-top: 40px;}
.activeBlock .activeBlock--element ul li { margin-bottom: 20px; }
.activeBlock .activeBlock--element.right { float: right; }

.orangeBlock { border: 2px solid #fcb040; display: inline-block; padding: 10px 30px; margin-bottom: 17px; margin-right: 20px; border-radius: 10px; }
.orangeBlockMain { width: 100%; position: relative; display: inline-block;}
.orangeBlockElement { float: left; box-sizing: border-box; width:33.333%; display: inline-block; padding: 20px; }
.orangeBlock-big { background: url('../img/bg1.png') no-repeat; background-size: contain; font-size:20px; min-height: 65px;  color: #000; padding: 40px 30px;  border-radius: 10px; text-align: center; }
.orangeBlock-big a {font-size:20px; color: #000;}
.iconBlock { margin-bottom: 30px;}
.iconBlock a { margin-right: 5px;}

.iconBlockMain { width: 100%; display: inline-block; position: relative; margin-bottom: 30px;  }
.iconBlockMain .iconBlock--element { width: 25%; float: left; padding: 15px; box-sizing: border-box; }
.iconBlockMain .iconBlock--element .iconBlock--image { text-align: center; margin-bottom: 15px; }
.iconBlockMain .iconBlock--element .iconBlock--image img { max-width: 120px;  -webkit-transform: scale(1); transform: scale(1); -webkit-transition: .6s ease-in-out; transition: .4s ease-in-out;}
.iconBlockMain .iconBlock--element:hover img { -webkit-transform: scale(1.2); transform: scale(1.2);  }
.iconBlockMain .iconBlock--element .iconBlock--text { min-height: 110px; text-align: center;}
.listBullet { padding: 0!important;  }

.listBullet li { list-style: none; background: url('../img/bullet.png') no-repeat 0 6px; padding-left: 50px; margin-bottom: 20px;}


.containerVideosArticles {display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 30px; row-gap: 40px; margin-bottom: 55px;}
.containerVideosArticles--element { border-bottom: 1px solid #DDDDDD; padding-bottom: 40px;}
.containerVideosArticles--element:hover .containerVideosArticles--element--image a::before {opacity: 0.5;}
.containerVideosArticles--date {font-size: 14px; display: inline-block; margin-bottom: 5px; color: #999999;}
.containerVideosArticles--title a{font-size: 24px; color: #000000;}
.containerVideosArticles--element--image {height: 283px; overflow: hidden; width: 100%; margin-bottom: 15px;position: relative;}
.containerVideosArticles--element--image a{display: flex; width: 100%; height: 100%;position: relative;}
.containerVideosArticles--element--image a::before {content: ''; width: 64px; height: 64px; position: absolute; background-repeat: no-repeat; background-position: center; background-size: contain; background-image: url('../img/button.svg'); left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1; transition: all 0.3s ease-in-out;}
.containerVideosArticles--element--image img {object-fit: cover; height: 100%; width: 100%;}
/* --------------------------------- */
@media screen and (max-width: 1750px){
    .containerHeader .containerFirst--menu ul li { padding: 10px; }
}
@media screen and (max-width: 1665px){
    .containerHeader .containerFirst--menu { display: none;}
}


@media screen and (max-width: 1490px){
    .containerContent--wrapper .containerContent--element { width: 50%;}
    .containerContent--wrapper .containerContent--element.three { padding: 0 20px 0 20px; }
    .orangeBlockElement { width: 50%;}
    .orangeBlock-big { padding: 65px 30px; }

}

@media screen and (max-width: 1200px){
    .containerWrapper { padding: 0 50px; }
}

@media screen and (max-width: 1000px){
    .containerContent--services .containerContent--services--content .containerContent--services--content--block { width: 50%;}
    .containerContent--services--content .containerContent--services--content--block .containerContent--services--content--text { min-height: 100px; }
    .containerContent--services .containerContent--services--content .containerContent--services--element { width: 100%; }
    .containerFooter .containerFooter--menu { display: none; }
    .containerFooter .containerFooter--right { margin-left: 0; clear: both; padding-top: 30px; }

    .containerObjects .containerObjects--element { width: 50%; }
}

@media screen and (max-width: 992px) {
    .containerVideosArticles {grid-template-columns: repeat(1, 1fr); margin-bottom: 35px;}
    .containerVideosArticles--element {padding-bottom: 20px;}
}

@media screen and (max-width: 790px){
    .containerContent--wrapper .containerContent--element { width: 100%;}
    .containerContent--wrapper .containerContent--element.two { padding: 50px 20px 0 20px; }
    .vertical-line { left: 25px;}
    .orangeBlockElement { width: 100%;}
    .containerVideosArticles {column-gap: 20px; row-gap: 20px;}
}

@media screen and (max-width: 700px){
    .mapBlock--image { width: 100%; }
    .mapBlock--map {width: 100%; }
    .containerFooter--contacts { float: left; }
    .containerFirst--block { display: none;}
    .containerHeader .containerHeader--first { height: 105px; }
    .containerHeader .containerHeader--logotype { margin-left: 45px;}
    .containerView .containerView--content .containerView--content--right img { box-sizing: border-box; }
    .activeBlock .activeBlock--element { width: 100%; padding: 0;}
    .iconBlockMain .iconBlock--element { width: 50%;}
    .iconBlockMain .iconBlock--element .iconBlock--text { min-height: 135px;}
    .containerHeader--socials { padding: 46px 0;}
    .pageImage { float: none; padding: 0 0 20px 0; width: 100%; }
    .containerFooter .containerFooter--socials { float: left; }
    .containerContent--services--content .containerContent--services--content--block { width: 100%;}
     .containerContent--services .containerContent--services--content .containerContent--services--content--block { width: 100%;}
    .containerFooter .containerFooter--times.graph { float: left; text-align: left; padding-top: 10px; }
    .containerFooter .containerFooter--copyrights { text-align: left; }

    .containerObjects .containerObjects--element { width: 100%; }
    .containerPage { height: auto; }
     .containerView .containerView--content .containerView--content--left { width: 100%; }
    .containerView .containerView--content .containerView--content--right { margin-left: 0; clear: both; }
    .containerView .containerView--content .containerView--content--right img { max-width: 100%; }

}
section.banner img,
section.banner {
   width: 100%;
}

section.banner {
   margin-top: 20px;
}
