@font-face {
    font-family: 'Formular Neutral';
    src: url('/assets/fonts/formular-neutral-regular.ttf') format('truetype');
    font-weight: 400;
}

@font-face {
    font-family: 'Formular Neutral';
    src: url('/assets/fonts/formular-neutral-medium.ttf') format('truetype');
    font-weight: 500;
}

@font-face {
    font-family: 'Formular Neutral Mono';
    src: url('/assets/fonts/formular-neutral-mono.ttf') format('truetype');
    font-weight: 400;
}

:root {
    font-family: 'Formular Neutral', sans-serif;
    color: #fff;
    -moz-text-size-adjust: none;
    text-size-adjust: none;
    overscroll-behavior: none;
    -webkit-tap-highlight-color: transparent;
    scrollbar-width: none;
    background-color: #000;
    font-size: 0.0520833vw;

    --font-mono: 'Formular Neutral Mono', 'Formular Neutral', sans-serif;
}

*,
:after,
:before {
    font: inherit;
    box-sizing: border-box;
    border: 0;
    outline: 0;
    margin: 0;
    padding: 0;
}

::selection {
    color: #000;
    background-color: #fff;
}

body {
    font-size: 0
}

body.no-scroll {
    top: var(--scroll-y);
    position: fixed;
    left: 0;
    right: 0;
    overflow: hidden;
}

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

svg,
img,
video {
    -webkit-user-drag: none;
    width: 100%;
    height: auto;
    display: block;
}

.pixel-fixed {
    width: 1rem;
    height: 1rem;
    position: absolute;
    top: -9999rem;
    left: -9999rem;
}

.top-fixed {
    display: none;
    position: fixed;
    width: 100%;
    height: 15rem;
    inset: 0 0 auto;
    opacity: 0.01;
    background-color: var(--top-fixed, transparent);
    pointer-events: none;
    transition-duration: 350ms;
    transition-property: background-color, opacity;
    z-index: 999;
}

.top-fixed-show .top-fixed {
    opacity: 1;
}

.bottom-fixed {
    display: none;
    position: fixed;
    width: 100%;
    height: 15rem;
    inset: auto 0 0;
    opacity: 0.01;
    background-color: var(--top-fixed, transparent);
    pointer-events: none;
    transition-duration: 350ms;
    transition-property: background-color, opacity;
    z-index: 999;
}

.bottom-fixed-show .bottom-fixed {
    opacity: 1;
}

.container {
    width: 100%;
    max-width: 1920rem;
    margin: 0 auto;
    padding: 0 24rem;
}

.header {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
    height: 40rem;
    padding-top: 24rem;
    background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
    transition-duration: 350ms;
    transition-property: height;
    z-index: 100;
}

.header.fixed {
    height: 64rem;
}

.header-container {
    display: flex;
    align-items: flex-start;
    height: 16rem;
}

.header-logo {
    flex: none;
    margin-left: -56rem;
    padding-right: 24rem;
    opacity: 0;
    visibility: hidden;
    transition-duration: 350ms;
    transition-property: opacity, visibility, margin;
}

.header.fixed .header-logo {
    margin-left: 0;
    opacity: 1;
    visibility: visible;
}

.header-logo a {
    display: inline-block;
    width: 32rem;
}

.header-menu {
    display: flex;
    align-items: center;
    gap: 24rem;
}

.header-menu-item {
    flex: none;
}

.header-menu-item a {
    display: inline-block;
    font-size: 14rem;
    line-height: 16rem;
    letter-spacing: 2%;
    font-weight: 500;
    white-space: nowrap;
    text-transform: uppercase;
    transition-duration: 350ms;
    transition-property: color;
}

.header-menu-item a:hover {
    color: #49F2D6;
}

.header-right {
    display: flex;
    align-items: center;
    margin-left: auto;
    padding-left: 32rem;
    flex: none;
}

.header-link {
    flex: none;
}

.header-link a {
    font-family: var(--font-mono);
    display: inline-flex;
    align-items: center;
    color: #49F2D6;
    font-size: 14rem;
    line-height: 16rem;
    letter-spacing: 4%;
    white-space: nowrap;
    text-transform: uppercase;
    gap: 8rem;
    transition-duration: 350ms;
    transition-property: color;
}

.header-link a:hover {
    color: white;
}

.header-link svg {
    width: 16rem;
    flex: none;
}

.header-lang {
    margin-left: 24rem;
    flex: none;
}

.header-lang a {
    font-family: var(--font-mono);
    display: inline-flex;
    align-items: center;
    font-size: 14rem;
    line-height: 16rem;
    letter-spacing: 4%;
    white-space: nowrap;
    text-transform: uppercase;
    gap: 8rem;
    transition-duration: 350ms;
    transition-property: color;
}

.header-lang a:hover {
    color: #49F2D6;
}

.header-lang svg {
    width: 16rem;
    flex: none;
}

.header-contact {
    display: flex;
    align-items: center;
    height: 16rem;
    margin-left: 130rem;
    flex: none;
}

.header-contact a {
    display: inline-block;
    width: 30rem;
    flex: none;
}

.header-mobile {
    display: none;
    -webkit-backdrop-filter: blur(10rem);
    backdrop-filter: blur(10rem);
    width: 100%;
    height: 100%;
    position: fixed;
    inset: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition-duration: 350ms;
    transition-property: opacity, visibility;
    z-index: 110;
}

.header-mobile-open .header-mobile {
    opacity: 1;
    visibility: visible;
}

.header-mobile-burger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 48rem;
    height: 40rem;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00F6D5 100%);
    box-shadow: 0 0 8rem 0 #77D8C0 inset;
    border-radius: 48rem;
    margin-right: auto;
    flex: none;
    cursor: pointer;
}

.header-mobile-burger img {
    width: 16rem;
    flex: none;
}

.header-mobile-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-width: 488rem;
    background-color: #2A0959;
    overflow-y: auto;
    overscroll-behavior: none;
    scrollbar-width: none;
}

.header-mobile-panel {
    position: fixed;
    display: flex;
    align-items: center;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 488rem;
    padding: 16rem 16rem 0;
    background: linear-gradient(180deg, #2A0959 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 10;
    pointer-events: none;
}

.header-mobile-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48rem;
    height: 40rem;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00F6D5 100%);
    box-shadow: 0 0 8rem 0 #77D8C0 inset;
    border-radius: 48rem;
    margin-right: auto;
    flex: none;
    pointer-events: auto;
    cursor: pointer;
}

.header-mobile-close img {
    width: 20rem;
    flex: none;
}

.header-mobile-right {
    display: none;
    margin-left: auto;
    flex: none;
}

.header-mobile-lang {
    flex: none;
}

.header-mobile-lang a {
    font-family: var(--font-mono);
    display: inline-flex;
    align-items: center;
    font-size: 14rem;
    line-height: 16rem;
    letter-spacing: 4%;
    white-space: nowrap;
    text-transform: uppercase;
    gap: 8rem;
    transition-duration: 350ms;
    transition-property: color;
    pointer-events: auto;
}

.header-mobile-lang a:hover {
    color: #49F2D6;
}

.header-mobile-lang svg {
    width: 16rem;
    flex: none;
}

.header-mobile-menu {
    display: flex;
    flex-direction: column;
    padding: 100rem 16rem 16rem;
    gap: 24rem;
}

