.footer-bar-content a:hover, .header-tel:focus, .header-tel:hover, .text a:hover {
    text-decoration: underline
}

#main-menu a, .file-caption, .form .form-element-name, .header-tel a, .lang span, .offer-box .title, .realizations-slider .slide-caption, .section-title, .slide-images .slide-text, footer .footer-bar-links {
    text-transform: uppercase
}

.animIcon span, .main-menu-button.animIcon--hamburger.active span {
    background-color: #000
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLDD4Z1JlFc-K.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Poppins;
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLDD4Z1xlFQ.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

:root {
    --space-60: 60px;
    --space-50: 50px;
    --space-40: 40px;
    --space-25: 25px;
    --font-48: 48px;
    --font-40: 40px;
    --font-36: 36px;
    --font-30: 30px;
    --font-24: 24px;
    --container-padding: 40px;
    --row-gap: 5px;
    --color-primary: #000;
    --color-secondary: #fff;
    --color-default: #000
}

body {
    color: #000;
    font-family: Poppins, sans-serif
}

a, button, input, option, select, textarea {
    outline: 0 !important
}

em {
    padding-right: 2px
}

a {
    color: #f0f
}

a:focus, a:hover {
    color: #0f0
}

.animationDuration {
    -webkit-animation-duration: 1s;
    animation-duration: 1s
}

.mourning {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%)
}

#content, #page, .article {
    overflow: hidden
}

#content {
    padding-top: 109px
}

#container-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

#container-page > footer {
    margin-top: auto
}

.container {
    clear: both;
    margin: 0 auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
    max-width: 1720px;
    width: 100%
}

.container-small {
    max-width: 1444px
}

.container--noClear {
    clear: none
}

.container--noClear::after, .container--noClear::before, .form-element-country .glyphicon, .form-element-select .form-control-feedback, .mainsearch .form-control-feedback {
    display: none
}

.icon-mask.icon-mask {
    -webkit-mask-size: cover;
    -mask-size: cover;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: currentColor
}

.icon-captcha {
    width: 18px;
    height: 21px;
    color: #000;
    display: block;
    -webkit-mask-image: url('../images/icons/captcha.svg');
    mask-image: url('../images/icons/captcha.svg')
}

.icon-loupe {
    -webkit-mask-image: url('../images/icons/icon-loupe.svg');
    mask-image: url('../images/icons/icon-loupe.svg')
}

.icon-arrow-right {
    -webkit-mask-image: url('../images/icons/arrow-right.svg');
    mask-image: url('../images/icons/arrow-right.svg')
}

.icon-user {
    -webkit-mask-image: url('../images/icons/user.svg');
    mask-image: url('../images/icons/user.svg')
}

.icon-download {
    -webkit-mask-image: url('../images/icons/download.svg');
    mask-image: url('../images/icons/download.svg')
}

.icon-register {
    -webkit-mask-image: url('../images/icons/register.svg');
    mask-image: url('../images/icons/register.svg')
}

.icon-logout {
    -webkit-mask-image: url('../images/icons/logout.svg');
    mask-image: url('../images/icons/logout.svg')
}

.btn-primary, .btn-primary.active, .btn-primary.active:focus, .btn-primary:active, .btn-primary:focus, .btn-primary:focus:active, .btn-primary:hover, .btn-primary:hover:active, .btn-primary:hover:focus {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff
}

.btn-primary.active {
    background-color: #fff;
    color: var(--color-primary)
}

.btn-default[disabled], .btn-default[disabled]:hover, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-secondary[disabled], .btn-secondary[disabled]:hover {
    opacity: .2;
    cursor: not-allowed
}

.btn-secondary, .btn-secondary.active, .btn-secondary.active:focus, .btn-secondary:active, .btn-secondary:focus, .btn-secondary:focus:active, .btn-secondary:hover, .btn-secondary:hover:active, .btn-secondary:hover:focus {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: #fff
}

.btn-secondary.active {
    background-color: #fff;
    color: var(--color-secondary)
}

.btn-default, .btn-default.active, .btn-default.active:focus, .btn-default:active, .btn-default:focus, .btn-default:focus:active, .btn-default:hover, .btn-default:hover:active, .btn-default:hover:focus {
    background-color: var(--color-default);
    border-color: var(--color-default);
    color: #fff
}

.btn-default.active {
    background-color: #fff;
    color: var(--color-default)
}

.btn {
    border-radius: 6px;
    transition: .2s
}

.alert, .modal-content, .panel, .panel-heading, .popover {
    border-radius: 0
}

.panel {
    box-shadow: none
}

.panel-default {
    border-color: #e5e5e5
}

.row {
    margin-left: calc(-1 * var(--row-gap));
    margin-right: calc(-1 * var(--row-gap));
    display: flex;
    flex-wrap: wrap
}

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    padding-left: var(--row-gap);
    padding-right: var(--row-gap)
}

