
html, body {
    font:16px Mulish, arial, sans-serif;
    color:#1E1E1E;
}

body.disabled:after {
    content:"";
    display:block;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.3);
    z-index:90;
}

.button {
	display:inline-block;
	border:none;
	text-align:center;
    background:transparent;
    font-size:16px;
    height:60px;
    line-height:60px;
    padding:0 54px;
}

.button.width-auto {
    display:block;
    width:100%;
}

.button.medium {
    padding:0 68px;
}

.button.big {
    padding:0 76px;
}

.button.blue {
    color:white;
    background:#1E5AA6;
}

.button.blue:hover {
    background:#4493f7;
}

.button.border-white {
    color:white;
    border:1px solid white;
    line-height:58px;
}

.button.trans-white {
    color:white;
    background:rgba(255,255,255,.39);
}

.button.border-white:hover, .button.trans-white:hover {
    color:#1E5AA6;
    background:white;
}

.button, a.item-img, .slick-arrow, .slick-arrow svg path, .text-blue-hover {
	-ms-transition:all .2s ease;
	-o-transition:all .2s ease;
	-moz-transition:all .2s ease;
	-webkit-transition:all .2s ease;
	transition:all .2s ease;
}

a.item-img, .item-img img {
    display:block;
}

.item-img img {
    width:100%;
}

.with-icon {
    position:relative;
}

.with-icon img {
    display:block;
    position: absolute;
    top:0;
    left:0;
}

.caption {
    font-size:42px;
    font-weight:bold;
    margin-bottom:64px;
}

.slider-caption {
    margin-bottom:50px;
}

.slider-caption .caption {
    margin-bottom:0;
}

.section-heading {
    padding-bottom:96px;
}

.section-heading .caption {
    margin-bottom:0;
}

.section-heading .content-text {
    padding:15px 0 0 9%;
}

.text-grey {
    color:#8A8A8A;
}

.text-red {
    color:darkred;
}

.text-blue, .text-blue-hover:hover {
    color:#1E5AA6;
}

.pb-big {
    padding-bottom:min(8.8%, 170px);
}

.pt-big {
    padding-top:min(8.8%, 170px);
}

.pb-medium {
    padding-bottom:min(6.9%, 130px);
}

.pt-medium {
    padding-top:min(6.9%, 130px);
}

.pb-small {
    padding-bottom:70px;
}

.pt-small {
    padding-top:70px;
}

.bg {
    background-position:center top;
    background-size:cover;
}

.bg-blue {
    background-color:#1E5AA6;
    color:white;
}

.bg-lightblue {
    background-color:#6E99D0;
}

.bg-grey {
    background-color:#F4F4F4;
}

.bg-white {
    background:white;
}

.slick-arrow {
    display:block;
    position: absolute;
    top:50%;
    margin-top:-27px;
    border:none;
    padding:0;
    width:54px;
    height:54px;
    background:#F2F2F2;
    outline:none !important;
    border-radius:0;
    z-index:10;
}

.slick-arrow:hover {
    background:#1E5AA6;
}