.header-mobile-menu-item a {
    position: relative;
    display: block;
    width: 100%;
    padding: 8rem 0 8rem 40rem;
    font-size: 18rem;
    line-height: 20rem;
    letter-spacing: 2%;
    font-weight: 500;
    text-transform: uppercase;
    transition-duration: 350ms;
    transition-property: color;
}

.header-mobile-menu-item a:hover {
    color: #49F2D6;
}

.header-mobile-menu-item a:before {
    content: '';
    display: block;
    position: absolute;
    width: 20rem;
    height: 1.5rem;
    top: 50%;
    left: 0;
    border-radius: 1.5rem;
    transform: translatey(-50%);
    background-color: #49F2D6;
}

.header-mobile-link {
    padding: 32rem 16rem;
}

.header-mobile-link a {
    font-family: var(--font-mono);
    display: inline-flex;
    align-items: center;
    color: #49F2D6;
    font-size: 16rem;
    line-height: 18rem;
    letter-spacing: 4%;
    white-space: nowrap;
    text-transform: uppercase;
    gap: 8rem;
    transition-duration: 350ms;
    transition-property: color;
}

.header-mobile-link a:hover {
    color: white;
}

.header-mobile-link svg {
    width: 16rem;
    flex: none;
}

.welcome {
    position: relative;
    display: flex;
    align-items: center;
    height: 100svh;
    min-height: 960rem;
    max-height: 1080rem;
}

.welcome-image {
    position: relative;
}

.welcome-bg {
    position: absolute;
    inset: -160rem 0 auto;
    pointer-events: none;
    z-index: -1;
}

.welcome-bg-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 1rem;
    margin: 0 auto;
}

.welcome-bg-mobile {
    display: none;
    flex: none;
    width: calc(100vw - 272rem);
    max-width: 540rem;
}

.welcome-bg-mobile-image {
    display: none;
    flex: none;
    width: calc(100vw - 272rem);
    max-width: 540rem;
    position: absolute;
    top: 100%;
    background-image: url('/assets/images/welcome-bg-table-2.png');
    background-repeat: repeat-y;
    background-size: 100% auto;
    background-position: top center;
}

.welcome-bg-images {
    display: flex;
    flex: none;
    width: 1920rem;
}

.welcome-bg-images img {
    opacity: 0;
    transition-duration: 500ms;
    transition-property: opacity;
    flex: none;
}

.welcome-bg-images img:nth-child(2) {
    transform: translatex(-100%);
}

.welcome-bg-images img:nth-child(3) {
    transform: translatex(-200%);
}

.welcome-bg-images img.active {
    opacity: 1;
}

.welcome-bg-image {
    flex: none;
    width: 960rem;
}

.welcome-text {
    position: absolute;
    inset: auto auto 30rem 24rem;
    font-family: var(--font-mono);
    font-size: 49rem;
    line-height: 48rem;
    text-transform: uppercase;
}

.welcome-button {
    /* position: fixed; */
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 14rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    inset: auto 24rem 24rem auto;
    width: 432rem;
    height: 96rem;
    border-radius: 96rem;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    overflow: hidden;
    gap: 10rem;
    transition-property: height, opacity, visibility;
    transition-duration: 350ms;
    z-index: 90;
    /* cursor: pointer; */
    opacity: 0.8;
}

.welcome-button.fixed {
    height: 48rem;
}

.welcome-button:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    opacity: 0;
    background: radial-gradient(92.53% 119.79% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    transition-duration: 350ms;
    transition-property: opacity;
    z-index: -1;
}

.welcome-button:hover:before {
    /* opacity: 1; */
}

.welcome-button svg {
    width: 16rem;
    flex: none;
}

.welcome-button.hide {
    opacity: 0;
    visibility: hidden;
}

.about {
    padding-top: 120rem;
}

.about-columns {
    display: flex;
    gap: 32rem;
}

.about-left {
    width: 100%;
    max-width: 740rem;
    flex: none;
}

.about-left-content {
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 160rem;
    gap: 56rem;
    height: 100%;
    max-height: calc(100svh - 184rem);
    min-height: min-content;
}

.about-title {
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 120%;
    margin-bottom: 48rem;
}

.about-text {
    font-size: 17.8rem;
    line-height: 130%;
    letter-spacing: -1%;
    width: 100%;
    max-width: 500rem;
}

.about-text p:not(:first-child) {
    margin-top: 20rem;
}

.about-news {
    margin-top: auto;
    width: 100%;
    max-width: 672rem;
    flex: none;
}

.about-news-title {
    margin-bottom: 16rem;
}

.about-news-title a {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 28rem;
    text-transform: uppercase;
    gap: 16rem;
    transition-duration: 350ms;
    transition-property: color;
}

.about-news-title a:hover {
    /*color: #49F2D6;*/
}

.about-news-title svg {
    width: 24rem;
    flex: none;
}

.about-news-slider {
    touch-action: pan-y;
    border-radius: 24rem;
    overflow: hidden;
}

.about-news-wrapper {
    display: flex;
    transform: translateZ(0);
    transition-property: transform;
}

.about-news-slide {
    display: block;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition-property: opacity;
    width: 100%;
    flex-shrink: 0;
}

.about-news-slide:not(.active) {
    pointer-events: none;
}

.about-news-slide-block {
    display: flex;
    background-color: #2E0566;
    box-shadow: 0 0 64rem 0 #77D8C040 inset;
    min-height: 124rem;
    height: 100%;
    transition-duration: 350ms;
    transition-property: box-shadow;
}

.about-news-slide-block:hover {
    box-shadow: 0 0 64rem 0 #77D8C099 inset;
}

.about-news-slide-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 20rem 24rem;
}

.about-news-slide-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    font-size: 17.8rem;
    line-height: 120%;
    letter-spacing: -1%;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.about-news-slide-date {
    font-family: var(--font-mono);
    font-size: 14rem;
    line-height: 16rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    margin-top: auto;
    padding-top: 8rem;
    color: #FFFFFF80;
}

.about-news-slide-photo {
    flex: none;
    padding: 8rem 8rem 8rem 0;
}

.about-news-slide-photo-block {
    position: relative;
    width: 162rem;
    height: 100%;
}

.about-news-slide-photo-block img {
    position: absolute;
    height: 100%;
    inset: 0;
    object-fit: cover;
    border-radius: 16rem;
}

.about-news-pagination {
    margin-top: 16rem;
    display: flex;
    justify-content: center;
    gap: 12rem;
    overflow: hidden;
}

.about-news-pagination-item {
    display: block;
    width: 8rem;
    height: 8rem;
    background-color: white;
    transition-duration: 350ms;
    transition-property: width, background-color, border-radius;
    flex: none;
    cursor: pointer;
}

.about-news-pagination-item.active {
    display: block;
    background-color: #49F2D6;
    width: 80rem;
    border-radius: 8rem;
}

.about-right {
    width: 100%;
    max-width: 912rem;
    margin-left: auto;
    flex: none;
}

.about-video {
    position: relative;
    border-radius: 32rem;
    overflow: hidden;
    z-index: -1;
}

.about-video img {
    position: absolute;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    inset: 0;
}

.about-video video {
    position: absolute;
    height: 100%;
    object-fit: cover;
    inset: 0;
}

.about-video-1 {
    height: 624rem;
    margin-right: -24rem;
    border-radius: 32rem 0 0 32rem;
}

.about-video-2 {
    width: 672rem;
    height: 840rem;
    margin-left: auto;
}

.about-video-2 video,
.about-video-2 img {
    object-position: -240rem;
}

.about-video-3 {
    width: 600rem;
    height: 400rem;
}

