* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
*:before,
*:after {
    box-sizing: border-box;
}
html, body{
    height:100%;
    background: #fff;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body{
    background: #fff;
    font-family: "Gilroy", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size:16px;
    padding:60px 0 0 0;
    margin:0;
    color:#2c3136;
}
img {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    max-width: 100%;
    height: auto;
    border-style: none;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #798189;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #798189;
    opacity: 1;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: #798189;
    opacity: 1;
}
.text-center{
    text-align: center;
}
.mb100{
    margin-bottom:100px;
}
.hyphens{
    -webkit-hyphens: auto;
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 3;
    -webkit-hyphenate-limit-chars: 6 3 3;
    -webkit-hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-last: always;
    -webkit-hyphenate-limit-zone: 8%;

    -moz-hyphens: auto;
    -moz-hyphenate-limit-chars: 6 3 3;
    -moz-hyphenate-limit-lines: 2;
    -moz-hyphenate-limit-last: always;
    -moz-hyphenate-limit-zone: 8%;

    -ms-hyphens: auto;
    -ms-hyphenate-limit-chars: 6 3 3;
    -ms-hyphenate-limit-lines: 2;
    -ms-hyphenate-limit-last: always;
    -ms-hyphenate-limit-zone: 8%;

    hyphens: auto;
    hyphenate-limit-chars: 6 3 3;
    hyphenate-limit-lines: 2;
    hyphenate-limit-last: always;
    hyphenate-limit-zone: 8%;
}

#mobile-side-menu{
    position: fixed;
    top:0;
    right:-100%;
    bottom:0;
    width:100%;
    background: rgba(0,0,0,0.3);
    opacity:0;
    display: block;
    overflow: hidden;
    z-index: 9999999;
    transition: all .2s cubic-bezier(.16, .68, .43, .99);
}
#mobile-side-menu .mobile-body{
    position: fixed;
    border-radius: 17px 0 0 0;
    top:0;
    right:-600px;
    height:100%;
    width:100%;
    max-width:350px;
    background: #fff;
    overflow:hidden;
    padding-bottom:20px;
    -webkit-overflow-scrolling: touch;
    transition: all .6s cubic-bezier(.16, .68, .43, .99);
}
#mobile-side-menu .mobile-body .mobile-body-inner{
    position: relative;
    overflow: auto;
    padding-left:30px;
    padding-right:20px;
    width:100%;
    height:calc(100% - 40px);
}

.mobile-button {
    margin-left:auto;
    max-width:35px;
    cursor:pointer;
    display: none;
}
.mobile-button div{
    position: relative;
    width: 35px;
    height: 2px;
    background-color: #fff;
    margin: 6px 0;
}
.mobile-button.close {
    position: relative;
    margin:5px 0 10px 5px;
    width:25px;
    height:25px;
}

.mobile-body-inner .cabinet{
    display: block;
    text-align: right;
    margin-bottom:13px;
}
.mobile-body-inner .cabinet a {
    color:#2c3136;
}
.mobile-body-inner .cabinet a:hover {
    color:#ff6827;
}
.mobile-body-inner .cabinet a img{
    vertical-align: middle;
    margin:0 0 0 4px;
}
.mobile-menu{
    position: relative;
    margin:0 0 15px;
    padding:0 0 15px 0;
    list-style: none;
    border-bottom:1px solid #f0f3f6;
}
.mobile-menu li{
    position: relative;
    list-style: none;
}
.mobile-menu li ul{
    display:none;
    margin:0;
    padding:0 0 0 30px;
    list-style: none;
}
.mobile-menu a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 7px 0;
    color:#2c3136;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s;
}
.mobile-menu li.active a,
.mobile-menu a:hover {
    color:#ff6827;
}
.mobile-menu a img{
    margin:0 4px 0 0;
    transition: all 0.3s;
    width:27px;
    height:19px;
    object-fit:scale-down;
    object-position:left center;
}
.mobile-menu li.active a img,
.mobile-menu li.mobile-sub-menu.open > a img,
.mobile-menu a:hover img{
    filter: invert(43%) sepia(43%) saturate(6004%) hue-rotate(129deg) brightness(98%) contrast(94%);
}