.modal-footer[style="display: block;"] {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.modal-footer:after, .modal-footer:before {
    content: none
}

.text {
    overflow: visible;
    font-size: 14px;
    line-height: 2.14
}

.text a {
    color: #000;
    font-weight: 700
}

.text a:hover {
    color: #000
}

.text ol ul, .text ul, .text ul ul {
    list-style: none
}

.text ol > li, .text ul > li {
    left: 40px;
    position: relative;
    padding-right: 40px
}

.text ul > li::before {
    content: "•";
    position: relative;
    display: inline-block;
    width: 10px;
    left: -10px;
    margin-left: -10px;
    line-height: 1em;
    font-family: sans-serif;
    font-weight: 900;
    font-size: 18px
}

.text ol > li::marker {
    word-spacing: 3px
}

.text table {
    margin: 30px 0
}

.footer-bar-content ul, footer .footer-bar-links {
    margin-right: 0 !important
}

.text table tr:nth-child(2n) {
    background: rgba(0, 0, 0, .05)
}

.text table td {
    padding: 12px
}

header {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    background: #fff;
    right: 0
}

header:after {
    background: #000;
    height: 1px;
    width: 100%;
    bottom: -1px;
    position: absolute;
    left: 0;
    content: ""
}

.file-img img, .footer-logo img, .img-wrapper img, .logo img {
    max-width: 100%;
    display: block
}

.header-right {
    display: flex;
    justify-content: flex-end;
    align-items: center
}

.header-main-inner {
    display: grid;
    grid-template-columns:1fr 2fr 1fr;
    padding: 8px 0;
    justify-content: space-between;
    align-items: center
}

.header-center {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: var(--space-60)
}

#main-menu > ul > li + li {
    margin-left: 20px
}

.header-tel a {
    color: #000
}

#main-menu li.active > a, #main-menu li:focus > a, #main-menu li:hover > a, .footer-content a:hover, .pagination-wrapper ul li a:hover, .pagination-wrapper ul li.active a {
    text-shadow: 0 0 1px #000
}

#main-menu a {
    transition: text-shadow, .5s;
    color: #000
}

#main-menu > ul > li > ul {
    width: max-content;
    min-width: 100%;
    flex-direction: column
}

#main-menu > ul > li > a {
    padding: 5px 10px
}

.header-tel {
    margin-top: 2px;
    font-size: 14px;
    margin-left: 5px;
    margin-right: calc(var(--space-60) + var(--space-25) - 5px)
}

.header-center a {
    font-size: 14px;
    color: #000
}

.header-top {
    background-color: #337ab7
}

.header-top-inner {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    min-height: 54px
}

.header-top .user-nav, .header-top-right, .mainsearch-search {
    display: flex;
    align-items: stretch
}

.logo {
    max-width: 298px
}

.logo a, .mainsearch.rwdPanel, .social-icon img {
    display: block
}

.logo a img {
    display: block;
    max-width: 100%
}

#main-menu ul, .gallery-list {
    font-size: 0
}

#main-menu li {
    position: relative;
    display: inline-block;
    font-size: 1rem
}

#main-menu li > ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0
}

#main-menu li > ul > li > ul {
    top: -1px;
    left: 100%
}

#main-menu li li a, .offer-box .img-wrapper {
    width: 100%;
    height: 100%
}

#main-menu li:hover > ul > li > a {
    padding: 10px;
    display: block
}

#main-menu ul li li {
    min-width: 100%;
    width: max-content;
    background: #fff
}

#main-menu li:hover > ul > li + li {
    border-top: 1px solid #000
}

#main-menu li:hover > ul {
    display: flex;
    flex-direction: column;
    border: 1px solid #000;
    background: #fff
}

.main-menu-button {
    float: right;
    width: 40px;
    margin: 18px 0 18px var(--container-padding);
    border: none;
    background: 0 0
}

.mainsearch {
    float: left;
    position: relative;
    width: 350px;
    max-width: 100%
}

.mainsearch .form-element-container {
    flex-grow: 1
}

.mainsearch input.form-control {
    display: block;
    height: 46px;
    padding: 5px 15px;
    border-right: none;
    box-shadow: none
}

.mainsearch-submit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, .1)
}

.mainsearch .alert-block {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.about-us-content, .animIcon, .article-image, .breadcrumb-container, .breadcrumb > li, .footer-bar-content ul > li, .gallery-picture, .lang-button, .langs-menu, .map-point .custom-map-wrapper, .offer-img, .offer-img-wrapper, .overlay-squares, .page-top, .realizations-slider, .realizations-slider-wrapper {
    position: relative
}

.header-top .user-nav-item {
    display: flex;
    align-items: stretch;
    position: relative
}

.header-top .user-nav-item-inner {
    display: flex;
    align-items: center;
    color: #fff
}

.header-top .user-nav-item + .user-nav-item {
    padding-left: 20px;
    margin-left: 20px
}

.header-top .user-nav-item + .user-nav-item::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    -ms-transform: translate3d(0, -50%, 0);
    -o-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
    width: 1px;
    height: 12px;
    background-color: rgba(255, 255, 255, .6)
}

.header-top .user-nav-item .icon {
    width: 26px;
    height: 26px
}

.footer-top {
    padding: calc(var(--space-60) + var(--space-25) + 5px) 0
}

.asided-inner, .contact-cols, .footer-cols, .main-slider, .offer-small-imgs .slick-list, .offer-small-imgs .slick-track {
    display: flex
}

.footer-col {
    width: 17%
}

.footer-col.col1 {
    width: 23%
}

.footer-col.col5 {
    width: 26%
}

.footer-content {
    font-size: 14px;
    line-height: 30px
}

.footer-logo {
    width: 70%
}

.footer-content a {
    color: #000;
    transition: text-shadow, .5s;
    font-weight: 400
}

.footer-col.col5 .footer-title {
    text-align: right
}

.footer-content.big-text a {
    font-size: calc(var(--font-36) + 4px);
    display: block;
    width: 100%;
    font-weight: 300;
    text-align: right
}

.footer-title {
    font-size: var(--font-30);
    font-weight: 600;
    line-height: 36px;
    padding-bottom: calc(var(--space-25) + 5px)
}

.footer-social {
    padding-top: calc(var(--space-60) + 15px)
}

.social-item .social-icon {
    width: 89px;
    height: 89px;
    border-radius: 50%;
    color: #000;
    padding: 15px;
    transition: border, .5s;
    border: 1px solid rgba(0, 0, 0, .1)
}

