:root {
    --navy: #062d4a;
    --navy-dark: #04263d;
    --teal: #008f89;
    --teal-light: #12a99e;
    --gold: #d5ad4b;

    --text: #092b49;
    --muted: #607487;

    --border: #dce4e8;
    --background: #ffffff;
    --soft: #f7f9fa;

    --container: 1180px;

    --c-link: #fbf8ef;
    /*
    --c1: #064761;
    --c2: #2c5d71;
    --c3: #1f5368;
    --c-link2: #fbf8ef;
    /**/

    /*
    --c1: #f8fafb;
    --c2: #e8eef0;
    --c3: #fcfdfd;
    --c-link2: #1c1c1c;/**/

    /*
    --c1: #e4eff1;
    --c2: #d4e7eb;
    --c3: #f8fbfb;
    --c-link2: #1c1c1c;
    /**/

    /*
    --c1: #e4eff1;
    --c2: #d4e7eb;
    --c3: #f8fbfb;
    --c-link2: #1c1c1c;
    /**/

/*
    --c1: #064761;
    --c2: #d4e7eb;
    --c3: #f8fbfb;
    --c-link2: #1c1c1c;
    /**/

    /*--c1: #bedbe1;/**/
    --c1: #e4eff1;
    --c2: #d4e7eb;
    --c3: #f8fbfb;
    --c-link2: #1c1c1c;
    /**/
}


* {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0;
    background: var(--background);
    color: var(--text);

    font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;

    font-size: 15px;
    line-height: 1.45;
}


a {
    color: inherit;
    text-decoration: none;
}


button {
    font: inherit;
}


.container {
    width: min(calc(100% - 48px), var(--container));
    margin: 0 auto;
}

.container.nds {
}
.full-text{
    border-radius: 0.5em;
    padding: 1em 1.5em;
}
/* =========================================================
   HEADER
   ========================================================= */