.mobile-menu li.mobile-sub-menu .plus{
    position:relative;
    display:block;
    width:16px;
    height:16px;
    background: url("../images/btn-faq-plus.png") center no-repeat;
    background-size: 16px;
    margin-left:auto;
    cursor:pointer;
}
.mobile-menu li.mobile-sub-menu.open > a{
    color:#ff6827;
}
.mobile-menu li.mobile-sub-menu.open .plus{
    background-image: url("../images/btn-faq-minus.png");
}
.mobile-menu li.mobile-sub-menu ul{
    margin-bottom:25px;
}
.mobile-menu li.mobile-sub-menu.open ul{
    display:block;
}
.mobile-menu li.mobile-sub-menu li a {
    font-weight: normal;
    clear: both;
}

.mobile-body-inner .address,
.mobile-body-inner .phone,
.mobile-body-inner .timework{
    display:block;
    width:auto;
    max-width: 100%;
    text-align: left;
    margin-bottom:5px;
}
.mobile-body-inner .phone{
    padding-top:25px;
    margin-bottom:25px;
}
.mobile-body-inner .address span,
.mobile-body-inner .timework span{
    margin:0;
}
.mobile-body-inner .address span::before,
.mobile-body-inner .timework span:before{
    background-position: left center;
}

body.sidemenu-open{
    overflow:hidden;
}
body.sidemenu-open #mobile-side-menu,
body.sidemenu-open #mobile-side-menu .mobile-body{
    opacity:1;
    right:0;
}
body.sidemenu-open .mobile-button.close{
    display: block;
}

.pagination{
    margin: 0;
    padding: 10px 0 0 0;
    text-align: center;
}
.pagination .pagination__list{
    display: inline-block;
    margin:0 auto;
    padding:0;
    vertical-align: middle;
}
.pagination li{
    color: #2c3136;
    font-size: 16px;
    font-weight: bold;
    height:25px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}
.pagination li span{
    display: block;
    margin:0 8px;
}
.pagination li a{
    color: #2c3136;
    display: block;
    text-decoration: none;
    margin:0 10px;
}

.pagination li.active{
    border-color: #ff6827;
}
.pagination li.active a{
    color: #ff6827;
}
.pagination li a#PrevLink,
.pagination li a#NextLink{
    position:relative;
    font-size:0;
    display:block;
    width: 40px;
    border:1px solid #c5c5c5;
    border-radius:12px;
    background: url("../images/arr-r.png") center no-repeat;
}
.pagination li a#PrevLink{
    transform: rotate(180deg);
    margin-right:35px;
}
.pagination li a#NextLink{
    margin-left:35px;
}
.address,
.timework{
    position: relative;
    font-size:0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin:0 12px;
}

.timework{
    max-width:220px;
}
.address span,
.timework span{
    position: relative;
    padding-left:21px;
    display: block;
    margin:-3px auto 0;
    font-size:14px;
    color:#2c3136;
    white-space: nowrap;
}
.timework span::before{
    content:'';
    position:absolute;
    display:block;
    width:16px;
    height:16px;
    background: url("../images/icons/clock.png") center no-repeat;
    left:0;
    top:50%;
    transform:translateY(-50%);
}
header .timework span{
    color:#fff;
}
header .timework span::before{
    background-image: url("../images/icons/clock-w.png");
}
.address{
    max-width: 210px;
}
.address span::before{
    content:'';
    position:absolute;
    display:block;
    padding-left:18px;
    width:13px;
    height:16px;
    background: url("../images/icons/pin.png") center no-repeat;
    left:0;
    top:50%;
    transform:translateY(-50%);
}
.phone {
    margin-left:auto;
    max-width:140px;
    text-align: center;
}
.phone a{
    position: relative;
    display: block;
    font-family: "Gilroy", sans-serif;
    font-weight: bold;
    font-size: 16px;
    color:#2c3136;
    text-decoration:none;
    white-space: nowrap;
    margin-top:-2px;
}
header .phone a{
    color:#fff;
}
.mobile-body .phone{
    padding-left:12px;
}
.logo-block{
    position: relative;
    margin-right:40px;
    font-size: 0;
    height:60px;
    margin-right:70px;
}

