@charset "UTF-8";

:root {
    --tpl-bg-color: #25272a;
    --tpl-bg-color-secondary: #2c3642;
    --tpl-bg-color-tertiary: #313438;
    --tpl-color-highlight: #ed1d23;
    --tpl-color-highlight-secondary: #424649;
    --tpl-text-color: #fefefe;
    --tpl-text-color-secondary: #fff;
    --tpl-transition-color: color .3s ease-in-out;
}

/* Generic */
ul li {
    list-style-type: square;
}

.sectionitems__link.--current,
a.tabs-menu.active {
    color: var(--tpl-color-highlight);
}

.docs .sectionitems__link:before,
.docs .sectionitems__link:after {
    background: var(--tpl-text-color);
}

.sectionitems__link.--current:before,
.sectionitems__link.--current:after {
    background: var(--tpl-color-highlight);
}

.page-header h1,
.block__title {
    color: var(--tpl-color-highlight) !important;
}

/* Fix large headings overflov on mobile screens (the template CSS by default enables this only at 320px */
@media (max-width: 479.98px) {
    .block-title,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
}

/* Hide scroll to top button on mboile screens as it gets in the way of text and other widgets. */
@media (max-width: 991.98px) {
    .totop-btn {
        display: none !important;
    }
}

@media (max-width: 575.98px) {
    .page-header h1,
    .block__title {
/*         font-weight: unset !important; */
    }
}

@media (max-width: 479.98px) {
    .button {
        white-space: unset !important;
    }
}

/* Modal style fixes */
.popup .politics a {
    color: var(--tpl-color-highlight);
}

.popup .politics a:focus,
.popup .politics a:hover,
.popup .politics a:active {
    color: var(--tpl-bg-color) !important;
}

/* Generic contact form style fixes */
.politics a,
.mod__item.politics.block--white a {
    color: var(--tpl-color-highlight);
}

.politics a:focus,
.politics a:hover,
.politics a:active {
    color: var(--tpl-text-color) !important;
}

/* Faux checkbox doesn't work when Google reCAPTCHA is used in forms. */
.politics label {
    padding: 0 !important;
}

.politics label:before,
.politics label:after {
    display: none;
}

.sectionitems__wrap .sectionitems__link:before,
.sectionitems__wrap .sectionitems__link:after {
    background: var(--tpl-text-color);
}

.sectionitems__wrap .sectionitems__link.--current:before,
.sectionitems__wrap .sectionitems__link.--current:after {
    background: var(--tpl-color-highlight);
}

.card__link {
    border-bottom: .0625rem dashed var(--tpl-text-color);
}

.card__link.--current {
    color: var(--tpl-color-highlight) !important;
}

.card__link.--current:before,
.card__link.--current:after {
    background-color: var(--tpl-color-highlight);
}

.card__link:hover:before,
.card__link:hover:after {
    background-color: var(--tpl-text-color);
}

/* Header */
header .topheader__wrap {
    justify-content: flex-end;
}

header .topheader__right.row {
    margin-left: unset;
}

header.header.header--white {
    padding-top: 0;
}

.header .logo-auto-header {
    margin: -1.875rem 0 .5rem 0;
}

.logo-auto-header {
/*     filter: drop-shadow(0 0 1rem rgba(255, 255, 255, .25)); */
    filter: drop-shadow(0 0 1rem var(--tpl-color-highlight));
    transition: filter .5s ease-in;
}

.logo-auto-header:hover {
    filter: drop-shadow(0 0 0 var(--tpl-color-highlight));
}

.header--white .logo-auto-header {
    margin: -1.5625rem 0 .1875rem 0;
}

header .topheader__box.topheader-phone {
    margin-top: 0;
    margin-bottom: 0;
}

header .topheader-callback {
    margin-top: -.125rem;
}

header .topheader__box.topheader-social {
    margin-top: .25rem;
    margin-bottom: 0;
}

header .header__menu .bx-nav-1-lvl > a:before {
    top: -1rem;
}

@media (max-width: 1220px) {
    header.header.header--scroll {
        padding: 0;
    }
}

@media (max-width: 991.98px) {
    header.header {
        border-bottom: 0;
    }

    .header .logo-auto-header {
        margin: .5rem 0;
    }

    .header--white .logo-auto-header {
        margin: .8125rem 0 .25rem 0;
    }

    header.header.header--white.header--scroll,
    header.header.header--scroll {
        padding: 0;
    }
}