.slick-arrow svg {
    display:block;
    position: absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

.slick-arrow svg path {
    stroke:#1E5AA6;
}

.slick-arrow:hover svg path {
    stroke:white;
}

.slick-prev {
    left:0;
}

.slick-next {
    right:0;
}

.slick-arrow.static {
    display:inline-block;
    position:relative;
    top:0;
    left:0 !important;
    right:0 !important;
    bottom:0;
    margin-top:0;
}

.slick-arrow.static:first-child {
    margin-right:12px;
}

.abs-link {
    display:block;
    position: absolute !important;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:10;
}

.dark {
    color:white;
}

.dark, .dark > * {
    position:relative;
}

.dark:before {
    content:"";
    display:block;
    position: absolute !important;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:-ms-linear-gradient(top, black, transparent);
    background:-moz-linear-gradient(top, black, transparent);
    background:-webkit-linear-gradient(top, black, transparent);
    background:linear-gradient(to bottom, black, transparent);
}

.fullheight {
    min-height:600px;
    min-height:100vh;
}

.zoom-img, .zoom-icon, .play-icon {
    position:relative;
}

.zoom-img {
    overflow:hidden;
}

.zoom-img img {
    transition:all .3s ease;
}

.zoom-img:hover img {
    transform:scale(1.1);
}

/* --------------------------------------------------------- HEADER -------------------------------------------------------- */
header {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:100;
}

.header-top {
    padding:30px 0 12px;
    color:white;
}

.header-logo .logo {
    width:301px;
}

.logo, .logo img {
    display:block;
}

.logo img {
    width:100%;
}

.header-contacts .with-icon {
    font-size:18px;
    line-height:25px;
    padding-left:28px;
}

.header-contacts.phone .with-icon {
    padding-left:23px;
}

.header-contacts.email .with-icon img {
    top:5px;
}

.header-contacts.phone .with-icon img {
    top:4px;
}

.header-nav {
    background:white;
    padding:16px 30px 12px 185px;
    font-weight:700;
    text-transform:uppercase;
}

.navigation {
    padding:0;
}

.socnets a {
    display:inline-block;
}

.socnets a img {
    display:block;
    height:30px;
    width:30px;
}

.header-nav .socnets {
    min-width:155px;
    text-align:right;
}

.header-nav .socnets a {
    margin-left:8px;
}

.menu-toggler {
    display:block;
    position:relative;
    width:40px;
    height:40px;
    background:#3d5b81;
    cursor:pointer;
}

header .menu-toggler {
    background:#062C5C;
}

.menu-toggler div {
    position: absolute;
    left:8px;
    width:24px;
    height:2px;
    background:white;
}

.menu-toggler div:first-child {
    top:12px;
}

.menu-toggler div:nth-child(2), .menu-toggler div:nth-child(3) {
    top:50%;
    margin-top:-1px;
}

.menu-toggler div:last-child {
    bottom:12px;
}

.menu-toggler.active div:first-child, .menu-toggler.active div:last-child {
    display:none;
}

.menu-toggler.active div:nth-child(2) {
    -ms-transform:rotate(45deg);
    -moz-transform:rotate(45deg);
    -webkit-transform:rotate(45deg);
    transform:rotate(45deg);
}

.menu-toggler.active div:nth-child(3) {
    -ms-transform:rotate(-45deg);
    -moz-transform:rotate(-45deg);
    -webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
}


/* ------------------------------------------- HOME ----------------------------------------- */
.start-section {
    padding-top:172px;
    min-height:843px;
    color:white;
}

.start-section-inner {
    padding:7.7% 0 7.8%;
    max-width:892px;
}

.start-caption {
    font-size:clamp(34px, 2.9vw, 55px);
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:10px;
}

.start-text {
    max-width:535px;
    font-size:clamp(25px, 2.1vw, 40px);
    margin-bottom:80px;
}

.start-details ul {
    padding-left:26px;
    line-height:1.5;
}

.start-details ul li {
    position:relative;
    padding-left:13px;
}

.start-details ul li:before {
    content:"";
    display:block;
    position: absolute;
    top:9px;
    left:0;
    width:6px;
    height:6px;
    border-radius:100%;
    background:white;
}

.service-item {
    position:relative;
    min-height:513px;
    margin-bottom:35px;
    height:calc(100% - 35px);
    padding:26px 28px 90px;
}

.service-title {
    font-size:20px;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:20px;
}

.service-text {
    padding-top:20px;
    font-weight:200;
    line-height:1.4;
    border-top:1px solid rgba(255,255,255,.6);
}

.service-item:hover .text-blue-hover {
    color:#6E99D0;
}

.service-item:hover .service-text.text-blue-hover {
    border-top:1px solid #6E99D0;
}

.service-price {
    position: absolute !important;
    right:0;
    bottom:0;
    padding:20px 26px 20px 20px;
    color:white;
    font-size:18px;
    font-weight:bold;
    background:#1E5AA6;
}

.service-button {
    padding:70px 20px 50px;
    text-align:center;
    margin-bottom:35px;
    min-height:calc(100% - 35px);
}

.service-button-title {
    font-size:35px;
    font-weight:900;
    margin-bottom:35px;
}

.service-button img {
    display:block;
    margin:0 auto 40px;
    width:32%;
}

.details-item {
    color:white;
    padding:33% 46px 30px;
    margin-bottom:30px;
    min-height:calc(100% - 30px);
    background-repeat:no-repeat;
    background-position:right center;
    background-size:auto 86%;
}

.details-title {
    font-size:24px;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:5px;
}

.details-item .content-text {
    font-size:20px;
}

.details-item .content-text p {
    margin-bottom:0;
}

.grey-form-section {
    padding-top:5.9%;
    background-image:url(../images/form.jpg);
    background-repeat:no-repeat;
    background-position:right center;
    background-size:auto 100%;
}

.grey-form-section .caption + p {
    font-size:20px;
    margin-bottom:44px;
}

.grey-form-section .conf {
    margin-top:30px;
}

.docs-content-row {
    min-height:100%;
}

.docs-inner .content-text {
    padding:0 5% 15px 0;
}

.doc-slider-wrapper {
    margin:0 -10px;
}

.doc-slide .item-img {
    margin:10px;
    box-shadow:0 0 10px 2px rgba(0,0,0,.2);
}

.doc-slide .item-img:hover {
    box-shadow:0 0 10px 2px rgba(0,0,0,.3);
}

.about-section {
    background:url(../images/about-before.jpg) no-repeat left bottom, url(../images/about-after.jpg) no-repeat right top #f2f2f2;
}

.oneItem {
    display:none;
}

.shortItems.active .oneItem {
    display:block;
}

.show12 .oneItem:first-child, .show12 .oneItem:nth-child(2), .show12 .oneItem:nth-child(3), .show12 .oneItem:nth-child(4), .show12 .oneItem:nth-child(5), .show12 .oneItem:nth-child(6), .show12 .oneItem:nth-child(7), .show12 .oneItem:nth-child(8), 
.show12 .oneItem:nth-child(9), .show12 .oneItem:nth-child(10), .show12 .oneItem:nth-child(11), .show12 .oneItem:nth-child(12) {
    display:block;
}

.show5 .oneItem:first-child, .show5 .oneItem:nth-child(2), .show5 .oneItem:nth-child(3), .show5 .oneItem:nth-child(4), .show5 .oneItem:nth-child(5) {
    display:block;
}

.team-item {
    position:relative;
    padding:36px 55px 24px 38px;
    margin-bottom:40px;
    min-height:calc(100% - 40px);
    color:white;
    background:rgb(30,90,166,.85);
}

.team-heading {
    padding-bottom:5px;
    margin-bottom:10px;
    border-bottom:1px solid white;
}

.team-img img {
    width:73px;
}

.team-title {
    font-size:20px;
    font-weight:800;
    text-transform:uppercase;
}

.team-prof {
    font-size:12px;
}

.team-hidden-text {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    overflow-y:auto;
    padding:36px 55px 24px 38px;
    background:#6E99D0;
    opacity:0;
    transition:opacity .2s ease;
}

.team-item:hover .team-hidden-text {
    opacity:1;
}

.team-hidden-text .content-text {
    font-size:12px;
    padding-bottom:12px;
    border-bottom:1px solid white;
}

.team-hidden-text .content-text p {
    margin-bottom:0;
}

.show-all {
    font-weight:bold;
    text-decoration:underline;
    cursor:pointer;
}

.show-all:hover {
    text-decoration:none;
}

.project-item .item-inner {
    max-width:440px;
}

.project-item .service-title {
    min-height:100px;
}

.project-result {
    position: absolute;
    left:0;
    bottom:0;
    padding: 16px 30px 18px;
    background:#080808;
}

.project-result * {
    display:inline-block;
    vertical-align:bottom;
}

.project-result img {
    position: relative;
    width: 20px;
    bottom: -2px;
}

.form-section .item-img {
    padding-left:85px;
}

.partner-section {
    overflow:hidden;
}

.partners-slider-wrapper {
    margin: 0 -10px;
}

.partner-slide {
    width:321px;
}

.partner-slide .partner-item {
    margin:0 10px;
}

.partner-item {
    padding:20px;
    border-radius:20px;
    border:1px solid #D1E7B4;
}

.partner-image {
    height:115px;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:contain;
}

#partnersSlider .slick-list {
    overflow:visible;
}