.header {
    height: 110px;
    position: sticky;
    top: 0;
    z-index: 100;
    pointer-events: none;
    background: linear-gradient(
            105deg,
            #07516a 0%,
            #086579 60%,
            #078f87 100%
    );
}
/**/
.container-hdr {
    margin: 0;
    width: auto;
    overflow: hidden;
    color: white;
    background: linear-gradient(105deg,#063f60,#075f77 58%,#078f89);
    padding-bottom: 3em;
}
.h-c{
    display: flex;
}
.h-c>div{
    /*display: flex;/**/
    max-width: 50%;
}
.h-img {
    width: 588px;
    /*height: 362px;/**/
    color: #7ecadb;
    /* background: url("index_files/test.png"); */
    /*background: #2482bb;/**/
    /*background: linear-gradient(105deg, #063f60, #075f77 58%, #078f89), url("index_files/test.png");
    /*background-image: linear-gradient(to left, rgba(0, 0, 0, 0.92) 50%, #000 100%), url("index_files/test.png");/**/
    background: linear-gradient(105deg, rgba(6, 63, 96, 0), #075f77 58%, #078f89), url("test.png");
    background-blend-mode: screen;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.container-hdr h1{
    text-transform: uppercase;
    font-size: 20pt;
    padding: 0 30pt;
}
.container-hdr p{
    font-size: 11pt;
    padding: 0 30pt;
}

.quick {
    position: relative;
    margin-top: -35px;
    z-index: 3;
    background: white;
    border: 1px solid var(--line);
    border-radius: 13px;
    box-shadow: 0 7px 22px #0b344a14;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    overflow: hidden;
}

.quick a {
    min-height: 90px;
    display: grid;
    grid-template-columns: 55px 1fr 20px;
    gap: 12px;
    align-items: center;
    padding: 13px 25px;
    border-right: 1px solid var(--line);
    color: #000;
}
.ico {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: #edf4f5;
    display: grid;
    place-items: center;
    color: #087f86;
    font-size: 27px;
}
.quick strong {
    font-size: 13px;
    line-height: 1.4;
}
/**/

.header-inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    pointer-events: auto;
    /*
    background:
    linear-gradient(
            100deg,
            #062d4a 0%,
            #073e55 55%,
            #007e79 100%
    );/**/
    transition: height 0.3s ease-in-out;
}


.header-holder--active .main-nav a {
    padding: 0 10px;
    /*display: inline-block;/**/
}
.header-holder--active.header {
    background: transparent;
}
.header-holder--active.header .header-inner {
    height: 62px;
    background: linear-gradient(
            105deg,
            #07516a 0%,
            #086579 60%,
            #078f87 100%
    );
}


.header-holder--active.header .container {
    width: 100%;
    animation-delay: 10s;
}
.header-holder--active .logo-mark {
    margin-left: 2pt;
    margin: 4pt;
}

.header-holder--active .default-logo {
    vertical-align: middle;
    max-width: 38pt;
    height: 38pt;
}
.header-holder--active .logo-text {
    line-height: 1em;
    flex-direction: row;
}
.header-holder--active .logo-text>div {
    display: flex;
    flex-direction: column;
    margin-left: 1em;
}
.header-holder--active .logo-text strong{
    line-height: 1em;
}
body.header-scroll{

}



.logo {
    display: flex;
    align-items: center;

    flex: 0 0 auto;

    color: #fff;
}


.logo-mark {
    /*    width: 38px;
        height: 46px;/**/

    margin-right: 11px;

    color: #e3bd56;
}


.logo-mark svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
}

.default-logo {
    max-width: 100pt;
    transition: height 0.3s ease-in-out;
    transition: width 0.3s ease-in-out;
}

.custom-slider-block {
    position: absolute;
    left: 0;
    top: 0;
    max-width:100%;
    height:100%;
    
    width: 450px;            /* Занимает всю ширину родителя */
    max-width: 450px;       /* Максимальная желаемая ширина слайдера */
    height: 250px;          /* Фиксированная желаемая высота */
    margin: 0 auto;         /* Центрирование блока, если нужно */
    /*overflow: hidden;       /* Скрывает всё, что выходит за пределы */
    position: relative;
}

.logo-text {
    display: flex;
    flex-direction: column;

    font-size: 15px;
    line-height: 1.25;
    white-space: nowrap;
    color: #f2c53d;
    /*    font-weight: bold;/**/
    margin-left: 1em;
}


.logo-text strong {
    font-weight: 500;
}


.logo-text span {
    opacity: .9;
}


.main-nav {
    flex: 1 0 auto;
    align-self: stretch;
}

.main-nav > ul {
    margin: 0;
    height: 100%;
    display: flex;
    align-items: stretch;
    margin-left: auto;
    list-style: none;
    padding: 0;
    justify-content: flex-end;
    /*overflow: hidden;/**/
}

.main-nav a {
    color: rgba(255, 255, 255, .88);
    color: rgba(255, 255, 255, .88);
    color: var(--c-link2);
    font-size: 16px;
}

.main-nav li{
    list-style: none;
}

.main-nav > ul > li > a {
    color: var(--c-link);
    position: relative;
    padding: 29px 0 27px;
    /*    white-space: nowrap;/**/
    border-top: 3px transparent solid;
    border-bottom: 3px transparent solid;
}

.main-nav > ul > li > a {
    /*margin: 0 1em;/**/
    padding: 29px 1em 27px 1em;
    padding: 18pt 1em 18pt 1em;
    display: inline-block;
    margin: calc(1em + 0.20pt) 0;
}


.main-nav > ul > li:hover {
    background-color: rgba(0, 0, 204, 0.1);
    background-color: rgba(157, 157, 157, 0.05);
}

.main-nav .item-container {
    /*display: block;/**/
    display: none;
    position: absolute;
    background: var(--c1);
    left: 10em;
    right: 10em;
    /* max-height: 72vw; */
    /*height: 34.5em;/**/
    height: auto;/**/
    border-radius: 0 0 0.5em 0.5em;
    margin-top: 0pt;
    max-height: calc(100vh - 8em);
    min-height: 100pt;
    overflow: auto;
    padding: 0;
}

.main-nav ul.sub-menu li{
    overflow: hidden;
}

/*.main-nav > ul > li > ul {/**/
.main-nav ul.sub-menu.d-0 {/**/
/*    background: var(--c1);/**/
    padding: 1em 2em;
    /*height: 34.5em;/**/
    /*margin-top: 0pt;/**/
    /*overflow: auto;
    /* 1. Активируем колонки (задаем количество или ширину) */
    column-count: 2;          /* Делит текст ровно на 3 колонки */
    /* column-width: 250px;   /* Альтернатива: колонки по ~250px, сколько поместится */

    /* 2. Ограничиваем высоту, чтобы текст уходил в соседнюю колонку */
    /*height: 400px;/**/

    /* Опциональные настройки стилей */
    column-gap: 2em;         /* Расстояние между колонками */
    /*column-rule: 1px solid #bababa; /* Вертикальная линия между колонками */
    padding: 1.5em 2em;
    column-count: 2;
    column-fill: auto;
    max-height: 420pt;
    /*max-height: 350pt;/**/
    margin-bottom: 2em;
    height: auto;
}
.main-nav li:nth-child(3) ul.sub-menu.d-0 {
    max-height: 485pt;/**/
}
.main-nav li:nth-child(3) ul.sub-menu.d-0 {
    max-height: 350pt;/**/
}
.main-nav li:nth-child(4) ul.sub-menu.d-0 {
    max-height: 305pt;/**/
}
/*.main-nav > ul > li:nth-child(2) ul.sub-menu.d-0{/**/
.main-nav > ul > li:nth-child(3) .item-container{
    /*display: block; /**/
}

.main-nav ul.sub-menu.d-0 > li {
    /*max-width: 25em;/**/
    /*break-inside: avoid;/**/
    background: var(--c2);
    margin: 0;
    padding: 1em;
    padding: 0em;
    border-radius: 5pt;
    box-sizing: inherit;
    margin-bottom: 1em;
    overflow: hidden;
}

.main-nav ul.sub-menu.d-2 > li {
    background: var(--c2);
}

ul.sub-menu.d-1, ul.sub-menu.d-2{/**/
    background: var(--c3);
    padding: 0;
    border-radius: 5pt;
    overflow: hidden;
    margin: 0 1em 1em 1em;
    /*display: inline flow-root list-item;/**/
    box-sizing: border-box;
    display: block;
}
/**/
.sub-menu.d-1 li {
    margin: 0.3em;
}
.sub-menu.d-1 li{
    background: #e4eff1;
    border-radius: 5pt;
}
ul.sub-menu.d-1, ul.sub-menu.d-2 {
    background: transparent;
}
/**/
ul.sub-menu.d-2 {
    margin-bottom: 0;
    padding-bottom: 8pt;
}

ul.sub-menu li a:hover {
    color: #003366;
    background-color: #f2c53d;
}

ul.sub-menu li a:active {
    color: #003366;
    background-color: #f2c53d;
}

ul.sub-menu li a {
    display: block;
    padding: 0 0.8em;
}
ul.sub-menu.d-0>li>a {
    padding: 1em 2em;
    padding: 0.8em 2em 0.8em 2em;
    padding: 0.8em 2em 0.8em 1.2em;
    padding: 0.5em 1.2em;
    line-height: 2em;
}
ul.sub-menu.d-1 li>a{
/*ul.sub-menu>li>ul>li>a {/**/
    padding: 2em;
    padding: 0.2em 2em;
    padding: 0 1.5em;
    line-height: 2em;


    padding: 1em 2em;
    padding: 0.8em 2em 0.8em 2em;
    padding: 0.8em 2em 0.8em 1.2em;
    padding: 0.5em 1.2em;
    line-height: 2em;
}

ul.sub-menu.d-2 li>a{
    padding: 1em 2em;
    padding: 0.8em 2em 0.8em 2em;
    padding: 0.8em 2em 0.8em 1.2em;
    padding: 0.5em 1.2em;
    line-height: 2em;
}

ul.sub-menu.d-0>li>a,
ul.sub-menu.d-1>li>a,
ul.sub-menu.d-2>li>a
{
    padding: 8pt 20pt;
    line-height: 1.4em;
    cursor: default;
}

ul.sub-menu.d-1>li>a
{
    padding: 8pt 20pt;
    line-height: 1.4em;
    cursor: default;
}

ul.sub-menu.d-2>li>a
{
    padding: 8pt 20pt;
    line-height: 1.4em;
    cursor: default;
}

/**/

/* Базовое позиционирование */
/*.menu-item {
    position: absolute;
    list-style: none;
}

/* Убираем дефолтные стрелки details */
.menu-summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.menu-summary::-webkit-details-marker {
    display: none;
}

/* Создаем свою стрелочку с помощью псевдоэлемента */
/*.menu-summary::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg); /* Смотрит вниз */
/*    transition: transform 0.2s ease;
}

/* Когда меню открыто [open], поворачиваем стрелочку вверх */
/*.menu-details[open] .menu-summary::after {
    transform: translateY(2px) rotate(-135deg); /* Смотрит вверх */
/*}

/* СОВРЕМЕННАЯ МАГИЯ: Задаем начальную точку анимации 
   для плавного появления из display: none */
/*@starting-style {
    .menu-details[open] .submenu {
        opacity: 0;
        transform: translateY(-10px);
    }
}
/**/


/* Применяем стили к любому элементу с этим атрибутом */
.main-nav a[aria-current="page"] {
    color: #003366;
    background-color: #f2c53d;
    pointer-events: none; /* отключает клик по ссылке, так как мы уже на этой странице */
    text-decoration: none;
}

/*.main-nav > ul > li:hover > ul {/**/
/*.main-nav li:hover ul.sub-menu.d-0/**/
.main-nav li:hover .item-container
{
    display: block;
    /*box-shadow: 0 0 10pt 0 #A9A9A9;/**/
    box-shadow: 0 0 10pt 0 #5B5B5B80;
}

.main-nav > ul > li:hover > a,
.main-nav a.active {
    /*color: #fff;/**/
    color: #f2c53d;
    border-bottom: 3px #f2c53d solid;
}


.main-nav a.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #2ab4a6;
}


