:root, [data-bs-theme=light] {
    --bs-secondary: #214882;
}

[data-bs-theme=dark] {

}

.modal {
    --bs-modal-header-border-width: 0;
}

/* cyrillic-ext */
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/cyrillic-ext-i.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/cyrillic-i.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* latin-ext */
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/latin-ext-i.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/latin-i.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/cyrillic-ext.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/cyrillic.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* latin-ext */
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
    font-family: "Noto Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    background-color: #f5f5f5;
}

/* Header */

.header-section-general {
    position: relative;
    padding-top: 2rem;
    padding-bottom: 8rem;
}

.header-section-general .header-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #006aeb;
    background-size: cover;
    background-position: center;
    box-shadow: inset 0px -15px 15px -15px rgb(0 0 0 / 28%);
    z-index: -1;
}

.header-site_name-wrapper {
    position: relative;
    display: flex;
}

.header-site_name-wrapper .header-logo {
    margin-right: 7px;
}

.header-site_name-wrapper .header-logo img {
    height: 80px;
}

.header-site_name-wrapper .header-site_name {
    color: var(--bs-white);
    font-size: 20px;
}

.header-site_name-wrapper .header-site_name span {
    display: block;
}

.header-site_name-wrapper .header-site_name span:nth-child(2) {
    text-transform: uppercase;
    display: inline-block;
    background-color: var(--bs-secondary);
    padding: .025rem .75rem;
    border-radius: 2px;
}

.header-site_name-wrapper .header-home_link {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.header-contact-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .25rem .75rem .25rem .25rem;
    background-color: var(--bs-gray-100);
    border-radius: .75rem;
    transition: background-color 0.3s, transform 0.3s;
    cursor: pointer;
    text-decoration: none;
}

.header-contact-item:hover {
    background-color: var(--bs-gray-300);
    transform: translateY(-2px);
}

.header-contact-item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    font-size: 20px;
    background: linear-gradient(135deg, #0291fa, #0071da);
    color: var(--bs-white);
    border-radius: calc(.75rem - .25rem);
}

.header-contact-item-texts {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.header-contact-item-text {
    font-weight: 600;
    font-size: 1rem;
    color: var(--bs-gray-800);
}

.header-contact-item-desc {
    font-size: 13px;
    color: var(--bs-gray-700);
}

.header-section-general .navbar .navbar-collapse {
    background: var(--bs-white);
    padding: .5rem;
    border-radius: .5rem;
    box-shadow: 0 13px 27px -5px rgba(41, 37, 36, 0.25), 0 8px 16px -8px rgba(41, 37, 36, 0.3), 0 -6px 16px -6px rgba(41, 37, 36, 0.025);
}

/* Main */

.pre-container {
    margin-top: -8rem;
    background-color: hsla(0, 0%, 100%, .94) !important;
    -webkit-backdrop-filter: saturate(100%) blur(24px);
    backdrop-filter: saturate(100%) blur(24px);
    border-radius: 1rem;
    border-color: transparent;
    box-shadow: 0 13px 27px -5px rgba(41, 37, 36, 0.25), 0 8px 16px -8px rgba(41, 37, 36, 0.3), 0 -6px 16px -6px rgba(41, 37, 36, 0.025);
}

/* Section  */

.section-title {
    position: relative;
    display: inline-block;
    margin-bottom: 2rem;
    padding-left: 1rem;
    font-size: 38px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--bs-gray-800);
    text-shadow: 1px 1px 1px var(--bs-gray-900);
}

.section-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background-color: rgba(var(--bs-primary-rgb), .8);
    border-radius: 3px;
}

/* Page */

.page-title {
    font-size: 2.75rem;
    font-weight: 600;
    color: var(--bs-gray-800);
    /*text-shadow: 1px 1px 1px var(--bs-gray-900);*/
    margin-bottom: 1.75rem;
}

/*== Documents ==*/

.document-item .card-title {
    font-size: 1rem;
}

.document-item {
    --bs-card-border-color: var(--bs-gray-300);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-gray-500)
}

