*, ::before, ::after {
    box-sizing: border-box;
    outline: none;
}

html, body {
    height: 100%;
}

body {
    margin: 0;
    padding:0;
    font-size: 16px;
    line-height: 1.4;
    color: #3d3d3d;
    font-family: "Open Sans", sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    background: #fff;
}

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;
}
textarea {
    overflow: auto;
    resize: vertical;
    font-family: 'Open Sans', sans-serif;
}
p{
    margin:0 0 22px;
}
a,
a:hover,
a:active,
a:visited {
    color:#3d3d3d;
    text-decoration: underline;
    outline: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}
article,
aside,
footer,
header,
nav,
section,
figcaption,
figure,
main,
details,
menu {
    display: block;
}
button,
input,
optgroup,
select,
textarea {
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}
button,
html [type='button'],
[type='reset'],
[type='submit'] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
    outline: 1px dotted ButtonText;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #b3b3b3;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #b3b3b3;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: #b3b3b3;
}
.text-center{
    text-align:center;
}
.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%;
}
.overflow{
    overflow: hidden;
}
.container{
    max-width: 1280px;
}
.inner-wrapper{
    position: relative;
    display: block;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}
header{
    position: relative;
}
header nav{
    background: #f5f5f5;
    padding-left:15px;
    padding-right:15px;
}
header nav .inner-wrapper{
    display: flex;
}
header .logo-block {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 15px 30px 15px 0;
    margin-bottom: 22px;
    z-index: 1;
    max-width: 325px;
    min-width: 280px;
}
header .logo-block::before {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    background: #ffffff;
    transform: skewX(16deg);
    transform-origin: 50% 100%;
    will-change: transform;
    pointer-events: none;
    z-index: -1;
}
header .logo-block img{
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    max-width: 258px;
}
header .navbar-right{
    flex-grow: 1;
}
header .navbar-right .navbar-aside{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding: 13px 0 13px 15px;
    z-index: 1;
}
header .navbar-right .navbar-aside::before{
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    background: #ffffff;
    transform: skewX(16deg);
    transform-origin: 50% 90%;
    will-change: transform;
    pointer-events: none;
    z-index: -1;
}
header .navbar-right .navbar-aside a{
    letter-spacing: .075em;
    font-weight: bold;
    font-size: 16px;
    text-decoration: none;
    display: inline-block;
}
header .navbar-right .navbar-aside a.tel,
header .navbar-right .navbar-aside a.address{
    margin-left:20px;
}
.unit-left, .unit-right {
    flex: 0 0 auto;
    max-width: 100%;
    line-height: 1.2;
    margin-right:-10px;
    margin-bottom:-10px;
}
.contacy-item{
    display: flex;
    margin-left: 50px;
    white-space: nowrap;
}
.contacy-item .address {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .025em;
}
header .lang-swith{
    font-size: 0;
}
header .lang-swith a{
    margin-left:8px;
}
header .lang-swith a:hover{
    text-decoration: underline;
}



header .navbar-main{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    transition: all .3s ease;
}
header .navbar-main ul,
header .navbar-main ul li{
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0;
}
header .navbar-main > ul{
    transition: 0.35s all cubic-bezier(0.65, 0.05, 0.36, 1);
}
header .navbar-main > ul > li{
    display: inline-block;
    margin-left: 45px;
}
header .navbar-main > ul > li:first-child{
    margin-left: 0;
}
header .navbar-main > ul > li ul{
    display: none;
}
header .navbar-main a{
    text-decoration: none;
    white-space: nowrap;
}
header .navbar-main > ul > li > a{
    position: relative;
    display: inline-block;
    font-size: 18px;
    line-height: 1.34;
    padding: 32px 0;

}
header .navbar-main > ul > li > a::before {
    position: absolute;
    content: '';
    bottom: -1px;
    right: 100%;
    width: 10px;
    height: 3px;
    background: #57a4e0;
    opacity: 0;
    transition: all .2s ease, right 0s ease .2s;
}
header .navbar-main > ul > li.active > a::before,
header .navbar-main > ul > li:hover > a::before {
    bottom: 0;
    height: 3px;
    right:0;
    opacity: 1;
    width: 100%;
    transition: right .3s ease, width .3s ease .3s;
}
header .navbar-main > ul > li.active > a::before{
    height: 6px;
}
header .navbar-main > ul > li.active.sub-menu > a::before,
header .navbar-main > ul > li.sub-menu:hover > a::before {
    right:-16px;
    width: calc(100% + 16px);
}
header .navbar-main ul li.sub-menu::before,
header .navbar-main ul li.sub-menu::after {
    content:"";
    background: #3d3d3d;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    display: block;
    height: 2px;
    position: absolute;
    right: 10px;
    width: 7px;
    top:50%;
    transform: translateY(-45%);
}