.header-tools {
    display: flex;
    align-items: center;
}

.header-tools>button{
    padding: 1em;/**/
}


.search-btn,
.language {
    border: 0;
    background: none;
    color: #fff;
    cursor: pointer;
}


.search-btn {
    height: 38pt;
    padding: 0;
}


.search-btn svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}


.language {
    display: flex;
    align-items: center;
    gap: 6px;

    font-size: 12px;
}


.language svg {
    width: 8px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
}


/* =========================================================
   main
   ========================================================= */

.main {
    position: relative;
    overflow: hidden;
    color: #fff;
    /*background: linear-gradient(
            105deg,
            #062d4a 0%,
            #075267 58%,
            #008d85 100%
    );/**/
    background: linear-gradient(
            105deg,
            #06445f 0%,
            #076778 60%,
            #008b83 100%
    );
}


.main-inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    height: 100%;
}/**/


.main-content {
    position: relative;
    z-index: 2;

    padding-top: 22px;
    width: max-content;
    /*max-width: 55%;/**/
}


.main h1 {
    margin: 0 0 4px;
    /*font-size: 42px;/**/
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .02em;
    color: #f7f2e3;
}

.main-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    /*margin-top: 60px;/**/
    margin-top: 16px;/**/
    /* color: rgba(255,255,255,.92); */
    font-size: 15px;
    width: max-content;
}