.footer-bar {
    border-top: 1px solid #000;
    padding: 23px 0;
    line-height: 30px;
    letter-spacing: .7px;
    font-weight: 400;
    font-size: 14px;
    color: #050605;
    background-color: #fff
}

.article-content::after, .footer-bar-content::after {
    content: "";
    display: table;
    clear: both
}

.file-box-inner:focus, .file-box-inner:hover, .footer-bar-content a, .pagination-wrapper ul li a {
    color: #000
}

.footer-bar-content > * {
    float: left
}

.footer-bar-content > :not(:last-child) {
    margin-right: 30px
}

footer .footer-bar-links {
    margin-left: -8px;
    font-size: 0
}

.footer-bar-content ul > li:after {
    height: 10px;
    position: absolute;
    width: 1px;
    content: "";
    display: block;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #050605;
    right: calc(var(--space-50) / 2)
}

.aside li > a:after, .aside li > a:before {
    height: 1px;
    background: rgb(229 229 229)
}

.footer-bar-content ul > li {
    padding-right: var(--space-50);
    display: inline-block;
    vertical-align: middle;
    font-size: 14px;
    line-height: 24px
}

.breadcrumb > li > a:not(:hover), .breadcrumb > li > a:not([href]), .footer-bar-links a {
    color: inherit
}

.copyright-undicom a {
    margin-left: 5px;
    display: inline-flex;
    align-items: center
}

.copyright-undicom {
    float: right;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    color: inherit;
    display: inline-flex !important;
    align-items: center
}

.btn-arrow, .btn-goBack, .btn-seeAll, .file-caption {
    letter-spacing: 1.4px
}

.copyright-undicom svg {
    max-width: 15px;
    margin-right: 5px;
    fill: currentColor
}

.article-image img, .langs-menu-icon img, .logotype img {
    max-width: 100%
}

.form .form-control, .form-control {
    box-shadow: none;
    height: 46px
}

.form .form-element-name {
    font-size: 16px;
    font-weight: 300
}

.contact-form-section {
    padding: calc(var(--space-50) * 2) 0
}

.contact-form {
    margin: 0 auto;
    max-width: 1000px
}

.form .after-consent-row, .form .before-consent-row, .form .consent-all, .form .consent-row label {
    font-size: 14px;
    letter-spacing: .7px;
    line-height: 24px
}

.font-white .form .after-consent-row, .font-white .form .before-consent-row, .font-white .form .consent-all .font-white .form .consent-row .error, .font-white .form .consent-row label {
    color: #fff
}

.form .captcha-image-wrapper, .form .form-group-lg .captcha-image-wrapper, .form .form-group-sm .captcha-image-wrapper {
    border-radius: 6px;
    box-shadow: none
}

.form-control::placeholder {
    color: #fff
}

.form button.captcha-refresh {
    right: var(--row-gap);
    color: #e10121;
    border-radius: 0;
    background-color: transparent;
    border: none;
    border-left: 1px solid rgba(0, 0, 0, .1);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px
}

.form button.captcha-refresh .fa.fa-spin {
    -webkit-animation-play-state: paused;
    -moz-animation-play-state: paused;
    -o-animation-play-state: paused;
    animation-play-state: paused
}

.form-control-feedback {
    top: 50%;
    right: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    -ms-transform: translate3d(0, -50%, 0);
    -o-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

.select2-dropdown {
    z-index: 100;
    border-radius: 0
}

.select2-container .select2-selection--single, .select2-container--default .select2-selection--multiple {
    height: 46px;
    border-color: #ccc;
    border-radius: 6px;
    text-align: left;
    padding: 0
}

.langs-menu a, .langs-menu li, .offer-view-right .text table tr:last-child, .text table thead {
    border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered, .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
    padding-left: 12px;
    font-size: 14px;
    padding-right: 44px;
    color: #555
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered .select2-search {
    line-height: 44px
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    white-space: nowrap
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
    line-height: 24px;
    display: inline-block;
    float: none
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin-top: 8px
}

.has-feedback .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-right: 68px
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    height: auto;
    transition: .4s;
    right: 16px;
    color: #000;
    text-align: center;
    font-size: 0
}

.select2-container--default .select2-selection--single .select2-selection__arrow:before {
    content: '\f107';
    font-family: FontAwesome;
    font-size: 16px;
    vertical-align: middle
}

.select2-container--default.select2-container--open .select2-selection__arrow {
    -webkit-transform: translateY(-50%) scaleY(-1);
    -moz-transform: translateY(-50%) scaleY(-1);
    -ms-transform: translateY(-50%) scaleY(-1);
    -o-transform: translateY(-50%) scaleY(-1);
    transform: translateY(-50%) scaleY(-1)
}

.lang .langs-menu-long, .lang-item .langs-menu-short, .langs-menu--list .lang-button, .main-slider:not(.slick-initialized) .slide + .slide, .select2-container--default .select2-selection--single .select2-selection__arrow > b {
    display: none
}

.select2-results__option[aria-selected] {
    font-size: 14px;
    line-height: 24px;
    color: #000;
    font-weight: 300;
    padding: 6px 22px
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-primary)
}

.map-point .custom-map-wrapper .point {
    position: absolute;
    width: 28px;
    height: 40px;
    background: url('../images/marker.png') center center no-repeat;
    cursor: pointer;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate3d(-50%, -50%, 0);
    -o-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

.map-point #marker-cloud-wrapper {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 10%;
    height: 10%;
    background: red
}