header .navbar-main ul li.sub-menu::before{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top:-1px;
}
header .navbar-main ul li.sub-menu::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top:2px;
}
header .navbar-main > ul > li.sub-menu::before{
    right:-12px;
    margin-top:1px;
}
header .navbar-main > ul > li.sub-menu::after {
    right:-16px;
    margin-top:1px;
}
header .navbar-main > ul > li.sub-menu > ul {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top:-1px;
    border-radius: 0 0 3px 3px;
    background: #f5f5f5;
    min-width: calc(100% + 16px);
    z-index: 100;
    box-shadow: 0 5px 5px rgba(0,0,0,0.3);
    padding: 3px 0;
}
header .navbar-main > ul > li.sub-menu:hover > ul {
    display: block;
}
header .navbar-main > ul > li.sub-menu ul li{
    padding: 7px 15px;
    font-size:16px;
}
header .navbar-main > ul > li.sub-menu li:hover{
    background: #fff;
}
header .navbar-main > ul > li.sub-menu li.sub-menu{
    padding-right:16px;
}
header .navbar-main > ul > li.sub-menu li.sub-menu > ul{
    position: absolute;
    left: 100%;
    margin-left:-1px;
    background: #f5f5f5;
    top: 0;
    border-radius: 0 3px 3px 0;
    padding:3px 0;
    box-shadow: 2px 5px 5px rgba(0,0,0,0.3);
}
header .navbar-main > ul > li.sub-menu li.sub-menu:hover > ul{
    display: block;
}
header .navbar-main > ul > li.sub-menu li.active{
    background: #fff;
}

.slick-prev, .slick-next{
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    overflow: hidden;
    width: 80px;
    min-width: 80px;
    height: 72px;
    font-size: 0;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    cursor: pointer;
    z-index: 1000;
}
.slick-prev{
    left:0;
    padding-right: 10px;
}
.slick-next{
    right:0;
    padding-left: 10px;
}
.slick-next::before,
.slick-prev::before{
    font-family: "Material Design Icons";
    font-size: 32px;
    opacity:1;
}
.slick-prev::before{
    content: "\F004D";
}
.slick-next::before{
    content:"\F0054";
}
.slick-prev::after,
.slick-next::after{
    display: inline-block;
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(245, 245, 245, 0.3);
    transform-origin: 50% 100%;
    will-change: transform;
    pointer-events: none;
    transition: inherit;
    z-index: -1;
}
.slick-prev::after{
    transform: skew(10deg);
}
.slick-next::after{
    transform: skew(-10deg);
}