.main-subtitle.pro {
    /*top: 30px;
    position: absolute;
    left: 236pt;
    margin-top: 0px;/**/
}

.main-subtitle i {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #20b5a5;
}


.main-buttons {
    display: flex;
    gap: 12px;

    margin-top: 20px;
    width: max-content;
}


.btn {
    height: 42px;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 0 18px;

    border-radius: 4px;

    font-size: 13px;

    transition:
    background .2s,
    border-color .2s;
}


.btn svg {
    width: 22px;
    height: 22px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
}


.btn-primary {
    color: #fff;

    background: #07998f;
}


.btn-primary:hover {
    background: #08a99d;
}


.btn-outline {
    color: #fff;

    border: 1px solid rgba(255,255,255,.65);
}


.btn-outline:hover {
    border-color: #fff;
    background: rgba(255,255,255,.08);
}


.main-building {
    /*position: absolute;/**/
    /*right: 0;
    bottom: 0;
    top: 0;/**/
    width: 450px;
    height: 250px;
    color: rgba(255,255,255,.24);
    background-color: #0f1c393b;
    background-color: #ecedf066;
    margin: 1em 0;
    border-radius: 1em;
    overflow: hidden;
    flex: 1 0 auto;
}


.main-building svg {
    width: 100%;
    height: 100%;
}


/* =========================================================
   COMMON
   ========================================================= */

.section {
    padding: 40px 0;
}


.section-heading {
    display: flex;
    align-items: center;
    justify-content: start;

    margin-bottom: 18px;
}


.section-heading h2 {
    margin: 0;

    font-size: 18px;
    line-height: 1.2;

    font-weight: 700;
    letter-spacing: .015em;
    text-transform: uppercase;
}


.section-heading a {
    color: var(--teal);

    font-size: 13px;
}


.section-heading a:hover {
    text-decoration: underline;
}


/* =========================================================
   QUICK NAV
   ========================================================= */

.section-nav {
    padding: 1em 0;
}


.quick-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    /*    border-bottom: 1px solid var(--border);/**/
}


.quick-item {
    position: relative;

    min-height: 210px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    padding: 1.2em 2em;

    text-align: center;

    border: 1px solid var(--border);

    transition:
    background .2s,
    color .2s;
    margin: 0.5em;
    border-radius: 1em;
    box-sizing: border-box;
}


.quick-item:first-child {
    border-left: 1px solid var(--border);
}


.quick-item:hover {
    background: #fafcfc;
}
.quick-item .row {
    display: flex;
    align-items: center;
}


.quick-icon {
    height: 47px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 10px;

    color: var(--navy);
}


.quick-icon svg {
    width: 43px;
    height: 43px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
}


.quick-item strong {
    min-height: 34px;

    font-size: 16px;
    line-height: 1.25;

    font-weight: 700;
    margin-left: 1em;
}


.quick-item .line {
    width: 24px;
    height: 2px;

    margin: 8px 0 10px;

    background: var(--teal);
}


.quick-item small {
    display: block;

    margin-top: 4px;

    color: #40566b;

    font-size: 14px;
    line-height: 1.35;
}


.quick-item em {
    position: absolute;
    margin-top: auto;

    color: var(--navy);

    font-size: 30px;
    font-style: normal;
    bottom: 0.5em;
    right: 0.8em;
}