.map-point #marker-cloud-wrapper .popover {
    top: 0 !important;
    left: 0 !important;
    display: block;
    margin: 0;
    width: 300px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none
}

.map-point #marker-cloud-wrapper .popover .arrow {
    display: none !important
}

.breadcrumb-container {
    margin: 20px 0 0;
    z-index: 10
}

.breadcrumb {
    padding: 0;
    margin: 0;
    text-align: left;
    border-radius: 0;
    background-color: transparent
}

.breadcrumb > li {
    display: inline;
    color: #6d6e71
}

.breadcrumb > li > a {
    font-size: 12px
}

.breadcrumb > li + li:before {
    content: '>';
    font-size: 12px;
    padding: 0 15px;
    color: inherit
}

.breadcrumb > li > a.last {
    color: var(--color-primary)
}

.animIcon {
    display: inline-block;
    width: 32px;
    padding: 0 !important
}

.animIcon::before {
    content: "";
    display: block;
    padding-bottom: 100%
}

.animIcon span {
    position: absolute;
    left: 0;
    right: 0;
    display: block;
    height: 2px;
    width: 100%;
    transition: .4s
}

.animIcon.animIcon--close span {
    top: 50%;
    margin-top: -1px;
    transform-origin: center
}

.animIcon.animIcon--close span:first-child {
    transform: rotateZ(45deg);
    -webkit-transform: rotateZ(45deg);
    -ms-transform: rotateZ(45deg)
}

.animIcon.animIcon--close span:nth-child(2) {
    transform: rotateZ(-45deg);
    -webkit-transform: rotateZ(-45deg);
    -ms-transform: rotateZ(-45deg)
}

.animIcon.animIcon--hamburger span {
    top: 0;
    left: 0;
    transform-origin: left center
}

.animIcon.animIcon--hamburger span:first-child {
    margin-top: 20%
}

.animIcon.animIcon--hamburger span:nth-child(2) {
    margin-top: 50%
}

.animIcon.animIcon--hamburger span:nth-child(3) {
    margin-top: 80%
}

.animIcon.animIcon--hamburger.active span:first-child {
    margin-top: 15%;
    margin-left: 15%;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg)
}

.animIcon.animIcon--hamburger.active span:nth-child(2) {
    opacity: 0;
    margin-top: 70%
}

.animIcon.animIcon--hamburger.active span:nth-child(3) {
    margin-top: 85%;
    margin-left: 15%;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.logotypes {
    border-top: 1px solid rgba(0, 0, 0, .1);
    height: 156px;
    padding: 28px 0
}

.logotypes .logotypes-title {
    float: left;
    padding-right: 30px;
    font-size: 22px;
    line-height: 100px;
    vertical-align: middle
}

.logotypes-slider-container {
    height: 100px
}

.logotype-slider {
    top: 50%;
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    -ms-transform: translate3d(0, -50%, 0);
    -o-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

.slick-initialized .logotype {
    float: none;
    display: inline-block;
    vertical-align: middle;
    padding: 4px
}

.logotype img {
    max-height: 100px;
    margin: 0 auto
}

.social-list > ul {
    margin: -9px;
    font-size: 0
}

.social-list > ul > li {
    display: inline-block;
    vertical-align: middle;
    padding: 9px;
    text-align: center;
    font-size: 1rem
}

.social-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #f0f
}

.lang span, .lang-button .arrow, .langs-menu-icon {
    display: inline-block;
    vertical-align: middle
}

.social-icon svg {
    fill: currentColor
}

.social-icon .fa {
    font-size: 20px
}

.langs-menu {
    float: right;
    margin: -4px -5px -4px 10px;
    transition-duration: .4s;
    transition-property: background-color, opacity;
    z-index: 1001
}

.langs-menu ul {
    overflow: hidden;
    position: absolute;
    top: 100%;
    width: 100%;
    background-color: #fff;
    transition: .3s
}

.file-box-inner:focus .btn-download, .file-box-inner:hover .btn-download, .langs-menu.active, .langs-menu.active ul, .offer-item-inner:hover .offer-hover {
    opacity: 1
}

.langs-menu a {
    color: inherit;
    text-decoration: none;
    border-left: 1px solid rgba(0, 0, 0, .1);
    border-right: 1px solid rgba(0, 0, 0, .1)
}

.langs-menu-icon {
    line-height: 0;
    margin-right: 8px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.lang {
    display: flex;
    align-items: center;
    height: 40px;
    padding: 5px 12px;
    font-size: 0;
    transition-duration: .3s;
    transition-property: background-color, color
}

.lang span {
    font-size: 16px
}

.lang-button {
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, .1);
    background-color: #fff
}

.lang-button .arrow {
    top: 50%;
    right: 0;
    width: 12px;
    height: 12px;
    margin-left: 10px;
    font-size: 18px;
    line-height: 12px;
    transition-duration: .3s;
    transition-property: transform, -webkit-transform, -ms-transform
}

.flag-icon {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .1)
}

.lang-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .1)
}

.article-image, .gallery-list-item {
    display: inline-block;
    vertical-align: top
}

.langs-menu.langs-menu--list ul {
    position: static;
    opacity: 1;
    display: flex;
    align-items: center;
    border: none;
    background: 0 0
}

.langs-menu.langs-menu--list li {
    margin: 4px 5px;
    border: none
}

.langs-menu--list .lang {
    background: 0 0
}

.langs-menu--list .langs-menu-icon {
    margin: 0
}

.article-image {
    z-index: 10;
    float: left;
    max-width: 50%;
    margin-right: 50px;
    margin-bottom: 20px
}

.article-subtitle {
    padding-bottom: 30px
}

.article-date {
    font-weight: 700
}