#slider{
    position: relative;
    margin-bottom:100px;
}
#slider .slider-item{
    position: relative;
    display: none;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: calc(100vw / 3.666666666666667);
    max-height:450px;
    min-height:250px;
}
#slider .slider-item:first-child{
    display: block;
}
#slider .slider-item .slider-container{
    position: absolute;
    left:0;
    top:0;
    right:0;
    bottom:0;
    display: flex;
    padding: 0 12px 0 36px;
    max-width: 1224px;
    margin: 0 auto;
    align-items: center;
}
#slider .slider-item .inner-container{
    position: relative;
    width:100%;
    max-width:588px;
}
#slider .slider-item .slider-title{
    position: relative;
    font-family: "Gilroy", sans-serif;
    font-weight: bold;
    font-size:54px;
    line-height: 58px;
    color:#fff;
    margin-bottom:34px;
    text-shadow: 0 0 2px rgba(0, 0, 0,0.8), 0 0 8px rgba(0,0,0,0.4), 0 7px 10px rgba(0,0,0,0.5);
}
#slider .slider-item .slider-text{
    position: relative;
    font-family: "Gilroy", sans-serif;
    font-weight: 300;
    font-size:36px;
    color:#fff;
    margin-bottom:51px;
    text-shadow: 0 0 2px rgba(0, 0, 0,0.8), 0 0 8px rgba(0,0,0,0.4), 0 7px 10px rgba(0,0,0,0.5);
}
#slider .slider-item a.slider-btn{
    position: relative;
    display: block;
    width:100%;
    max-width:181px;
    line-height:46px;
    background: #ff6827;
    color:#fff;
    font-family: "Gilroy", sans-serif;
    font-weight: bold;
    font-size:18px;
    text-align: center;
    text-decoration: none;
    border:0;
    border-radius: 4px;
}
#slider .slick-dots{
    bottom:20px;
}
#slider .slick-dots li button::before{
    background:#fff;
}
#slider .slick-dots li.slick-active button::before{
    background:#fff;
}


.slick-dots{
    bottom:-40px;
    font-size:0;
    left:0;
}
.slick-dots li{
    margin:0 3px;
}
.slick-dots li,
.slick-dots li button,
.slick-dots li::before{
    width:10px;
    height:10px;
    padding:0;
}
.slick-dots li button{
    position: relative;
}
.slick-dots li button::before{
    position: absolute;
    content: '';
    display: block;
    background:#e0e0e0;
    font-size:0;
    opacity:1;
    padding:0;
    width:10px;
    height:10px;
    border-radius:5px;
    transition: width 0.5s;
}
.slick-dots li.slick-active,
.slick-dots li.slick-active button,
.slick-dots li.slick-active button::before{
    width: 23px;
    opacity:1;
}
.slick-dots li.slick-active button::before{
    background:#ff6827;
}

header{
    position: fixed;
    top:0;
    left:0;
    width:100%;
    background: #1f1d1e;
    z-index: 1000;
    box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}