.company-button{
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    text-align: center;
    z-index: 1;
}
.company-button::before{
    display: inline-block;
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    left: 14px;
    width: 120%;
    background: #ffffff;
    transform: skew(-43deg);
    transform-origin: 50% 0;
    pointer-events: none;
    z-index: -1;
}
.company-button h5{
    padding-top: 15px;
    padding-bottom: 15px;
    flex-grow: 1;
    font-weight: 400;
    letter-spacing: 0.025em;
    text-transform: none;
    font-size: 24px;
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: 0;
}
@keyframes arrowTransformY {
    25% {
        transform: translateY(5px);
    }
    75% {
        transform: translateY(-5px);
    }
}
.about-company-button{
    position:relative;
    margin-top:-82px;
}
.slick-slider{
    font-size:0;
}
.company-button {
    margin-top: -76px;
}
.company-button .icon {
    display: inline-block;
    width: 76px;
    height: 76px;
    font-size: 22px;
    line-height: 76px;
    color: #57a4e0;
    background: #f5f5f5;
}
.company-button .icon::before {
    animation: arrowTransformY .7s linear infinite;
}
.about-company-section{
    position: relative;
    margin-left:0;
    margin-right: 0;
    background: #f5f5f5;
    margin-bottom:60px;
    border-bottom: 1px solid #f5f5f5;
}
.tab-content{
    padding: 25px 0;
    display: none;
}
.tab-content.active{
    display:block;
}
.block-title{
    margin:0 0 55px;
    padding:0;
    font-size:18px;
    font-weight: bold;
    text-transform: uppercase;
}
.tab-content .block-title{
    margin-bottom:30px;
}
h1.block-title{
    margin-bottom:35px;
}
.tab-nav ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
.tab-nav ul li{
    font-size: 14px;
    line-height: 1.72;
    font-weight: 700;
    letter-spacing: .1em;
    color: #151515;
}
.tab-nav ul li a{
    display: block;
    padding: 42px 42px 42px 112px;
    letter-spacing: .3em;
    text-transform: uppercase;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: #f5f5f5;
    background: #ffffff;
    text-indent: -27px;
    text-decoration: none;
}
.tab-nav ul li a::before{
    display: inline-block;
    content: '';
    width: 9px;
    height: 9px;
    margin-right: 20px;
    border-radius: 50%;
    background: #e1e1e1;
    transition: all 0.3s ease-in-out;
}
.tab-nav ul li.active a::before,
.tab-nav ul li a:hover::before{
    background: #57a4e0;
}


.news-index-list{
    --auto-grid-min-size: 25rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--auto-grid-min-size), 1fr));
    gap: 50px 40px;
    position: relative;
    margin-bottom: 30px;
}
a.news-title{
    font-size:16px;
    font-weight: bold;
    position: relative;
    display: block;
    margin-bottom: 2px;
    text-decoration: none;
}
a.news-title:hover{
    text-decoration: underline;
}
.news-date{
    font-size:12px;
    color:#c2c2c2;
    margin-bottom: 5px;
}
.news-anounce{
    position: relative;
    font-size:16px;
}
footer{
    position: relative;
    margin-top:100px;
    height: 117px;
    line-height: 117px;
    background: #343c49;
    color:rgba(255,255,255,0.4);
    font-size:14px;
}
.text-center{
    text-align: center;
}
.footer-block{
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size:14px;
    line-height: 16px;
    padding:45px 0;
    color:rgba(255,255,255,0.4);
}
.footer-block p{
    margin: 0 0 9px 0;
}
.footer-block a{
    color:rgba(255,255,255,0.4);
    font-weight: bold;
}
.footer-block .footer-cell.text-center{
    flex:1;
}
.footer__link{
    font-size:0;
    margin:0 3px;
    display: inline-block;
    vertical-align: middle;
}
.footer__link img{
    vertical-align: top;
}
.breadcrumbs-block{
    margin:30px 0 30px 0;
}
.bread-crumbs{
    margin:0;
    padding:0 0 0 30px;
    list-style: none;
}
.bread-crumbs:before{
    font-family: "Material Design Icons";
    content:"\F02DC";
    font-size:16px;
    position: absolute;
    color:#d0d0d0;
    left:15px;
    top:2px;
    width:16px;
    height:16px;
}
.bread-crumbs li{
    position: relative;
    display: inline-block;
}
.bread-crumbs li::after{
    content: '';
    position: absolute;
    right:5px;
    top:10px;
    width:5px;
    height:5px;
    background: #d0d0d0;
    border-radius: 50%;
}
.bread-crumbs li:last-child::after{
    display: none;
}
.bread-crumbs li a{
    color: #6f6f6f;
    font-size:11px;
    text-transform: uppercase;
    text-decoration: none;
    position: relative;
    display: inline-block;
    margin-right: 20px;
}
.bread-crumbs li a:hover{
    text-decoration: underline;
}

.container.news-content{
    padding-left: 0;
    padding-right: 0;
}
.news-siblings{
    list-style: none;
    margin:0;
    padding:0;
}
.news-siblings li{
    margin:0 0 40px 0;
}
iframe{
    position:relative;
    width:100%;
    height:450px;
    border:0;
    margin:0 auto;
    display:block;
}
.gItem{
    position:relative;
    margin-bottom:20px;
}
.gItem > a{
    display: inline-block;
    font-size: 0;
    padding: 6px;
    border-radius: 5px;
    border: 1px solid #ccc;
}
.gItem > a > img{
    border-radius:5px;
}