/* =========================================================
   NEWS / STATS
   ========================================================= */

.news-section {
    padding-top: 34px;
}


.columns {
    display: grid;
    grid-template-columns: 1.12fr .88fr;
    gap: 46px;
}


.news-list {
    border: 1px solid var(--border);
    border-radius: 5px;

    overflow: hidden;
}


.news-item {
    min-height: 53px;

    display: grid;
    grid-template-columns: 78px 1fr 25px;
    align-items: center;

    padding: 8px 14px;

    border-bottom: 1px solid var(--border);
}


.news-item:last-child {
    border-bottom: 0;
}


.news-item:hover {
    background: #fafcfc;
}


.news-item time {
    color: var(--teal);

    font-size: 11px;
}


.news-item span {
    padding-right: 10px;

    font-size: 12px;
    line-height: 1.35;
}


.news-item b {
    color: var(--navy);

    font-size: 18px;
    font-weight: 400;

    text-align: right;
}


.stats-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border: 1px solid var(--border);
    border-radius: 5px;

    overflow: hidden;
}


.stat {
    min-height: 105px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


.stat:nth-child(3) {
    border-right: 0;
}


.stat:nth-child(4) {
    grid-column: 1 / 2;
}


.stat:nth-child(5) {
    border-right: 0;
}


.stat strong {
    color: var(--navy);

    font-size: 28px;
    line-height: 1;

    font-weight: 700;
}


.stat span {
    margin-top: 7px;

    color: #506578;

    font-size: 11px;
    line-height: 1.25;
}

.concurs-grid {
    /*    background-color: aliceblue;/**/
    border: 1px #eaf2f9 solid;
    border-radius: 0.5em;
}

.concurs-grid > *{
    border-bottom: 1px #eaf2f9 solid;
    padding: 0.5em 1em;
}

.concurs-grid > *:last-child{
    border-bottom: none;
}

/* =========================================================
   PUBLICATIONS
   ========================================================= */

.publications {
    padding-top: 32px;
}


.publication-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}


.publication {
    text-align: center;
}


.cover {
    height: 190px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 9px;
    padding: 15px;

    border: 1px solid #d5d9db;

    box-shadow: 0 2px 7px rgba(0,0,0,.06);

    color: #fff;

    font-family: Georgia, serif;

    font-size: 16px;
    line-height: 1.25;

    text-align: center;
}


.cover-green {
    background: #075e52;
}


.cover-beige {
    background: #cbbda4;

    color: #1c1b18;

    font-size: 13px;
}


.cover-blue {
    background: #183d64;
}


.cover-red {
    background: #6e2732;
}


.cover-darkgreen {
    background: #064e42;
}


.publication span {
    display: block;

    color: var(--text);

    font-size: 11px;
    line-height: 1.3;
}


/* =========================================================
   RESOURCES
   ========================================================= */

.resources {
    padding-top: 28px;
    padding-bottom: 34px;
}


.resource-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


.resource-grid a {
    min-height: 72px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 10px 15px;

    border-right: 1px solid var(--border);

    font-size: 11px;
    line-height: 1.25;
}


.resource-grid a:last-child {
    border-right: 0;
}


.resource-grid a:hover {
    background: #fafcfc;
}


.resource-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    color: var(--teal);

    font-size: 25px;
}


/* =========================================================
   FOOTER
   ========================================================= */

.footer {
    padding: 24px 0;

    color: rgba(255,255,255,.9);

    background: var(--navy-dark);
}


.footer-inner {
    display: flex;
    align-items: center;
    gap: 50px;
}


.footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-right: auto;

    font-size: 10px;
    line-height: 1.4;
}


.footer-logo {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #d4ad4e;
    border-radius: 50%;

    color: #d4ad4e;

    font-size: 10px;
}


.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 3px;

    color: rgba(255,255,255,.75);

    font-size: 10px;
}


.socials {
    display: flex;
    gap: 8px;
}


.socials a {
    width: 29px;
    height: 29px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;

    font-size: 12px;
}


.socials a:hover {
    border-color: #fff;
}