.section-subtitle, .section-title {
    font-weight: 400;
    text-align: center
}

.article-text {
    margin-bottom: 30px
}

.gallery {
    clear: both
}

.gallery-list-item {
    width: 33.333%
}

.gallery-picture {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    font-size: 0
}

.gallery-picture > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.gallery-picture-hover {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
    background-color: rgba(0, 0, 0, .8);
    transition: opacity .3s
}

.icheckbox_minimal-custom, .iradio_minimal-custom {
    background-image: url(../images/minimal.png)
}

@media (-o-min-device-pixel-ratio: 5/4),(-webkit-min-device-pixel-ratio: 1.25),(min-resolution: 120dpi),(min-resolution: 1.25dppx) {
    .form-element-multiselectCheckbox .select2-results__option:not([role=group]):not(.select2-results__message)::before {
        -webkit-background-size: 200px 20px !important;
        background-size: 200px 20px !important
    }

    .icheckbox_minimal-custom, .iradio_minimal-custom {
        background-image: url(../images/minimal@2x.png)
    }
}

.section-title {
    font-size: 100px;
    line-height: 1
}

.section-top {
    position: relative;
    margin-bottom: var(--space-40)
}

.section-subtitle {
    font-size: 18px;
    max-width: 64%;
    margin: 3px auto 0;
    line-height: 1.39
}

.img-wrapper, form .alert-block {
    display: inline-block
}

.slide-images {
    display: flex;
    position: relative;
    align-items: stretch
}

.img-overlay, .slide-images img {
    display: block;
    height: 100%;
    width: 100%
}

.main-slider .section-top {
    padding-top: 20px
}

.slide-images .slide-text {
    position: absolute;
    padding: 0 190px;
    letter-spacing: 1.5px;
    line-height: 36px;
    font-size: var(--font-30);
    font-weight: 500;
    text-align: center;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
    display: flex;
    height: 101px;
    color: #fff;
    align-items: center;
    justify-content: center
}

.img-overlay {
    left: 0;
    top: 0;
    background-image: linear-gradient(0deg, #000 0, rgba(84, 84, 84, 0) 100%);
    opacity: .4;
    position: absolute
}

.slide-images .img-wrapper {
    aspect-ratio: 1;
    position: relative;
    max-height: 640px;
    min-width: 33.3333%;
    flex-grow: 1;
    overflow: hidden
}

.slide-images img {
    object-fit: cover
}

.main-slider .slide {
    padding-top: var(--space-25);
    flex-grow: 1;
    flex-shrink: 0;
    width: 100%
}

.about-us-left, .slide {
    flex-direction: column
}

.progress-line {
    width: 0;
    height: 2px;
    background-color: #fff
}

.main-slider-nav {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%
}

.main-slider .slick-list, .main-slider .slick-track, .offer-big-imgs .slick-list, .offer-big-imgs .slick-track {
    display: flex;
    width: 100%
}

.slide {
    display: flex !important;
    justify-content: space-between
}

.progress-label {
    font-size: 14px;
    margin-left: 18.5%;
    margin-bottom: 15px;
    font-weight: 600;
    color: #fff
}

.mainSlider-arrow:hover, .realizations-arrow:hover {
    text-shadow: 0 0 1px #fff
}

.mainSlider-arrow, .realizations-arrow {
    transition: text-shadow, .5s;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    font-weight: 400;
    letter-spacing: 1.4px;
    text-transform: uppercase
}

.main-slider-arrows {
    display: flex;
    padding: 40px 0;
    justify-content: space-between
}

.article-text, .contact .section-top, .mainpage .offer-categories-list, .page-top, .subpage .about-us .section-top, .subpage .offer-view .section-top {
    margin-bottom: calc(var(--space-50) * 2)
}

.about-us:not(.about-us-page) {
    border-bottom: 1px solid #000;
    margin-bottom: calc(var(--space-60) * 2 - 10px);
    padding-bottom: calc(var(--space-60) * 2 + 10px)
}

.about-us-text {
    padding-top: calc(var(--space-50) * 2)
}

.about-us-page {
    padding-bottom: calc(var(--space-60) + 20px)
}

.about-us .section-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end
}

.about-us-page .section-bottom {
    align-items: flex-start
}

.title-basic {
    padding-bottom: var(--space-25);
    font-weight: 600;
    line-height: 1.2;
    font-size: var(--font-30)
}

.about-us-left .text-wrapper {
    text-align: right;
    padding-bottom: var(--space-50);
    max-width: 75%
}

.about-us-left {
    width: 62%;
    display: flex;
    align-items: flex-end;
    padding-right: calc(var(--space-60) + 15px)
}

.about-us:not(.about-us-page) .section-title {
    text-align: right;
    position: absolute;
    right: calc(38% + var(--space-60) + 9px);
    margin: 0 auto
}

.about-us-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-left: calc(var(--space-60) + 15px);
    width: 38%
}

.about-us-right .img-wrapper {
    width: 100%
}

.about-us-right .text-wrapper {
    padding-top: var(--space-50)
}

.about-us:not(.about-us-page) .section-top {
    margin-bottom: calc(var(--space-50) + var(--space-40))
}

.subpage .section-top {
    margin-bottom: calc(var(--space-50))
}

.btn-seeAll .icon-wrapper {
    margin-left: var(--space-40);
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 1px solid #000;
    display: flex;
    align-items: center;
    transition: margin, .5s;
    justify-content: center
}

.btn-arrow-white .icon, .btn-seeAll .icon {
    width: 34px;
    height: 27px
}

.about-us .btn-seeAll .icon-wrapper {
    margin-bottom: -48px
}