.document-item .card-title a:hover {
    color: var(--bs-primary);
}

.document-item-files .border:hover {
    background-color: var(--bs-gray-100);
    transition: background-color 0.2s ease;
}

.document-item-files .btn {
    --bs-btn-border-radius: .5rem;
}

/*Posts*/

.post-list-item {
    margin-bottom: 1.75rem;
}

.post-list-item-thumb {
    display: block;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 8px 16px -6px rgb(0 0 0 / 50%);
}

.post-list-item-title {
    font-size: 22px;
    font-weight: 700;
}

.post-list-item-title a {
    color: var(--bs-gray-800);
    text-decoration: none;
}

.post-list-item-date {
    font-size: 14px;
    color: var(--bs-gray);
}

.post-item-content p {
    text-align: justify;
}

.post-item-gallery .owl-stage-outer {
    border-radius: .75rem;
}

.post-item-gallery_thumbs .item {
    border-radius: .5rem;
    overflow: hidden;
}

.post-list-item-link {
    display: inline-block;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 500;
}

/*general-page*/

/*glava*/
#section-glava .card {
    --bs-border-radius: 1rem;
}

#section-glava .card .card-subtitle {
    font-style: italic;
}

#section-glava .card .card-title {
    font-weight: 500;
    font-size: 1.25rem;
}

#section-glava .card .btn {
    --bs-border-radius: .5rem;
}

/*top slider*/
#section-top-slider {
    margin-left: calc(-1rem - 1px);
    margin-right: calc(-1rem - 1px);
}

#section-top-slider .general-top-slider .swiper-slide {
    width: auto !important;
}

#section-top-slider .general-top-slider {
    width: auto !important;
    height: 400px;
}

#section-top-slider .general-top-slider .slide-img {
    height: 400px;
}

/* Breadcrumbs */

.breadcrumb a {
    text-decoration: none;
    color: var(--bs-primary);
}

/*== LazyLoad ==*/

img.lazyload {
    /* фоновая заглушка со спиннером */
    background-color: #f8f9fa; /* светло-серый фон Bootstrap */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="%23adb5bd" class="bi bi-arrow-repeat spin" viewBox="0 0 16 16"><path d="M2 2a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H3.707l2.147 2.146a.5.5 0 0 1-.708.708L3 3.707V6.5a.5.5 0 0 1-1 0v-4z"/><path d="M14 14a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1h1.793l-2.147-2.146a.5.5 0 1 1 .708-.708L13 12.293V9.5a.5.5 0 0 1 1 0v4z"/><path fill-rule="evenodd" d="M8 3a5 5 0 0 1 4.546 2.916.5.5 0 1 1-.892.448A4 4 0 1 0 12 8h1a5 5 0 1 1-5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40px 40px;
    display: block;
    transition: background 0.3s ease;
}

img.lazyload.spin {
    animation: spin 1s linear infinite;
}

/* Убираем фон после загрузки */
img.lazyloaded {
    background: none;
}

/* Анимация вращения */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/*== OWL ==*/

.owl-carousel {
    user-select: none; /* запрещает выделение */
    -webkit-user-select: none;
    -ms-user-select: none;
    position: relative;
}

/* Контейнер стрелок */
.owl-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
    z-index: 10;
}

/* Кнопки */
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    transition: all 0.25s ease;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

/* Расположение */
.owl-carousel .owl-nav .owl-prev {
    left: 10px;
}

.owl-carousel .owl-nav .owl-next {
    right: 10px;
}

/* Иконки */
.owl-carousel .owl-nav button span {
    font-size: 18px;
    line-height: 1;
}

/* Hover-эффект */
.owl-carousel .owl-nav button:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translateY(-50%) scale(1.1);
}

/* Адаптив */
@media (max-width: 768px) {
    .owl-carousel .owl-nav button.owl-prev,
    .owl-carousel .owl-nav button.owl-next {
        width: 32px;
        height: 32px;
    }

    .owl-carousel .owl-nav button span {
        font-size: 14px;
    }
}