/*{*/
:root{
    --navy:#0b3d70;
    --blue:#1c5d96;
    --light-blue:#eef6fd;
    --line:#dbe8f4;
    --text:#3e454b;
    --muted:#6f7d89;
    --gold:#d8a62a;
    --white:#fff;
}
*{box-sizing:border-box}
/*html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:#fff;
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.55;
}
a{color:inherit}
.main{
  min-height:290px;
  background:
    linear-gradient(90deg,rgba(5,48,88,.98) 0%,rgba(7,65,112,.94) 48%,rgba(7,61,106,.72) 100%),
    radial-gradient(circle at 78% 50%,rgba(255,255,255,.14),transparent 28%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.main:after{
  content:"";
  position:absolute;
  right:-5%;
  top:-20%;
  width:58%;
  height:145%;
  opacity:.12;
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.55)),
    repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.4) 47px 49px);
  transform:skewX(-14deg);
}/**/
.brand{display:flex;gap:16px;align-items:center;font-family:Georgia,serif;font-size:20px;font-weight:700}
.crest{
    width:54px;height:54px;border:2px solid rgba(255,255,255,.8);
    border-radius:50%;display:grid;place-items:center;font-size:25px
}
/*
.main h1{
  margin:44px 0 5px;
  font:700 clamp(52px,7vw,82px)/.95 Georgia,serif;
  border-left:4px solid var(--gold);
  padding-left:25px;
}
.main p{margin:12px 0 0 29px;font-size:20px;max-width:640px}
/**/
.section{padding:64px 0;border-bottom:1px solid #edf2f6}
.section-head{display:flex;align-items:flex-start;gap:22px;margin-bottom:30px}
.icon{
    flex:0 0 68px;width:68px;height:68px;border-radius:50%;
    background:#e6f2fd;color:var(--navy);display:grid;place-items:center;
    font-size:31px
}
/*.section h2{
  color:var(--navy);font:700 clamp(28px,3.2vw,42px)/1.12 Georgia,serif;
  margin:0 0 7px
}/**/
.lead{margin:0;color:#657789;font-size:17px}
.section-link{margin-left:auto;margin-top:12px;color:var(--navy);font-weight:700;text-decoration:none;white-space:nowrap}
.section-link span{color:var(--gold);margin-left:7px;font-size:20px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{
    min-height:150px;padding:22px;border:1px solid var(--line);border-radius:9px;
    background:#fff;box-shadow:0 3px 12px rgba(13,61,101,.055);
    text-decoration:none;display:flex;flex-direction:column;transition:.2s ease
}
.card:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(13,61,101,.11);border-color:#c5dced}
.card-icon{font-size:27px;margin-bottom:14px}
.card strong{color:var(--navy);font-size:17px;line-height:1.25}
.card small{color:#718191;font-size:14px;margin-top:7px}
.arrow{margin-top:auto;align-self:flex-end;color:var(--navy);font-size:21px}
.competition{background:#fff}
.comp-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:42px;align-items:start}
.comp-text p{font-size:17px;margin:0 0 24px}
.archive{
    display:block;background:#eef6fd;border-radius:8px;padding:18px 24px;
    color:var(--navy);font-weight:700;text-decoration:none
}
.years{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#f8fbfe}
.year{
    display:flex;align-items:center;gap:14px;padding:18px 20px;
    color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line);
    background:#fff
}
.year:last-child{border-bottom:0}
.year:hover{background:#f0f7fd}
.year-icon{font-size:21px}
.year-title{font-weight:700;line-height:1.35}
.year-arrow{margin-left:auto;font-size:21px}
.full-text{
    background: #fdfdfd;
    border: 1px solid #f2f2f2;
}
.full-text h2{margin-bottom:12px}
.full-text p{font-size:18px;max-width:980px;margin:0}
@media(max-width:900px){
    .grid{grid-template-columns:repeat(2,1fr)}
    .comp-layout{grid-template-columns:1fr}
    .section-link{display:none}
}
@media(max-width:600px){
    .container{width:min(100% - 28px,1160px)}
    .main-inner{padding-top:24px}
    .main{min-height:250px}
    .brand{font-size:15px}
    .crest{width:44px;height:44px}
    .main>*{
        padding-left:17px;
    }
    .main p{font-size:16px;margin-left:21px}
    .section{padding:42px 0}
    .section-head{gap:13px}
    .icon{flex-basis:52px;width:52px;height:52px;font-size:24px}
    .grid{grid-template-columns:1fr}
    .card{min-height:125px}
    .full-text{padding:26px 22px}
    .full-text p{font-size:16px}
}
/*}*/

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .main-nav {
        gap: 16px;
    }

    .header-inner {
        gap: 20px;
    }

    .logo-text {
        display: none;
    }

    .quick-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .quick-item {
        border-bottom: 1px solid var(--border);
    }

    .publication-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .resource-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .resource-grid a:nth-child(3) {
        border-right: 0;
    }

    .resource-grid a {
        border-bottom: 1px solid var(--border);
    }

}

@media (max-width: 1200px) {
    .main-nav ul.sub-menu.d-0 {
        /* left: 10em; */
        /* right: 10em; */
        /* padding: 1em 2em; */
        height: auto;
        /* border-radius: 0 0 0.5em 0.5em; */
        /* margin-top: 0pt; */
        max-height: calc(100vh - 100pt);
        /* max-height: none; */
        column-count: auto;
        min-height: 20em;
    }
}

@media (max-width: 900px) {
    .main-inner{
        /*flex-direction: column;/**/
        flex-wrap: wrap;
    }
    /*.main-building {
        right: -170px;
        opacity: .55;
    }/**/
}


@media (max-width: 760px) {

    .container {
        width: min(calc(100% - 30px), var(--container));
    }


    .header {
        height: 64px;
    }

    .default-logo {
        width: 44pt;
        height: 44pt;
    }

    .header-inner {
        justify-content: space-between;
    }


    .main-nav {
        display: none;
    }

/*
    .main {
        height: 250px;
    }
/**/

    .main-content {
        padding-top: 0px;/**/
    }


    .main h1 {
        font-size: 26px;
    }


    .main-subtitle {
        flex-wrap: wrap;
        gap: 7px;
    }


    .main-buttons {
        flex-direction: column;
        align-items: flex-start;
    }


    .btn {
        height: 39px;
    }


    .quick-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    .quick-item {
        min-height: 190px;
    }


    .columns {
        grid-template-columns: 1fr;
        gap: 35px;
    }


    .publication-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    .cover {
        height: 220px;
    }


    .resource-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    .resource-grid a:nth-child(3) {
        border-right: 1px solid var(--border);
    }


    .footer-inner {
        flex-wrap: wrap;
        gap: 20px;
    }


    .footer-brand {
        width: 100%;
    }

}


@media (max-width: 480px) {

    .quick-grid {
        grid-template-columns: 1fr;
    }


    .quick-item {
        min-height: 150px;
    }


    .publication-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }


    .cover {
        height: 180px;
        font-size: 13px;
    }


    .resource-grid {
        grid-template-columns: 1fr;
    }


    .resource-grid a,
    .resource-grid a:nth-child(3) {
        border-right: 0;
    }


    .news-item {
        grid-template-columns: 70px 1fr 18px;
    }


    .news-item span {
        font-size: 11px;
    }

}
/*
.header {
    background: linear-gradient(
            105deg,
            #07516a 0%,
            #086579 60%,
            #078f87 100%
    );
    position: sticky;
    top: 0;
    z-index: 100;
}
/**/
/*.main {
    background: linear-gradient(
            105deg,
            #06445f 0%,
            #076778 60%,
            #008b83 100%
    )!important;
}/**/

/*@media (max-width: 480px) {/**/

.logo-text>div {
    display: flex;
    flex-direction: column;
}

/*!!!!!!!!!!*/
.my-custom-wrapper {
    position: absolute;
    left: 0em;
    width: 100%;
    height: 10em;
    padding: 1em;
    /* box-sizing: border-box; */
    background: #086377;
    box-shadow: 0px 0 15px 0px #6f6f6f;
}

ul2.my-custom-wrapper {
    position: absolute;
    left: 0;
    width: auto;
}

/* Верхняя шапка */
/*.header {
    background: linear-gradient(
            105deg,
            #07536a 0%,
            #086579 55%,
            #008f87 100%
    );
}


/* Hero */
/*.main {
    background: linear-gradient(
            105deg,
            #064663 0%,
            #086a78 55%,
            #008f87 100%
    );
}/**/
/*
.header {
    background: linear-gradient(
            105deg,
            #07516a 0%,
            #086579 60%,
            #078f87 100%
    );
}

.main {
    background: linear-gradient(
            105deg,
            #06445f 0%,
            #076778 60%,
            #008b83 100%
    );
}/**/



.competition {
    margin: 42px auto;
    padding: 28px 30px 30px;

    max-width: 1180px;

    background: #fff;

    border: 1px solid #dce4e8;
    border-radius: 10px;
}


/* =========================================================
   HEADER
   ========================================================= */

.competition__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    margin-bottom: 25px;
}


.competition__head h2 {
    margin: 0;

    color: #092b49;

    font-size: 22pt;
    line-height: 1.25;
    font-weight: 700;

    text-transform: uppercase;
}


.competition__accent {
    display: block;

    width: 70px;
    height: 3px;

    margin-top: 14px;

    background: #008f87;
}


.competition__all {
    display: flex;
    align-items: center;
    gap: 8px;

    padding-top: 5px;

    color: #008f87;

    font-size: 13pt;
    white-space: nowrap;
}


.competition__all span {
    font-size: 20pt;
    line-height: 1;
}


.competition__all:hover {
    color: #006f69;
}


/* =========================================================
   MAIN
   ========================================================= */

.competition__main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;

    gap: 24px;
}


/* =========================================================
   MAIN PHOTO
   ========================================================= */

.competition__hero-photo {
    position: relative;

    display: block;

    height: 350px;

    overflow: hidden;

    border-radius: 8px;

    background: #e9eef0;
}


.competition__hero-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .35s ease;
}