.map-section {
    position:relative;
}

.map {
    height:880px;
}

.map-contacts {
    position: absolute;
    top:65px;
    left:50%;
    margin-left:-805px;
    padding:36px 40px 30px;
    overflow-y:auto;
    z-index:10;
}

.map-contacts .caption {
    margin-bottom:50px;
}

.contacts-big-title {
    font-size:20px;
    font-weight:600;
    margin-bottom:10px;
}

.contacts-item {
    font-size:22px;
    margin-bottom:15px;
}

.contacts-title {
    font-size:15px;
    margin-bottom:10px;
}

.contacts-item.email, .contacts-item.address {
    margin-bottom:25px;
}

.contacts-item.worktime {
    margin-bottom:70px;
}

.worktime2 {
    margin-bottom:20px;
}

footer {
    padding:15px 0;
    background:#F4F4F4;
    font-size:15px;
}

.footer-logo .logo {
    width:306px;
}

footer a:hover {
    text-decoration:underline;
}


/* ----------------------------------------------------------------- CONTENT ------------------------------------- */

.content-text {
    font-size:16px;
    line-height: 1.5;
}

.content-text p, .content-text dl, .content-text ul, .content-text ol {
    margin-bottom: 1em;
}

.content-text ol ol, .content-text ul ul, .content-text ol ul, .content-text ul ol {
  margin-bottom: 0;
}