blockquote{
    display:block;
    background: #fff;
    padding: 15px 20px 15px 45px;
    margin: 0 0 20px;
    position: relative;

    /*Font*/
    font-family: Georgia, serif;
    font-size: 16px;
    font-style: italic;
    line-height: 1.2;
    color: #666;
    text-align: justify;

    /*Borders - (Optional)*/
    border-left: 10px solid #57a4e0;
    border-right: 2px solid #57a4e0;

    /*Box Shadow - (Optional)*/
    -moz-box-shadow: 2px 2px 15px #ccc;
    -webkit-box-shadow: 2px 2px 15px #ccc;
    box-shadow: 2px 2px 15px #ccc;
}

blockquote::before{
    content: "\201C"; /*Unicode for Left Double Quote*/

    /*Font*/
    font-family: Georgia, serif;
    font-size: 60px;
    font-weight: bold;
    color: #999;

    /*Positioning*/
    position: absolute;
    left: 10px;
    top:5px;
}

blockquote::after{
    /*Reset to make sure*/
    content: "";
}

blockquote a{
    text-decoration: none;
    background: #eee;
    cursor: pointer;
    padding: 0 3px;
    color: #57a4e0;
}

blockquote a:hover{
    color: #666;
}

blockquote em{
    font-style: italic;
}

.galleryBlock .slick-track{
    padding-top:20px;
}
.galleryBlock .slick-slide{
    transition: all 0.3s;
}
.galleryBlock .slick-current{
    transform: scale(1.08);
}
.galleryBlock .slick-prev::after, .galleryBlock .slick-next::after{
    background: rgba(121, 121, 121, 0.3);
}

#mobileMenuBtn{
    position:relative;
    width: 30px;
    height:30px;
    display: none;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    cursor:pointer;
    margin: 15px 0;
}
#mobileMenuBtn span{
    position:relative;
    display: block;
    width:100%;
    height:1px;
    background: #3d3d3d;
    font-size:0;
}

#sidebar{
    position: fixed;
    display: block;
    z-index: -1;
    top:0;
    left:100%;
    width:0;
    height:100%;
    background: rgba(0,0,0,0.75);
    opacity:0;
    transition: all 0.5s;
    overflow: hidden;
}
#sidebar .menu-wrapper{
    position: absolute;
    top:0;
    left:100%;
    right:auto;
    background: #fff;
    width: 100%;
    max-width: 100%;
    height:100%;
    overflow: auto;
    transition: all 0.5s;
}
#sidebar .menu-wrapper ul{
    margin:10px 20px 0;
    padding:0;
    list-style: none;
}
#sidebar .menu-wrapper ul ul{
    margin-top:0;
    margin-bottom:10px;
}
#sidebar .menu-wrapper ul li a{
    position: relative;
    display: inline-block;
    color:#3d3d3d;
    margin-bottom:5px;
}
#sidebar .send-btn{
    display: none;
}
#sidebar .lang-swith{
    position: relative;
    padding:11px 20px 0;
    text-align: right;
    font-size:0;
}
#sidebar .lang-swith a{
    position: relative;
    display: inline-block;
    font-size:14px;
    color:#3d3d3d;
    margin-left:15px;
}

body.mobileMenuShow{
    overflow: hidden;
}
body.mobileMenuShow #sidebar{
    left:0;
    opacity:1;
    width:100%;
    margin-left:0;
    z-index:1000;
}
body.mobileMenuShow #sidebar .menu-wrapper{
    left:auto;
    right:0;
}
#sidebar .mobile-close{
    position: absolute;
    top:10px;
    right:10px;
    height: 20px;
    width: 20px;
    text-align: center;
    cursor: pointer;
    background: url('../img/close.png') center no-repeat;
    background-size: 24px 24px;
    display:none;
    z-index: 20;
}
body.mobileMenuShow #sidebar .mobile-close{
    display:block;
}
.mobile-logo-wrapper{
    padding:10px;
}
.mobile-address{
    padding-top:30px;
    font-size:17px;
}
#sidebar .mobile-address{
    padding: 30px 20px;
}
.mobile-address p{
    margin:0 0 15px;
}
.mobile-address .contacy-item{
    margin-left:0;
}
.mobile-address a.tel,
.mobile-address a.address{
    margin-left:20px;
}