.competition__hero-photo:hover img {
    transform: scale(1.015);
}


/* =========================================================
   WINNERS
   ========================================================= */

.competition__winners {
    padding: 18px 20px 8px;

    border: 1px solid #dce4e8;
    border-radius: 8px;
}


.competition__winners-title {
    margin-bottom: 8px;

    color: #092b49;

    font-size: 17pt;
    line-height: 1.2;
    font-weight: 700;

    text-transform: uppercase;
}


.winner {
    display: flex;
    align-items: center;

    min-height: 91px;

    padding: 12px 0;

    border-bottom: 1px solid #e3e9ec;
}


.winner:last-child {
    border-bottom: 0;
}


.winner__photo {
    flex: 0 0 84px;

    width: 84px;
    height: 84px;

    overflow: hidden;

    border-radius: 5px;

    background: #edf1f2;
}


.winner__photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.winner__content {
    min-width: 0;

    padding-left: 17px;
}


.winner__place {
    display: inline-block;

    margin-bottom: 6px;
    padding: 4px 8px;

    border-radius: 3px;

    color: #fff;
    background: #087f79;

    font-size: 9pt;
    line-height: 1;

    font-weight: 700;
}


.winner__content strong {
    display: block;

    color: #092b49;

    font-size: 16pt;
    line-height: 1.2;
}