header > .container{
    position: relative;
    background: url("../images/bg-header.png") left top no-repeat;
    z-index: 1010;
}
header::after{
    content:'';
    position: absolute;
    top:0;
    bottom:0;
    left:50%;
    width:50%;
    background: url("../images/bg-header.png") right top no-repeat;
    z-index: 1001;
}
.header-container{
    position: relative;
    height:60px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.header-container > .mini-nav {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}
.header-container .mini-nav ul {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap;
}
.header-container .mini-nav > ul > li {
    display: inline-block;
    position: relative;
    font-size: 0;
    margin-right: 31px;
    text-align: center;
}
.header-container .mini-nav ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    line-height: 18px;
}
.header-container .mini-nav ul li a:hover {
    text-decoration: underline;
}
.header-container .header-info {
    position: relative;
    flex:1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.copyright-block{
    position: relative;
    background: #ff6827;
    padding: 25px 0;
    color:#fff;
    font-size:14px;
    line-height: 20px;
}
.copyright-block a{
    color:#fff;
}
.copyright-content{
    position: relative;
    display:flex;
    align-items: center;
    height:60px;
}
.copyright-content .col{
    padding:0;
}
.col.text-center{
    flex:1;
    font-size: 0;
}
.copyright-content .col:last-child{
    margin:0 0 0 auto;
}

.benefits-section{
    position: relative;
    background: url("../images/trail.png") left center no-repeat #eeeeee;
    padding:35px 0 30px;
    background-size: contain;
    margin-bottom:100px;
}
.benefits-section .clipped-image{
    position: absolute;
    box-sizing: border-box;
    top:0;
    right:0;
    bottom:0;
    overflow: hidden;
    background: #fff;
    clip-path: polygon(132px 0%, 100% 0%, 100% 100%, 24px 100%);
    width:40%;
}
.benefits-section .clipped-image::after{
    content:'';
    display: block;
    position: absolute;
    left:20px;
    top:0;
    bottom:0;
    width:100%;
    clip-path: polygon(132px 0%, 100% 0%, 100% 100%, 24px 100%);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: cover;
    background-image: var(--bg-image);
}

h2.block-title{
    position: relative;
    margin:0 0 28px;
    font-size:20px;
    font-weight: bold;
    font-style: italic;
    text-transform: uppercase;
    line-height: 1;
}
h2.block-title.y-title{
    line-height: 64px;
    height: 64px;
    padding-left:16px;
    color:#fff;
    background: url("../images/bg-title.png") left top no-repeat;
}

.brands-section{
    margin-bottom:100px;
}
.brands-slider{
    padding:0 50px;
}
.brands-slider .slick-list{
    padding-right:1px;
}
.brands-image-wrapper{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-left:1px solid #e0e0e0;
    height:100px;
    margin-left:-1px;
}
.brands-image-wrapper img{
    position: relative;
    display: block;
    width:100%;
    max-width: 100px;
    height: auto;
}

.brands-section .slick-slide > div{
    display: flex;
    justify-content: center;
    position: relative;
    border:1px solid #e0e0e0;
    margin-right:-1px;
}


.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus,
.slick-prev,
.slick-next{
    width:40px;
    height:25px;
    font-size:0;
    background: url("../images/slick-arrow.png") center center no-repeat;
    z-index: 10;
}
.slick-prev{
    left:0;
}
.slick-next{
    right:0;
    transform: rotate(180deg) translateY(50%);
}
.slick-prev::before,
.slick-next::before{
    width:40px;
    height:25px;
    font-size:0;
}

.service-item{
    position: relative;
    display: block;
    margin-bottom:24px;
}
.service-item a{
    position: absolute;
    left:0;
    top:0;
    right: 0;
    bottom:0;
}
.service-title{
    position: relative;
    margin-bottom:16px;
    font-weight: bold;
    font-size:17px;
}
.service-image-wrapper{
    position: relative;
    font-size: 0;
    margin-bottom:16px;
}
.service-image-wrapper img{
    position: relative;
    display: block;
}

.content-page-block .service-item{
    margin-bottom:60px;
}
.more-services{
    position: relative;
    display: inline-block;
    font-size:14px;
    line-height: 14px;
    font-weight: 500;
    color:#2c3136;
    text-decoration: none;
    padding:11px 57px 13px 43px;
    border:1px solid #e0e0e0;
    border-radius:4px;
}
.more-services::after{
    content: '';
    position: absolute;
    right: 21px;
    top:50%;
    transform: translateY(-50%);
    width: 5px;
    height: 7px;
    background: url("../images/arr-r.png") center center no-repeat;
}

.map-wrapper{
    position: relative;
    border:1px solid #e0e0e0;
}
.map-menu{
    position: relative;
    margin:0;
    padding:0 0 0 19px;
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height:50px;
    border-bottom:1px solid #e0e0e0;
}
.map-menu li{
    position: relative;
    list-style: none;
    font-size:18px;
    font-weight: 500;
    margin:0 19px;
}
.map-menu li a{
    position: relative;
    display: inline-block;
    color:#2c3136;
    text-decoration: none;
}
.map-menu li a::after{
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    left:0;
    bottom:-4px;
    border-bottom: 1px dotted #2c3136;
}
.map-menu li.active a{
    color:#ff7937;
}
.map-menu li.active a::after{
    border-color:#ff7937;
}
#map{
    position: relative;
    width: 100%;
    height:500px;
    background: #f2eed9;
}