.about-video-3 video,
.about-video-3 img {
    object-position: left;
}

.about-stats-mobile {
    display: none;
    padding-top: 64rem;
}

.about-stat-panel {
    position: sticky;
    display: flex;
    justify-content: space-between;
    top: 160rem;
    margin-top: 60rem;
}

.about-stat-item {
    position: relative;
    white-space: nowrap;
}

.about-stat-item:not(.active) {
    opacity: 0;
    visibility: hidden;
}

.about-stat-item-sub {
    position: absolute;
    font-family: var(--font-mono);
    font-size: 30rem;
    line-height: 100%;
    text-transform: uppercase;
    letter-spacing: 4%;
    color: #49F2D6;
    right: calc(100% + 15rem);
}

.about-stat-item-num img {
    height: 100rem;
    width: auto;
}

.about-stat-item-title {
    font-family: var(--font-mono);
    margin-top: 16rem;
    font-size: 25.2rem;
    line-height: 28rem;
    text-transform: uppercase;
}

.about-stat-space {
    height: 96rem;
}

.program-title {
    margin-bottom: 16rem;
    padding-top: 160rem;
}

.program-title a {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 28rem;
    text-transform: uppercase;
    gap: 16rem;
    transition-duration: 350ms;
    transition-property: color;
}

.program-title a:hover {
    color: #49F2D6;
}

.program-title svg {
    width: 24rem;
    flex: none;
}

.program-dark-bg {
    /* background-color: black; */
}

.program-item {
    display: flex;
    background-color: #2E056666;
    border-radius: 24rem;
    backdrop-filter: blur(96rem);
    min-height: 124rem;
    transition-duration: 350ms;
    transition-property: background, box-shadow;
    cursor: pointer;
}

.program-item:hover {
    background-color: #2E0566;
    box-shadow: 0 0 64rem 0 #77D8C040 inset;
}

.program-item:not(:first-child) {
    margin-top: 4rem;
}

.program-item-info {
    display: flex;
    flex-direction: column;
    width: 432rem;
    margin-right: 48rem;
    padding: 20rem 0 20rem 24rem;
    flex: none;
}

.program-item-time {
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 28rem;
}

.program-item-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    font-family: var(--font-mono);
    font-size: 14rem;
    line-height: 120%;
    letter-spacing: 4%;
    text-transform: uppercase;
    color: #FFFFFF80;
    padding-top: 12rem;
    margin-top: auto;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.program-item-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 20rem 24rem 20rem 0;
}

.program-item-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    font-size: 25.2rem;
    line-height: 28rem;
    letter-spacing: -2%;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.program-item-text {
    font-family: var(--font-mono);
    font-size: 14rem;
    line-height: 120%;
    letter-spacing: 4%;
    text-transform: uppercase;
    color: #49F2D6;
    padding-top: 12rem;
    margin-top: auto;
}

.program-item-video {
    width: 200rem;
    padding: 8rem 8rem 8rem 0;
    flex: none;
}

.program-item-video-block {
    position: relative;
    border-radius: 16rem;
    overflow: hidden;
    height: 100%;
    z-index: -1;
}

.program-item-video-block img {
    position: absolute;
    height: 100%;
    object-fit: cover;
    transform: scale(1.2);
    z-index: -1;
}

.program-item-video-block video {
    position: absolute;
    height: 100%;
    object-fit: cover;
    transform: scale(1.2);
}

.program-item-video-block video:not(.play) {
    display: none;
}

.program-item-play {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32rem;
    height: 32rem;
    border-radius: 50%;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 8rem 0 #77D8C0 inset;
    inset: auto auto 8rem 8rem;
}

.program-item-play svg {
    width: 16rem;
    flex: none;
}

.slider-space {
    height: 112rem;
}

.slider-dark-bg {
    background-color: black;
}

.slider {
    position: relative;
    overflow: hidden;
    z-index: 0;
}

.slider-bg-mobile {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    pointer-events: none;
    z-index: -1;
}

.slider-bg-mobile img {
    position: absolute;
    height: 100%;
    inset: 0;
    object-fit: cover;
}

.slider-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    pointer-events: none;
    z-index: -1;
}

.slider-bg img {
    position: absolute;
    height: 100%;
    inset: 0;
    opacity: 0;
    object-fit: cover;
    transition-duration: 500ms;
    transition-property: opacity;
}

.slider-bg img.active {
    opacity: 1;
}

.slider-container {
    display: flex;
    flex-direction: column;
    height: 100svh;
    min-height: 960rem;
    max-height: 1080rem;
    padding-top: 24rem;
    padding-bottom: 24rem;
}

.slider-items {
    display: flex;
    align-items: flex-end;
    gap: 4rem;
    margin-top: auto;
}

.slider-item {
    display: flex;
    flex-direction: column;
    background-color: #2A0959;
    box-shadow: 0 0 64rem 0 #77D8C040 inset;
    border-radius: 24rem;
    padding: 20rem 24rem 32rem;
    min-height: 240rem;
    width: 100%;
    max-width: 144rem;
    overflow: hidden;
    transition-duration: 350ms;
    transition-property: max-width, min-height, padding;
}

.slider-item.active {
    max-width: 400rem;
    min-height: 560rem;
    padding: 32rem 36rem 36rem 36rem;
}

.slider-item-panel {
    display: flex;
    align-items: center;
    transition-duration: 350ms;
    transition-property: margin;
}

.slider-item.active .slider-item-panel {
    margin-bottom: 24rem;
}

.slider-item-title {
    display: flex;
    align-items: center;
    width: 100%;
}

.slider-item-title:before,
.slider-item-title:after {
    content: '';
    display: block;
    width: 100%;
    transition-duration: 150ms;
    transition-property: width;
}

.slider-item.active .slider-item-title:before {
    width: 0;
}

.slider-item-title span {
    font-family: var(--font-mono);
    color: #49F2D6;
    font-size: 14rem;
    line-height: 16rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    white-space: nowrap;
    flex: none;
    transition-duration: 350ms;
    transition-property: font-size, line-height, letter-spacing;
}

.slider-item.active .slider-item-title span {
    font-size: 25.2rem;
    line-height: 28rem;
    letter-spacing: 0;
}

.slider-item-arrow {
    flex: none;
    width: 0;
    color: #49F2D6;
    transition-duration: 350ms;
    transition-property: width;
}

.slider-item.active .slider-item-arrow {
    width: 24rem;
}

.slider-item-text {
    width: 328rem;
    line-height: 130%;
    letter-spacing: -1%;
    transform: scale(0);
    margin-left: -164rem;
    opacity: .001;
    font-size: 0;
    filter: blur(50rem);
    transition-duration: 350ms;
    transition-property: transform, opacity, margin, filter;
}

.slider-item.active .slider-item-text {
    transform: scale(1);
    margin-left: 0rem;
    opacity: 1;
    filter: blur(0);
    font-size: 17.8rem;
}

.slider-item-icon {
    margin-top: auto;
    transition-duration: 350ms;
    transition-property: padding;
}

.slider-item.active .slider-item-icon {
    padding-top: 48rem;
}

.slider-item-icon img {
    width: 80rem;
    margin-left: auto;
    margin-right: 8rem;
    transition-duration: 350ms;
    transition-property: width, margin;
}

.slider-item.active .slider-item-icon img {
    width: 160rem;
    margin-right: 0;
}

.direction {
    position: relative;
    background-color: #2A0959;
    overflow: hidden;
    z-index: 0;
}

