@charset "utf-8";
html {width:100%}
body {margin:0; padding:0; height: 100%}
.openArea {overflow: hidden !important; scrollbar-gutter: stable}

.wrapper {width: 100%; overflow: hidden; position: relative}

.ns-fx {display: flex}
.ns-fx > div, .ns-fx > li, .ns-fx > a {display: block; box-sizing: border-box; position: relative}

.m90 {margin-bottom: 90px}

.fon_wrap {margin-bottom: 90px; padding: 90px 0; position: relative; z-index: 1}
.fon_wrap:before {content: ''; display: block; width: 100vw; height: 100%; background: #F0F3FA; position: absolute; top: 0; left: calc((1280px - 100vw) / 2); z-index: 2}
.fon_wrap h2 {position: relative; z-index: 3}
.fon_wrap .cnt-markers {margin-bottom: 0 !important}
.fon_wrap.top {margin-top: -90px !important}
.fon_wrap.top .two-block {margin-bottom: 0 !important}

header, footer {width: 100%; background: #07214E}
header a, footer a {color: #fff; transition: all .2s ease}
header a:hover, header a.active, footer a:hover, footer a.active {color: #fff; opacity: .7}
header li, footer li {padding: 0}
header li:before, footer li:before {display: none}

.head {align-items: center; justify-content: space-between; margin: 0 auto; max-width: 1280px; height: 110px}

.head-logo {padding-right: 40px}
.head-logo > div:nth-child(1) {display: none}

.top-h-menu {display: none}

.head_nav {width: 100%}
.head_nav .nav {align-items: center; justify-content: space-between}

nav a {padding: 0 15px}
nav .child:hover .children, .lang_select span:hover {opacity: .7}
nav .children:after, nav span:after, .lang_select span:after {content: ''; display: inline-block; margin-left: 12px; width: 14px; height: 9px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAJCAYAAAACTR1pAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABXSURBVHgBjc/RDQAQDATQjmAEI9jQKEYyghGMUBUiJW31kvsgfaEAO4gYwBGai/yQqe26lFE5c/MlasUVFW8006npfNPCIuI7SthEBv4jBfuQgP3owSoaxlHEKiQPVakAAAAASUVORK5CYII=") no-repeat}

/*nav span {display: none}*/
nav span {display: block; padding: 0 15px; color: #fff; cursor: pointer}
nav span.active {opacity: .7}

.child_menu, .lang_items {display: none; padding-top: 60px; position: absolute; left: -15px; z-index: 20}
.child_menu ul, .lang_items ul {padding: 19px; border-radius: 16px; background: #07214E; box-sizing: border-box}
.child_menu li, .lang_items li {padding: 5px 0; white-space: nowrap}
.child_menu a:after {display: none}

.top_cnt {align-items: center}
.top_cnt > div:nth-child(1) {text-align: center}
.top_cnt > div:nth-child(2) {padding-left: 45px}
.top_cnt .phone {padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255, .5)}
.top_cnt .mail {padding-top: 1px}

.lang_select {position: relative}
.lang_select span {color: #fff; cursor: pointer}
.lang_select:hover span {opacity: .7}

.lang_items {left: inherit; right: 0}
.lang_items ul {padding: 19px 22px}

footer {padding: 90px 0 55px 0; color: #fff}
footer ul {padding: 0}
footer a {display: inline-block; margin-bottom: 8px}
.footer {margin: 0 auto; justify-content: space-between; max-width: 1280px; position: relative}
.footer > div:nth-child(1) {padding-right: 15px; white-space: nowrap}
.footer > div:nth-child(2) {padding: 0 50px 0 15px}
.footer > div:nth-child(3) {padding-left: 15px; white-space: nowrap}

footer .logo_wrap {margin: 0 auto; max-width: 1280px; height: 22px; position: relative}
footer .logo {width: 90px; height: 64px; position: absolute; bottom: 0}
footer .bottom {justify-content: space-between; margin: 55px auto 0 auto; padding-top: 25px; max-width: 1280px; border-top: 1px solid rgba(255,255,255, .5); font-size: 14px; line-height: 19px}
footer .bottom > div {white-space: nowrap}
footer .bottom > div:nth-child(2), footer .bottom > div:nth-child(3) {padding-left: 25px}
footer .bottom > div:nth-child(4) {width: 300px; text-align: right}

.promo {width: 100%; height: auto; background-position: center center; background-repeat: no-repeat; background-size: cover; color: #fff; position: relative; z-index: 1;}
/*.promo:before {content: ''; display: block; width: 100%; height: 100%; background: linear-gradient(0deg, rgba(3, 28, 75, 0.37), rgba(3, 28, 75, 0.37)), linear-gradient(180deg, rgba(3, 28, 75, 0) 15%, #031C4B 73.17%); position: absolute; top: 0; left: 0; z-index: 2}*/
.promo .video_promo {display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 2; overflow: hidden}
.promo .video_promo video {min-width: 100%; min-height: 100%}
/*.promo .video_promo video {position: relative; display: block; margin: 0 auto; width: 100vw; height: 100%; z-index: 0;} */ 
.promo .promo_bg {display: block; width: 100%; height: 100%; background: linear-gradient(0deg, rgba(3, 28, 75, 0.37), rgba(3, 28, 75, 0.37)), linear-gradient(180deg, rgba(3, 28, 75, 0) 15%, #031C4B 73.17%); position: absolute; top: 0; left: 0; z-index: 3; opacity: .8}

.promo a {color: #fff}
.promo a:hover {color: #fff; opacity: .7}
.promo .wrap {margin: 0 auto; max-width: 1280px; position: relative; z-index: 4}
.promo .title {padding-top: 240px; font: 300 76px/102px "Roboto Condensed", sans-serif}
.promo .text {padding-top: 20px; font-size: 20px; line-height: 27px}
.promo .link {padding: 170px 0 90px 0; justify-content: center; align-items: center; font: 300 33px "Roboto Condensed", sans-serif; line-height: 33px}
.promo .link .arrow {margin: 0 auto; padding-top: 10px; width: 30px; height: 16px; line-height: 16px}
.promo .top_trio {padding-bottom: 115px; font: 300 42px/57px "Roboto Condensed", sans-serif}
.promo .top_trio span {opacity: .35}
.promo .top_trio > div {width: 400px; border-right: 1px solid #fff}
.promo .top_trio > div:nth-child(2) {width: calc(100% - 800px); text-align: center}
.promo .top_trio > div:last-child {border-right: none; text-align: right}
.promo .top_trio > div .txt {display: inline-block; text-align: center}
.promo .top_trio > div:nth-child(3) .txt {display: block; width: 370px}

.top_page_wrap {width: 100%; background-repeat: no-repeat; background-position: bottom center /*bottom -90px center*/; background-size: cover /* 100% 200% */; position: relative; z-index: 1}
.top_page_wrap:before {content: ''; display: block; width: 100%; height: 100%; background: rgba(13, 34, 72, .48); position: absolute; top: 0; left: 0; z-index: 2}
.top_page {margin: 0 auto; max-width: 1280px; color: #fff; position: relative; z-index: 4}
.top_page a {color: #fff}
.top_page a:hover {color: #fff; opacity: .7}
.top_page aside {padding: 95px 0 38px 0}
.top_page .text {padding: 35px 0 95px 0; font-size: 20px; line-height: 27px}
.top_page .text li {padding: 4px 0 4px 32px}
.top_page .text p {padding: 0}

.breadcrumb {display: block}
.breadcrumb > div {display: inline; margin-right: 26px; height: 17px; line-height: 17px; position: relative}
.breadcrumb > div:before {content: ''; position: absolute; top: 10px; right: -16px; width: 4px; height: 4px; border-radius: 50%; background: #fff; overflow: hidden}
.breadcrumb > div:last-child {margin-right: 0; padding-right: 20px}
.breadcrumb > div:last-child:before {display: none}

main {margin: 0 auto 90px auto; padding-top: 90px; max-width: 1280px}

.linehead {flex-wrap: wrap; margin: 20px -14px 76px -14px; width: calc(100% + 28px)}
.linehead > div {padding: 14px; width: calc(100% / 3)}
.linehead > div:last-child {width: 100%}
.linehead .item {padding: 25px; height: 100%; border-radius: 16px; border: 1px solid #285199; box-sizing: border-box}
.linehead .icon {width: 32px; height: 32px; line-height: 0}
.linehead h5 {padding: 18px 0; color: #0C3379}
.linehead ul {padding: 0}
.linehead li {font-size: 14px; line-height: 19px}
.linehead li a {color: #0D2145}
.linehead li a:hover {color: #285199}


.m_cases {position: relative; z-index: 4}
.m_cases .buttons_wrp {justify-content: center; align-items: center}
.m_cases .buttons_wrp > div {margin: 0 14px; width: 300px}

.tabs-wrap {padding: 40px 0}
.tab_name_wrap {width: 100%; overflow: hidden}

.tab_name {padding-bottom: 10px; width: 100%; height: 40px; overflow: hidden; overflow-x: auto}
.tab_name > div, .tab_name > a {margin-right: 36px; padding: 0 16px; height: 38px; width: auto; border-radius: 16px; white-space: nowrap; line-height: 38px; cursor: pointer}
.tab_name > div.active, .tab_name > div:hover, .tab_name > a.active {background: #AAC0E6; color: #0C3379}
.tab_name > a.active {cursor: default}

.tabs_item {display: none; padding-top: 18px}
.tabs_item.active {display: block}
.tabs_item .item {margin: 0 -14px}
.tabs_item .item > div {padding: 0 14px; width: 50%; overflow: hidden}
.tabs_item .item > div:nth-child(1) {padding-right: 20px}
.tabs_item .item > div:nth-child(2) {padding-top: 6px}
.tabs_item .item .img {width: 100%; height: 100%; border-radius: 16px; background-position: center; background-size: cover; background-repeat: no-repeat; overflow: hidden}
.tabs_item .item h3 {padding-top: 12px}

.views_slider .swiper-slide {height: auto}

.slider-arrow {position: absolute; top: 19px; right: 0}
.slider-arrow > div {display: block; width: 87px; height: 17px; cursor: pointer; overflow: hidden; line-height: 0}
.slider-arrow > div:nth-child(2) {margin-left: 24px}
.slider-arrow > div path {fill: #224FA0}
.slider-arrow > div:hover path {fill: #D3D3D3}

.swiper-button-lock {display: none !important}

.news_slider_wrap {margin: 0 auto 90px auto}
.news_slider {padding: 40px 0 30px 0 !important}
.bot_slider {display: block; position: relative}
.bot_slider .wrp_button {margin: 0 auto; width: 408px}

.sl_news {padding: 25px 25px 100px 25px; width: 100%; height: 100%; background: #F0F3FA; border-radius: 16px; box-sizing: border-box; position: relative}
.sl_news .button {position: absolute; left: 25px; bottom: 25px; width: calc(100% - 50px)}
.sl_news .section {padding: 10px 0 19px 0; font-size: 14px;  line-height: 19px}
.sl_news .section a {color: #767C88}
.sl_news .section a:hover {color: #285199}
.sl_news p {display: -webkit-box; padding: 0; line-clamp: 3; -webkit-line-clamp: 3; -webkit-box-orient: vertical;  overflow: hidden}

.blog_slider_content {position: relative; z-index: 5}
.blog_slider {padding: 40px 0 5px 0 !important}
.blog_nav {position: relative}

.sl_blog {width: 100%; height: 100%; box-sizing: border-box; position: relative}
.sl_blog .img {display: block; width: 100%; height: 199px; border-radius: 12px; overflow: hidden; line-height: 0}
.sl_blog .img img {object-fit: cover; height: 100%}
.sl_blog .date {padding: 10px 0; font-size: 14px; color: #767C88; line-height: 19px}
.sl_blog h5 a, .sl_blog h5 a:hover {color: #0D2145}
.sl_blog p {display: -webkit-box; padding: 9px 0 0 0; line-clamp: 4; -webkit-line-clamp: 4; -webkit-box-orient: vertical; color: #767C88; overflow: hidden}

.partners {margin: 0 -14px 90px -14px; width: calc(100% + 28px)}
.partners > div {padding: 0 14px; width: 50%}
.partners h3 {padding-bottom: 25px}

.bot_form {margin: 0 -14px 90px -14px; width: calc(100% + 28px)}
.bot_form > div {padding: 0 14px; width: 50%}
.bot_form p {padding-bottom: 15px; font-size: 20px; line-height: 27px}
.bot_form img {object-fit: cover; height: 100%; border-radius: 24px}
.bot_form.square img {border-radius: 0}
.bot_form .photo_text {position: absolute; left: 34px; bottom: 20px; line-height: 29px}
.bot_form .photo_text span {display: inline-block; padding-bottom: 4px; font-size: 21px; line-height: 34px; position: relative}
.bot_form .photo_text span:before {content: ''; width: 48px; height: 1px; background: #224FA0; position: absolute; bottom: 2px}
.bot_form .form_wrap {padding-right: 112px}
.bot_form .form_wrap > div {padding-top: 8px}
.bot_form .form_wrap > div:last-child {font-size: 12px; line-height: 16px}


.bot_form .frm_left {height: 100%; overflow: hidden}
.bot_form .frm_left .wrp_photo {height: calc(100% - 45px)}
.bot_form .frm_left .photo_text {padding-left: 20px; height: 45px; position: relative; left: inherit; bottom: 0; line-height: 45px;}
.bot_form .photo_text span:before {display: none}



.service_list {flex-wrap: wrap; margin: 20px -14px 90px -14px; width: calc(100% + 28px)}
.service_list > div {padding: 14px; width: 50%}
.service_list > div a {display: block; padding: 25px; width: 100%; height: 294px; color: #fff; border-radius: 16px; background-repeat: no-repeat; background-size: cover; background-position: center; box-sizing: border-box; overflow: hidden; position: relative}
.service_list > div a:before {content: ''; display: block; width: 100%; height: 100%; background: linear-gradient(360deg, rgba(15, 38, 77, 0.74) 23.24%, rgba(12, 51, 121, 0) 100%); position: absolute; left: 0; top: 0; z-index: 2}
.service_list > div .name {position: relative; z-index: 4; width: 100%; height: 100%}
.service_list > div h5 {position: absolute; bottom: 32px}
.service_list > div .line {width: 100%; align-items: center; justify-content: space-between; position: absolute; bottom: 5px}
.service_list > div .line > div:nth-child(1) {width: 75px; height: 1px; background: #fff}
.service_list > div .line > div:nth-child(2) {width: 54px; height: 16px; background: url(images/arrow_white.png) no-repeat}

.cases_slider_wrap {padding: 90px 0 60px 0}
.cases_slider_content {position: relative; z-index: 5}
.cases_slider_content .top_text h2 {padding-bottom: 9px}
.cases_slider_content .top_text p {padding: 0; font-size: 20px; line-height: 27px}
.cases_slider {padding: 40px 0 5px 0 !important}

.cases_nav {padding-top: 40px; position: relative}
.cases_nav .slider-arrow {top: inherit; bottom: 0}

.sl_case {width: 100%; height: 100%; box-sizing: border-box; position: relative}
.sl_case .img {display: block; width: 100%; height: 233px; border-radius: 12px; overflow: hidden; line-height: 0}
.sl_case.square .img, .sl_case.square img {border-radius: 0}
.sl_case .img img {object-fit: cover; height: 100%}
.sl_case h5 {padding-top: 15px; color: #0D2145}
.sl_case p {display: -webkit-box; padding: 5px 70px 0 0; line-clamp: 3; -webkit-line-clamp: 3; -webkit-box-orient: vertical; color: #767C88; overflow: hidden; position: relative}
.sl_case p:before {content: ''; display: block; width: 55px; height: 8px; background: url(images/arrow_blue.png) no-repeat; position: absolute; right: 0; bottom: 0}

.cnt-markers {margin: 14px -14px 90px -14px; flex-wrap: wrap; position: relative; z-index: 5}
.cnt-markers > div {padding: 14px; width: calc(100% / 3)}
.cnt-markers .item {padding: 40px 18px 18px; height: 100%; font: 400 21px/29px "Roboto Condensed", sans-serif; border: 1px solid #6F91CA; border-radius: 16px; box-sizing: border-box; position: relative}
.cnt-markers .item:before {content: ''; display: block; width: 9px; height: 9px; background: #224FA0; position: absolute; top: 18px; left: 18px}
.cnt-markers h5 {padding-bottom: 15px}
.cnt-markers.white .item {background: #fff}  
.cnt-markers.numbers {counter-reset: list1}
.cnt-markers.numbers .item {padding: 60px 18px 18px}
.cnt-markers.numbers .item:before {display: none}
.cnt-markers.numbers .item:before {counter-increment: list1; content: counter(list1, decimal-leading-zero); display: inline-block; width: auto; height: 30px; color: #224FA0; border-bottom: 1px solid #224FA0; background: none; position: absolute; top: 18px; left: 18px}
.cnt-markers.no-mark .item {padding: 18px; font: 400 17px/23px "Noto Sans", sans-serif} 
.cnt-markers.no-mark .item:before {display: none}
.cnt-markers.gray {color: #767C88}
.cnt-markers.gray h5 {color: #0D2145}
.cnt-markers.fours > div {width: 25%}
.cnt-markers.square .item {border: 1px solid #000; border-radius: 0}
.cnt-markers .two {width: 50% !important}
.cnt-markers .img_fon {border-radius: 16px; width: 100%; height: 100%; background-position: center; background-repeat: no-repeat; background-size: cover}

.team {margin: 0 -14px 76px -14px; flex-wrap: wrap}
.team > div {padding: 14px; width: calc(100% / 3)}
.team .item-man {height: 100%; cursor: pointer; position: relative; z-index: 10}
.team .photo {margin-bottom: 15px; height: 430px; border-radius: 12px; overflow: hidden}
.team .photo img {object-fit: cover; width: 100%}
.team .info {padding: 5px 70px 0 0; color: #767C88; /* position: relative */}
/* .team .info:before {content: ''; display: block; width: 55px; height: 8px; background: url(images/arrow_blue.png) no-repeat; position: absolute; right: 0; bottom: 7px} */
.team > div:before {content: ''; display: block; width: 55px; height: 8px; background: url(images/arrow_blue.png) no-repeat; position: absolute; right: 20px; bottom: 15px; z-index: 2}

.blog-list, .cases-list, .news-list {flex-wrap: wrap; margin: 30px -14px 90px -14px}
.blog-list > div, .cases-list > div {padding: 14px; width: 25%}
.news-list > div {padding: 14px; width: calc(100% / 3)}

.blog_item_page .autor_wrap {padding-bottom: 22px; position: relative}
.blog_item_page .autor_wrap:before {content: ''; display: block; width: 100vw; height: calc(100% + 90px); background: #F0F3FA; position: absolute; bottom: 0; left: calc((1280px - 100vw) / 2); z-index: 2}
.blog_item_page .autor {height: 45px; border-bottom: 1px solid #AAC0E6; font: 400 21px/29px "Roboto Condensed", sans-serif; position: relative; z-index: 9}
.blog_item_page .autor a {margin-left: 9px; font: 400 17px/23px "Noto Sans", sans-serif; color: #0C3379}
.blog_item_page .autor a:hover {color: #D3D3D3}
.blog_item_page > div:nth-child(2) {padding-top: 0 !important}
.blog_item_page > div:last-child {margin-bottom: 90px}
.blog_item_page .blue, .blog_item_page .white {padding: 90px 0; position: relative; z-index: 1}
.blog_item_page .blue:before {content: ''; display: block; width: 100vw; height: 100%; background: #F0F3FA; position: absolute; bottom: 0; left: calc((1280px - 100vw) / 2); z-index: 2}
.blog_item_page .blue > div {position: relative; z-index: 4}
.blog_item_page h2 {padding-bottom: 40px}

.two-block-map {margin: 0 -14px 90px -14px}
.two-block-map > div {padding: 14px}
.two-block-map > div:nth-child(1) {width: 30%}
.two-block-map > div:nth-child(2) {width: 70%}
.two-block-map h2 {padding-bottom: 30px}

#map {width: 100%; height: 413px; border-radius: 16px; overflow: hidden}
#map iframe {width: 100% !important; height: 413px}

.system-nav-wrap {justify-content: center;  margin: -30px 0 0 0; padding: 0}
.system-nav {align-items: center; font-size: 21px; font-family: "Roboto Condensed", sans-serif; font-weight: 300; text-align: center}
.system-nav a:hover {color:#fff; text-decoration: none; background: #0C3379}
.system-nav .nav-current-page {margin: 0 7px; width: 38px; height: 38px; color: #fff; background: #0C3379; border-radius: 12px; line-height: 38px}
.system-nav a {margin: 0 7px; width: 38px; height: 38px; border-radius: 12px; color: #0D2145; background: transparent; line-height: 38px; transition: all .2s ease}
.system-nav .nav-forward {margin: 0 7px; padding-top: 2px; width: 38px; height: 38px; border-radius: 12px; line-height: 34px}
.system-nav div.nav-forward svg, .system-nav div.nav-forward:hover svg {fill: #0D2145}
.system-nav .nav-forward svg {fill: #0D2145}
.system-nav .nav-forward:hover svg {fill: #fff}

/* popup */
.popup {display: block; position: fixed; z-index:90002; top: 0; left: 0;  margin:0 ; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(10px); white-space: nowrap; text-align: center; overflow: auto; opacity: 0}
.popup:after {display: inline-block; vertical-align: middle; width: 0; height: 100%; content: ''}
.popup .popup_form {position: relative; display: inline-block; vertical-align: middle; padding: 25px 40px 40px; width: 597px; height: auto; white-space: normal; text-align: left; background: #fff; border-radius: 16px; box-sizing: border-box}
.popup .close_top {position: absolute; top: 40px; right: 40px; width: 22px; height: 22px; cursor: pointer}
.popup .close_top:before, .popup .close_top:after {content: ""; position: absolute; top: 9px; right: 1px; width: 22px; height: 2px; background: #0D2145}
.popup .close_top:before {transform: rotate(45deg)}
.popup .close_top:after {transform: rotate(-45deg)}
.popup .close_top:hover:before, .popup .close_top:hover:after {background: #f00}
.popup span {display: block}
.popup p {font-size: 20px; line-height: 27px}
.popup .row {padding-top: 8px}
.popup .soglasie {font-size: 12px; line-height: 16px}
.popup .info {padding-bottom: 14px}
.popup .info p {padding-bottom: 9px; font-size: 17px; line-height: 23px}
.popup .photo {width: 100%; height: 470px; border-radius: 16px; overflow: hidden}
.popup .photo img {object-fit: cover; width: 100%}

/* fon */
.fon_all {z-index:1000; display: none; position: fixed; top: 0; left: 0; margin: 0; width: 100%; height: 100%; background: rgba(26, 55, 107, .45); backdrop-filter: blur(10px); white-space: nowrap; text-align: center; overflow: auto; opacity: 0}

.boBottom {margin-bottom: 0 !important}
.news-detail .date {margin-bottom: 15px; font-size: 15px; opacity: .8}