/* Mobile menu fixes */
@media (max-width: 991.98px) {
    header.header .menu .menu-mobile-header,
    header.header .menu,
    header.header .menu-section.p-plus__primary > li .menu-subs.menu-mega {
        background: var(--tpl-bg-color-tertiary);
    }

    header.header .header__menu .bx-nav-1-lvl > a:before {
        display: none;
    }

    header.header .menu-section.p-plus__primary > li {
        border-bottom-color: var(--tpl-text-color);
    }

    header.header .menu .menu-mobile-header {
        border-bottom-color: var(--tpl-text-color);
    }

    header.header .menu .menu-mobile-header .menu-mobile-close {
        border-left-color: var(--tpl-text-color);
    }

    header.header .menu .menu-mobile-header .menu-mobile-arrow {
        border-right-color: var(--tpl-text-color);
    }

    header.header .menu .menu-mobile-header .menu-mobile-close,
    header.header .menu .menu-mobile-header .menu-mobile-arrow {
        background: var(--tpl-bg-color-tertiary);
    }

    header.header.header--white .header__menu .fa.fa-angle-down {
        color: var(--tpl-text-color);
    }

    header.header .header__menu .fa.fa-angle-down::before,
    header.header .menu .menu-mobile-header .menu-mobile-arrow::before {
        border-color: var(--tpl-text-color);
    }

    header .contacts--visible-xs a.header__contacts-popup-sidebar {
        color: var(--tpl-text-color);
        border-bottom-color: var(--tpl-text-color);
        border-bottom-style: dashed;
    }

    header .contacts--visible-xs a.header-phone__email {
        color: var(--tpl-color-highlight);
    }

    header.header.header--white .topheader__box .header__contacts-popup,
    header a.header-box__phone-link {
        color: var(--tpl-text-color);
    }
}

/* Fix the mega menu submenus of the main menu being clamped on smaller desktop resolutions */
/* Unused as the mega menu use has been stopped. */
/* @media (min-width: 992px) and (max-width: 1199.98px) {
    header.header .menu-section > li .menu-subs.menu-column-3 > .list-item {
        max-width: unset !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body header.header .menu-section > li.menu-item-has-children:hover .menu-subs {
        width: initial !important;
    }
} */

header.header.header--white.header--scroll,
header.header.header--scroll .topheader,
header.header.header--scroll .header__line {
    background: var(--tpl-bg-color);
}

header.header.header--scroll {
    box-shadow: 0 0 3rem 1rem rgba(255, 255, 255, .1);
}

.topheader-phone__arrow,
.header_centermain__phone-arrow {
    color: var(--tpl-text-color);
}

header .topheader-phone__contacts-dropdown,
header .header_centermain__contacts-dropdown {
    background: var(--tpl-bg-color-tertiary);
}

header.header.header--white.header--scroll .topheader a,
header.header.header--scroll .topheader a,
header.header.header--white .topheader a.header-box__phone-dop-link,
header a.header-box__phone-dop-link {
    color: var(--tpl-text-color);
}

header.header.header--white.header--scroll .header__actions-search svg path {
    fill: var(--tpl-text-color);
}

header.header.header--scroll .wrap__logo,
header.header.header--scroll .header__menu {
    background-color: transparent;
}

header.header .menu-section >li .menu-subs {
    background: var(--tpl-bg-color-tertiary);
}

header.header.header--scroll .header__menu ul li a,
header.header.header--white .header__menu .bx-nav-3-lvl a {
    color: var(--tpl-text-color);
}

header.header.header--scroll .header__menu ul li a:focus,
header.header.header--scroll .header__menu ul li a:hover,
header.header.header--scroll .header__menu ul li a:active,
header.header.header .menu-subs.menu-mega a:focus,
header.header.header .menu-subs.menu-mega a:hover,
header.header.header .menu-subs.menu-mega a:active,
header.header .menu-subs.menu-mega span:hover {
    color: var(--tpl-color-highlight);
}

/* Footer */
.company-offices {
    margin: .75rem 0 0;
}

.company-offices__item {
    list-style-type: none;
    margin: .75rem 0 0 0;
    line-height: unset;
}

.company-offices__item:first-child {
    margin-top: 0;
}

.footer__menu ul li a:focus,
.footer__menu ul li a:hover,
.footer__menu ul li a:active,
.footer-submenu .left-menu a:focus,
.footer-submenu .left-menu a:hover,
.footer-submenu .left-menu a:active,
.footer-phone-main-link:hover,
.footer-phone-dop-link:hover,
.footerr-link__region:hover {
    color: var(--tpl-color-highlight) !important;
}

.footer-phone-main-link-icon,
.footer-phone-dop-link-icon {
    color: var(--tpl-color-highlight);
    font-size: 2rem;
    margin: 0 .25rem 0 0;
    vertical-align: middle;
}