.about-us-right .btn-seeAll {
    padding: 0;
    line-height: 1;
    margin-top: var(--space-40)
}

.btn-seeAll {
    color: #000;
    font-size: 14px;
    display: flex;
    align-items: flex-end
}

.btn-seeAll:focus, .btn-seeAll:hover {
    color: #000;
    text-decoration: none
}

.btn-seeAll:focus .icon-wrapper, .btn-seeAll:hover .icon-wrapper {
    margin-left: calc(var(--space-40) + 15px);
    margin-right: -15px
}

.section-top .btn-seeAll {
    position: absolute;
    right: 0;
    top: -30px;
    margin-right: 0;
    padding-right: 0
}

.offer-categories-list {
    display: flex;
    flex-wrap: wrap
}

.offer-box-inner {
    height: 100%;
    width: 100%;
    display: block
}

.offer-box {
    width: 33.333%;
    aspect-ratio: 1;
    overflow: hidden
}

.offer-box img {
    width: 100%;
    height: 100%;
    display: block
}

.offer-box .title {
    font-size: var(--font-30);
    font-weight: 500;
    color: #fff;
    padding-bottom: var(--space-25);
    text-align: center
}

.offer-box .text {
    text-align: center;
    opacity: 0;
    transition: opacity, .5s;
    color: #fff
}

@media screen and (min-width: 1139px) {
    .offer-box-inner:hover .text {
        opacity: 1
    }

    .offer-box-inner:hover .offer-box-content {
        top: 0;
        min-height: 100%;
        background-color: rgba(0, 0, 0, .8);
        justify-content: center;
        align-items: center
    }

    .offer-box-inner:hover .offer-box-content-inner {
        top: 50%;
        -webkit-transform: translate3d(-50%, -50%, 0);
        -moz-transform: translate3d(-50%, -50%, 0);
        -ms-transform: translate3d(-50%, -50%, 0);
        -o-transform: translate3d(-50%, -50%, 0);
        transform: translate3d(-50%, -50%, 0)
    }
}

@media screen and (min-width: 639px) {
    .offer-box-inner.active .text {
        opacity: 1
    }

    .offer-box-inner.active .offer-box-content {
        top: 0;
        min-height: 100%;
        background-color: rgba(0, 0, 0, .8);
        justify-content: center;
        align-items: center
    }

    .offer-box-inner.activer .offer-box-content-inner {
        top: 50%;
        -webkit-transform: translate3d(-50%, -50%, 0);
        -moz-transform: translate3d(-50%, -50%, 0);
        -ms-transform: translate3d(-50%, -50%, 0);
        -o-transform: translate3d(-50%, -50%, 0);
        transform: translate3d(-50%, -50%, 0)
    }
}

.offer-box-content {
    transition-property: background-color, top, min-height;
    transition-duration: .5s;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    top: calc(100% - var(--space-60) - var(--space-60) - 35px);
    position: absolute
}

.offer-box-content-inner .text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    overflow: hidden
}

.realizations-slider .slide-bg {
    min-height: 500px;
    display: flex
}

.realizations-slider img {
    max-width: 100%;
    display: block;
    object-position: center;
    object-fit: cover
}

.offer-box-content-inner {
    position: absolute;
    transition: top, .5s;
    top: 0;
    padding: var(--space-60) 19% 0;
    width: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%)
}

.btn-arrow-white {
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    display: flex;
    background-color: transparent;
    align-items: center;
    justify-content: center
}

.btn-arrow-white .icon {
    display: block;
    color: #fff
}

.offer-box .btn-arrow-white {
    margin: 0 auto;
    margin-top: var(--space-40)
}

.btn-arrow:hover, .contact-form-section .btn-seeAll:hover, .font-white, .font-white .breadcrumb-container a span, .font-white .breadcrumb > li + li:before {
    color: #fff
}

.realizations-slider .slide-content {
    padding-top: calc(var(--space-60) + var(--space-25));
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    left: 0;
    top: 0
}

.realizations-slider .slide-caption {
    font-size: 18px;
    padding: var(--space-40) 0;
    letter-spacing: .9px;
    text-align: center;
    max-width: 50%;
    font-weight: 600
}

.realizations-slider-nav {
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0
}

.gallery-picture-hover .icon {
    display: block;
    color: #fff;
    width: 20px;
    height: 20px
}

.gallery-picture-hover .icon-wrapper {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fff
}

.realizations-slider-arrows {
    display: flex;
    color: #fff;
    padding: var(--space-40) 0;
    justify-content: space-between
}

.title-center {
    text-align: center;
    margin: 0 auto
}

.breadcrumb-container a span {
    color: #000;
    transition: text-shadow, .5s
}

.aside-menu li.active > a, .aside-menu li > a:hover, .breadcrumb-container a:hover span {
    text-shadow: 0 0 1px
}

.banner-top {
    position: relative;
    z-index: 1;
    margin-bottom: calc(var(--space-50) * 2)
}

.banner-content {
    min-height: 629px;
    background-color: rgba(0, 0, 0, .5);
    display: flex;
    position: relative;
    align-items: center;
    background-blend-mode: overlay
}

.aside li > a:after, .aside li > a:before, .offer-hover {
    position: absolute;
    width: 100%
}

.banner-content .breadcrumb-container {
    position: absolute;
    top: 0
}

.banner-content .text {
    font-size: 18px;
    margin: 0 auto;
    line-height: 1.67;
    text-align: center;
    max-width: 45%
}

.banner-inner {
    padding: calc(var(--space-50) + var(--space-40)) 0
}

.banner-inner .section-title {
    padding-bottom: var(--space-25)
}