.direction-bg {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 1rem;
    margin: 0 auto;
    inset: 0 0 auto;
    pointer-events: none;
    z-index: -1;
}

.direction-bg-image {
    flex: none;
    width: 960rem;
}

.direction-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100svh;
    min-height: 960rem;
    max-height: 1080rem;
    padding-top: 24rem;
    padding-bottom: 24rem;
}

.direction-left {
    width: 100%;
    max-width: 432rem;
    flex: none;
}

.direction-title {
    font-family: var(--font-mono);
    font-size: 14rem;
    line-height: 120%;
    letter-spacing: 4%;
    text-transform: uppercase;
    margin-bottom: 16rem;
}

.direction-list-mobile {
    display: none;
}

.direction-item-mobile {
    border-top: 1rem solid #FFFFFF26;
}

.direction-item-mobile-panel {
    display: flex;
    padding: 16rem 0;
    gap: 16rem;
    cursor: pointer;
}

.direction-item-mobile-title {
    font-family: var(--font-mono);
    font-size: 17.8rem;
    line-height: 20rem;
    letter-spacing: 3%;
    text-transform: uppercase;
    width: 100%;
    transition-duration: 350ms;
    transition-property: color;
}

.direction-item-mobile.active .direction-item-mobile-title {
    color: #49F2D6;
}

@keyframes direction-arrow-minus {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(180deg);
    }
}

