/* Created by Dizzy, info@dizzy.su */

/* Custom fonts */
@font-face {font-family: Montserrat; font-weight: 400; src: url(../fonts/Montserrat.eot); src: url(../fonts/Montserrat.eot?#iefix) format('embedded-opentype'), url(../fonts/Montserrat.woff2) format('woff2')}
@font-face {font-family: Montserrat; font-weight: 600; src: url(../fonts/Montserrat-Medium.eot); src: url(../fonts/Montserrat-Medium.eot?#iefix) format('embedded-opentype'), url(../fonts/Montserrat-Medium.woff2) format('woff2')}
@font-face {font-family: Montserrat; font-weight: 700; src: url(../fonts/Montserrat-Bold.eot); src: url(../fonts/Montserrat-Bold.eot?#iefix) format('embedded-opentype'), url(../fonts/Montserrat-Bold.woff2) format('woff2')}

/* Main defaults */
* {font-size: 100%; outline: none; list-style: none; margin: 0; padding: 0}
body, input {background: #fff; color: #000; font: 400 16px Montserrat, helvetica, arial, tahoma, verdana; cursor: default; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%}
img {border: none; display: block}
h3 {font-weight: 700; font-size: 46px; text-transform: uppercase; text-align: center; margin-bottom: 70px}
h5 {font-weight: 700; font-size: 24px; margin-bottom: 20px}
address {font-style: normal}
p:not(:last-child) {margin-bottom: 20px}
b {font-weight: 700}
a {text-decoration: none; transition: all 0.2s ease}
a:hover {border-color: transparent}

/* Header & Footer */
.topNbottom > .center {padding-top: 35px; padding-bottom: 32px}
.topNbottom .misc {position: absolute; top: 50%; right: 40px; transform: translateY(-50%)}
.topNbottom .misc:after {content: ''; clear: left; display: block}
.topNbottom article {font-size: 14px; position: relative; float: left}
.topNbottom article:first-child {padding-left: 40px}
.topNbottom article:last-child {padding-left: 33px}
.topNbottom article:not(:first-child) {margin-left: 40px}
.topNbottom article:before {content: ''; background-size: 100% 100%; height: 25px; position: absolute; top: 3px; left: 0}
.topNbottom article:first-child:before {background-image: url(../images/icon_phone.png); width: 25px}
.topNbottom article:last-child:before {background-image: url(../images/icon_location.png); width: 18px}
.logo img {width: 352px; display: inline; transition: all 0.2s ease}
header {background: #fff; position: sticky; top: 0; left: 0; right: 0; z-index: 3}
header > .menu {background: #528ac9; box-shadow: 0 0 30px rgba(0, 0, 0, 0.15)}
header > .menu .list {display: flex; justify-content: stretch;}
header > .menu li {width: 100%}
header > .menu a {height: 50px; color: #fff; font-weight: 700; font-size: 16px; white-space: nowrap; display: flex; justify-content: center; align-items: center; padding: 0 30px}
header > .menu a:hover {background: rgba(255, 255, 255, 0.3)}
header > .menu .active {background: rgba(255, 255, 255, 0.2)}
.menuMob, .menuMobIcon {display: none}

/* Content */
.center {max-width: 1210px; position: relative; margin: auto; padding: 0 40px; box-sizing: border-box}
.button {user-select: none}
.arrow {background: #528ac9; width: 52px; height: 52px; border-radius: 10px; cursor: pointer; position: absolute; top: 50%; transform: translateY(-50%); box-shadow: 0 0 30px rgba(0, 0, 0, 0.15); transition: all 0.2s ease}
.arrow.prev {left: 20px}
.arrow.next {right: 20px}
.arrow:before {content: ''; width: 14px; height: 14px; border: 2px #fff solid; border-bottom: none; border-right: none; position: absolute; top: 18px}
.arrow.prev:before {left: 22px; transform: rotate(-45deg)}
.arrow.next:before {right: 22px; transform: rotate(135deg)}
.arrow:hover {opacity: 0.9}
.topBanner {background-size: cover; height: 415px; color: #fff; position: relative; margin-bottom: 50px}
.topBanner:before {content: ''; background: rgba(0, 0, 0, 0.5); position: absolute; top: 0; bottom: 0; left: 0; right: 0}
.topBanner .center {height: 100%; display: flex; align-items: center;}
.topBanner .info {font-size: 22px; text-transform: uppercase; border-left: 6px #ed1c24 solid; margin-left: 100px; padding: 0 0 3px 20px}
.topBanner h3 {text-align: inherit; margin-bottom: 20px}
.topBanner .button {position: absolute; bottom: -15px; right: 40px}
.topBanner .button span {background: #ed1c24; font-weight: 700; font-size: 24px; border-radius: 5px; cursor: pointer; display: block; padding: 15px 60px; transition: all 0.3s ease}
.topBanner .button span:hover {background: #ee6167}
.reasons {display: flex; justify-content: center; padding-top: 50px; margin-bottom: 50px}
.reasons .list {display: flex; justify-content: center}
.reasons li {width: 25%; font-size: 20px; text-align: center; margin: 0 20px}
.reasons img {width: 80px; height: 80px; margin: 0 auto 20px}
.service {position: relative; z-index: 2; padding-top: 50px; margin-bottom: 50px}
.service article {display: flex}
.service article:not(:last-child) {border-bottom: 1px #b8b8b8 solid; margin-bottom: 45px; padding-bottom: 45px}
.service .pic, .service .info {width: 50%; box-sizing: border-box}
.service .pic {padding-right: 30px}
.service .pic img {background: #eee; width: 100%; max-width: 495px; border-radius: 10px}
.service .info {line-height: 24px; display: flex; flex-direction: column}
.service .text {display: flex; flex-direction: column; flex: auto}
.service .text:not(:last-child) {margin-bottom: 10px}
.service .text p:not(:last-child) {margin-bottom: 15px}
.service .bottom .text {font-size: 18px; line-height: 22px}
.service article:nth-child(even) {flex-direction: row-reverse}
.service article:nth-child(even) .pic {padding: 0 0 0 30px}
.service article:nth-child(even) .pic img {float: right}
.service .bottom input {background: #fafafa; width: 92px; height: 40px; font-size: 16px; text-align: center; border: 2px solid #c4c4c4; border-radius: 5px; margin-right: 5px; padding: 0 5px; box-sizing: border-box; transition: all 0.2s ease}
.service .bottom input:last-of-type {margin-right: 20px}
.service .bottom input:focus {border-color: #acd7f6; box-shadow: 0 0 5px #acd7f6}
.service .bottom input::placeholder {color: #c4c4c4; font-size: 13px}
.service .bottom input::-webkit-input-placeholder {color: #c4c4c4}
.service .bottom input::-moz-placeholder {color: #c4c4c4}
.service .sum {font-size: 16px; white-space: nowrap; display: inline-block; padding: 7px 0}
.about {position: relative}
.about .bg {background: #528ac9; height: 65vh; display: flex}
.about .col:first-child {background-size: cover; width: 55%; position: relative}
.about .col:first-child:before {content: ''; background: rgba(0, 0, 0, 0.5); position: absolute; top: 0; bottom: 0; left: 0; right: 0}
.about .col:last-child {width: 45%; position: relative}
.about .col:last-child:before {content: ''; background: url(../images/about.png) no-repeat; background-size: auto 100%; height: 300px; position: absolute; top: -123px; left: 25%; right: 0}
.about .info {background: #fff; max-width: 430px; border-radius: 10px; position: absolute; top: 50%; left: 45%; padding: 50px 75px 45px; transform: translateY(-50%); box-shadow: 0 0 30px rgba(0, 0, 0, 0.15); transition: all 0.2s ease}
.about h3 {text-align: left; margin-bottom: 0}
.about .text p:not(:first-child) {font-size: 14px; line-height: 24px}
.about .text p:not(:last-child) {margin-bottom: 30px}
.portfolio {background: #eef4fe; margin-bottom: 50px; padding: 50px 0 20px}
.portfolio .center {padding: 0}
.portfolio h3 {padding-top: 50px}
.portfolio .carousel {position: relative; padding: 0 22px}
.portfolio .list li {margin: 0 10px}
.portfolio img {width: 100%; max-width: 390px}
.portfolio a:nth-child(2) img {margin-top: 24px}
.portfolio .arrow {background: #fff; margin-top: -22px}
.portfolio .arrow:before {border-color: #222}
.clients {padding-top: 50px; margin-bottom: 100px}
.clients img {height: 110px; margin: auto}
.clients .carousel {position: relative; margin: 0 52px}
.clients .arrow {background: #528ac9; display: none}
.clients .prev {left: -72px}
.clients .next {right: -72px}
.contacts {font-size: 14px; position: relative}
.contacts .map {background: #eee; height: 65vh}
.contacts .info {background: #fff; border-radius: 10px; position: absolute; top: 50%; left: 10%; padding: 50px 75px 45px; transform: translateY(-50%); box-shadow: 0 0 30px rgba(0, 0, 0, 0.15); transition: all 0.2s ease}
.contacts h3 {margin-bottom: 25px}
.contacts .phone {font-size: 24px; margin-bottom: 10px}
.contacts .email {font-size: 16px}
.soc {margin-top: 35px}
.soc:after {content: ''; clear: left; display: block}
.soc li {float: left}
.soc li:not(:first-child) {margin-left: 30px}
.soc a {width: 36px; height: 36px; border-radius: 50%; display: flex; justify-content: center; align-items: center}
.soc a:before {content: ''; background-size: 100% 100%; display: block; filter: invert(1)}
.soc a:hover {opacity: 0.7}
.soc .ig a {background: #6a453b}
.soc .ig a:before {background-image: url(../images/soc_ig.png); width: 22px; height: 22px}
.popup {display: none; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 10}
.popup .closeArea {background: rgba(0, 0, 0, 0.7); position: fixed; top: 0; bottom: 0; left: 0; right: 0}
.popup .closeIcon {background: #fff; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; position: absolute; top: 0; right: -60px; box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); transition: all 0.2s ease}
.popup .closeIcon:before, .popup .closeIcon:after {content: ''; background: #00537d; width: 24px; height: 2px; border-radius: 1px; position: absolute; top: 19px; transition: all 0.2s ease}
.popup .closeIcon:before {left: 8px; transform: rotate(-45deg)}
.popup .closeIcon:after {right: 8px; transform: rotate(45deg)}
.popup .closeIcon:hover {transform: rotate(90deg)}
.popup .block {background: #fff; width: 390px; border-radius: 10px; position: fixed; top: 50%; left: 50%; padding: 40px 40px 50px; transform: translate(-50%, -50%); box-sizing: border-box; box-shadow: 0 0 30px rgba(0, 0, 0, 0.15)}
.popup form {transition: all 0.2s ease}
.popup h5 {text-align: center}
.popup p {font-weight: 600; font-size: 14px; margin-bottom: 5px}
.popup .field {margin-bottom: 20px}
.popup input {background: #f8f8f8; width: 100%; height: 48px; border: 1px #e4e4e4 solid; border-radius: 5px; padding: 0 10px; box-sizing: border-box; transition: all 0.2s ease}
.popup input:focus {border-color: #acd7f6; box-shadow: 0 0 5px #acd7f6; transition: all 0.2s ease}
.popup .error, .popup .error:focus {border-color: #df9898; box-shadow: 0 0 5px #df9898}
.popup .button {margin-top: 30px}
.popup .button span {background: rgb(0, 83, 125); color: #fff; font-weight: 700; font-size: 16px; text-transform: uppercase; text-align: center; border-radius: 5px; cursor: pointer; display: block; padding: 15px 10px; transition: all 0.2s ease}
.popup .button span:hover {background: rgba(0, 83, 125, 0.7)}
.popup .result {display: none; position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%)}
.popup .result h5:before {content: ''; background: url(../images/popupResult.png); background-size: 100% 100%; width: 60px; height: 60px; display: block; margin: 0 auto 20px}
.popup .hidden {opacity: 0}

/* Slick */
.slick-slider {position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent}
.slick-list {position: relative; display: block; overflow: hidden; padding: 0}
.slick-list:focus {outline: none}
.slick-list.dragging {cursor: pointer; cursor: hand}
.slick-slider .slick-track, .slick-slider .slick-list {-webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0)}
.slick-track {position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto}
.slick-track:before, .slick-track:after {display: table; content: ''}
.slick-track:after {clear: both}
.slick-loading .slick-track {visibility: hidden}
.slick-slide {display: none; float: left; height: 100%; min-height: 1px}
.slick-slide img {display: block}
.slick-slide.slick-loading img {display: none}
.slick-slide.dragging img {pointer-events: none}
.slick-initialized .slick-slide {display: block}
.slick-loading .slick-slide {visibility: hidden}
.slick-vertical .slick-slide {display: block; height: auto; border: 1px solid transparent}
.slick-arrow.slick-disabled {cursor: default; opacity: 0}
.slick-arrow.slick-hidden {display: none}
.slick-dots {height: 20px; display: flex; justify-content: center; align-items: center; margin-top: 20px}
.slick-dots li {background: #528ac9; width: 12px; height: 12px; border-radius: 50%; cursor: pointer; margin: 0 10px; transition: all 0.2s ease}
.slick-dots .slick-active {background: #00537d}
.slick-dots button {display: none}

/* Fancybox */
.not-selectable{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.carousel{position:relative;box-sizing:border-box}.carousel *,.carousel *:before,.carousel *:after{box-sizing:inherit}.carousel.is-draggable{cursor:move;cursor:grab}.carousel.is-dragging{cursor:move;cursor:grabbing}.carousel__viewport{position:relative;overflow:hidden;max-width:100%;max-height:100%}.carousel__track{display:flex}.carousel__slide{flex:0 0 auto;width:var(--carousel-slide-width, 60%);max-width:100%;padding:1rem;position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.has-dots{margin-bottom:calc(0.5rem + 22px)}.carousel__dots{margin:0 auto;padding:0;position:absolute;top:calc(100% + 0.5rem);left:0;right:0;display:flex;justify-content:center;list-style:none;user-select:none}.carousel__dots .carousel__dot{margin:0;padding:0;display:block;position:relative;width:22px;height:22px;cursor:pointer}.carousel__dots .carousel__dot:after{content:"";width:8px;height:8px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background-color:currentColor;opacity:.25;transition:opacity .15s ease-in-out}.carousel__dots .carousel__dot.is-selected:after{opacity:1}.carousel__button{width:var(--carousel-button-width, 48px);height:var(--carousel-button-height, 48px);padding:0;border:0;display:flex;justify-content:center;align-items:center;pointer-events:all;cursor:pointer;color:var(--carousel-button-color, currentColor);background:var(--carousel-button-bg, transparent);border-radius:var(--carousel-button-border-radius, 50%);box-shadow:var(--carousel-button-shadow, none);transition:opacity .15s ease}.carousel__button.is-prev,.carousel__button.is-next{position:absolute;top:50%;transform:translateY(-50%)}.carousel__button.is-prev{left:10px}.carousel__button.is-next{right:10px}.carousel__button[disabled]{cursor:default;opacity:.3}.carousel__button svg{width:var(--carousel-button-svg-width, 50%);height:var(--carousel-button-svg-height, 50%);fill:none;stroke:currentColor;stroke-width:var(--carousel-button-svg-stroke-width, 1.5);stroke-linejoin:bevel;stroke-linecap:round;filter:var(--carousel-button-svg-filter, none);pointer-events:none}body.compensate-for-scrollbar{overflow:hidden !important;touch-action:none}.fancybox__container{position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;margin:0;padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);box-sizing:border-box;display:flex;flex-direction:column;color:var(--fancybox-color, #fff);-webkit-tap-highlight-color:transparent;overflow:hidden;z-index:1050;transform-origin:top left;--carousel-button-width: 48px;--carousel-button-height: 48px;--carousel-button-svg-width: 24px;--carousel-button-svg-height: 24px;--carousel-button-svg-stroke-width: 2.5;--carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4))}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container :focus{}body.is-using-mouse .fancybox__container :focus{}@media all and (min-width: 1024px){.fancybox__container{--carousel-button-width:48px;--carousel-button-height:48px;--carousel-button-svg-width:27px;--carousel-button-svg-height:27px}}.fancybox__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--fancybox-bg, rgba(24, 24, 27, 0.92))}.fancybox__carousel{position:relative;flex:1 1 auto;min-height:0;height:100%;z-index:10}.fancybox__carousel.has-dots{margin-bottom:calc(0.5rem + 22px)}.fancybox__viewport{position:relative;width:100%;height:100%;overflow:visible;cursor:default}.fancybox__track{display:flex;height:100%}.fancybox__slide{flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:48px 8px 8px 8px;position:relative;overscroll-behavior:contain;display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch;--carousel-button-width: 36px;--carousel-button-height: 36px;--carousel-button-svg-width: 22px;--carousel-button-svg-height: 22px}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}@media all and (min-width: 1024px){.fancybox__slide{padding:64px 100px}}.fancybox__content{margin:0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);padding:36px;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);position:relative;align-self:center;display:flex;flex-direction:column;z-index:20}.fancybox__caption{align-self:center;max-width:100%;margin:0;padding:1rem 0 0 0;line-height:1.375;color:var(--fancybox-color, currentColor);visibility:visible;cursor:auto;flex-shrink:0;overflow-wrap:anywhere}.is-loading .fancybox__caption{visibility:hidden}.fancybox__container>.carousel__dots{top:100%;color:var(--fancybox-color, #fff)}.fancybox__nav .carousel__button{z-index:40}.fancybox__nav .carousel__button.is-next{right:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-next{right:40px}}.fancybox__nav .carousel__button.is-prev{left:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-prev{left:40px}}.carousel__button.is-close{position:absolute;top:8px;right:8px;top:calc(env(safe-area-inset-top, 0px) + 8px);right:calc(env(safe-area-inset-right, 0px) + 8px);z-index:40}@media all and (min-width: 1024px){.carousel__button.is-close{right:40px}}.fancybox__content>.carousel__button.is-close{position:absolute;top:-36px;right:0;color:var(--fancybox-color, #fff)}.fancybox__no-click,.fancybox__no-click button{pointer-events:none}.fancybox__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:50px;height:50px;color:var(--fancybox-color, currentColor)}.fancybox__slide .fancybox__spinner{cursor:pointer;z-index:1053}.fancybox__spinner svg{animation:fancybox-rotate 2s linear infinite;transform-origin:center center;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:100%;height:100%}.fancybox__spinner svg circle{fill:none;stroke-width:2.75;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;animation:fancybox-dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:currentColor}@keyframes fancybox-rotate{100%{transform:rotate(360deg)}}@keyframes fancybox-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.fancybox__backdrop,.fancybox__caption,.fancybox__nav,.carousel__dots,.carousel__button.is-close{opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop,.fancybox__container.is-animated[aria-hidden=false] .fancybox__caption,.fancybox__container.is-animated[aria-hidden=false] .fancybox__nav,.fancybox__container.is-animated[aria-hidden=false] .carousel__dots,.fancybox__container.is-animated[aria-hidden=false] .carousel__button.is-close{animation:.15s ease backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__backdrop,.fancybox__container.is-animated.is-closing .fancybox__caption,.fancybox__container.is-animated.is-closing .fancybox__nav,.fancybox__container.is-animated.is-closing .carousel__dots,.fancybox__container.is-animated.is-closing .carousel__button.is-close{animation:.15s ease both fancybox-fadeOut}.fancybox-fadeIn{animation:.15s ease both fancybox-fadeIn}.fancybox-fadeOut{animation:.1s ease both fancybox-fadeOut}.fancybox-zoomInUp{animation:.2s ease both fancybox-zoomInUp}.fancybox-zoomOutDown{animation:.15s ease both fancybox-zoomOutDown}.fancybox-throwOutUp{animation:.15s ease both fancybox-throwOutUp}.fancybox-throwOutDown{animation:.15s ease both fancybox-throwOutDown}@keyframes fancybox-fadeIn{from{opacity:0}to{opacity:1}}@keyframes fancybox-fadeOut{to{opacity:0}}@keyframes fancybox-zoomInUp{from{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes fancybox-zoomOutDown{to{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}}@keyframes fancybox-throwOutUp{to{transform:translate3d(0, -30%, 0);opacity:0}}@keyframes fancybox-throwOutDown{to{transform:translate3d(0, 30%, 0);opacity:0}}.fancybox__carousel .carousel__slide{scrollbar-width:thin;scrollbar-color:#ccc rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar{width:8px;height:8px}.fancybox__carousel .carousel__slide::-webkit-scrollbar-track{background-color:rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:2px;box-shadow:inset 0 0 4px rgba(0,0,0,.2)}.fancybox__carousel.is-draggable .fancybox__slide,.fancybox__carousel.is-draggable .fancybox__slide .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel.is-dragging .fancybox__slide,.fancybox__carousel.is-dragging .fancybox__slide .fancybox__content{cursor:move;cursor:grabbing}.fancybox__carousel .fancybox__slide .fancybox__content{cursor:auto}.fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content{cursor:zoom-in}.fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content{cursor:zoom-out}.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel .fancybox__slide.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__image{transform-origin:0 0;touch-action:none;user-select:none;transition:none}.has-image .fancybox__content{padding:0;background:transparent;min-height:1px}.is-closing .has-image .fancybox__content{overflow:visible}.has-image[data-image-fit=contain]{overflow:visible;touch-action:none}.has-image[data-image-fit=contain] .fancybox__image{max-width:100%;max-height:100%;object-fit:contain}.has-image[data-image-fit=contain-w]{overflow-x:hidden;overflow-y:auto}.has-image[data-image-fit=contain-w] .fancybox__content{min-height:auto}.has-image[data-image-fit=contain-w] .fancybox__image{max-width:100%;height:auto}.has-image[data-image-fit=cover]{overflow:visible;touch-action:none}.has-image[data-image-fit=cover] .fancybox__content{width:100%;height:100%}.has-image[data-image-fit=cover] .fancybox__image{width:100%;height:100%;object-fit:cover}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{flex-shrink:1;min-height:1px;overflow:visible}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content{width:100%;height:80%}.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.fancybox__carousel .fancybox__slide.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:transparent}.fancybox-placeholder{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fancybox__thumbs{flex:0 0 auto;position:relative;padding:0px 3px;opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__thumbs{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__thumbs{opacity:0}.fancybox__thumbs .carousel__slide{flex:0 0 auto;width:var(--fancybox-thumbs-width, 96px);margin:0;padding:8px 3px;box-sizing:content-box;display:flex;align-items:center;justify-content:center;overflow:visible;cursor:pointer}.fancybox__thumbs .carousel__slide .fancybox__thumb::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:3px solid var(--fancybox-accent-color, rgba(82, 138, 201, 0.9));opacity:0;transition:opacity .15s ease;border-radius:4px}.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after{opacity:.92}.fancybox__thumbs .carousel__slide>*{pointer-events:none;user-select:none}.fancybox__thumb{position:relative;width:100%;padding-top:calc(100% / (var(--fancybox-thumbs-ratio, 1.5)));background-size:cover;background-position:center center;background-color:rgba(255,255,255,.1);background-repeat:no-repeat;border-radius:4px}.fancybox__toolbar{position:absolute;top:0;right:0;left:0;z-index:20;background:linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.006) 8.1%, rgba(0, 0, 0, 0.021) 15.5%, rgba(0, 0, 0, 0.046) 22.5%, rgba(0, 0, 0, 0.077) 29%, rgba(0, 0, 0, 0.114) 35.3%, rgba(0, 0, 0, 0.155) 41.2%, rgba(0, 0, 0, 0.198) 47.1%, rgba(0, 0, 0, 0.242) 52.9%, rgba(0, 0, 0, 0.285) 58.8%, rgba(0, 0, 0, 0.326) 64.7%, rgba(0, 0, 0, 0.363) 71%, rgba(0, 0, 0, 0.394) 77.5%, rgba(0, 0, 0, 0.419) 84.5%, rgba(0, 0, 0, 0.434) 91.9%, rgba(0, 0, 0, 0.44) 100%);padding:0;touch-action:none;display:flex;justify-content:space-between;--carousel-button-svg-width: 20px;--carousel-button-svg-height: 20px;opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.4))}@media all and (min-width: 1024px){.fancybox__toolbar{padding:8px}}.fancybox__container.is-animated[aria-hidden=false] .fancybox__toolbar{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__toolbar{opacity:0}.fancybox__toolbar__items{display:flex}.fancybox__toolbar__items--left{margin-right:auto}.fancybox__toolbar__items--center{position:absolute;left:50%;transform:translateX(-50%)}.fancybox__toolbar__items--right{margin-left:auto}@media(max-width: 640px){.fancybox__toolbar__items--center:not(:last-child){display:none}}.fancybox__counter{min-width:72px;padding:0 10px;line-height:var(--carousel-button-height, 48px);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased}.fancybox__progress{background:var(--fancybox-accent-color, rgba(82, 138, 201, 0.9));height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:30;user-select:none}.fancybox__container:fullscreen::backdrop{opacity:0}.fancybox__button--fullscreen g:nth-child(2){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2){display:block}.fancybox__button--slideshow g:nth-child(2){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2){display:block}
.carousel__slide.has-thumb.has-image div {opacity: 0.6}
.carousel__slide.has-thumb.has-image.is-selected.is-nav-selected div {opacity: 1}

/* Animation */
body {opacity: 0; animation: opacity 1s 0.5s ease forwards}
@keyframes opacity { 0% {opacity: 0} 100% {opacity: 1} }

/* Adaptation */
@media screen and (max-width: 1150px) {
    .about .info, .contacts .info {padding: 30px 40px 25px}
    .clients img {height: 90px}
}
@media screen and (max-width: 1010px) {
    .topNbottom > .center {padding-top: 25px; padding-bottom: 22px}
    .logo img {width: 280px}
    header > .menu a {padding-left: 20px; padding-right: 20px}
    .center {max-width: inherit}
}
@media screen and (max-width: 940px) {
    h3 {font-size: 42px}
    .about .bg, .contacts .map {height: 60vh}
    .about .col:last-child:before {height: 200px; top: -83px}
    .about .info {left: 35%}
}
@media screen and (max-width: 900px) {
    .center {padding-left: 20px; padding-right: 20px}
    .clients .prev {left: -52px}
    .clients .next {right: -52px}
    .portfolio .list li {margin: 0 5px}
}
@media screen and (max-width: 880px) {
    .topNbottom article:first-child {padding-left: 30px}
    .topNbottom article:last-child {padding-left: 23px}
    .topNbottom article:not(:first-child) {margin-left: 30px}
    header > .menu a {padding-left: 15px; padding-right: 15px}
}
@media screen and (max-width: 850px) {
    .logo img {width: 250px}
}
@media screen and (min-width: 813px) {
    .menuMob {display: none !important}
}
@media screen and (max-width: 812px) {
    body {font-size: 12px}
    input, textarea {-webkit-appearance: none}
    h3 {font-size: 24px; margin-bottom: 30px}
    h5 {font-size: 18px; margin-bottom: 10px}
    .topNbottom {box-shadow: 0 0 10px rgba(0, 0, 0, 0.15)}
    .topNbottom .misc {display: none}
    .logo img {width: 75%; max-width: 280px}
    header > .menu {display: none}
    .menuMob {background: #528ac9; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 10}
    .menuMob .logo {padding: 25px 20px 22px}
    .menuMob .logo img {opacity: 0}
    .menuMob .menu {border-top: 1px #fff solid; margin: 0 20px 20px; padding: 30px 15px}
    .menuMob .list li {font-size: 16px}
    .menuMob .list li:not(:last-child) {margin-bottom: 30px}
    .menuMob .list a {color: #fff; font-weight: 700}
    .menuMob .soc {border-top: 1px #fff solid; margin-left: -15px; padding-top: 30px}
    .menuMob .soc a:before {filter: invert(63%) sepia(8%) saturate(3143%) hue-rotate(175deg) brightness(81%) contrast(94%)}
    .menuMob .soc .ig a {background: #fff}
    .menuMobIcon {background: #528ac9; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; display: block; position: absolute; top: 50%; right: 20px; z-index: 10; transform: translateY(-50%); transition: all 0.2s ease}
    .menuMobIcon:before, .menuMobIcon:after {content: ''; background: #fff; width: 24px; height: 2px; border-radius: 1px; position: absolute; transition: all 0.3s ease}
    .menuMobIcon:before {top: 12px; left: 8px}
    .menuMobIcon:after {bottom: 12px; right: 8px}
    .menuMobIcon i {position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 2}
    .menuMobIcon i:before {content: ''; background: #fff; width: 24px; height: 2px; border-radius: 1px; position: absolute; top: 19px; left: 8px; transition: all 0.3s ease}
    .menuMobIcon.active {background: #fff}
    .menuMobIcon.active:before, .menuMobIcon.active:after {background: #528ac9}
    .menuMobIcon.active:before {top: 19px; transform: rotate(-45deg)}
    .menuMobIcon.active:after {bottom: 19px; transform: rotate(45deg)}
    .menuMobIcon.active i:before {opacity: 0}
    .menuMobIcon.active b {position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 3}
    .topBanner {margin-bottom: 50px}
    .topBanner .info {margin-left: 20px}
    .topBanner .info p {font-size: 12px}
    .topBanner .button {bottom: -20px; left: 20px; right: 20px}
    .topBanner .button span {font-size: 18px; text-align: center; padding: 9px 40px}
    .reasons {padding-top: 30px; margin-bottom: 30px}
    .reasons .list {display: block}
    .reasons li {width: auto; font-size: 16px; margin: 0 auto; padding: 0 18%}
    .reasons li:not(:last-child) {margin-bottom: 30px}
    .reasons img {margin-bottom: 10px}
    .service {padding-top: 30px; margin-bottom: 30px}
    .service article {flex-direction: column !important}
    .service article:not(:last-child) {margin-bottom: 30px; padding-bottom: 30px}
    .service .pic, .service .info {width: auto}
    .service .pic {margin-bottom: 20px; padding: 0 !important}
    .service .bottom p {font-size: 14px}
    .about {background: #528ac9; padding: 30px 20px}
    .about .bg {display: none}
    .about .info {max-width: inherit; position: static; top: auto; left: auto; padding: 30px 20px; transform: none}
    .portfolio {margin-bottom: 30px; padding-top: 30px}
    .portfolio h3 {padding-top: 30px}
    .portfolio img {margin: auto}
    .clients {padding-top: 30px; margin-bottom: 30px}
    .contacts .map {display: none}
    .contacts .info {position: static; top: auto; left: auto; padding: 30px 20px; transform: none}
    .contacts {padding: 30px 20px}
    .contacts h3 {text-align: left}
    .soc li:not(:first-child) {margin-left: 20px}
    .popup .block {max-width: 390px; width: calc(100% - 40px); margin-top: 25px; padding: 30px 20px 40px}
    .fancybox__nav {display: none}
}

@media screen and (max-width: 470px) {
    .popup .closeIcon {top: -50px; right: 0}
}
@media screen and (max-width: 350px) {
    .menuMob .list li:not(:last-child) {margin-bottom: 20px}
    .topBanner {height: 350px}
    .clients img {height: 70px}
}
@media screen and (max-width: 320px) and (max-height: 480px) {
    .menuMob .menu {padding-top: 15px}
    .menuMob .list li:not(:last-child) {margin-bottom: 15px}
    .menuMob .soc {margin-top: 20px; padding-top: 15px}
}
@media screen and (max-width: 812px) and (max-height: 414px) {
    .menuMob .menu {border-bottom: 1px #fff solid; display: flex; justify-content: space-between; padding-top: 20px; padding-bottom: 20px}
    .menuMob .list {width: 50%; column-count: 2; -webkit-column-count: 2; -moz-column-count: 2; column-gap: 30px; -webkit-column-gap: 30px; -moz-column-gap: 30px}
    .menuMob .list li:not(:last-child) {margin-bottom: 25px}
    .menuMob .soc {border: none; margin: 0; padding: 0}
    .popup .block {margin: 0}
}
@media screen and (max-width: 640px) and (max-height: 360px) {
    .popup .block {padding-top: 20px; padding-bottom: 30px}
}
@media screen and (max-width: 568px) and (max-height: 320px) {
    .menuMob .list {width: auto}
    .menuMob .list li:not(:last-child) {margin-bottom: 15px}
    .soc {width: 92px}
    .soc li {margin: 0 0 10px 10px !important}
    .popup .block {padding-top: 10px; padding-bottom: 20px}
    .popup input {height: 40px}
}
@media screen and (max-width: 480px) and (max-height: 320px) {
    .popup .block {width: 320px}
}

/* IE */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    body {-ms-text-size-adjust: 100%}
    header > .menu .list {display: -ms-flexbox; -ms-flex-pack: center}
    .button {-ms-user-select: none}
    .topBanner .center {display: -ms-flexbox; -ms-flex-align: center}
    .reasons .list {display: block; -ms-flex-pack: inherit}
    .reasons .list li {width: calc(25% - 44px); vertical-align: top; display: inline-block}
    .service article {display: -ms-flexbox}
    .service .info {display: -ms-flexbox; -ms-flex-direction: column}
    .service .text {display: -ms-flexbox; -ms-flex-direction: column}
    .service article:nth-child(even) {-ms-flex-direction: row-reverse}
    .service .bottom input {font-size: 14px}
    .service .bottom input::-ms-input-placeholder {color: #c4c4c4}
    .service .bottom input:-ms-input-placeholder {color: #c4c4c4}
    .about .bg {display: -ms-flexbox}
    .soc a {display: -ms-flexbox; -ms-flex-pack: center; -ms-flex-align: center}
    .slick-dots {display: -ms-flexbox; -ms-flex-pack: center; -ms-flex-align: center}
}

/* IE adaptation */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (max-width: 812px) {
    .reasons .list li {width: 100%; box-sizing: border-box}
    .service article {-ms-flex-direction: column !important}
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (max-width: 812px) and (max-height: 414px) {
    .menuMob .menu {display: -ms-flexbox}
}