.subpage .offer-section .section-top {
    margin-bottom: calc(var(--space-40) + 5px);
    margin-top: calc(var(--space-40) * 2 - 16px)
}

.subpage .offer-section .btn .icon-wrapper {
    border: none;
    width: auto;
    height: auto;
    margin-top: 0
}

.subpage .offer-section .btn {
    top: 0
}

.article .section-top {
    margin-bottom: var(--space-50)
}

.file-box {
    width: 33.333%;
    padding: 17px
}

.downloads-list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin: -17px
}

.file-box-inner {
    color: #000;
    display: flex;
    flex-direction: column;
    height: 100%
}

.file-box-inner .file-img {
    display: flex;
    align-items: center;
    aspect-ratio: 1;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, .1)
}

.file-bottom {
    flex-grow: 1;
    display: flex;
    flex-direction: column
}

.file-title {
    font-size: var(--font-30);
    line-height: 1.2;
    font-weight: 300;
    flex-grow: 1;
    padding: var(--space-25) 0
}

.file-caption {
    font-size: 14px;
    font-weight: 400
}

.file-img {
    transition: border-color, .5s
}

.btn-download, .offer-hover {
    transition: opacity, .5s;
    opacity: 0
}

.file-box-inner:focus .file-img, .file-box-inner:hover .file-img, .social-icon:hover {
    border-color: #000
}

.btn-download .icon-wrapper {
    display: flex;
    align-items: center;
    border-radius: 50%;
    width: 100px;
    border: 1px solid #000;
    height: 100px;
    justify-content: center
}

.btn-download {
    padding: 0;
    margin: 10px 0 0
}

.btn-download .icon {
    width: 48px;
    height: 52px;
    color: #000;
    display: block
}

.offer-view-top {
    display: flex;
    padding-bottom: calc(var(--space-50) * 2)
}

.offer-view-left {
    width: 40%
}

.offer-view-right {
    width: 60%
}

.contact-col-title, .text h2 {
    line-height: 1.25;
    font-size: var(--font-30);
    font-weight: 600;
    padding-bottom: var(--space-25)
}

.offer-view {
    padding-bottom: calc(var(--space-50) * 2);
    border-bottom: 1px solid #000;
    margin-bottom: calc(var(--space-50) * 2)
}

.offer-item .offer-img img {
    max-width: 100%;
    display: block;
    min-height: 190px;
    object-fit: cover;
    max-height: 290px;
    width: initial;
    margin: 0 auto
}

.offer-item {
    padding: var(--space-40) 20px;
    width: 20%
}

.offer-list {
    margin: calc(var(--space-40) * -1) -20px;
    display: flex;
    flex-wrap: wrap
}

.aside-column {
    width: 265px;
    margin-bottom: var(--space-50)
}

.asided-content {
    padding-left: calc(var(--space-60) * 2);
    width: calc(100% - 265px);
    padding-bottom: calc(var(--space-60) + var(--space-25) - 10px)
}

.asided-content .offer-item {
    width: 25%
}

.offer-title {
    font-size: var(--font-30);
    font-weight: 300;
    line-height: 1.2;
    text-align: center
}

.aside li a, .btn-arrow {
    font-weight: 400;
    text-transform: uppercase
}

.btn-arrow .icon {
    color: #fff;
    width: 34px;
    height: 27px
}

.btn-arrow .icon-wrapper {
    border-radius: 50%;
    width: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: calc(var(--space-40) + 5px);
    height: 100px;
    border: 1px solid #fff
}

.offer-hover {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .8) 0, rgba(0, 0, 0, 0) 100%);
    bottom: 0;
    left: 0
}

.btn-arrow {
    color: #fff;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.75
}

.offer-title {
    margin-top: var(--space-40);
    color: #000
}

.aside ul > li > ul > li {
    align-items: stretch
}

.aside li a, .btn-goBack {
    align-items: center;
    font-size: 14px;
    display: flex;
    color: #000
}

.aside li a {
    min-height: 50px;
    position: relative;
    width: 100%;
    transition: text-shadow, .5s;
    padding: 0 20px
}

.aside .category-name {
    font-size: 18px;
    line-height: 1.39;
    font-weight: 700;
    padding-bottom: var(--space-40)
}

.aside li > a:after {
    content: "";
    bottom: 0;
    left: 0;
    display: block
}

.aside li > a:before {
    content: "";
    top: -1px;
    left: 0;
    display: block
}

.aside li:hover + li > a:before {
    opacity: 0
}

.aside li.active > a:after, .aside li.active > a:before {
    background-color: #000;
    z-index: 3
}

.aside-menu > ul > li > ul > li > a {
    padding: 0 35px
}

.aside-menu > ul > li > ul > li > ul > li > a {
    padding: 0 50px
}

.aside-menu li > a:hover:after, .aside-menu li > a:hover:before {
    background: #000;
    z-index: 2
}

.aside-menu > a:after, .aside-menu > a:before {
    transition-property: background-color, opacity;
    transition-duration: .5s
}

.asided-content .offer-list, .asided-content .text {
    padding-bottom: var(--space-50)
}

.btn-goBack {
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
    line-height: 25px;
    transition: padding, .5s
}

.btn-goBack .icon-wrapper {
    width: 100px;
    height: 100px;
    margin-right: calc(var(--space-40) + 5px);
    border: 1px solid #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.btn-goBack .icon {
    width: 34px;
    height: 27px;
    display: block;
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    color: #000
}

.offer-img img {
    max-width: 100%;
    margin: 0 auto;
    display: block
}

.offer-big-imgs {
    margin-bottom: var(--space-25)
}

.offer-list-section .offer-list {
    padding-bottom: calc(var(--space-50) + var(--space-40));
    justify-content: center
}

