.noselect
{
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
     -khtml-user-select: none;
}

/**
    Доработка отображения таблиц
 */

tr.bg-primary th
{
    color: white;
    border-color: rgba(0,0,0,.15);
}

/**
    Контролл для выбора даты
 */
[data-datedropper='true']
{
    cursor: pointer;
}

/**
    Кнопка, для очистки поля
 */
.btn-clear
{
    position: absolute;
    top: 0;
    right: .5rem;
}

.btn-clear i
{
    font-size: 85%;

    transition: opacity .3s ease;
    vertical-align: 0;

    opacity: .4;
    color: black;
}

.btn-clear:hover i
{
    opacity: .55;
}

/**
    Стили для card, которые полностью являются слыками
 */
.card-link
{
    transition: all .3s ease;
}

.card-link:hover
{
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1) !important;
}

.card-link > a
{
    display: block;

    height: 100%;

    color: inherit;
    border-radius: inherit;
}


.page-content
{
    margin: 0;
}

.page-content-section ol
{
    padding-left: 1.5rem;

    list-style: none;

    counter-reset: item;
}

.page-content-section ol > li::before
{
    content: counters(item,'.') '. ';
    counter-increment: item;
}

.page-content-section h1,
.page-content-section h2,
.page-content-section h3,
.page-content-section h4,
.page-content-section h5,
.page-content-section h6,
.page-content-section .h1,
.page-content-section .h2,
.page-content-section .h3,
.page-content-section .h4,
.page-content-section .h5,
.page-content-section .h6
{
    font-weight: 500;
}

.form-group-fz152consent
{
    margin-top: 1.5rem !important;
}

/**
    Уведомление об использовании на сайте cookie
 */
.alert-cookieconsent
{
    margin: 0;

    border-radius: 0;
}

/**
    Табы, который выводятся в 1 строку, без переносов
 */
.nav-tabs-draggable
{
    overflow-x: auto;
    overflow-y: hidden;

    padding-bottom: 1px;

    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}

.nav-tabs-draggable .nav-link,
.nav-tabs-draggable .nav-item
{
    min-width: inherit;
}

/**
    .card-title-alt в шаблоне заменяет card-title, так как card-title уменьшает размер текста
 */
.card-title-alt
{
    margin-bottom: 0;
}

.card-title
{
    font-weight: 500;
}

.m--1
{
    margin: -.25rem !important;
}

.m-05
{
    margin: .125rem !important;
}

.mt--6
{
    margin-top: -2rem !important;
}

.mt--7
{
    margin-top: -3rem !important;
}

.mr-075
{
    margin-right: .625rem !important;
}

.pl-10
{
    padding-left: 9rem !important;
}

.card-arrow
{
    position: absolute;
    z-index: 2;
    bottom: -14px;
    left: 1px;

    width: 28px;
    height: 28px;

    content: '';
    transform: skewY(-45deg);
}

.card-arrow-shadow
{
    position: absolute;
    z-index: -1;
    bottom: -15px;
    left: 0;

    width: 30px;
    height: 30px;

    content: '';
    transform: skewY(-45deg);

    border: 1px solid rgba(0, 40, 100, .12);
    background: #fff;

    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .1));
}

/**
    Стилизация card-header
 */
.card .card-header-decor
{
    overflow: hidden;

    height: calc(2rem - 1px);
    margin-top: -1rem;
}

.card .card-img-top + .card-header-decor
{
    margin-top: calc(-2rem + 1px);
}

.card .card-header-decor svg
{
    width: calc(100% + .25rem);
    height: 2rem;
    margin: 0 -.125rem;

    fill: #fff;
    stroke: #fff;
}

/**
    Класс, для увеличения картинки при наведении
 */
.img-hover-scale
{
    transition: all .2s !important;
}

a:hover .img-hover-scale,
.img-hover-scale:hover,
.card-with-img-hover-scale:hover .img-hover-scale
{
    transform: scale(1.08, 1.08);
}

/**
    Список ошибок на странице
 */


.error-section ul
{
    margin: 0;
    padding: 0;
}

.error-section ul li
{
    position: relative;

    list-style: none;
}

/**
    Капча
 */
.form-group-captcha .input-group-prepend .btn
{
    margin: 0;

    border: 0;
    border-radius: 0;
}

/**
    Подсказки
 */
.form-help
{
    font-weight: 600;
}

.popover .popover-body > :last-child
{
    margin-bottom: 0;
}

/**
    Стили для квадратных иконок
 */


.squire-icons i
{
    font-size: .75rem;
    line-height: 1.6rem;

    width: 1.625rem;
    height: 1.625rem;

    transition: all .3s ease;
    text-align: center;

    text-shadow: 0 1px 1px rgba(0, 0, 0, .1);
    /*background: rgba(0, 0, 0, 0.1);*/
}

/**
    Списки с иконками Font Awesome
 */
.fa-ul > li:not(:last-child)
{
    margin-bottom: .5rem;
}

/**
    Валидация
 */