@media (min-width: 768px) {
    .footer__desc {
        font-size: .75rem !important;
    }
}

/* Footer company locations */
.company-locations {
    margin: 0;
}

.company-locations__item {
    list-style-type: none;
    margin: 0;
}

.company-locations__item:last-child {
    margin-bottom: 0;
}

.company-locations__link {

}

.company-locations__link:focus,
.company-locations__link:hover,
.company-locations__link:active {
    color: var(--tpl-color-highlight);
}

.company-locations__title {
    color: var(--tpl-color-highlight);
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: .5rem;
}

.company-locations__phone {
    font-size: 1.5rem;
}

.company-locations__address {
    margin-top: .5rem;
}

.company-locations__icon {
    color: var(--tpl-color-highlight);
}

.company-locations__icon_type_phone {
    font-size: 2rem;
    vertical-align: middle;
}

/* Company locations (footer) */
footer .company-locations {
    margin: 1rem 0 3rem 0;
}

footer .company-locations__item {
    margin: 0 0 2rem 0;
}

footer .company-locations__address {
    font-size: .875rem;
}

/* Company locations (Contacts page) */
.contact .company-locations {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.contact .company-locations__title {
    font-size: 1.5rem;
    font-weight: 1000;
    text-transform: uppercase;
}

.contact .company-locations__phone {
    font-weight: 700;
}

.contact .company-locations__address {
    font-size: 1rem;
}

@media (max-width: 767.98px) {
    .contact .company-locations {
        display: unset;
    }

    .contact .company-locations__item:not(.contact .company-locations__item:last-child) {
        margin-bottom: 2rem;
    }

    .contact .company-locations__title {
        font-size: 1.25rem;
    }

    .contact .company-locations__phone {
        font-weight: unset;
    }
}

/* Company metrics on mainpage */
#teasers-section img {
    filter: invert();
}

/* Advantages block on mainpage */
.content-info__advantage-icon img {
    filter: invert();
}

/* Contacts page */
.contact .contacts__list {
    display: unset;
}

#map-section {
    height: 36rem;
}

.contact__form .politics a {
    color: var(--tpl-color-highlight);
}

/* Search page */
.search-page .notetext {
    color: var(--tpl-text-color);
}

/* History page */
.history .history__info {

}

.history .history__info-item {
    background: var(--tpl-bg-color-secondary);
}

/* News component news template style fix */
@media (max-width: 1220px) {
    .news .sectionitems__inner {
        margin-bottom: 0;
    }
}

/* Socials block (header variant) with custom socials */
.header__socials-icon {
    width: 2rem;
    height: unset; /* Fixes improper height set by template CSS */
}

.header__socials-icon {
    opacity: unset !important; /* Fix template CSS hiding all img elements in the header socials list. */
    visibility: unset !important;
}

/* Socials block (footer variant) with custom socials */
.footer__socials-icon {
    width: 2rem;
    height: unset;
}

/* Company history page (simplified) */
.company-history {

}

.company-history__item {
    list-style-type: none;
    margin: 8rem 0 0 0;
    text-align: center;
}

.company-history__item:first-child {
    margin-top: 0;
}

.company-history__article {

}

.company-history__item-heading {
    color: var(--tpl-color-highlight);
    font-size: 3rem;
}

.company-history__item-image-container {

}

.company-history__item-image-file {
    margin: 0 auto 1rem auto;
    max-width: 48rem;
    height: auto;
}

.company-history-item-title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

@media (max-width: 991.98px) {
    .company-history__item-image-file {
        max-width: 100%;
    }
}

/* Video facade style for bitrix:news.list.slider-block template */
.slider-block__video-facade {
    display: grid;
    place-items: center;
}

.slider-block__video-facade-image {
    grid-column: -1;
    grid-row: -1;
    filter: brightness(.75);
    height: unset !important;
    width: unset !important;
    max-height: 30rem;
}

.slider-block__video-facade-icon {
    grid-column: -1;
    grid-row: -1;
    color: var(--tpl-text-color);
    font-size: 6rem;
    transition: var(--tpl-transition-color);
}

.slider-block__video-facade:focus .slider-block__video-facade-icon,
.slider-block__video-facade:hover .slider-block__video-facade-icon,
.slider-block__video-facade:active .slider-block__video-facade-icon {
    color: var(--tpl-color-highlight);
}

/* Company staff block */
.company-staff {

}

.company-staff__link {

}

.company-staff__image {
    margin-right: auto;
    margin-left: auto;
    height: auto;
}

/* Partners section */
/* Disable the exessive stretiching of the smaller partner logos. */
.type-partners .sectionitems__img .img {
    object-fit: scale-down;
}