.content-text h1, .content-text h2, .content-text h3, .content-text h4, .content-text h5, .content-text h6 {
    font-weight:600;
    margin-bottom: 0.5em;
}

.content-text h1, .content-text h2 {
    font-size:22px;
}

.content-text h3 {
    font-size:20px;
}

.content-text a {
    text-decoration:underline;
}

.content-text a:hover {
    text-decoration:none;
}

.table-wrapper {
    width:100%;
    overflow-x:auto;
}

.content-text table {
    width:100%;
}

.content-text table td, .content-text table th {
    padding:10px;
    border:1px solid #cecece;
}

.content-text table tr:first-child td {
    background: #dae4f1;
}

.content-text img {
    height:auto !important;
}

.content-text iframe {
    max-width:100% !important;
}

.content-text ol, .content-text ul {
    overflow:hidden;
}

.content-text ol {
    list-style:decimal;
}

.content-text ul {
    padding:0;
}

.content-text ul li {
    position:relative;
    padding-left:10px;
    margin-bottom:5px;
}

.content-text ul li:before {
    content:"";
    display:block;
    position: absolute;
    top:9px;
    left:0;
    width:5px;
    height:5px;
    background:#EE1D23;
    border-radius:100%;
}


/* ----------------------------------------------- FORMS ---------------------------------------------------*/

input[type="text"].form-control, input[type="email"].form-control, textarea.form-control {
    padding:20px;
    border:1px solid #C3C3C3;
    background:white;
    font-size:16px;
    outline:none !important;
    box-shadow:none !important;
    border-radius:0;
}

input[type="text"].form-control.grey, input[type="email"].form-control.grey, textarea.form-control.grey {
    border:none;
    background:#F4F4F4;
}

input[type="text"].form-control, input[type="email"].form-control {
    height:60px;
}

label {
    display:block;
    margin-bottom:5px;
}

.form-group {
    margin-bottom:20px;
}

.req {
    display:none;
}

.conf {
    font-size:14px;
}

.conf a {
    text-decoration:underline;
}

.conf a:hover {
    text-decoration:none;
}

.file-download.with-icon {
    padding-left:33px;
    cursor:pointer;
}

.file-download input {
    display:none;
}

.file-download label * {
    pointer-events: none;
}

.file-download label {
    display:inline-block;
    margin:0;
    text-decoration:underline;
    cursor:pointer;
}

.file-download:hover label {
    text-decoration:none;
}