.winner__content small {
    display: block;

    max-width: 220px;

    margin-top: 5px;

    color: #627587;

    font-size: 11pt;
    line-height: 1.35;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.competition__description {
    display: flex;
    align-items: center;

    min-height: 88px;

    padding: 16px 25px;

    border: 1px solid #dce4e8;
    border-top: 0;

    border-radius: 0 0 8px 8px;
}


.competition__description > span {
    flex: 0 0 auto;

    color: #008f87;

    font-size: 12pt;
    font-weight: 600;
}


.competition__description p {
    max-width: 610px;

    margin: 0 25px;

    color: #243e54;

    font-size: 12pt;
    line-height: 1.45;
}


.competition__description a {
    display: flex;
    align-items: center;
    gap: 7px;

    margin-left: auto;

    color: #008f87;

    font-size: 12pt;
    font-weight: 600;

    white-space: nowrap;
}


.competition__description a span {
    font-size: 18pt;
}


/* =========================================================
   GALLERY
   ========================================================= */

.competition__gallery {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr 1.15fr 190px;

    gap: 14px;

    margin-top: 14px;
}


.gallery-photo {
    height: 155px;

    display: block;

    overflow: hidden;

    border-radius: 7px;

    background: #edf1f2;
}


.gallery-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .35s ease;
}


.gallery-photo:hover img {
    transform: scale(1.04);
}


/* =========================================================
   MORE PHOTOS
   ========================================================= */

.gallery-more {
    height: 155px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    padding: 18px;

    border: 1px solid #dce4e8;
    border-radius: 7px;

    color: #092b49;

    background: #fbfcfc;
}


.gallery-more:hover {
    background: #f5f9f9;
}


.gallery-more__icon {
    width: 28px;
    height: 28px;

    margin-bottom: 11px;

    color: #008f87;
}


.gallery-more__icon svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}


.gallery-more strong {
    font-size: 12pt;
    line-height: 1.35;
    font-weight: 600;
}


.gallery-more__arrow {
    margin-top: 10px;

    color: #008f87;

    font-size: 20pt;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .competition__main {
        grid-template-columns: 1fr;
    }


    .competition__hero-photo {
        height: 390px;
    }


    .competition__gallery {
        grid-template-columns: repeat(4, 1fr);
    }


    .gallery-more {
        grid-column: 4;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .competition {
        margin: 25px 15px;
        padding: 22px 18px;
    }


    .competition__head {
        display: block;
    }


    .competition__head h2 {
        font-size: 18pt;
    }


    .competition__all {
        margin-top: 14px;
    }


    .competition__hero-photo {
        height: 260px;
    }


    .competition__description {
        display: block;

        padding: 18px;
    }


    .competition__description p {
        margin: 7px 0 12px;
    }


    .competition__description a {
        margin: 0;
    }


    .competition__gallery {
        grid-template-columns: 1fr 1fr;
    }


    .gallery-photo {
        height: 135px;
    }


    .gallery-more {
        grid-column: auto;

        height: 135px;
    }

}


@media (max-width: 430px) {

    .competition__hero-photo {
        height: 220px;
    }


    .winner__photo {
        width: 70px;
        height: 70px;

        flex-basis: 70px;
    }


    .winner__content {
        padding-left: 12px;
    }


    .winner__content strong {
        font-size: 14pt;
    }


    .winner__content small {
        font-size: 10pt;
    }

}