.social-btn{
    position: relative;
    display: inline-block;
    width:18px;
    height:18px;
    background-position: center center;
    background-repeat: no-repeat;
    margin:0 4px;
}
.social-btn.fb{
    background-image: url("../images/icons/s-fb.png");
}
.social-btn.in{
    background-image: url("../images/icons/s-in.png");
}

.breadcrumbs{
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin:0;
    padding:0;
    min-height:90px;
    list-style: none;
}
.breadcrumbs li{
    position: relative;
    display: block;
    list-style: none;
}
.breadcrumbs li::after{
    content: '  ';
    position: relative;
    display: inline-block;
    color:#858a8f;
    font-size:0;
    width:5px;
    height:9px;
    top:1px;
    background: url("../images/icons/arrow-breadcrumbs.png") center no-repeat;
    margin:0 10px;
}
.breadcrumbs li:last-child::after{
    display:none;
}
.breadcrumbs li a{
    color:#858a8f;
    font-size:14px;
    font-weight: normal;
    text-decoration: none;
}
.breadcrumbs li a:hover{
    text-decoration: underline;
}

h1.page-title{
    color:#2c3136;
    font-family: "Gilroy", sans-serif;
    font-weight: 900;
    font-size:22px;
    margin:0 0 45px;
    text-transform: uppercase;
}
.pagination{
    margin: 0;
    padding: 10px 0 0 0;
    text-align: center;
}
.pagination .pagination__list{
    display: inline-block;
    margin:0 auto;
    padding:0;
    vertical-align: middle;
}
.pagination li{
    color: #2c3136;
    font-size: 16px;
    font-weight: bold;
    height:25px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}
.pagination li span{
    display: block;
    margin:0 8px;
}
.pagination li a{
    color: #2c3136;
    display: block;
    text-decoration: none;
    margin:0 10px;
}

.pagination li.active{
    border-color: #ff6827;
}
.pagination li.active a{
    color: #ff6827;
}
.pagination li a#PrevLink,
.pagination li a#NextLink{
    position:relative;
    font-size:0;
    display:block;
    width: 40px;
    border:1px solid #c5c5c5;
    border-radius:12px;
    background: url("../images/arr-r.png") center no-repeat;
}
.pagination li a#PrevLink{
    transform: rotate(180deg);
    margin-right:35px;
}
.pagination li a#NextLink{
    margin-left:35px;
}

.departments-block{
    position: relative;
    margin-bottom:60px;
    --auto-grid-min-size: 21rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--auto-grid-min-size), 1fr));
    grid-gap: 1rem;
}
.office-item{
    position: relative;
    margin-bottom:30px;
    padding-left: 30px;
}
.city-row h5{
    position: relative;
    margin:0 0 24px;
    border-bottom:1px solid #e0e0e0;
    padding-bottom:10px;
    font-size:16px;
    font-weight: bold;
    text-transform: uppercase;
}
.map-infowindow__title{
    position: relative;
    font-weight: 600;
    margin-bottom:15px;
}
.map-infowindow__text {
    position: relative;
    margin-bottom:15px;
}
.map-infowindow__text label{
    position: relative;
    display: block;
    margin-bottom:4px;
    color: #929292;
    font-size:13px;
    font-style: italic;
}
.map-infowindow__text a{
    color:#2c3136;
}
.map-infowindow__text a[data-fancybox]{
    position: relative;
    display: block;
    margin-top: 18px;
    color: #929292;
    font-size:13px;
    font-style:italic;
    padding: 0 0 4px 21px;
    background: url("../images/icons/pin.png") left center no-repeat;
}

.service-image{
    position: relative;
    padding:18px;
    border:1px solid #e0e0e0;
    border-radius: 10px;
    display: block;
    float:left;
    font-size:0;
    margin:0 24px 15px 0;
}
.service-image img{
    display: block;
}
.news-back,
.news-back a{
    color:#2c3136;
    font-size:13px;
}

.phone-link-block{
    position: relative;
    margin-bottom:4px;
}