.form-section .file-download {
    margin:40px 0;
}

.select-styled {
    position:relative;
    cursor:pointer;
}

.select-styled .current:after {
    content:"";
    display:block;
    position: absolute;
    top:22px;
    right:15px;
    width:10px;
    height:10px;
    border-right:1px solid #1E5AA6;
    border-bottom:1px solid #1E5AA6;
    transform:rotate(45deg);
}

.select-styled .current .form-control {
    padding-right:40px;
}

.select-styled .options {
    display:none;
    position: absolute;
    top:99%;
    left:0;
    width:100%;
    padding:0;
    background:white;
    box-shadow:0 5px 5px 2px rgba(0,0,0,.15);
    z-index:10;
}

.select-styled.active .options {
    display:block;
}

.select-styled .options li {
    padding:10px 20px;
    transition:all .2s ease;
}

.select-styled .options li:hover {
    background:#fafafa;
}

.select-styled .options li:first-child {
    padding-top:20px;
}

.select-styled .options li:last-child {
    padding-bottom:20px;
}

/* ------------------------------------------ POPUP BLOCKS -------------------------------------------------*/
.popup-blocks {
    display:none;
}

.popup-block {
    width:100%;
}

.popup-form {
    padding:25px 20px;
    max-width:334px;
}

.popup-form-title {
    font-size:22px;
    font-weight:500;
    margin-bottom:18px;
}

.popup-form .form-group {
    margin-bottom:10px;
}

.popup-form .file-download {
    margin:15px 0 20px;
}

.popup-form .conf {
    font-size:12px;
}

.popup-serv {
    padding:20px;
    max-width:876px;
}

.popup-serv .item-img {
    padding-bottom:60px;
}

.popup-serv-title {
    font-size:28px;
    font-weight:800;
    margin-bottom:10px;
}

.popup-serv-content {
    margin:0 -20px 35px;
    padding:30px 20px;
    max-height:273px;
    overflow-y:auto;
}

.popup-serv-form-title {
    font-size:28px;
    font-weight:500;
    margin-bottom:15px;
}

.popup-block.fancybox__content>.carousel__button.is-close {
    background:white;
    color:#1E5AA6;
    border-radius:100%;
}

.popup-block .carousel__button svg {
    filter:none;
    width: 60%;
    height: 60%;
}

.popup-form.fancybox__content>.carousel__button.is-close {
    top:-30px;
    right:0;
    width:25px;
    height:25px;
}

.popup-serv.fancybox__content>.carousel__button.is-close {
    top:-53px;
    right:-57px;
    width:55px;
    height:55px;
}

.popup-serv .carousel__button svg {
    stroke-width: 1px;
}

.popup-serv-content {
    scrollbar-width: thin;
    scrollbar-color: #1E5AA6 #6D6D6D;
}

.popup-serv-content::-webkit-scrollbar {
    width:6px;
    height:6px;
}

.popup-serv-content::-webkit-scrollbar-track {
    border:none;
    background:#6D6D6D;
}

.popup-serv-content::-webkit-scrollbar-thumb {
    width:6px;
    height:6px;
    background-color: #1E5AA6;
    border-radius: 0;
    border: none;
}

#mobileMenu {
    position:fixed;
    top:0;
    right:-375px;
    width:100%;
    max-width:375px;
    height:100%;
    padding:20px 20px 30px;
    overflow-y:auto;
    z-index:1000;
    transition:all .2s ease;
}

#mobileMenu.active {
    right:0;
}

.mobile-menu-heading {
    margin-bottom:34px;
}

.mobile-menu-heading .logo {
    width:200px;
}

.mobile-phone-button {
    display:block;
    position:relative;
    width:40px;
    height:40px;
    background:#3d5b81;
}

header .mobile-phone-button {
    background:#062C5C;
}

.mobile-phone-button img {
    display:block;
    position: absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:50%;
    left:50%;
}

.mobile-nav {
    padding:0;
    font-size:15px;
    font-weighT:700;
    text-transform:uppercase;
}

.mobile-nav li {
    margin-bottom:18px;
}