.form-control.is-invalid
{
    background-color: #faeaea;
}

.was-validate .custom-control-input:invalid ~ .custom-control-label::before,
.custom-control-input.is-invalid ~ .custom-control-label::before,
.was-validate .custom-switch-input:invalid ~ .custom-switch-indicator,
.custom-switch-input.is-invalid ~ .custom-switch-indicator,
.was-validate .selectize-input.invalid
{
    border-color: #cd201f;
    background-color: #faeaea;
}

.was-validate .custom-switch-input:invalid ~ .custom-switch-description,
.custom-switch-input.is-invalid ~ .custom-switch-description
{
    color: #cd201f;
}

.form-group-invalid
{
    position: relative;
}

.invalid-feedback
{
    font-size: .75rem;
    font-weight: 600;

    position: absolute;
    z-index: 9;
    right: 10px;
    bottom: -11px;

    overflow: hidden;

    width: auto;
    max-width: 60%;
    padding: .25rem .5rem;

    animation-duration: .15s;
    white-space: nowrap;
    letter-spacing: .03em;
    text-overflow: ellipsis;

    color: #fff;
    border-radius: 3px;
    background: #cd201f;
}

/**
    Доработка Selectize
    TODO вынести в отдельный файл
 */

.selectize-control.single .selectize-input::after
{
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;

    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    display: -ms-flexbox;
    display: flex;

    min-width: 2.5rem;
    height: inherit;

    content: '\f0d7';
    pointer-events: none;

    color: #999;
    background: none;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.selectize-control.single .selectize-input.dropdown-active:after
{
    content: '\f0d8';
    transform: none;
}

.selectize-dropdown
{
    margin-top: 12px;

    border-top: 1px solid rgba(0, 40, 100, .12);
    border-radius: 3px;
}

.selectize-input.dropdown-active
{
    border-radius: 3px;
}

/**
    Модальные окна
 */
.white-popup
{
    position: relative;

    width: auto;
    max-width: 500px;
    margin: 20px auto;
    padding: 20px;

    background: #fff;
}


/**
    Контакты в шапке сайта
 */
.header-topbar-wrap
{
    font-size: .75rem;

    position: relative;
    z-index: 2;
}

.header-contacts-wrap > div
{
    max-height: 1.625rem;
}

.header-contacts-wrap span,
.header-contacts-wrap span a
{
    line-height: 1;

    overflow: hidden;
    /*    line-height: 1.625rem;*/

    max-height: inherit;
}

.header-topbar-wrap .squire-icons i
{
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(0, 0, 0, .1);
}

.header-topbar-wrap .squire-icons a:hover i
{
    background: transparent;
}

.header-contacts-wrap .jssocials-shares
{
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
}

.header-mobile-topbar
{
    z-index: 1040;
}

.header-mobile-topbar .btn
{
    color: inherit;
}

.navbar-canvas .navbar-menu ul:first-child > .nav-item > .nav-link,
.navbar-canvas .navbar-menu .sm-title
{
    font-weight: bold;

    text-transform: uppercase;
}



.navbar-canvas-open .header-mobile-topbar .fa-bars::before
{
    content: '\f00d';
}

.main-navigation
{
    z-index: 12;
}

/**
    БЛОКИ НА ГЛАВНОЙ СТРАНИЦЕ
 */

.fact-header
{
    font-size: 2.5rem;
    line-height: 1;
}

.fact-item .display-3
{
    font-size: 3rem;
    line-height: 1;
}

.fact-descr p
{
    margin-bottom: .5em;
}


/**
    Гарелея в контенте
 */
/*.content-gallery-item img{
    max-height: 450px;
}*/

a.content-gallery-item
{
    cursor: zoom-in;
}

/**
    Превью галереи
 */
.content-gallery-previewitems
{
    max-width: 60%;
}

.content-gallery-previewitems .content-gallery-previewitem img
{
    cursor: pointer;
    transition: border-color .5s ease;

    border: 3px solid transparent;
    border-radius: 50%;
}

.content-gallery-previewitems .content-gallery-previewitem:hover img,
.content-gallery-previewitems .content-gallery-previewitem.active img
{
    border-color: inherit !important;
}

.content-gallery-nav .btn i
{
    vertical-align: -1px;
}


/**
    Шаринг в соцсетях
 */


.share-wrap .jssocials-shares
{
    margin: -.125rem;
}

/**
    Костыль, плагин для шаринга пока не поддерживает FA5
 */
.share-wrap .jssocials-share i.fa
{
    font-family: 'Font Awesome 5 Brands';
}



/**
    Меняем некоторые иконки, на более подходящие. Сделано, чтобы не править код плагина
 */
.share-wrap .jssocials-share .fa-facebook::before
{
    content: '\f39e';
}

.share-wrap .jssocials-share .fa-telegram::before
{
    content: '\f3fe';
}


.fa-vkontakte::before
{
    content: '\f189';
}

.fa-googleplus::before
{
    content: '\f1a0';
}

.modal-share-wrap.squire-icons i
{
    font-size: 1rem;
    line-height: 2.2rem;

    width: 2.225rem;
    height: 2.225rem;
}




/**
    Блок с навигацией по сайту
 */

.header-navigation-menu-wrap
{
    position: relative;
    z-index: 1;

    animation-duration: .25s;

    opacity: 0;
}

.header-navigation-search-wrap
{
    position: absolute;
    z-index: 1;
    top: 0;
    right: .75rem;
    left: .75rem;

    animation-duration: .25s;

    opacity: 0;
}

.header-navigation-search-wrap.active,
.header-navigation-menu-wrap.active
{
    z-index: 10;

    opacity: 1;
}

.header-navigation-searchform-wrap
{
    position: relative;
}

.header-navigation-searchform-wrap .btn
{
    position: absolute;
    top: 0;
    right: 0;
}

.header-logo-wrap
{
    /*position: relative;
    z-index: 2;*/
}

.header-logo-wrap img
{
    max-height: 5rem;
}


/**
    Верхнее меню, общие правила
 */
#main-navigation
{
    position: relative;
}

#main-navigation.wth-1-btn
{
    /* в верхнем меню выводится 1 кнопка*/
    padding-right: 3rem !important;
}

#main-navigation.wth-2-btn
{
    /* в верхнем меню выводится 2 кнопки*/
    padding-right: 6rem !important;
}

#main-navigation.wth-3-btn
{
    /* в верхнем меню выводится 3 кнопки*/
    padding-right: 9rem !important;
}


/**
    Иконки для меню
 */
.nav-link-submenu::after
{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

.nav > .nav-item > .nav-link.nav-link-submenu::after
{
    margin-left: .5rem;

    content: '\f107';
}

.nav > .nav-item .nav-submenu .nav-link.nav-link-submenu::after
{
    position: absolute;
    top: .55rem;
    right: 1.45rem;

    content: '\f105';
}

/**
    Кнопки в меню
    "Поиск", "Версия для слабовидящих"
 */
#main-navigation .btn-list
{
    position: absolute;
    top: 0;
    right: 0;
}

/**
    Адаптация меню, при ресайзе
 */
.flexMenu-resizing
{
    /*overflow: hidden;*/
}

/**
    Мобильная панель
 */


.header-mobile-topbar-title
{
    font-weight: 500;

    max-width: 380px;
}

/**
    Мобильное меню
 */
.pushy a
{
    font-weight: 500;

    transition: all .3s;

    opacity: 0;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.pushy a:hover
{
    color: #fff;
}


.pushy-content li.sub-menu-open > a
{
    border-color: transparent;
    background: rgba(0, 0, 0, .15);
}

.pushy-open-left .fa-bars::before
{
    content: '\f00d';
}

.pushy-open-left .pushy a
{
    opacity: 1;
}


.pushy-search
{
    padding: 94px 19px 14px;

    border-bottom: 1px solid rgba(255,255,255,.1);
}


/**
    Быстрый скролл наверх
 */
.scroll-to-top
{
    position: fixed;
    z-index: 1030;
    right: 3.75rem;
    bottom: 30%;

    visibility: hidden;

    opacity: 0;
}

.go-top-visible
{
    right: 2.5rem;

    display: block;
    visibility: visible;

    opacity: 1;
}

/**
    Видео превью для модального видео
 */
.video-preview
{
    position: relative;
}

.video-preview-overlay
{
    position: absolute;
    /* background-color: rgba(0, 0, 0, 0.4); */

    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 100%;
    padding: 1rem;

    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center !important;
    align-items: center !important;
}

.btn-video
{
    width: 4.5rem;
    height: 4.5rem;

    transition: all .3s;

    border-radius: 50%;
}

.btn-video:hover
{
    transform: scale(1.1);
}

/**
    Правила для карт и для плашек на картах
 */
.map-wrap
{
    position: absolute;
    z-index: 2;
    top: 0;

    width: 100%;
    height: 100%;
}

.map-contact-wrap
{
    position: relative;

    width: 100%;
    height: 100%;
}

.map-contact
{
    position: relative;
    z-index: 3;

    margin-bottom: 0;
}

.map-contact-gallery
{
    overflow: hidden;

    cursor: zoom-in;
}

/**
    БЛОКИ НА ГЛАВНОЙ СТРАНИЦЕ
 */

.page-section-decor-line
{
    width: 3rem;
    height: 4px;

    border-radius: 3px;
}
/**
    Секция главной страницы с приветствием
 */
.page-section-welcome-video
{
    position: absolute;
    z-index: 2;
    top: 0;

    height: 100%;
}

.page-section-welcome-video + .page-section-welcome-image
{
    position: relative;
    left: -8em;
}

/**
    Секция главной страницы с достижениями
 */
.achievement-item
{
    margin: 1.5rem 0;
    padding: 0 1.5rem !important;

    border-right: 2px solid rgba(255, 255, 255, .2);
}

.achievement-item:nth-child(4n+1)
{
    border-left: 2px solid rgba(255, 255, 255, .2);
}

.achievement-icon
{
    font-size: 3.2rem;
    line-height: 1.2;
}

.achievement-count
{
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1;
}

.achievement-descr
{
    font-size: 1.1rem;
    line-height: 1;
}

/**
    Секция главной страницы с картой
 */
.page-section-map
{
    position: relative;

    overflow: hidden;

    min-height: 400px;
}

/**
    Секция главной страницы с преимуществами
 */

.page-section-advantages
{
    position: relative;

    background-repeat: no-repeat;
    background-position: right center;
    background-size: 50% auto;
}

.page-section-advantages .advantages-bg-decor
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 45%;
    height: 100%;
}

.page-section-advantages .advantage-header
{
    margin-right: 16.66666667%;
}

.page-section-advantages .advantage-icon
{
    font-size: 2em;
}

/**
    Секция главной страницы 'Как мы работаем'
 */
.page-section-how-we-work .how-we-work-item
{
    position: relative;

    overflow: hidden;

    padding: 2.2rem 1.5rem;

    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
}

.page-section-how-we-work .how-we-work-item-name
{
    font-size: .8rem;
    font-weight: 700;

    text-transform: uppercase;
}

.page-section-how-we-work .how-we-work-item-icon
{
    font-size: 9.5rem;

    position: absolute;
    top: 0;
    left: 50%;

    opacity: .1;
}

/**
    Секция главной страницы с минибаннером
 */
.page-section-banner-small
{
    position: relative;

    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.page-section-banner-small .page-section-title
{
    font-size: 2.3rem;
    font-weight: 600;
    line-height: 1.1;

    color: inherit;
}



/**
    Слайдер на главной странице
 */
#main-slider
{
    width: 100%;
}

#main-slider .sp-button
{
    border: 2px solid white;
    background-color: white;
}

#main-slider .sp-selected-button
{
    background-color: transparent;
}

#main-slider .sp-buttons
{
    position: absolute;
    z-index: 7;
    bottom: .75rem;

    padding-top: 0;
}

#main-slider .sp-arrows
{
    z-index: 7;
}

/**
    Шаблон для слайдов слайда на главной странице
 */
.sp-layer-text .h1
{
    font-size: 2.5rem;
    font-weight: 600;
}

.sp-layer-text p
{
    font-size: 14px;
    /*font-weight: bold;*/
    font-weight: 500;
    line-height: 1.6;
}

.sp-layer-form .g-recaptcha[data-size='invisible']
{
    display: none;
}

/**
    Слайд с видео
 */

.sp-video
{
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;

    overflow: hidden;

    width: inherit;
    height: inherit;

    transform: translate(-50%, -50%);
}

.sp-video video
{
    /**
        font-family: 'object-fit: cover;' используется для полифила objectFitVideos
     */
    font-family: 'object-fit: cover;';

    width: inherit;
    height: inherit;

    -o-object-fit: cover;
       object-fit: cover;
}

/**
    Наложение overlayers на слайд
 */
.sp-slide .sp-overlay
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.sp-slide .sp-overlay-color
{
    z-index: 3;

    opacity: .25;
}

.sp-slide .sp-overlay-gradient
{
    z-index: 4;
}

.sp-slide .sp-overlay-particles
{
    z-index: 6;
}

/**
    Заголовок страницы
 */
.page-name-section
{
    position: relative;

    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.page-name-wrap
{
    position: relative;
    z-index: 7;
}

.page-name-wrap h1
{
    /*font-size: 2.5rem;
    font-size: 47px;
    font-size: 50px;*/
    font-weight: 500;
    font-weight: 600;
}

/**
    Оформление фона заголовка страницы
 */
.page-name-overlay
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.page-name-overlay-color
{
    z-index: 3;

    opacity: .55;
}

.page-name-overlay-gradient
{
    z-index: 4;

    opacity: .5;
}


/**
    Украшение заголовка страницы
 */

.breadcrumbs-decor-line
{
    width: 4.5rem;
    height: 5px;
    margin: 0 auto;

    border-radius: 3px;
}

/**
    Страница с контактами
 */
#contact-map
{
    width: 100%;
    height: 650px;
}

.content-contact-intro-section .squire-icons i
{
    font-size: .85rem;
    line-height: 2.2rem;

    width: 2.25rem;
    height: 2.25rem;
}

/**
    Навигация по соседним новостям
 */
.news-navigation-header-wrap
{
    line-height: 1;
}


/**
    Страница с новостью
 */
.news-item-pic-wrap img
{
    width: 100%;
    height: auto;
}

.news-item-tags-wrap .news-item-lent
{
    max-width: 10rem;
}

/**
    Страница со списком новостей
 */
.news-lastlist-item-meta-wrap > div:last-child
{
    margin-right: 0 !important;
}

/**
    Страница со списком клиентов/партнеров
 */

/**
    Навигация, между клиентами и парнерами
 */
.page-clientspartners-nav-tabs-wrap .nav-tabs
{
    border-radius: 2rem;
}

.page-clientspartners-nav-tabs-wrap .nav-tabs .nav-item
{
    padding: 0;

    background: transparent !important;
}

.page-clientspartners-nav-tabs-wrap .nav-tabs .nav-link
{
    font-weight: bold;

    display: block;

    width: 100%;
    padding: .75rem 2rem;

    text-transform: uppercase;

    border: 0;
    border-radius: 100px;
}

.page-clientspartners-nav-tabs-wrap .nav-tabs .nav-link.active
{
    color: white;
    border-color: #467fcf;
    background-color: #467fcf !important;
}

.page-clients-item .card,
.page-partners-item .card
{
    height: 10.5rem;
}

.page-clients-item img,
.page-partners-item img
{
    max-height: 6.55rem;
}

/**
    Страница с реквизитами
 */
.page-requisites-item-label
{
    font-weight: 600 !important;

    text-transform: uppercase;
}

/**
    Страница с сертификатами
 */


.certifications-item-photo
{
    overflow: hidden;
}

.certifications-item-photo img
{
    max-width: 9rem;

    border-radius: 3px;
}

.certifications-item-content > :last-child
{
    margin-bottom: 0;
}

/**
    Страница с вакансиями
 */


.page-careers-items-nav-tabs
{
    margin-right: 0;
    margin-left: 0;
}

.page-careers-items-nav-tabs .nav-item
{
    margin-right: 2rem !important;
    padding: 0;
}

.page-careers-items-nav-tabs .nav-link
{
    font-weight: 500;

    white-space: nowrap;
}



.page-careers-items-tab-content ul li
{
    position: relative;

    list-style: none;
}

.page-careers-items-tab-content ul li::before
{
    position: absolute;
    top: 0;
    left: -1.5rem;

    content: '\2014';
}

/**
    Страница с тарифами
 */
.pricing-item-name
{
    font-weight: 700;

    margin: 0;

    text-align: left;
}

.pricing-item-subname
{
    margin-top: .5rem;
}

.pricing-item-price
{
    font-size: 2.3125rem;
    font-weight: 500;
    line-height: 1.1;
}

.pricing-item-price span
{
    display: inline-block;
}

.pricing-item-price-suffix,
.pricing-item-price-prefix
{
    font-size: .875rem;
    font-weight: 400;
}

.pricing-item-descr :last-child,
.pricing-item-descr:last-child
{
    margin-bottom: 0 !important;
}

.pricing-item-features ul
{
    margin-bottom: 0;
}

.pricing-item-features ul li:not('.text-muted') span
{
    color: #495057;
}

.pricing-item .card-footer
{
    padding-top: 0 !important;

    border-top: 0;
}

/**
    Страница с тарифом
 */
.page-pricing-content > :last-child
{
    margin-bottom: 0;
}

.page-pricing-features ul
{
    margin-bottom: 0;
}

.page-pricing-promo
{
    font-weight: 600 !important;

    margin: 0;
}

.page-pricing-price
{
    font-size: 2.3125rem;
    font-weight: 500;
    font-weight: 600;
    line-height: 1.1;
}

.page-pricing-price span
{
    display: inline-block;
}

.page-pricing-price-prefix
{
    font-size: .875rem;
    font-weight: 400;
}

.page-pricing-price-suffix
{
    font-size: .875rem;
    font-weight: 400;
}

/**
    Страница с услугами
 */
.service-item
{
    overflow: hidden;
}

.service-item-icon
{
    /*background-size: 75%;*/
    overflow: hidden;
}

.service-item-icon i
{
    margin-top: -7%;

    vertical-align: middle;
}

.service-item-icon i.small
{
    font-size: 90%;
}

.service-item-icon::after
{
    position: absolute;
    top: -50%;
    right: -50%;
    bottom: -50%;
    left: -50%;

    content: '';
    transform: rotateZ(60deg) translate(-1em, 3.5em);

    background: linear-gradient(to bottom, rgba(229, 172, 142, 0), rgba(255,255,255,.5) 50%, rgba(229, 172, 142, 0));
}

.service-item:hover .service-item-icon::after
{
    animation: sheen 1s forwards;
}

.service-item-name-decor
{
    width: 3rem;
    height: 5px;

    border-radius: 3px;
}

.service-item-descr:last-child :last-child
{
    margin-bottom: 0;
}

/**
    Страница с услугой
 */


.page-service .content-composition ul
{
    margin: 2rem 0;
}

/*.page-service .content-composition ul li
{
    position: relative;

    list-style: none;
}*/

/*.page-service .content-composition ul li::before
{
    position: absolute;
    top: 0;
    left: -1.5rem;

    content: '\2014';
}*/

.contact-map-wrap {
    overflow: hidden;
}

.page-service h3
{
    margin-bottom: 1em;
}

.page-service-facts-menu ul
{
    margin: 0;
    padding: 0;
}

.page-service-facts-menu ul li
{
    list-style: none;
}

.page-service-facts-menu ul li:last-child
{
    border-bottom: 0 !important;
}

.page-service-facts-menu ul li a
{
    font-size: .875rem;
    font-weight: 500;

    color: inherit;
}

.page-service-facts-item
{
    width: inherit;
    padding: 1.75rem;

    cursor: pointer;
}

.page-service-facts-item-name
{
    font-size: .75rem;

    text-transform: uppercase;
}


.page-service-price
{
    font-size: 2.3125rem;
    font-weight: 600;
    line-height: 1.1;
}

.page-service-price span
{
    display: inline-block;
}

.page-service-price-prefix,
.page-service-price-suffix
{
    font-size: .875rem;
    font-weight: 400;
}


/**
    Страница с историей компании
 */
.page-history
{
    position: relative;
}

.page-history-item
{
    position: relative;
}

.page-history-item:nth-child(2n + 1)
{
    padding: 0 1.5rem 0 0;

    text-align: right;
}

.page-history-item:nth-child(2n)
{
    margin-left: auto;
    padding: 0 0 0 1.5rem;
}


.page-history-item .card-body
{
    margin-top: -1px;
}

.page-history-item-dot
{
    position: absolute;
    z-index: 1;
    top: 12px;

    width: 1.125rem;
    height: 1.125rem;

    border: 5px solid transparent;
}

/**
    Точка для события в левом ряду
 */
.page-history-item:nth-child(2n + 1) .page-history-item-dot
{
    right: -.5625rem;
}

/**
    Точка для события в правом
 */
.page-history-item:nth-child(2n) .page-history-item-dot
{
    left: -.5625rem;
}

/**
    Разделитель
 */
.page-history-items-delimiter
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background-color: rgba(0, 40, 100, .12);
}

/**
    Страница с отзывами
*/
.testimonials-item-avatar i
{
    font-size: 100%;

    vertical-align: initial;
}

/**
    Страница с вакансиями
 */



/**
    Страница с сотрудниками
 */
.team-item-photo
{
    /*height: 12rem;
    line-height: 12rem;*/
    font-size: 4rem;
    line-height: 9rem;

    width: 9rem;
    height: 9rem;

    border-radius: 3px;
}


/**
    Страница с результатами поиска
 */
ol.search-items
{
    padding-left: 0;

    counter-reset: li;
}

.search-items .search-item
{
    position: relative;
}

.search-items .search-item::before
{
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.1;

    position: absolute;
    top: 0;
    left: 0;

    content: counter(li, decimal-leading-zero) '.';
    counter-increment: li;
}

.search-item-matches p
{
    margin-bottom: 0;
}

.search-item-matches b
{
    font-weight: normal;

    padding: .25em;

    background: #f5f7fb;
}

.search-item-meta a:hover
{
    text-decoration: underline;
}

/**
    Страница со списком фотоальбомов
 */

.albums-item-photo
{
    position: relative;

    overflow: hidden;

    width: 100%;
}

.albums-item-photo img
{
    width: 100%;
    height: auto;
}

.albums-item-photo:hover img
{
    opacity: .6;
}



.albums-item-name
{
    font-size: 1.315rem;

    display: block;

    margin: 0;
}


.albums-item-photo-overlay
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    transition: opacity .2s !important;

    opacity: 0;
}

.albums-item-photo-overlay:hover
{
    opacity: 1;
}

.albums-item-photo-overlay-top
{
    margin-left: auto;
}

.albums-item-photo-overlay-bottom
{
    margin-top: auto;
    margin-left: auto;
}

.albums-item-photo-overlay-bottom .btn,
.albums-item-photo-overlay-top .btn
{
    border-color: white;
    /*cursor: inherit !important;*/
}

.albums-item .albums-item-create-time i
{
    display: none;
}


/**
    Страница с фотоальбомом
 */
.album-items::after
{
    content: '';

    -ms-flex-positive: 999999999;
    flex-grow: 999999999;
}

.album-item
{
    overflow: hidden;

    cursor: zoom-in;

    -ms-flex-positive: 1;
    flex-grow: 1;
}

.album-item img
{
    font-family: 'object-fit: cover;';

    min-width: 100%;
    max-width: 100%;
    height: 12.5rem;

    vertical-align: bottom;

    -o-object-fit: cover;
       object-fit: cover;
}

/*.album-item:hover img {
    opacity: 0.6;
}*/

/**
    Страница с фотографией
 */
.page-photo
{
    overflow: hidden;
}

/**
    Страница с формой для голосования
 */


/**
    Страница с результатами голосования
 */
.vote-results-item
{
    font-size: 87.5%;

    margin-bottom: 1.25rem;
}

.vote-results-item p
{
    margin-bottom: .25rem;
}

.vote-results-item .progress
{
    min-height: 1.5rem;
}

.vote-results-item .score-rel
{
    min-width: 3.5rem;
}

/**
    Страница с файлом
 */
.page-filemanager-shared-file .shared-file-icon i
{
    font-size: 10rem;
}

.page-filemanager-shared-file .shared-file-content > :last-child
{
    margin-bottom: 0;
}

/**
    Файлы на странице
 */
.page-files-item-avatar
{
    border-radius: 3px;
}

.page-files-item-avatar i
{
    font-size: 100%;

    vertical-align: initial;
}

.page-files-item:last-child .page-files-item-meta
{
    padding-bottom: 0 !important;

    border-bottom: 0 !important;
}

/**
    Отзывы к странице
 */
.comments-item-avatar i
{
    font-size: 100%;

    vertical-align: initial;
}

.comments-item-content > :last-child
{
    margin-bottom: 0;
}

.comments-item:last-child .comments-item-content
{
    padding-bottom: 0 !important;

    border-bottom: 0 !important;
}

.comments-add-comment-wrap
{
    background-color: rgba(0,0,0,.015);
}

/**
    Страница с отзывом
 */
.page-comment-avatar i
{
    font-size: 100%;

    vertical-align: initial;
}

/**
    Страница с картой сайта
 */
.page-sitemap > ul > li
{
    font-weight: 600;
}

.page-sitemap > ul > li li
{
    font-weight: 400;
}

/**
    Страница со списком FAQ проектов
 */
.faq-projects-item
{
    text-align: center;
}

.projects-item-icon
{
    overflow: hidden;
}

.projects-item-icon i
{
    margin-top: -7%;

    vertical-align: middle;
}

.projects-item-icon i.small
{
    font-size: 90%;
}

.projects-item-name
{
    font-size: 1.2rem;
}

/**
    Sidebar карточки
 */
.aside-wrap
{
    padding-top: 3rem !important;
    padding-left: 2rem !important;
}

.aside-title
{
    font-size: .875rem;
    line-height: 1.1;
}

.aside-title-decor-line
{
    width: 3rem;
    height: 5px;

    border-radius: 3px;
}

.aside-title-decor-line::after
{
    position: absolute;
    bottom: 2px;

    display: block;

    width: 100%;
    height: 1px;

    content: '';

    background: rgba(0, 40, 100, .12);
}

.aside-news-more .nav-item
{
    padding: 0;
}



.nav-item-decor
{
    position: absolute;
    top: 0;
    left: -1px;

    width: calc(100% + 1px);
    min-width: 100%;
    height: 4px;

    transition: opacity .1s ease;

    opacity: 0;
}

.nav-link.active + .nav-item-decor
{
    opacity: 1;
}

.aside-news-more .news-latest-item-wrap:last-child
{
    border-bottom: 0 !important;
}

.aside-content-menu a
{
    padding-left: 0;
}

/**
    Подвал сайта
 */

.footer-contacts.squire-icons i
{
    line-height: 1.75rem;

    width: 1.875rem;
    height: 1.875rem;

    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(0, 0, 0, .1);
}

.footer-contacts-wrap a
{
    color: inherit;
}



.footer-share-wrap > div
{
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.footer-copyright-wrap,
.footer-additionalinfo-wrap
{
    border-color: rgba(255, 255, 255, .2) !important;
}

.footer-additionalinfo > :last-child
{
    margin-bottom: 0;
}

.footer-block-name
{
    font-weight: 700;

    text-transform: uppercase;
}

.footer-block-decor-line
{
    position: relative;

    display: inline-block;

    width: 3rem;
    height: 5px;

    border-radius: 3px;
}


/*.footer-copyright-wrap a {
    color: inherit;
    text-decoration: underline;
}

.footer-copyright-wrap a:hover {
    text-decoration: none;
}*/


/**
    Кастомные анимации
 */

/**
    Анимация солнечный блик
 */
@keyframes sheen
{
    100%
    {
        transform: rotateZ(60deg) translate(1em, -9em);
    }
}

@media (min-width:768px)
{
    aside.sticky-md-top
    {
        top: 8rem;
    }
}


/**
    Правила для мобильных и планшетных версий
 */
@media only screen and (max-width: 991px)
{
    .header-logo img
    {
        max-width: 300px;
    }
}

/**
    Узкоформатные мониторы
 */
@media (max-width: 1280px)
{
    .page-testimonials .card-columns
    {
        -moz-column-count: 2;
             column-count: 2;
    }

    .g-recaptcha[data-size='normal']
    {
        transform: scale(.8);
        transform-origin: 0 0;
    }

    .page-section-advantages
    {
        background-image: none !important;
    }

    .page-section-advantages .advantage-header
    {
        margin-right: 0;
    }

    .page-section-advantages .advantages-bg-decor
    {
        display: none;
    }
}

/**
    Правила для планшетной версии
 */
@media (max-width: 992px)
{
    #main-navigation > ul > li:first-child
    {
        padding-left: 0;
    }

    #main-slider .sp-slide .sp-layer-row
    {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .sp-layer-text .h1
    {
        font-size: 2.5rem;
    }

    .sp-layer-text .btn
    {
        font-size: .8125rem;
    }

    #contact-map
    {
        height: 300px;
    }

    .aside-wrap
    {
        padding-top: 1rem !important;
        padding-left: 0 !important;
    }

    .page-clients-item .card,
    .page-partners-item .card
    {
        height: 8.5rem;
    }

    .page-clients-item img,
    .page-partners-item img
    {
        max-height: 4.55rem;
    }

    .content-gallery-previewitems
    {
        max-width: 75%;
    }

    .page-service-facts-item
    {
        padding: 1.25rem;
    }

    .achievement-item:nth-child(2n+1)
    {
        border-left: 2px solid rgba(255, 255, 255, .2);
    }
}

/**
    Правила для мобильной версии
 */
@media only screen and (max-width: 768px)
{
    .display-4
    {
        font-size: 2rem;
    }

    #main-slider .sp-slide .sp-layer-row
    {
        padding-top: 0rem;
        padding-bottom: 0rem;
    }

    header
    {
        padding-top: 2.875rem;
    }

    .header-navigation-action .btn
    {
        width: auto;
        margin-right: auto;
        margin-left: auto;
    }

    .scroll-to-top
    {
        right: 2rem;
    }

    .go-top-visible
    {
        right: 1rem;
    }

    .sp-layer-text .h1
    {
        font-size: 1.6rem;
    }

    .sp-layer-text p
    {
        text-transform: none !important;
    }

    .page-section-welcome-video + .page-section-welcome-image
    {
        display: none;
    }

    .page-section-welcome-video
    {
        position: relative;

        height: auto;
    }

    .page-section-welcome-video,
    .page-section-welcome-image
    {
        margin-bottom: 2rem;
    }

    #contact-map
    {
        height: 250px;
    }


    .news-related-item
    {
        border-bottom: 1px solid rgba(0, 40, 100, .12);
    }

    .news-related-item-wrap:last-child .news-related-item
    {
        border-bottom: 0;
    }

    .news-item-lent-wrap .tag
    {
        max-width: 100%;
    }

    .news-item-tags-wrap .news-item-lent
    {
        max-width: inherit;
    }

    .page-history-item:nth-child(2n),
    .page-history-item:nth-child(2n+1)
    {
        padding: 0;

        text-align: left;
    }

    .page-history-item:nth-child(2n) .page-history-item-dot,
    .page-history-item:nth-child(2n+1) .page-history-item-dot
    {
        left: -1.95rem;
    }

    .page-testimonials .card-columns
    {
        -moz-column-count: 1;
             column-count: 1;
    }

    .page-pricing-price
    {
        border-bottom: 1px solid rgba(0, 40, 100, .12) !important;
    }

    .page-filemanager-shared-file .shared-file-icon i
    {
        font-size: 5rem;
    }

    .subscribe-form-btn
    {
        width: auto;
    }

    .page-requisites-items
    {
        border-left: 0 !important;
    }

    .achievement-item
    {
        padding: 0 !important;

        border: 0 !important;
    }

    .map-wrap
    {
        position: relative;

        height: 300px;
    }
}

@media only screen and (max-width: 575px)
{
    .btn-list > .btn.d-block:not(:last-child)
    {
        margin-right: 0;
    }

    .aside-news-more .nav-tabs .nav-link
    {
        border-right: 0 !important;
        border-bottom: 1px solid #dee2e6 !important;
    }

    .nav-item-decor
    {
        width: 4px;
        min-width: auto;
        height: calc(100% + 1px);
    }


    .aside-news-more .nav-tabs .nav-link.active::after
    {
        display: none;
    }

    .modal-title
    {
        font-size: 1.4rem;
    }

    .table th,
    .text-wrap table th,
    .table td,
    .text-wrap table td
    {
        font-size: 83%;

        padding: .5rem;
    }
}

/**
    Правила для устройств, с очень маленькими экранами
 */
@media only screen and (max-width: 325px)
{
    .text-wrap
    {
        font-size: .9375rem;
        line-height: 1.5;
    }

    .header-logo img
    {
        max-width: 100%;
    }

    .display-4,
    .sp-layer-text .h1
    {
        font-size: 1.5rem;

        word-break: break-word;
    }

    .page-album-meta
    {
        display: block !important;
    }

    .form-group-captcha
    {
        overflow: hidden;
    }

    .g-recaptcha[data-size='normal']
    {
        transform: scale(.7);
        transform-origin: 0 0;
    }

    .page-vote-form .btn
    {
        display: block;

        width: 100%;
    }

    .cta-btns .btn
    {
        display: block;

        width: 100%;
    }

    .page-history-item p
    {
        font-size: 83%;

        margin-bottom: 0;
    }

    .page-history-controlls .selectgroup-button
    {
        font-size: 83%;
        line-height: 1.2;
    }

    .table th,
    .text-wrap table th,
    .table td,
    .text-wrap table td
    {
        font-size: 80%;

        word-break: break-word;
    }
}