@keyframes direction-arrow-plus {
    0% {
        transform: rotate(180deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

.direction-item-mobile-arrow {
    position: relative;
    width: 20rem;
    height: 20rem;
    flex: none;
    animation: direction-arrow-plus 350ms forwards;
}

.direction-item-mobile.active .direction-item-mobile-arrow {
    animation: direction-arrow-minus 350ms forwards;
}

.direction-item-mobile-arrow:before,
.direction-item-mobile-arrow:after {
    content: '';
    position: absolute;
    background-color: #49F2D6;
    transition-duration: 350ms;
}

.direction-item-mobile-arrow:before {
    width: 100%;
    height: 1.5rem;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border-radius: 1.5rem;
}

.direction-item-mobile-arrow:after {
    width: 1.5rem;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 1.5rem;
}

.direction-item-mobile.active .direction-item-mobile-arrow:after {
    transform: translateX(-50%) scaleY(0);
    opacity: 0;
}

.direction-item-mobile-body {
    overflow: hidden;
    max-height: 0;
    transition-property: max-height;
    transition-duration: 350ms;
}

.direction-item-mobile-content {
    opacity: .001;
    filter: blur(10rem);
    padding: 16rem 0 24rem;
    transition-duration: 500ms;
    transition-property: opacity, filter;
}

.direction-item-mobile.active .direction-item-mobile-content {
    opacity: 1;
    filter: blur(0);
}

.direction-item-mobile-icon {
    margin-bottom: 42rem;
}

.direction-item-mobile-icon img {
    max-width: 160rem;
}

.direction-item-mobile-text {
    font-size: 15.8rem;
    line-height: 20rem;
    letter-spacing: -1%;
    max-width: 468rem;
}

.direction-list {
    display: flex;
    flex-direction: column;
    gap: 16rem
}

.direction-item {
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 28rem;
    text-transform: uppercase;
    transition-duration: 500ms;
    transition-property: color;
}

.direction-item.active {
    color: #49F2D6;
}

.direction-icon {
    width: 100%;
    max-width: 360rem;
    margin: 0 auto;
}

.direction-icon-block {
    position: relative;
    height: 0;
    padding-top: 100%;
}

.direction-icon-block img {
    position: absolute;
    height: 100%;
    inset: 0;
    opacity: .001;
    filter: blur(10rem);
    object-fit: cover;
    transition-duration: 500ms;
    transition-property: opacity, filter;
}

.direction-icon-block img.active {
    opacity: 1;
    filter: blur(0);
}

.direction-texts {
    display: flex;
    margin: 48rem auto 0;
    max-width: 692rem;
    width: 100%;
}

.direction-text {
    font-size: 25.2rem;
    line-height: 28rem;
    letter-spacing: -2%;
    text-align: center;
    width: 100%;
    flex: none;
    opacity: .001;
    filter: blur(10rem);
    transition-duration: 350ms;
    transition-property: opacity, filter;
}

.direction-text.active {
    opacity: 1;
    filter: blur(0);
}

.direction-text:nth-child(2) {
    transform: translatex(-100%);
}

.direction-text:nth-child(3) {
    transform: translatex(-200%);
}

.direction-text:nth-child(4) {
    transform: translatex(-300%);
}

.direction-text:nth-child(5) {
    transform: translatex(-400%);
}

.direction-text:nth-child(6) {
    transform: translatex(-500%);
}

.direction-right {
    width: 100%;
    max-width: 432rem;
    flex: none;
}

.direction-images {
    display: flex;
}

.direction-image {
    position: relative;
    width: 100%;
    height: 0;
    opacity: .001;
    filter: blur(10rem);
    padding-top: 67%;
    overflow: hidden;
    border-radius: 150rem;
    flex: none;
    transition-duration: 350ms;
    transition-property: opacity, filter;
}

.direction-image.active {
    opacity: 1;
    filter: blur(0);
}

.direction-image:nth-child(2) {
    transform: translatex(-100%);
}

.direction-image:nth-child(3) {
    transform: translatex(-200%);
}

.direction-image:nth-child(4) {
    transform: translatex(-300%);
}

.direction-image:nth-child(5) {
    transform: translatex(-400%);
}

.direction-image:nth-child(6) {
    transform: translatex(-500%);
}

.direction-image img {
    position: absolute;
    height: 100%;
    inset: 0;
    object-fit: cover;
}

.people {
    display: flex;
    min-height: 1080rem;
}

.people-item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 720rem;
    transition-duration: 500ms;
    transition-property: width, flex;
    flex: 0 0 720rem;
    overflow: hidden;
    z-index: 0;
}

.people-item.active {
    width: 100%;
    flex: 1;
}

.people-item:before,
.people-item:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    min-height: 32rem;
}

.people-bg {
    position: absolute;
    inset: 0 auto auto 0;
    width: 1200rem;
    transition-duration: 500ms;
    transition-property: opacity;
    z-index: -2;
}

.people-item:not(.active) .people-bg {
    opacity: 0;
}

.people-item:last-child .people-bg {
    inset: 0 0 auto auto;
}

.people-gradient {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    transition-duration: 500ms;
    transition-property: opacity;
    z-index: -1;
}

.people-item:first-child .people-gradient {
    background: linear-gradient(234.06deg, #280550 18.17%, rgba(40, 5, 80, 0) 89.69%);
}

.people-item:last-child .people-gradient {
    background: linear-gradient(234.06deg, rgba(40, 5, 80, 0) 18.17%, #280550 89.69%);
}

.people-item.active .people-gradient {
    opacity: 0;
}

.people-content {
    flex: none;
}

.people-ava {
    position: relative;
    width: 160rem;
    height: 200rem;
    border-radius: 32rem;
    margin: 0 auto 24rem;
    overflow: hidden;
    background: linear-gradient(0deg, var(--colors-brand-purple, #7F05EF), var(--colors-brand-purple, #7F05EF));
    transition-duration: 500ms;
    transition-property: width, height;
}

.people-item.active .people-ava {
    width: 240rem;
    height: 300rem;
}

.people-ava img {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
}

.people-name {
    text-align: center;
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 28rem;
    color: #49F2D6;
}

.people-name span {
    text-transform: uppercase;
}

.people-position {
    margin: 16rem auto 0;
    font-family: var(--font-mono);
    font-size: 18rem;
    line-height: 120%;
    letter-spacing: 4%;
    text-transform: uppercase;
    width: 100%;
    max-width: 336rem;
    transform: translatex(50%);
}

.people-item-body {
    width: 920rem;
    max-height: 0;
    margin: 0 auto;
    opacity: .001;
    filter: blur(50rem);
    transition-duration: 350ms;
    transition-property: opacity, filter, max-height;
}

.people-item.active .people-item-body {
    opacity: 1;
    filter: blur(0);
    max-height: none;
}

.people-item-content {
    display: flex;
    padding-top: 48rem;
}

.people-item-quote {
    width: 50%;
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 28rem;
    padding-right: 24rem;
    text-transform: uppercase;
}

.people-item-text {
    width: 50%;
    font-size: 17.8rem;
    line-height: 130%;
    letter-spacing: -1%;
}

.people-item-text p:not(:first-child) {
    margin-top: 20rem;
}

.partners {
    padding-top: 160rem;
    overflow: hidden;
}

@keyframes partners-slider-marquee {
    0% {
        margin-left: 0;
    }

    100% {
        margin-left: -100%;
    }
}

.partners-slider {
    display: flex;
    width: 200%;
    animation: partners-slider-marquee 20s linear infinite;
}

.partners-slider:hover {
    animation-play-state: paused;
}

.partners-blocks {
    display: flex;
    width: 50%;
    flex: none;
}

.partners-block {
    border-left: 1rem solid #FFFFFF26;
}

.partners-block:first-child {
    flex: 2;
}

.partners-block:last-child {
    flex: 1;
}

.partners-title {
    font-family: var(--font-mono);
    font-size: 14rem;
    line-height: 120%;
    letter-spacing: 4%;
    padding-left: 12rem;
    min-height: 32rem;
    text-transform: uppercase;
    color: #49F2D6;
}

.partners-list {
    display: flex;
}

.partners-item {
    display: block;
    flex: 1;
}

.partners-item:not(:first-child) {
    border-left: 1rem solid #FFFFFF26;
}

.footer {
    position: relative;
    /* padding-top: 36rem; */
    padding-top: 160rem;
    z-index: 0;
}

.footer-bg {
    position: absolute;
    inset: auto auto 0 0;
    pointer-events: none;
    z-index: -1;
    width: 100%;
    max-width: 960rem;
}

.footer-content {
    width: 100%;
    max-width: 912rem;
    padding-bottom: 24rem;
    margin-left: auto;
}

.footer-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 48rem;
}

.footer-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 14rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    width: calc(50% - 24rem);
    height: 96rem;
    border-radius: 96rem;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    overflow: hidden;
    gap: 10rem;
    flex: none;
    z-index: 0;
    /* cursor: pointer; */
    opacity: 0.8;
}

.footer-button:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    opacity: 0;
    background: radial-gradient(92.53% 119.79% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    transition-duration: 350ms;
    transition-property: opacity;
    z-index: -1;
}

.footer-button:hover:before {
    /* opacity: 1; */
}

.footer-button svg {
    width: 16rem;
    flex: none;
}

.footer-mobile-button {
    position: relative;
    display: none;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 14rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    width: 100%;
    height: 48rem;
    border-radius: 48rem;
    margin-top: 24rem;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    overflow: hidden;
    gap: 10rem;
    flex: none;
    z-index: 0;
    /* cursor: pointer; */
    opacity: 0.8;
}

.footer-mobile-button:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    opacity: 0;
    background: radial-gradient(92.53% 119.79% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    transition-duration: 350ms;
    transition-property: opacity;
    z-index: -1;
}

.footer-mobile-button:hover:before {
    /* opacity: 1; */
}

.footer-mobile-button svg {
    width: 16rem;
    flex: none;
}

.footer-contacts {
    display: flex;
    gap: 48rem;
    padding-top: 152rem;
}

.footer-contacts-column {
    display: flex;
    flex-direction: column;
    width: calc(50% - 24rem);
    gap: 24rem;
    flex: none;
}

.footer-contact-title {
    font-family: var(--font-mono);
    color: #49F2D6;
    font-size: 14rem;
    line-height: 16rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    margin-bottom: 8rem;
}

.footer-contact-value {
    font-family: var(--font-mono);
    font-size: 24.2rem;
    line-height: 28rem;
    text-transform: uppercase;
}

.footer-contact-value a {
    white-space: nowrap;
}

.footer-work {
    display: flex;
    gap: 16rem;
}

.footer-work-title {
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 28rem;
    text-transform: uppercase;
    flex: none;
}

.footer-work-value {
    width: 100%;
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 28rem;
    text-transform: uppercase;
}

.footer-work-title {
    flex: none;
}

.footer-logos {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 64rem;
}

.footer-logo {
    flex: none;
}

.footer-logo a {
    display: inline-block;
    width: 100%;
}

.footer-logo:nth-child(1) img {
    max-width: 73rem;
}

.footer-logo:nth-child(2) img {
    max-width: 144rem;
}

.footer-logo:nth-child(3) img {
    max-width: 165rem;
}

.footer-logo:nth-child(4) img {
    max-width: 111rem;
}

.footer-logo:nth-child(5) img {
    max-width: 220rem;
}

.footer-faq {
    position: absolute;
    bottom: 24rem;
    left: 24rem;
    background-color: #2A0959;
    box-shadow: 0 0 64rem 0 #77D8C040 inset;
    width: 100%;
    max-width: 432rem;
    min-height: 112rem;
    border-radius: 32rem;
    padding: 20rem 24rem;
    overflow: hidden;
    transition-duration: 350ms;
    transition-property: padding, max-width, box-shadow;
}

.footer-faq:not(.open) {
    cursor: pointer;
}

.footer-faq:not(.open):hover {
    box-shadow: 0 0 64rem 0 #77D8C099 inset;
}

.footer-faq.open {
    max-width: 912rem;
    padding: 32rem 36rem 36rem;
}

.footer-faq-title {
    transition-duration: 150ms;
    transition-property: margin;
}

.footer-faq.open .footer-faq-title {
    margin-bottom: 48rem;
}

.footer-faq-title span {
    font-family: var(--font-mono);
    color: #49F2D6;
    font-size: 14rem;
    line-height: 120%;
    letter-spacing: 4%;
    text-transform: uppercase;
    cursor: pointer;
    transition-duration: 150ms;
    transition-property: font-size, line-height, letter-spacing;
}

.footer-faq.open .footer-faq-title span {
    font-size: 25.2rem;
    line-height: 28rem;
    letter-spacing: 0;
}

.footer-faq-icon {
    position: absolute;
    width: 72rem;
    inset: 20rem 24rem auto auto;
    transition-duration: 350ms;
    transition-property: opacity, visibility;
}

.footer-faq.open .footer-faq-icon {
    transition-duration: 150ms;
    opacity: 0;
    visibility: hidden;
}

.footer-faq-body {
    width: 840rem;
    min-height: 0;
    max-height: 0;
    opacity: .001;
    filter: blur(10rem);
    transition-duration: 350ms;
    transition-property: opacity, min-height, max-height, height, filter;
}

.footer-faq:not(.open) .footer-faq-body {
    pointer-events: none;
}

.footer-faq.open .footer-faq-body {
    transform: scale(1);
    margin-left: 0rem;
    opacity: 1;
    filter: blur(0);
}

.footer-faq-list {
    display: flex;
    flex-direction: column;
    gap: 20rem;
}

.footer-faq-item {
    border-top: 1rem solid #FFFFFF26;
}

.footer-faq-item-panel {
    display: flex;
    gap: 24rem;
    padding-top: 16rem;
    gap: 16rem;
    cursor: pointer;
}

.footer-faq-item-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    font-size: 25.2rem;
    line-height: 28rem;
    letter-spacing: -2%;
    width: 100%;
    margin-bottom: 28rem;
    overflow: hidden;
}

@keyframes faq-arrow-minus {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(180deg);
    }
}

@keyframes faq-arrow-plus {
    0% {
        transform: rotate(180deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

.footer-faq-item-arrow {
    position: relative;
    width: 20rem;
    height: 20rem;
    flex: none;
    animation: faq-arrow-plus 350ms forwards;
}

.footer-faq-item.active .footer-faq-item-arrow {
    animation: faq-arrow-minus 350ms forwards;
}

.footer-faq-item-arrow:before,
.footer-faq-item-arrow:after {
    content: '';
    position: absolute;
    background-color: #49F2D6;
    transition-duration: 350ms;
}

.footer-faq-item-arrow:before {
    width: 100%;
    height: 1.5rem;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border-radius: 1.5rem;
}

.footer-faq-item-arrow:after {
    width: 1.5rem;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 1.5rem;
}

.footer-faq-item.active .footer-faq-item-arrow:after {
    transform: translateX(-50%) scaleY(0);
    opacity: 0;
}

.footer-faq-item-body {
    overflow: hidden;
    max-height: 0;
    transition-property: max-height;
    transition-duration: 350ms;
}

.footer-faq-item-text {
    font-size: 15.8rem;
    line-height: 20rem;
    letter-spacing: -1%;
    width: 100%;
    max-width: 696rem;
    opacity: .001;
    filter: blur(10rem);
    transition-duration: 500ms;
    transition-property: opacity, filter;
}

.footer-faq-item.active .footer-faq-item-text {
    opacity: 1;
    filter: blur(0);
}

.footer-faq-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 14rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    width: 100%;
    height: 48rem;
    border-radius: 48rem;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    overflow: hidden;
    margin-top: 42rem;
    gap: 10rem;
    flex: none;
    z-index: 0;
    cursor: pointer;
}

.footer-faq-button:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    opacity: 0;
    background: radial-gradient(92.53% 119.79% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    transition-duration: 350ms;
    transition-property: opacity;
    z-index: -1;
}

.footer-faq-button:hover:before {
    opacity: 1;
}

.footer-faq-button svg {
    width: 16rem;
    flex: none;
}

.cookie-modal {
    position: fixed;
    display: flex;
    justify-content: end;
    inset: auto 0 0 0;
    padding: 24rem 24rem 22rem;
    pointer-events: none;
    transition-duration: 350ms;
    transition-property: opacity, visibility;
    z-index: 100;
}

.cookie-modal.hide {
    opacity: 0;
    visibility: hidden;
}

.cookie-modal-content {
    background-color: #2E0566;
    padding: 20rem 24rem;
    border-radius: 24rem;
    width: 100%;
    max-width: 672rem;
    pointer-events: auto;
    flex: none;
}

.cookie-modal-text {
    font-size: 17.8rem;
    line-height: 130%;
    letter-spacing: -1%;
}

.cookie-modal-button {
    margin-top: 12rem;
}

.cookie-modal-button span {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 14rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    height: 48rem;
    padding: 0 34rem;
    border-radius: 48rem;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    overflow: hidden;
    transition-property: opacity;
    transition-duration: 350ms;
    cursor: pointer;
    z-index: 0;
}

.cookie-modal-button span:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    opacity: 0;
    background: radial-gradient(92.53% 119.79% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    transition-duration: 350ms;
    transition-property: opacity;
    z-index: -1;
}

.cookie-modal-button span:hover:before {
    opacity: 1;
}

@media (max-width: 1919px) {
    .header-menu-item a {
        font-size: 18rem;
    }

    .header-link a {
        font-size: 18rem;
    }

    .header-lang a {
        font-size: 18rem;
    }

    .welcome-button {
        font-size: 16rem;
    }

    .about-left {
        max-width: 830rem;
    }

    .about-title {
        font-size: 28.2rem;
    }

    .about-text {
        font-size: 19.8rem;
        max-width: 550rem;
    }

    .about-news-slide-title {
        font-size: 20rem;
    }

    .program-item-info {
        width: 460rem;
    }

    .program-item-text {
        font-size: 15rem;
    }

    .program-item-desc {
        font-size: 15rem;
    }

    .slider-item.active {
        max-width: 460rem;
    }

    .slider-item-text {
        width: 388rem;
        margin-left: -194rem;
    }

    .slider-item.active .slider-item-text {
        font-size: 19.8rem;
    }

    .people-position {
        font-size: 19rem;
    }

    .people-item-text {
        font-size: 19.8rem;
    }

    .people-item-text p:not(:first-child) {
        margin-top: 16rem;
    }

    .people-item-body {
        width: 1020rem;
    }

    .direction-title {
        font-size: 16rem;
    }

    .partners-title {
        font-size: 16rem;
    }

    .footer-button {
        font-size: 16rem;
    }

    .footer-faq-title span {
        font-size: 18rem;
    }
}

@media (max-width: 1279px) {
    :root {
        font-size: 1px;
    }

    .container {
        padding: 0 16rem;
    }

    .header {
        padding-top: 16rem;
        height: auto;
    }

    .header.fixed {
        height: auto;
    }

    .header-container {
        height: auto;
        align-items: center;
    }

    .header-mobile {
        display: block;
    }

    .header-mobile-burger {
        display: flex;
    }

    .header-logo {
        padding-right: 0;
        margin-left: 0;
    }

    .header-menu {
        display: none;
    }

    .header-right {
        padding-left: 0;
        min-width: 48rem;
        justify-content: flex-end;
    }

    .header-link {
        display: none;
    }

    .header-lang {
        display: none;
    }

    .header-contact {
        height: auto;
        margin-left: 0;
    }

    .main-page {
        overflow: hidden;
    }

    .welcome {
        align-items: flex-start;
        height: auto;
        min-height: auto;
        max-height: none;
        padding: 100rem 0 160rem;
    }

    .welcome-image {
        max-width: 803rem;
        margin: 0 auto;
    }

    .welcome-bg {
        display: flex;
        align-items: center;
        justify-content: center;
        inset: 27% 0 0 0;
    }

    .welcome-bg-content {
        position: relative;
    }

    .welcome-bg-mobile {
        display: block;
    }

    .welcome-bg-mobile-image {
        display: block;
    }

    .welcome-bg-images {
        display: none;
    }

    .welcome-bg-image {
        display: none;
        position: absolute;
        top: 100%;
    }

    .welcome-text {
        font-size: 25.2rem;
        line-height: 28rem;
        inset: auto auto 24rem 16rem;
    }

    .welcome-button {
        font-size: 14rem;
    }

    .about {
        padding-top: 96rem;
    }

    .about-columns {
        flex-direction: column;
        gap: 0;
    }

    .about-left {
        max-width: none;
    }

    .about-left-content {
        position: relative;
        top: auto;
        gap: 0;
        height: auto;
        max-height: none;
        min-height: auto;
    }

    .about-title {
        font-size: 25.2rem;
        margin-bottom: 32rem;
        max-width: 700rem;
    }

    .about-text {
        font-size: 15.8rem;
        max-width: 700rem;
        margin-left: auto;
    }

    .about-right {
        display: none;
    }

    .about-news {
        margin-top: 96rem;
        max-width: 736rem;
    }

    .about-news-slider {
        border-radius: 16rem;
    }

    .about-news-slide-title {
        font-size: 17.8rem;
    }

    .about-news-slide-content {
        padding: 20rem 16rem;
    }

    .about-stats-mobile {
        display: block;
    }

    .about-stats {
        margin-left: auto;
        max-width: 700rem;
    }

    .about-video {
        border-radius: 0;
        overflow: visible;
    }

    .about-video-1 {
        margin-right: 0;
        border-radius: 0;
        width: 100%;
        height: auto;
    }

    .about-video-2 {
        width: 100%;
        height: auto;
        margin-left: 0;
    }

    .about-video-3 {
        width: 100%;
        height: auto;
    }

    .about-video-block {
        position: relative;
        overflow: hidden;
        border-radius: 24rem;
        height: 0;
    }

    .about-video-1 .about-video-block {
        padding-top: 67%;
        border-radius: 24rem 0 0 24rem;
        margin-right: -16rem;
    }

    .about-video-2 video,
    .about-video-2 img {
        object-position: -27vw;
    }

    .about-video-2 .about-video-block {
        padding-top: 125%;
    }

    .about-video-3 .about-video-block {
        padding-top: 67%;
    }

    .about-stat-item-num img {
        height: 60rem;
    }

    .about-stat-panel {
        position: relative;
        top: 0;
        margin-top: 32rem;
    }

    .about-stat-item:not(.active) {
        display: none;
    }

    .about-stat-space {
        height: 64rem;
    }

    .program-dark-bg {
        background-color: transparent;
    }

    .program-title {
        padding-top: 96rem;
    }

    .slider-space {
        height: 96rem;
    }

    .slider-bg-mobile {
        display: block;
    }

    .slider-bg {
        display: none;
    }

    .slider-container {
        min-height: 844rem;
    }

    .slider-items {
        scroll-snap-type: x mandatory;
        align-items: normal;
        padding: 24rem 16rem;
        gap: 8rem;
        overflow-x: auto;
        scrollbar-width: none;
        scroll-padding: 0 16rem;
        margin: auto -16rem 0;
    }

    .slider-item {
        max-width: 320rem;
        padding: 20rem 16rem 16rem;
        border-radius: 16rem;
        scroll-snap-align: center;
        flex: none;
    }

    .slider-item.active {
        max-width: 320rem;
        padding: 20rem 16rem 16rem;
        min-height: auto;
    }

    .slider-item-title {
        text-align: left;
    }

    .slider-item-title span {
        font-size: 17.8rem;
        line-height: 20rem;
        letter-spacing: 3%;
    }

    .slider-item.active .slider-item-title span {
        font-size: 17.8rem;
        line-height: 20rem;
        letter-spacing: 3%;
    }

    .slider-item-title:before,
    .slider-item-title:after {
        display: none;
    }

    .slider-item-arrow {
        width: 20rem;
    }

    .slider-item.active .slider-item-arrow {
        width: 20rem;
    }

    .slider-item-panel {
        margin-bottom: 16rem;
    }

    .slider-item.active .slider-item-panel {
        margin-bottom: 16rem;
    }

    .slider-item-icon {
        padding-top: 28rem;
    }

    .slider-item.active .slider-item-icon {
        padding-top: 28rem;
    }

    .slider-item.active .slider-item-icon img {
        width: 80rem;
    }

    .slider-item-icon img {
        margin-right: 0;
    }

    .slider-item-text {
        width: 100%;
        transform: scale(1);
        opacity: 1;
        filter: blur(0);
        font-size: 15.8rem;
        margin-left: 0;
    }

    .slider-item.active .slider-item-text {
        font-size: 15.8rem;
    }

    .direction-bg {
        display: none;
    }

    .direction-container {
        height: auto;
        min-height: auto;
        max-height: none;
        align-items: flex-start;
    }

    .direction-left {
        max-width: none;
        padding: 42rem 0 16rem;
    }

    .direction-list {
        display: none;
    }

    .direction-list-mobile {
        display: block;
    }

    .direction-center {
        display: none;
    }

    .direction-right {
        display: none;
    }

    .direction-title {
        font-size: 14rem;
    }

    .people {
        flex-direction: column;
        min-height: auto;
        padding-top: 96rem;
        gap: 64rem;
    }

    .people-item {
        flex: none;
        width: 100%;
        padding: 100rem 16rem 0;
    }

    .people-item.active {
        flex: none;
    }

    .people-item:before,
    .people-item:after {
        display: none;
    }

    .people-bg {
        display: none;
    }

    .people-gradient {
        display: none;
    }

    .people-ava {
        position: absolute;
        width: 112rem;
        height: 140rem;
        border-radius: 16rem;
        margin: 0;
        inset: 0 auto auto 16rem;
    }

    .people-item.active .people-ava {
        width: 112rem;
        height: 140rem;
    }

    .people-name {
        padding-left: 128rem;
        font-size: 17.8rem;
        line-height: 20rem;
        text-align: left;
    }

    .people-position {
        font-size: 14rem;
        width: 100%;
        padding-left: 128rem;
        max-width: 480rem;
        margin: 12rem 0 0 0;
        transform: translatex(0);
    }

    .people-item-body {
        opacity: 1;
        filter: blur(0);
        width: auto;
        max-height: none !important;
    }

    .people-item.active .people-item-body {
        opacity: 1;
        filter: blur(0);
    }

    .people-item-content {
        flex-direction: column;
    }

    .people-item-quote {
        width: 100%;
        padding-right: 0;
        margin-bottom: 32rem;
    }

    .people-item-text {
        width: 100%;
        font-size: 15.8rem;
        padding-left: 64rem;
    }

    .people-item-text p:not(:first-child) {
        margin-top: 20rem;
    }

    .partners {
        padding-top: 96rem;
    }

    .partners-title {
        font-size: 14rem;
    }

    @keyframes partners-slider-marquee {
        0% {
            margin-left: 0;
        }

        100% {
            margin-left: -938rem;
        }
    }

    .partners-slider {
        width: 1876rem;
    }

    .partners-blocks {
        width: auto;
    }

    .partners-block:first-child {
        flex: none;
    }

    .partners-block:last-child {
        flex: none;
    }

    .partners-item {
        display: flex;
        align-items: center;
        width: 156rem;
        height: 150rem;
    }

    .footer {
        padding-top: 96rem;
    }

    .footer-bg {
        display: none;
    }

    .footer-content {
        max-width: none;
    }

    .footer-contacts {
        padding-top: 96rem;
    }

    .footer-contact-value {
        font-size: 17.8rem;
        line-height: 20rem;
        max-width: 300rem;
    }

    .footer-work {
        gap: 12rem;
    }

    .footer-work-title {
        font-size: 17.8rem;
        line-height: 20rem;
    }

    .footer-work-value {
        font-size: 17.8rem;
        line-height: 20rem;
    }

    .cookie-modal {
        justify-content: center;
    }

    .cookie-modal-content {
        max-width: 580rem;
    }

    .cookie-modal-text {
        font-size: 15.8rem;
    }
}

@media (max-width: 1023px) {
    .welcome-text {
        max-width: 358rem;
    }

    .welcome-text br {
        display: none;
    }

    .welcome-button {
        width: 358rem;
    }

    .about-title {
        max-width: 468rem;
    }

    .about-text {
        max-width: 468rem;
    }

    .about-stats {
        max-width: 468rem;
    }

    .footer-buttons {
        gap: 32rem;
    }

    .footer-button {
        width: calc(50% - 16rem);
    }

    .footer-contacts {
        gap: 32rem;
    }

    .footer-contacts-column {
        width: calc(50% - 16rem);
    }

    .footer-contact-value {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .welcome {
        padding: 80rem 0 0;
    }

    .welcome-bg {
        inset: 21% 0 0 0;
    }

    .welcome-bg-mobile {
        max-width: 398rem;
        width: calc(100vw - 54rem);
    }

    .welcome-bg-mobile-image {
        max-width: 398rem;
        width: calc(100vw - 54rem);
        background-image: url('/assets/images/welcome-bg-mobile-2.png');
    }

    .welcome-image {
        max-width: 420rem;
    }

    .welcome-text {
        position: relative;
        inset: auto;
        line-height: 28rem;
        max-width: none;
        margin-top: 24rem;
    }

    .welcome-button {
        position: relative;
        inset: auto;
        height: 48rem;
        width: auto;
        margin-top: 20rem;
    }

    .about-title {
        max-width: none;
    }

    .about-text {
        padding-left: 64rem;
        max-width: none;
        margin-left: 0;
    }

    .about-stats {
        padding-left: 64rem;
        margin-left: 0;
    }

    .about-news-slide-photo {
        display: none;
    }

    .about-news {
        max-width: none;
    }

    .footer {
        padding-top: 0rem;
        padding-bottom: 16rem;
    }

    .footer-content {
        padding-bottom: 0;
    }

    .footer-buttons {
        display: none;
    }

    .footer-contacts {
        flex-direction: column;
        gap: 24rem;
    }

    .footer-contacts-column {
        width: 100%;
    }

    .footer-logos {
        align-items: flex-start;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .footer-logo {
        width: calc(100% / 3);
        max-width: 140rem;
    }

    .footer-logo a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 80rem;
        width: 100%;
        padding: 14rem;
    }

    .footer-logo:nth-child(1) img {
        max-width: 48rem;
    }

    .footer-logo:nth-child(2) img {
        max-width: 90rem;
    }

    .footer-logo:nth-child(3) img {
        max-width: 90rem;
    }

    .footer-logo:nth-child(4) img {
        max-width: 80rem;
    }

    .footer-logo:nth-child(5) img {
        max-width: none;
    }

    .footer-faq {
        border-radius: 16rem;
        max-width: none;
        min-height: 88rem;
        left: 16rem;
        bottom: 16rem;
        padding: 20rem 16rem;
        width: calc(100% - 32rem);
    }

    .footer-faq-title span {
        font-size: 14rem;
    }

    .footer-faq-title span br {
        display: none;
    }

    .footer-faq-icon {
        width: 24rem;
        inset: 16rem 16rem auto auto;
    }

    .footer-mobile-button {
        display: flex;
    }

    .cookie-modal {
        padding: 16rem;
    }
}

@media (max-width: 591px) {
    .footer-logo:nth-child(1) a {
        justify-content: flex-start;
        padding-left: 0;
    }

    .footer-logo:nth-child(2) a {
        padding-left: 0;
    }

    .footer-logo:nth-child(3) a {
        justify-content: flex-end;
        padding-right: 0;
    }

    .footer-logo:nth-child(4) a {
        justify-content: flex-start;
        padding-left: 0;
    }

    .footer-logo:nth-child(5) a {
        padding-left: 0;
    }
}

@media (max-width: 499px) {
    .top-fixed {
        display: block;
    }

    .bottom-fixed {
        display: block;
    }
}

.open-dp-modal {
    overflow: hidden;
}

.dp-modal {
    position: fixed;
    width: 100%;
    height: 100%;
    inset: 0;
    -webkit-backdrop-filter: blur(10rem);
    backdrop-filter: blur(10rem);
    padding: 32rem;
    text-align: center;
    white-space: nowrap;
    z-index: 110;
    overflow: auto;
    scrollbar-width: none;
    transition-property: opacity, visibility;
    transition-duration: 350ms;
}

html:not(.open-dp-modal) .dp-modal {
    opacity: 0;
    visibility: hidden;
}

.dp-modal:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 100%;
    vertical-align: middle;
    overflow: hidden;
}

.dp-modal-wrapper {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    max-width: 912rem;
    width: 100%;
    white-space: normal;
}

.dp-modal-content {
    background-color: #2A0959;
    box-shadow: 0 0 64rem 0 #77D8C040 inset;
    border-radius: 24rem;
    padding: 66rem 33rem 33rem;
    transform: translatey(-100rem);
    transition-duration: 350ms;
    overflow: hidden;
}

.open-dp-modal .dp-modal-content {
    transform: translatey(0);
}

.dp-modal-close {
    position: absolute;
    width: 48rem;
    height: 48rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inset: 16rem 16rem auto auto;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    cursor: pointer;
}

.dp-modal-close img {
    width: 20rem;
}

.dp-modal-title {
    font-family: var(--font-mono);
    font-size: 25.2rem;
    line-height: 120%;
    text-transform: uppercase;
    color: #49F2D6;
}

.dp-modal-text {
    margin-top: 30rem;
    font-size: 25.2rem;
    line-height: 120%;
}

.dp-modal-contact {
    margin-top: 10rem;
}

.dp-modal-contact a {
    font-size: 25.2rem;
    line-height: 120%;
    color: #49F2D6;
}

.dp-modal-button {
    margin-top: 48rem;
}

.dp-modal-button span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 14rem;
    letter-spacing: 4%;
    text-transform: uppercase;
    height: 48rem;
    border-radius: 48rem;
    background: radial-gradient(50% 50% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    overflow: hidden;
    z-index: 1;
    cursor: pointer;
}

.dp-modal-button span:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    opacity: 0;
    background: radial-gradient(92.53% 119.79% at 50% 50%, #963EC6 0%, #00ADDD 100%);
    box-shadow: 0 0 32rem 0 #77D8C0 inset;
    transition-duration: 350ms;
    transition-property: opacity;
    z-index: -1;
}

.dp-modal-button span:hover:before {
    opacity: 1;
}

@media (max-width: 1919px) {
    .dp-modal-content {
        padding: 72rem 48rem 48rem;
    }

    .dp-modal-title {
        font-size: 28.2rem;
    }

    .dp-modal-text {
        font-size: 28.2rem;
        margin-top: 36rem;
    }

    .dp-modal-contact {
        margin-top: 14rem;
    }

    .dp-modal-contact a {
        font-size: 28.2rem;
    }

    .dp-modal-button span {
        font-size: 16rem;
    }
}

@media (max-width: 1279px) {

    .dp-modal {
        padding: 16rem;
    }

    .dp-modal-content {
        padding: 42rem 16rem 16rem;
    }

    .dp-modal-title {
        font-size: 22rem;
    }

    .dp-modal-text {
        font-size: 18rem;
        margin-top: 24rem;
    }

    .dp-modal-contact {
        margin-top: 8rem;
    }

    .dp-modal-contact a {
        font-size: 18rem;
    }

    .dp-modal-button {
        margin-top: 32rem;
    }

    .dp-modal-button span {
        font-size: 14rem;
    }

    .dp-modal-close {
        width: 40rem;
        height: 40rem;
    }
}