.mobile-contacts {
    margin: 30px 0;
}

.mobile-contacts-item.with-icon {
    padding-left:26px;
    font-size:15px;
    line-height:20px;
    margin-bottom:15px;
}

.mobile-socnets a {
    margin:0 8px 10px 0;
}

#mobileMenu .button {
    margin-top:12px;
}

.fly-button {
    display:block;
    position:fixed;
    right:50px;
    bottom:180px;
    width:80px;
    height:80px;
    border-radius:100%;
    background:#26D368;
    z-index:1000;
}

@-moz-keyframes pulse {
    0% {width:100%;height:100%;opacity:1;}
    100% {width:200%;height:200%;opacity:0;}
}

@-webkit-keyframes pulse {
    0% {width:100%;height:100%;opacity:1;}
    100% {width:200%;height:200%;opacity:0;}
}

@keyframes pulse {
    0% {width:100%;height:100%;opacity:1;}
    100% {width:200%;height:200%;opacity:0;}
}

.fly-button:before, .fly-button:after {
    content:"";
    display:block;
    position: absolute;
    top:50%;
    left:50%;
    border:1px solid #26D368;
    transform:translate(-50%,-50%);
    border-radius:100%;
}

.fly-button:before {
    -moz-animation: pulse 3s ease infinite;
    -webkit-animation: pulse 3s ease infinite;
    animation: pulse 3s ease infinite;
}

.fly-button:after {
    -moz-animation: 1.5s pulse 3s ease infinite;
    -webkit-animation: 1.5s pulse 3s ease infinite;
    animation: 1.5s pulse 3s ease infinite;
}

.fly-button img {
    display:block;
    position:relative;
    width:100%;
    height:auto;
}

.popup-socnets {
    max-width:550px;
    padding:50px 40px 40px;
}

.popup-socnets .popup-serv-title {
    text-align:center;
    margin-bottom:30px;
}

.popup-socnets .bg-grey {
    padding:30px;
    border-radius:20px;
}

.popup-soc-button {
    display:block;
    padding:15px 15px 15px 54px;
    min-height:50px;
    color:white;
    border-radius:15px;
    overflow:hidden;
    margin:10px 0;
}

.popup-soc-button:after {
    content:"";
    display:block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:white;
    transition:opacity .2s ease;
    opacity:0;
}

.popup-soc-button:hover:after {
    opacity:.3;
}

.popup-soc-button.with-icon img {
    top: 13px;
    left: 13px;
    width: 24px;
    height: 24px;
}

.popup-socnets .item-img {
    padding:15px;
    background:white;
    border-radius:15px;
}

.popup-socnets .text-grey {
    text-align:center;
    font-size:14px;
    margin-top:15px;
}

.agree-cookie {
    position:fixed;
    left:0;
    bottom:0;
    width:100%;
    background:white;
    padding:30px 0;
    box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, .09);
    z-index:100;
}

.agree-cookie .content-text {
    font-size: 14px;
}

/* ------------------------------------------------------ MEDIA QUERIES ------------------------------------ */

@media screen and (max-width:1699px) {
    .header-contacts.address, .header-contacts.email {display:none;}
    .service-item {min-height:400px;}
    .service-title {font-size: 18px;}
    .service-price {font-size:16px;padding:15px 20px;}
    .service-button {padding-top:50px;}
    .service-button-title {font-size: 26px;margin-bottom:20px;}
    .service-button img {margin-bottom:30px;}
    .details-item {padding:20% 30px 30px;}
    .details-title {font-size: 20px;}
    .details-item .content-text {font-size: 16px;}
    .map-contacts {margin-left:-630px;}

}