.offer-small-imgs {
    margin: -5px
}

.offer-small-img {
    padding: 5px;
    position: relative
}

.offer-small-img::before {
    content: '';
    display: block;
    padding-top: 100%;
    width: 100%
}

.offer-small-img-inner {
    border: 1px solid transparent;
    transition-property: background-color, border;
    transition-duration: .5s;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    height: 100%;
    position: absolute;
    inset: 0
}

.offer-small-img-inner img {
    max-height: 100%
}

.offer-view-gallery {
    padding-bottom: calc(var(--space-50) * 2)
}

.offer-big-img-inner {
    height: 100%;
    display: block
}

.offer-view-right {
    padding-left: calc(var(--space-50) * 2)
}

.text table th {
    font-size: 18px;
    font-weight: 700;
    padding: 12px
}

.offer-view-right .text table {
    margin-bottom: 0;
    margin-top: 20px
}

.text table td {
    border: none;
    font-size: 14px;
    line-height: 24px;
    font-weight: 400
}

.offer-view-right .text table td:first-child, .offer-view-right .text table th:first-child {
    width: 49%;
    padding-right: 76px
}

.offer-small-img-inner:hover {
    border-color: #000;
    background-color: #fff
}

.btn-goBack:hover {
    padding-right: 30px
}

.downloads-list {
    padding-bottom: calc(var(--space-50) * 2 - 17px)
}

.contact, .goBack-wrapper {
    padding-bottom: calc(var(--space-50) + var(--space-40))
}

.downloads {
    border-bottom: 1px solid #000
}

.contact-cols .col1, .contact-cols .col2 {
    width: 30%
}

.contact-cols .col3 {
    width: 40%;
    display: flex;
    justify-content: flex-end
}

.contact-cols .social-icon {
    border-color: rgba(0, 0, 0, .1)
}

.contact-link {
    font-size: calc(var(--font-36) + 4px);
    font-weight: 300;
    color: #000;
    line-height: 1.5
}

.contact-link:hover {
    text-decoration: underline;
    color: #000
}

.map iframe {
    width: 100%;
    margin-bottom: -7px
}

.contact-form-section {
    background: center center/cover rgba(0, 0, 0, .8);
    background-blend-mode: overlay
}

.contact-form-section .form-element .form-control {
    background: rgba(255, 255, 255, .2);
    color: #fff;
    border-radius: 0;
    border: none
}

.contact-form-section .captcha-container .captcha-image-wrapper {
    background: #fff
}

.contact-form-section .section-title {
    padding-bottom: var(--space-60)
}

.contact-form-section .btn-seeAll {
    background-color: transparent;
    display: flex;
    margin: 0 auto;
    align-items: center
}

.contact-form-section .btn-seeAll .icon-wrapper {
    border: 1px solid #fff
}

.goBack-wrapper {
    border-bottom: 1px solid #000
}

.form .alert-block .error {
    color: #fff !important;
    background-color: red;
    padding: 5px 10px
}

.form .has-error .form-control-feedback {
    color: red
}

.pagination-wrapper ul li.next a, .pagination-wrapper ul li.prev a {
    color: #fff;
    border-radius: 50%
}

.offer-slider-arrows .btn {
    width: 50px;
    height: 50px;
    border: 1px solid #000;
    border-radius: 50%;
    position: relative;
    padding: 0;
    background-color: #fff
}

@media screen and (min-width: 1140px) {
    .btn-primary:not([disabled]).active:hover, .btn-primary:not([disabled]):hover {
        background-color: #fff;
        color: var(--color-primary)
    }

    .btn-secondary:not([disabled]).active:hover, .btn-secondary:not([disabled]):hover {
        background-color: #fff;
        color: var(--color-secondary)
    }

    .btn-default:not([disabled]).active:hover, .btn-default:not([disabled]):hover {
        background-color: #fff;
        color: var(--color-default)
    }

    .form button.captcha-refresh:hover {
        border-color: #e10121;
        color: #e10121
    }

    .form button.captcha-refresh:hover .fa.fa-spin {
        -webkit-animation-play-state: running;
        -moz-animation-play-state: running;
        -o-animation-play-state: running;
        animation-play-state: running
    }

    a.lang:focus, a.lang:hover {
        border-color: #000
    }

    .langs-menu:not(.langs-menu--list):not(:hover):not(:focus):not(:focus-within) ul {
        pointer-events: none;
        opacity: 0;
        transform: translateY(-5px);
        -webkit-transform: translateY(-5px);
        -ms-transform: translateY(-5px)
    }

    .langs-menu:focus .lang-button .arrow, .langs-menu:focus-within .lang-button .arrow, .langs-menu:hover .lang-button .arrow {
        transform: rotateZ(180deg);
        -webkit-transform: rotateZ(180deg);
        -ms-transform: rotateZ(180deg)
    }

    .flag-icon {
        display: none
    }

    .gallery-picture:hover .gallery-picture-hover {
        opacity: 1
    }

    .offer-slider-arrows .btn:hover {
        background-color: #000;
        color: #fff
    }
}

.offer-slider-arrows .btn .icon-wrapper {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center
}

.offer-slider-arrows .btn.prev .icon-wrapper .icon {
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.offer-slider-arrows .btn .icon-wrapper .icon {
    display: block;
    width: 26px;
    height: 21px
}

.offer-slider-arrows {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 1
}

.header-left{
    display: flex;
    align-items: center;
    gap: 12px;
}


.header-left .logo {
    margin-right: 15px;
}

.header-left .flag-icon {
    display: block;
}

.footer-middle {
    padding: 23px 0;
    border-top: 1px solid #000;
}