@media screen and (max-width:1399px) {
    .gutters20, .gutters22 {margin-right:-15px;margin-left:-15px;}
    .gutters20 > .col, .gutters20 > [class*="col-"], .gutters22 > .col, .gutters22 > [class*="col-"] {padding-right:15px;padding-left:15px;}
    .caption {font-size: 38px;margin-bottom:40px;}
    .section-heading .content-text {padding:0;margin-top:15px;}
    .section-heading {padding-bottom:40px;}
    .grey-form-section .caption {margin-bottom:25px;}
    .grey-form-section .caption + p {margin-bottom:20px;}
    .grey-form-section .conf {margin-top:0;}
    .about-section, .about-section .container {position:relative;}
    .about-section {background-image:url(../images/about-before.jpg);background-repeat:no-repeat;background-position:left bottom;background-color:#f2f2f2;background-size:30% auto;}
    .about-section:before {content:"";display:block;position: absolute;top:0;left:0;height:100%;width:100%;background-image:url(../images/about-after.jpg);background-repeat:no-repeat;background-position:right top;background-size:30% auto;}
    .map-contacts {margin-left:-580px;}
    .map-contacts .caption {margin-bottom: 20px;}
    .contacts-big-title {font-size:20px;}
    .contacts-item.worktime {margin-bottom: 30px;}
    .fly-button {right: 40px;width: 60px;height: 60px;}
}

@media screen and (max-width:1199px) {
    .header-nav {padding:16px 20px 12px;}
    .header-nav .socnets {min-width:0;}
    .start-section {min-height:0;}
    .start-text {margin-bottom:50px;}
    .form-section .item-img {padding-left: 25px;}
    .map-contacts {left:20px;margin-left:0;}
    .popup-serv.fancybox__content>.carousel__button.is-close {top: -30px;right: 0;width: 25px;height: 25px;}
    .popup-serv .carousel__button svg {stroke-width: 2px;}
    .agree-cookie {padding:20px 0;}
}

@media screen and (max-width:991px) {
    .header-top {padding-top:20px;}
    .header-top .row {margin:0 -5px;}
    .header-top .row > .col, .header-top .row > [class*="col-"] {padding-right:5px;padding-left:5px;}
    .header-logo .logo {width:228px;}
    .header-nav {display:none;}
    .start-section {padding-top: 70px;}
    .start-section-inner {padding: 40px 0;}
    .start-caption {font-size: clamp(25px, 4vw, 34px);}
    .start-text {font-size: clamp(15px, 2vw, 25px);margin-bottom:20px;}
    .start-details ul {width:70%;padding:20px 0;border-top:1px solid white;}
    .service-button-title {font-size: 24px;}
    .caption {font-size: 34px;margin-bottom: 30px;}
    .gutters20, .gutters22, .row {margin-right:-7px;margin-left:-7px;}
    .gutters20 > .col, .gutters20 > [class*="col-"], .gutters22 > .col, .gutters22 > [class*="col-"], .row > .col, .row > [class*="col-"] {padding-right:7px;padding-left:7px;}
    .service-item {margin-bottom:14px;height:calc(100% - 14px);min-height:350px;padding:20px 20px 105px;}
    .service-button {margin-bottom:14px;min-height:calc(100% - 14px);}
    .section-heading {padding-bottom: 10px;}
    .details-item, .team-item {margin-bottom:14px;min-height: calc(100% - 14px);}
    .grey-form-section {background-image:none;}
    .doc-slide {width:308px;}
    .doc-slider-wrapper {margin-right:-20px;}
    .about-section {background: url(../images/about-before.jpg) no-repeat left bottom #f2f2f2;}
    .about-section .item-img {margin-bottom:30px;}
    .about-section {background-size:354px;}
    .about-section:before {background-size:329px;}
    .project-result {padding:15px 20px;}
    .form-section .item-img {display:none;}
    .form-section .conf {margin-top:20px;}
    .form-section .file-download {margin:15px 0 20px;}
    .slider-caption {margin-bottom:30px;}
    .map-contacts {position:static;background:#F4F4F4;margin-bottom:30px;}
    .map, .map iframe {height:400px !important;}
    footer {padding-bottom:5px;}
    .footer-logo, footer p {margin-bottom:10px;}
    .popup-serv .item-img {padding-bottom: 25px;}
    .popup-serv-title {font-size:25px;margin-bottom:20px;}
    .popup-serv-content {padding:20px 20px 10px;}
    .popup-serv-form-title {font-size:25px;}
    .agree-cookie .content-text {font-size:12px;}
    .agree-cookie .container {max-width:none;}
}

@media screen and (max-width:767px) {
    .pt-small {padding-top:40px;}
    .pb-small {padding-bottom:40px;}
    .service-title {font-size: 16px;}
    .service-text {display:none;}
    .service-price {font-size: 14px;padding: 10px;}
    .service-button {padding:20px;}
    .service-button-title {font-size: 20px;}
    .service-button img {width:45%;}
    .service-button .button {display:block;width:100%;height:50px;line-height:50px;padding:0 20px;}
    .content-text {font-size:15px;}
    .team-item, .team-hidden-text {padding:30px 40px 20px 30px;}
    .team-img img {width:60px;}
    .project-result {width:100%;font-size:12px;}
    .project-result img {width:14px;bottom:0;}
    .partner-slide {width:207px;}
    .partner-item {padding:15px;}
    .partner-image {height:74px;}
    .footer-logo .logo {width:175px;}
    .popup-serv-title, .popup-serv-form-title {font-size:22px;}
    .popup-socnets {padding:40px 20px 20px;}
    .popup-socnets .popup-serv-title {margin-bottom:20px;}
    .popup-socnets .bg-grey {padding: 20px;}
    .popup-socnets .item-img {margin-top:10px;}
    .fly-button {right: 30px;bottom: 30px;width: 50px;height: 50px;}
}

@media screen and (max-width:575px) {
    .header-logo .logo {width: 200px;}
    .start-details ul {padding:15px 0 10px;}
    .start-section .button {display:block;width:100%;}
    .start-section .button.blue {margin-bottom:10px;}
    .button {padding:0 20px !important;height:45px;line-height:45px;font-size:12px;}
    .button.border-white {line-height:43px;}
    .service-item {padding:10px 15px 60px;min-height:200px;}
    .service-title {font-size:11px;margin-bottom:0;}
    .service-price {font-size:10px;padding:10px 7px;}
    .service-button-title {font-size:13px;margin-bottom:15px;}
    .service-button img {margin-bottom:15px;}
    .caption {font-size:22px;margin-bottom:24px;}
    .details-item {padding:20px 94px 10px 15px;min-height:150px;background-size:90px auto;}
    .details-title {font-size:15px;}
    .details-item .content-text {font-size:14px;}
    .grey-form-section.pb-medium {padding:26px 0 30px;}
    .grey-form-section .caption + p {font-size:15px;}
    input[type="text"].form-control, input[type="email"].form-control, textarea.form-control {padding:15px;font-size:12px;}
    input[type="text"].form-control, input[type="email"].form-control {height:45px;}
    .select-styled:after {top:18px;height:8px;width:8px;}
    .form-group {margin-bottom:10px;}
    .conf {font-size:12px;}
    .docs-inner .content-text {padding:0;}
    .about-section:before {background-position:130px 0;}
    .team-item, .team-hidden-text {padding:15px;}
    .team-title, .team-prof, .team-hidden-text {font-size:11px;}
    .team-hidden-text {display:none;}
    .project-result {padding:10px 15px;font-size:10px;}
    .project-result img {width:12px;}
    .map-section {padding:0 20px 25px;}
    .map-contacts {padding:30px 20px 25px;}
    .contacts-item {font-size:15px;}
    .contacts-item, .contacts-item.email, .contacts-item.address, .worktime2 {margin-bottom:10px;}
    .contacts-title {margin-bottom:5px;}
    .contacts-item.worktime {margin-bottom:15px;}
    .map-contacts .button {padding:0 64px !important;}
    footer {padding:15px 0 5px;font-size:12px;}
}

@media screen and (max-width:374px) {
    .header-mobile-phone.d-block, .mobile-phone-button {display:none !important;}
    .start-caption {font-size:22px;}
    .service-item-wrapper.col-6, .project-wrapper.col-6 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .service-item {height:auto;}
    .service-button {min-height:0;}
    .details-item {padding-right:20px;}
    .doc-slide {width:200px;}
    .mobile-menu-heading .logo {width: 190px;}
    .popup-serv-title, .popup-serv-form-title {font-size:18px;}
}