@use "sass:color"; @font-face { font-family: "Inter"; src: url("../fonts/Inter-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; } $color-primary: #2b386e; $color-accent: #952338; $color-white: #ffffff; $color-text: #1f264d; $color-muted: #69739d; $color-border: rgba(34, 45, 115, 0.12); $color-shadow: rgba(27, 39, 98, 0.12); $color-surface: #f5f7fc; :root { --color-primary: #{$color-primary}; --color-accent: #{$color-accent}; --color-white: #{$color-white}; --color-text: #{$color-text}; --color-muted: #{$color-muted}; --color-surface: #{$color-surface}; --header-shadow: 0 10px 30px #{$color-shadow}; --footer-shadow: 0 -10px 30px rgba(10, 18, 60, 0.08); --content-radius: 0.5rem; } html, body { min-height: 100%; } body.site-shell { min-height: 100vh; display: flex; flex-direction: column; margin: 0; color: var(--color-text); background: radial-gradient(circle at top left, rgba(180, 20, 49, 0.08), transparent 30%), radial-gradient(circle at top right, rgba(34, 45, 115, 0.1), transparent 28%), linear-gradient(180deg, #eef2fb 0%, #f8faff 24%, #ffffff 100%); font-family: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } a { color: var(--color-primary); text-decoration: none; } a:hover { color: var(--color-accent); } .site-header { position: sticky; top: 0; z-index: 1030; background: var(--color-white); box-shadow: var(--header-shadow); } .site-header a, .site-header a:hover, .site-header a:focus { text-decoration: none; } .site-header__inner { min-height: 96px; display: flex; align-items: center; gap: 1.5rem; padding: 0.75rem 0; } .site-brand { display: inline-flex; align-items: center; gap: 1rem; flex-shrink: 0; } .site-brand__logo { display: block; width: 85px; height: auto; object-fit: contain; } .site-brand__title { display: flex; flex-direction: column; justify-content: center; color: var(--color-primary); font-size: 1.25rem; font-weight: 700; line-height: 1.05; letter-spacing: 0.02em; text-transform: uppercase; } .site-navbar-toggler { border-color: rgba(34, 45, 115, 0.18); } .site-navbar-toggler:focus { box-shadow: 0 0 0 0.2rem rgba(34, 45, 115, 0.18); } .site-nav { align-items: center; gap: 0.25rem; margin-left: 0; margin-right: auto; justify-content: flex-start; } .site-nav .nav-link { position: relative; color: var(--color-primary); font-weight: 600; text-transform: uppercase; padding: 0.65rem 0.95rem; border-radius: 999px; transition: color 0.2s ease, background-color 0.2s ease; } .site-nav .nav-link:hover, .site-nav .nav-link:focus { color: var(--color-accent); background-color: rgba(180, 20, 49, 0.08); } .site-header__actions { display: flex; align-items: center; gap: 1rem; margin-left: auto; flex-shrink: 0; } .site-user-link { display: inline-flex; align-items: center; gap: 0.75rem; padding: 0.45rem 0.75rem 0.45rem 0.45rem; border: 1px solid $color-border; border-radius: 999px; background: var(--color-white); color: var(--color-primary); font-weight: 600; transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease; } .site-user-link:hover, .site-user-link:focus { color: var(--color-accent); border-color: rgba(180, 20, 49, 0.24); box-shadow: 0 12px 24px rgba(180, 20, 49, 0.12); } .site-user-link--button { appearance: none; cursor: pointer; } .site-user-link__icon { width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(135deg, var(--color-primary), #3140a2); } .site-user-link__icon svg { width: 1.25rem; height: 1.25rem; fill: var(--color-white); } .lang-switcher { display: inline-flex; align-items: center; padding: 0.25rem; border: 1px solid $color-border; border-radius: 999px; background: rgba(34, 45, 115, 0.04); } .lang-switcher__link { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; height: 2.4rem; padding: 0 0.85rem; border-radius: 999px; color: var(--color-primary); font-size: 0.875rem; font-weight: 700; text-transform: uppercase; } .lang-switcher__link.is-active { background: var(--color-primary); color: var(--color-white); } .site-content { flex: 1 0 auto; padding: 2rem 0 3rem; } #content > .container-fluid { padding-left: 1.5rem; padding-right: 1.5rem; } #content .content-card, #content > .container-fluid > :not(script):not(style):not(link):not(.modal) { background: rgba(255, 255, 255, 0.88); border: 1px solid rgba(34, 45, 115, 0.08); border-radius: var(--content-radius); box-shadow: 0 18px 40px rgba(34, 45, 115, 0.08); } #content > .container-fluid > :not(script):not(style):not(link):not(.modal) { padding: 1.5rem; } .site-footer { flex-shrink: 0; color: var(--color-white); background: $color-primary; //linear-gradient(135deg, $color-primary 0%, color.adjust($color-primary, $lightness: -8%) 60%, $color-accent 100%); box-shadow: var(--footer-shadow); } .site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.4rem 0; } .site-footer__title { margin-bottom: 0.35rem; font-size: 1rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; } .site-footer__text { color: rgba(255, 255, 255, 0.82); max-width: 44rem; } .site-footer__links { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; } .site-footer__links a, .site-footer__button { color: var(--color-white); font-weight: 600; } .site-footer__button { appearance: none; padding: 0; border: 0; background: transparent; } .site-footer__links a:hover, .site-footer__button:hover { color: rgba(255, 255, 255, 0.8); } .auth-modal { border: 0; border-radius: 1.5rem; overflow: hidden; box-shadow: 0 25px 60px rgba(25, 35, 84, 0.18); } .auth-modal-dialog { max-width: 750px; } .auth-modal-dialog--login { max-width: 460px; } .auth-modal__header { padding: 1.25rem 1.5rem; background: linear-gradient(135deg, rgba(34, 45, 115, 0.08), rgba(180, 20, 49, 0.08)); } .auth-modal__title { color: var(--color-primary); font-weight: 700; } .auth-modal__body { padding: 1.5rem; } .auth-modal-dialog--login .auth-modal__header { padding: 1rem 1.25rem; } .auth-modal-dialog--login .auth-modal__body { padding: 1.25rem; } .auth-modal__lead { margin-bottom: 1rem; color: var(--color-muted); } .form-required-mark { color: var(--color-accent); } .auth-modal__tabs { display: flex; gap: 0.5rem; margin-bottom: 1.25rem; border-bottom: 1px solid rgba(34, 45, 115, 0.12); } .auth-modal__tab { appearance: none; padding: 0 0 0.6rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--color-muted); font-weight: 700; } .auth-modal__tab.is-active { border-color: var(--color-primary); color: var(--color-primary); } .auth-modal__form .form-error, .auth-modal__form-error, .auth-modal__form .invalid-feedback, .auth-modal__form ul { margin: 0.35rem 0 0; padding: 0; list-style: none; color: var(--color-accent); font-size: 0.9rem; } .auth-modal__grid { display: grid; gap: 1rem; } .auth-modal__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .auth-modal__suggest { position: relative; } .auth-modal__suggestions { position: absolute; z-index: 20; right: 0; left: 0; max-height: 14rem; overflow-y: auto; border: 1px solid rgba(34, 45, 115, 0.18); border-radius: 0 0 0.5rem 0.5rem; background: var(--color-white); box-shadow: 0 14px 30px rgba(25, 35, 84, 0.14); } .auth-modal__suggestion { display: block; width: 100%; padding: 0.65rem 0.85rem; border: 0; border-bottom: 1px solid rgba(34, 45, 115, 0.08); background: transparent; color: var(--color-text); text-align: left; } .auth-modal__suggestion:hover, .auth-modal__suggestion:focus { background: rgba(34, 45, 115, 0.08); } .auth-modal__password { position: relative; } .auth-modal__password-input { padding-right: 3rem; } .auth-modal__password-toggle { position: absolute; top: 50%; right: 0.4rem; width: 2.25rem; height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 0.5rem; background: transparent; color: var(--color-muted); transform: translateY(-50%); } .auth-modal__password-toggle:hover, .auth-modal__password-toggle:focus, .auth-modal__password-toggle.is-active { color: var(--color-primary); background: rgba(34, 45, 115, 0.08); } .auth-modal__password-toggle svg { width: 1.2rem; height: 1.2rem; fill: currentColor; } .auth-modal__checks { display: grid; gap: 0.75rem; margin-bottom: 1rem; } .auth-modal__submit { width: 100%; padding: 0.8rem 1rem; border: 0; border-radius: 0.9rem; background: var(--color-primary); //background: var(--color-primary); color: var(--color-white); font-weight: 700; } .auth-modal .auth-modal__submit:hover, .auth-modal .auth-modal__submit:focus { background: var(--color-primary); color: var(--color-white); box-shadow: 0 12px 28px rgba(34, 45, 115, 0.22); } .auth-modal__links { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; font-size: 0.95rem; } @media (max-width: 1199.98px) { .site-header__inner { flex-wrap: wrap; } .navbar-collapse { padding-top: 0.75rem; } .site-nav { margin: 0 0 1rem; align-items: stretch; gap: 0.15rem; } .site-nav .nav-link { border-radius: 1rem; } .site-header__actions { width: 100%; justify-content: space-between; margin-left: 0; } } @media (max-width: 767.98px) { .site-header__inner { min-height: auto; gap: 1rem; } .site-brand { max-width: calc(100% - 4rem); } .site-brand__logo { width: 60px; } .site-brand__title { font-size: 1rem; } .site-user-link__text { display: none; } .site-footer__inner, .auth-modal__links { flex-direction: column; align-items: flex-start; } .auth-modal__tabs { flex-wrap: wrap; } .auth-modal__grid--2 { grid-template-columns: 1fr; gap: 0; } #content > .container-fluid { padding-left: 0.85rem; padding-right: 0.85rem; } #content > .container-fluid > :not(script):not(style):not(link):not(.modal) { padding: 1rem; border-radius: 1rem; } } .main-page { display: grid; gap: 2rem; } #content > .container-fluid > .main-page { padding: 0; border: 0; background: transparent; box-shadow: none; } .main-hero, .main-dashboard { background: transparent; border: 0; box-shadow: none; padding: 0; } .main-hero { margin-top: -2rem; margin-right: -1.5rem; margin-left: -1.5rem; } .main-hero__grid { min-height: 430px; --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; } .main-carousel { height: 100%; border-radius: 0 0 0 2rem; overflow: hidden; box-shadow: 0 24px 60px rgba(34, 45, 115, 0.14); } .main-carousel .carousel-inner, .main-carousel .carousel-item { height: 100%; } .main-carousel__link { display: block; height: 100%; color: inherit; text-decoration: none; } .main-carousel__slide { height: 100%; min-height: 430px; display: flex; align-items: center; background-position: center; background-size: cover; } .main-carousel__content { width: min(100%, 42rem); padding: 3.2rem; color: var(--color-white); } .main-carousel__badge { display: inline-flex; padding: 0.45rem 0.9rem; margin-bottom: 1rem; border-radius: 999px; background: rgba(255, 255, 255, 0.14); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .main-carousel__title { margin-bottom: 1rem; font-size: clamp(2rem, 4vw, 3.7rem); font-weight: 800; line-height: 0.98; } .main-carousel__text { max-width: 32rem; margin-bottom: 1.5rem; color: rgba(255, 255, 255, 0.86); font-size: 1.05rem; } .main-carousel__button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; padding: 0 1.35rem; border-radius: 999px; background: linear-gradient(135deg, var(--color-white), #f3f4fb); color: var(--color-primary); font-weight: 700; } .main-carousel__button:hover { color: var(--color-accent); } .main-carousel__control { width: 4.5rem; opacity: 1; } .main-carousel__arrow { width: 3rem; height: 3rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(8px); font-size: 2rem; line-height: 1; } .main-carousel__indicators { right: auto; bottom: 1.4rem; left: 2rem; justify-content: flex-start; margin: 0; } .main-carousel__indicators [data-bs-target] { width: 0.8rem; height: 0.8rem; margin: 0 0.35rem 0 0; border: 0; border-radius: 50%; background-color: rgba(255, 255, 255, 0.55); opacity: 1; } .main-carousel__indicators .active { background-color: var(--color-white); transform: scale(1.15); } .main-mini-banners { height: 100%; display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 1rem; } .main-mini-banner { min-height: calc((430px - 1rem) / 2); display: flex; flex-direction: column; justify-content: flex-end; gap: 0.7rem; padding: 1.5rem; overflow: hidden; background-position: center; background-size: cover; color: var(--color-white); } .main-mini-banner:hover, .main-mini-banner:focus { color: var(--color-white); } .main-mini-banner:last-child { border-bottom-right-radius: 2rem; } .main-mini-banner__badge { align-self: flex-start; padding: 0.35rem 0.75rem; border-radius: 999px; background: rgba(255, 255, 255, 0.16); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .main-mini-banner__title { max-width: 24rem; font-size: 1.25rem; font-weight: 800; line-height: 1.15; } .main-events, .main-calendar-card { height: 100%; padding: 1.6rem; border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 1.75rem; background: rgba(255, 255, 255, 0.92); box-shadow: 0 18px 46px rgba(34, 45, 115, 0.09); } .main-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; } .main-section-head__eyebrow { display: inline-block; margin-bottom: 0.4rem; color: var(--color-accent); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .main-section-head__title { margin: 0; color: var(--color-primary); font-size: 1.7rem; font-weight: 800; } .main-events__list { display: grid; gap: 1rem; } .main-event-card { border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 1.3rem; background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 247, 252, 0.94)); transition: transform 0.2s ease, box-shadow 0.2s ease; } .main-event-card__link { display: grid; grid-template-columns: minmax(220px, 350px) minmax(0, 1fr); gap: 1rem; padding: 1rem; color: inherit; } .main-event-card:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(34, 45, 115, 0.08); } .main-event-card:hover .main-event-card__title { color: var(--color-accent); } .main-event-card__media { overflow: hidden; border-radius: 1rem; aspect-ratio: 16 / 9; } .main-event-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; } .main-event-card__body { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; } .main-event-card__title { margin: 0 0 0.55rem; color: var(--color-primary); font-size: 1.15rem; font-weight: 700; } .main-event-card__description { margin: 0; color: var(--color-muted); line-height: 1.6; } .main-event-card__badges { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.8rem; } .main-event-card__specialty { display: inline-flex; align-items: center; max-width: 100%; padding: 0.35rem 0.55rem; border-radius: 8px; background: rgba(25, 135, 84, 0.12); color: #16724a; font-size: 0.78rem; font-weight: 700; line-height: 1.2; } .main-event-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 0.85rem; border-top: 1px solid rgba(34, 45, 115, 0.08); font-size: 0.92rem; } .main-event-card__type { color: var(--color-accent); font-weight: 700; } .main-event-card__date { color: var(--color-primary); font-weight: 600; text-align: right; } .main-event-card__schedule { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 0.2rem; margin-left: auto; color: var(--color-primary); font-weight: 600; text-align: right; } .main-event-card__time { color: var(--color-muted); font-size: 0.85rem; font-weight: 600; } .main-events__more { margin-top: 1.15rem; padding: 0.85rem 1.2rem; border: 0; border-radius: 1rem; background: var(--color-primary); color: var(--color-white); font-weight: 700; } .main-events__empty { margin-top: 1rem; padding: 1rem 1.2rem; border-radius: 1rem; background: #f5f5f5; color: var(--color-muted); } .main-search { margin-bottom: 1.25rem; } .main-search__label { display: block; margin-bottom: 0.55rem; color: var(--color-primary); font-weight: 700; } .main-search__field { position: relative; } .main-search__input { width: 100%; min-height: 3.5rem; padding: 0.9rem 3.1rem 0.9rem 1rem; border: 1px solid rgba(34, 45, 115, 0.14); border-radius: 1rem; outline: 0; background: var(--color-white); color: var(--color-primary); } .main-search__input::-webkit-search-decoration, .main-search__input::-webkit-search-cancel-button { appearance: none; } .main-search__icon { position: absolute; top: 50%; right: 1rem; width: 1.35rem; height: 1.35rem; display: inline-flex; color: rgba(34, 45, 115, 0.62); pointer-events: none; transform: translateY(-50%); } .main-search__icon svg { width: 100%; height: 100%; fill: currentColor; } .main-search__input:focus { border-color: rgba(180, 20, 49, 0.35); box-shadow: 0 0 0 0.2rem rgba(180, 20, 49, 0.09); } .main-search__help { margin-top: 0.55rem; color: var(--color-muted); font-size: 0.92rem; } .main-calendar { padding: 1.35rem; border-radius: 1.5rem; background: #f5f5f5; } .main-calendar__header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 1rem; } .main-calendar__heading { display: flex; align-items: center; gap: 0.55rem; } .main-calendar__month { color: var(--color-primary); font-size: 1.15rem; font-weight: 800; text-transform: capitalize; } .main-calendar__year { padding: 0.35rem 0.7rem; border: 0; border-radius: 999px; background: rgba(34, 45, 115, 0.08); color: var(--color-primary); font-weight: 700; } .main-calendar__nav { width: 2.6rem; height: 2.6rem; border: 0; border-radius: 50%; background: var(--color-white); color: var(--color-primary); box-shadow: 0 8px 18px rgba(107, 114, 128, 0.18); font-size: 1.6rem; line-height: 1; } .main-calendar__weekdays, .main-calendar__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.6rem; } .main-calendar__weekdays { margin-bottom: 0.6rem; } .main-calendar__weekdays span { text-align: center; color: var(--color-muted); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; } .main-calendar__day { min-height: 4rem; width: 100%; padding: 13px 14px; border: 0; border-radius: 6px; background: #fff; box-shadow: 0 10px 18px rgba(156, 163, 175, 0.24); text-align: left; } .main-calendar__day.is-outside { color: #a5adba; background: transparent; box-shadow: none; } .main-calendar__day.has-event { background: #add2ef; outline: 2px solid #add2ef; cursor: pointer; } .main-calendar__day.has-event:hover, .main-calendar__day.has-event.is-selected { background: #add2ef; outline-color: var(--color-primary); } .main-calendar__day-number { color: var(--color-primary); font-weight: 700; } .main-calendar__day.is-outside .main-calendar__day-number { color: #a5adba; } .main-calendar__year-menu { max-height: 16rem; overflow: auto; } #content > .container-fluid > .feedback-page { padding: 0; border: 0; background: transparent; box-shadow: none; } .feedback-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 0.8fr); gap: 1.5rem; align-items: start; } .feedback-faq, .feedback-form-section { padding: 1.5rem; border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 0.5rem; background: rgba(255, 255, 255, 0.92); box-shadow: 0 18px 46px rgba(34, 45, 115, 0.09); } .feedback-faq__accordion { display: grid; gap: 0.75rem; } .feedback-faq__item { overflow: hidden; border: 1px solid rgba(34, 45, 115, 0.1); border-radius: 0.5rem; background: var(--color-white); } .feedback-faq__button { color: var(--color-primary); font-weight: 700; } .feedback-faq__button:not(.collapsed) { color: var(--color-primary); background: rgba(34, 45, 115, 0.06); box-shadow: none; } .feedback-faq__button:focus { border-color: rgba(34, 45, 115, 0.24); box-shadow: 0 0 0 0.2rem rgba(34, 45, 115, 0.14); } .feedback-faq__answer, .feedback-faq__empty { color: var(--color-text); } .feedback-form { display: grid; gap: 1rem; } .feedback-form__field { display: grid; gap: 0.45rem; color: var(--color-primary); font-weight: 700; } .feedback-form__field input, .feedback-form__field textarea { width: 100%; padding: 0.75rem 0.85rem; border: 1px solid rgba(34, 45, 115, 0.14); border-radius: 0.5rem; background: var(--color-white); color: var(--color-primary); font-weight: 500; } .feedback-form__field input { min-height: 3rem; } .feedback-form__field textarea { min-height: 11rem; resize: vertical; } .feedback-form__field small { color: var(--color-muted); font-weight: 500; } .feedback-form__field ul { margin: 0; padding: 0; list-style: none; color: #b42318; font-size: 0.9rem; font-weight: 600; } .feedback-form__submit { min-height: 3rem; padding: 0.75rem 1rem; border: 0; border-radius: 0.5rem; background: var(--color-primary); color: var(--color-white); font-weight: 700; } .feedback-form__submit:hover, .feedback-form__submit:focus { color: var(--color-white); box-shadow: 0 12px 28px rgba(34, 45, 115, 0.22); } .events-page { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 1.5rem; align-items: start; } .events-filter, .events-list-section { padding: 1.6rem; border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 1.75rem; background: rgba(255, 255, 255, 0.92); box-shadow: 0 18px 46px rgba(34, 45, 115, 0.09); } .events-filter { position: sticky; top: 7rem; } .events-filter__title { margin: 0 0 1.25rem; color: var(--color-primary); font-size: 1.65rem; font-weight: 800; } .events-filter__form { display: grid; gap: 1rem; } .events-filter__dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; } .events-filter__field { display: grid; gap: 0.45rem; color: var(--color-primary); font-weight: 700; } .events-filter__field input, .events-filter__field select { min-height: 3rem; width: 100%; padding: 0.65rem 0.8rem; border: 1px solid rgba(34, 45, 115, 0.14); border-radius: 0.5rem; background: var(--color-white); color: var(--color-primary); font-weight: 500; } .events-filter__field .events-filter__date-input { min-height: 2.65rem; padding: 0.55rem 0.45rem; font-size: 0.86rem; } .events-filter__actions { display: flex; align-items: center; gap: 1rem; } .events-filter__actions button { padding: 0.75rem 1rem; border: 0; border-radius: 0.5rem; background: var(--color-primary); color: var(--color-white); font-weight: 700; } .events-list { display: grid; gap: 1rem; } .events-list-section__count { display: inline-flex; min-width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 999px; background: rgba(34, 45, 115, 0.08); color: var(--color-primary); font-weight: 800; } .events-pagination { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; } .events-pagination__link { min-width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(34, 45, 115, 0.14); border-radius: 0.5rem; background: var(--color-white); color: var(--color-primary); font-weight: 700; } .events-pagination__link.is-active { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-white); } .event-groups-page, .event-group-page { display: grid; gap: 1.5rem; } .event-groups-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } .event-group-card { display: grid; gap: 0.75rem; min-height: 170px; padding: 1.25rem; border: 1px solid rgba(43, 56, 110, 0.12); border-radius: 8px; background: var(--color-white); color: var(--color-text); box-shadow: 0 14px 32px rgba(43, 56, 110, 0.08); } .event-group-card:hover { border-color: rgba(43, 56, 110, 0.28); color: var(--color-text); transform: translateY(-2px); } .event-group-card__title { color: var(--color-primary); font-size: 1.2rem; font-weight: 800; line-height: 1.25; } .event-group-card__meta, .event-group-card__date { align-self: end; color: var(--color-muted); font-weight: 700; } .event-group-card__date { align-self: start; font-size: 0.92rem; } .event-group-page__head { display: grid; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid rgba(43, 56, 110, 0.12); } .event-group-page__back { justify-self: start; color: var(--color-primary); font-weight: 700; } .event-group-page__title { margin: 0; color: var(--color-primary); font-size: 2rem; font-weight: 800; line-height: 1.2; } .event-group-page__description { max-width: 920px; color: var(--color-text); line-height: 1.75; } .event-group-tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; } .event-group-tabs__link { display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0.65rem 1rem; border: 1px solid rgba(43, 56, 110, 0.16); border-radius: 8px; background: var(--color-white); color: var(--color-primary); font-weight: 800; } .event-group-tabs__link.is-active { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-white); } .event-group-page__events { max-width: 980px; } .is-hidden { display: none !important; } .profile-page { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 1.5rem; align-items: start; } .profile-nav { position: sticky; top: 7rem; padding: 1.6rem; border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 1.75rem; background: rgba(255, 255, 255, 0.92); box-shadow: 0 18px 46px rgba(34, 45, 115, 0.09); } .profile-nav__list { display: grid; gap: 0.5rem; } .profile-nav__link { display: flex; align-items: center; min-height: 3rem; padding: 0 0.9rem; border-radius: 0.5rem; color: var(--color-primary); font-weight: 700; } .profile-nav__link:hover, .profile-nav__link:focus, .profile-nav__link.is-active { color: var(--color-white); background: var(--color-primary); } .profile-nav__link--logout { margin-top: 1rem; color: var(--color-accent); } .profile-page__main { min-width: 0; } .profile-page .btn-primary { border-color: var(--color-primary); background-color: var(--color-primary); color: var(--color-white); } .profile-page .btn-primary:hover, .profile-page .btn-primary:focus { border-color: var(--color-primary); background-color: var(--color-primary); color: var(--color-white); box-shadow: 0 0 0 0.2rem rgba(43, 56, 110, 0.18); } .profile-panel { padding: 1.6rem; border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 1.75rem; background: var(--color-white); box-shadow: 0 18px 46px rgba(34, 45, 115, 0.09); } .profile-panel__title { margin: 0 0 1.25rem; color: var(--color-primary); font-size: 1.35rem; font-weight: 800; } .profile-section-head { margin-bottom: 1.5rem; } .profile-section-head__title { margin: 0; color: var(--color-primary); font-size: 1.85rem; font-weight: 800; } .profile-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .profile-card { overflow: hidden; border: 1px solid rgba(34, 45, 115, 0.1); border-radius: 0.5rem; background: var(--color-white); } .profile-card--media { display: grid; grid-template-columns: 180px minmax(0, 1fr); } .profile-card__media, .profile-card__media-placeholder { display: block; min-height: 100%; background: #edf1fb; } .profile-card__media img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; display: block; } .profile-card__body { display: flex; flex-direction: column; gap: 0.75rem; padding: 1rem; } .profile-card__title { margin: 0; color: var(--color-primary); font-size: 1.15rem; font-weight: 800; } .profile-card__text { margin: 0; color: var(--color-muted); line-height: 1.55; } .profile-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; } .profile-card__attempts { color: var(--color-muted); } .profile-badge { display: inline-flex; align-items: center; min-height: 1.75rem; padding: 0 0.65rem; border-radius: 0.5rem; background: rgba(34, 45, 115, 0.08); color: var(--color-primary); font-weight: 700; } .profile-badge--passed { background: rgba(24, 128, 72, 0.12); color: #167048; } .profile-badge--failed, .profile-badge--none { background: rgba(180, 20, 49, 0.1); color: var(--color-accent); } .profile-badge--unavailable { background: rgba(105, 115, 157, 0.14); color: var(--color-muted); } .profile-card__action, .test-form__submit { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: 0 1rem; border: 0; border-radius: 0.5rem; background: var(--color-primary); color: var(--color-white); font-weight: 700; } .profile-card__action { align-self: flex-start; margin-top: auto; } .profile-card__action:hover, .test-form__submit:hover { color: var(--color-white); background: var(--color-accent); } .profile-empty, .test-state, .test-errors { padding: 1rem; border-radius: 0.5rem; background: #f7f8fc; color: var(--color-muted); } .test-page { display: grid; gap: 1.25rem; } .test-hero { display: grid; grid-template-columns: minmax(180px, 320px) minmax(0, 1fr); gap: 1.5rem; align-items: start; } .test-hero__media, .test-hero__media-placeholder { min-height: 360px; overflow: hidden; border-radius: 0.5rem; background: #edf1fb; } .test-hero__media img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block; } .test-hero__content { display: grid; gap: 1rem; } .test-hero__back { justify-self: start; color: var(--color-muted); font-weight: 700; } .test-hero__title { margin: 0; color: var(--color-primary); font-size: 2rem; font-weight: 800; } .test-hero__text { color: var(--color-text); line-height: 1.7; } .test-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; color: var(--color-muted); } .test-errors { background: rgba(180, 20, 49, 0.08); color: var(--color-accent); } .test-errors p, .test-state { margin: 0; } .test-form { display: grid; gap: 1rem; } .test-question { margin: 0; padding: 1rem; border: 1px solid rgba(34, 45, 115, 0.1); border-radius: 0.5rem; background: var(--color-white); } .test-question__title { float: none; width: auto; margin: 0 0 0.85rem; color: var(--color-primary); font-size: 1.1rem; font-weight: 800; } .test-question__answers { display: grid; gap: 0.65rem; } .test-answer { display: flex; gap: 0.65rem; align-items: flex-start; margin: 0; padding: 0.75rem; border: 1px solid rgba(34, 45, 115, 0.1); border-radius: 0.5rem; cursor: pointer; } .test-answer:hover { border-color: rgba(180, 20, 49, 0.3); } .test-answer input { margin-top: 0.25rem; } .test-form__submit { justify-self: start; } .event-page { display: grid; gap: 1.5rem; } .event-hero, .event-stream, .event-description, .event-logo-section { padding: 1.6rem; border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 1.75rem; background: rgba(255, 255, 255, 0.94); box-shadow: 0 18px 46px rgba(34, 45, 115, 0.08); } .event-hero__media { overflow: hidden; border-radius: 1.5rem; min-height: 100%; background: #edf1fb; } .event-hero__media img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block; } .event-hero--online .event-hero__media img { min-height: 130px; } .event-hero--online .event-hero__content { align-content: center; } .event-hero__online-meta { justify-self: end; display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem; color: var(--color-primary); font-weight: 800; text-align: right; } .event-hero__online-meta-item { display: inline-flex; align-items: center; min-height: 2.25rem; padding: 0.45rem 0.65rem; border-radius: 8px; background: #f7f8fc; border: 1px solid rgba(43, 56, 110, 0.1); } .event-hero__content { display: grid; gap: 1.25rem; } .event-hero__eyebrow { color: var(--color-accent); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .event-hero__title, .event-section-title { margin: 0; color: var(--color-primary); font-size: 1.85rem; font-weight: 800; } .event-hero__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .event-hero__meta-item { padding: 1rem 1.1rem; border-radius: 1rem; background: #f7f8fc; border: 1px solid rgba(34, 45, 115, 0.08); } .event-hero__meta-label { display: block; margin-bottom: 0.35rem; color: var(--color-muted); font-size: 0.85rem; font-weight: 600; } .event-hero__meta-value { color: var(--color-primary); font-weight: 700; } .event-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; } .event-registration-button, .event-program-link { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0 1rem; border-radius: 0.5rem; font-weight: 700; } .event-registration-button { border: 0; background: var(--color-primary); color: var(--color-white); } .event-registration-button:disabled { cursor: not-allowed; background: #d8deef; color: var(--color-muted); } .event-program-link { border: 1px solid rgba(34, 45, 115, 0.18); background: var(--color-white); color: var(--color-primary); } .event-registration-success__text { margin: 0; color: var(--color-primary); font-weight: 700; text-align: center; } .event-stream { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 450px); gap: 1rem; } .event-stream__player, .event-stream__chat { min-width: 0; } .event-stream__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; } .event-stream__resize { position: absolute; right: 1rem; bottom: 1rem; z-index: 4; width: 2.75rem; height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border: 0; border-radius: 0.5rem; background: var(--color-primary); color: var(--color-white); } .event-stream__resize:hover, .event-stream__resize.is-active { background: var(--color-accent); } .event-stream__resize svg { width: 1.35rem; height: 1.35rem; fill: currentColor; } .event-stream__tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; } .event-stream__tab { min-height: 2.5rem; padding: 0 0.9rem; border: 1px solid rgba(34, 45, 115, 0.14); border-radius: 0.5rem; background: var(--color-white); color: var(--color-primary); font-weight: 700; } .event-stream__tab.active { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-white); } .event-stream__frame, .event-stream__empty { position: relative; overflow: hidden; border-radius: 0.5rem; background: #11152c; } .event-stream__frame { aspect-ratio: 16 / 9; } .event-stream__frame iframe { width: 100%; height: 100%; display: block; border: 0; } .event-stream__iframe-guard { position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; height: 76px; background: transparent; } .event-stream__empty { min-height: 320px; display: flex; align-items: center; justify-content: center; padding: 1.5rem; color: rgba(255, 255, 255, 0.78); font-weight: 700; } .event-stream__chat { min-height: 100%; border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 0.5rem; background: #f7f8fc; } .event-stream.is-expanded { position: fixed; inset: 1rem; z-index: 1080; grid-template-columns: minmax(0, 1fr); align-content: start; background: rgba(255, 255, 255, 0.98); } .event-stream.is-expanded .event-stream__frame { height: calc(100vh - 8.5rem); aspect-ratio: auto; } .event-stream.is-expanded .event-stream__empty { min-height: calc(100vh - 8.5rem); } .event-stream.is-expanded .event-stream__chat { position: absolute; top: 6.25rem; right: 2rem; bottom: 2rem; width: min(450px, 28vw); border-color: rgba(255, 255, 255, 0.24); background: rgba(255, 255, 255, 0.16); backdrop-filter: blur(10px); } .event-stream-expanded { overflow: hidden; } .event-people { display: grid; gap: 1rem; margin-bottom: 1.25rem; } .event-people__title { margin: 0; color: var(--color-primary); font-size: 1.1rem; font-weight: 800; } .event-people__list { display: grid; gap: 0.9rem; } .event-person { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 1rem; align-items: start; padding: 0.95rem; border-radius: 1rem; background: linear-gradient(180deg, rgba(247, 248, 252, 0.95), rgba(255, 255, 255, 0.95)); border: 1px solid rgba(34, 45, 115, 0.08); } .event-person__photo { width: 84px; height: 84px; overflow: hidden; border-radius: 50%; background: #dbe3ff; } .event-person__photo img { width: 100%; height: 100%; object-fit: cover; display: block; } .event-person__name { margin: 0 0 0.45rem; color: var(--color-primary); font-size: 1rem; font-weight: 700; } .event-person__regalia { margin: 0; color: var(--color-text); font-size: 0.88rem; line-height: 1.45; } .event-person__regalia.is-collapsed { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; } .event-person__regalia p:last-child { margin-bottom: 0; } .event-person__regalia-more { display: grid; grid-template-columns: minmax(1rem, 1fr) auto minmax(1rem, 1fr); gap: 0.75rem; align-items: center; width: 100%; margin-top: 0.65rem; padding: 0; border: 0; background: transparent; color: var(--color-primary); font-size: 0.82rem; font-weight: 700; line-height: 1.2; } .event-person__regalia-more::before, .event-person__regalia-more::after { content: ''; height: 1px; background: rgba(43, 56, 110, 0.2); } .event-person__regalia-more span { white-space: nowrap; } .event-people__more { justify-self: start; padding: 0.8rem 1.1rem; border: 0; border-radius: 1rem; background: var(--color-primary); color: var(--color-white); font-weight: 700; } .event-description__content { margin-top: 1rem; color: var(--color-text); line-height: 1.75; } .event-specialties { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; } .event-specialties__item { display: inline-flex; align-items: center; max-width: 100%; padding: 0.4rem 0.65rem; border-radius: 8px; background: #eef0f4; color: #5f6470; font-size: 0.82rem; font-weight: 700; line-height: 1.2; } .event-logo-carousel { margin-top: 1rem; } .event-logo-section { display: grid; gap: 1.5rem; } .event-logo-group { display: grid; gap: 1rem; } .event-logo-grid, .event-logo-carousel__track { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; } .event-logo-carousel__track { padding: 0 3rem; } .event-logo-card { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; padding: 1rem; width: 100%; border: 1px solid rgba(34, 45, 115, 0.08); border-radius: 1rem; background: #fff; box-shadow: 0 12px 24px rgba(34, 45, 115, 0.08); color: var(--color-primary); cursor: pointer; } .event-logo-card img { max-width: 100%; max-height: 56px; object-fit: contain; display: block; } .event-logo-card:hover, .event-logo-card:focus { border-color: rgba(180, 20, 49, 0.28); color: var(--color-accent); } .event-organization-modal__body { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: start; gap: 1rem; } .event-organization-modal__media { display: flex; align-items: flex-start; justify-content: center; } .event-organization-modal__logo { max-width: 180px; max-height: 180px; object-fit: contain; } .event-organization-modal__content { display: grid; gap: 0.75rem; } .event-organization-modal__title { margin: 0; color: var(--color-primary); font-size: 1.35rem; font-weight: 800; } .event-organization-modal__description { color: var(--color-text); line-height: 1.65; } .event-organization-modal__link { justify-self: start; overflow-wrap: anywhere; font-weight: 700; } .event-logo-carousel__control { width: 2.6rem; opacity: 1; } .event-logo-carousel__control span { width: 2.4rem; height: 2.4rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(34, 45, 115, 0.12); color: var(--color-primary); font-size: 1.7rem; line-height: 1; } @media (max-width: 991.98px) { .profile-tiles, .test-hero { grid-template-columns: 1fr; } .profile-card--media { grid-template-columns: 150px minmax(0, 1fr); } .events-page, .profile-page { grid-template-columns: 1fr; } .event-groups-list { grid-template-columns: 1fr; } .events-filter, .profile-nav { position: static; } .main-hero__grid { min-height: 0; } .main-carousel { border-radius: 0; } .main-carousel__slide { min-height: 360px; } .main-mini-banners { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; } .main-mini-banner { min-height: 180px; } .main-mini-banner:last-child { border-bottom-right-radius: 1.5rem; } .main-carousel__content { padding: 2.2rem; } .main-event-card__link { grid-template-columns: 1fr; } .event-hero__meta { grid-template-columns: 1fr; } .event-stream { grid-template-columns: 1fr; } .event-stream__chat { min-height: 220px; } .event-stream.is-expanded .event-stream__chat { top: auto; right: 2rem; bottom: 2rem; left: 2rem; width: auto; height: 180px; } .event-logo-carousel__track { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 2.5rem; } .event-logo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } .feedback-page { grid-template-columns: 1fr; } } @media (max-width: 767.98px) { .profile-card--media { grid-template-columns: 1fr; } .profile-card__media img { min-height: 240px; } .test-hero__media, .test-hero__media-placeholder, .test-hero__media img { min-height: 300px; } .events-filter, .profile-panel, .events-list-section, .feedback-faq, .feedback-form-section { padding: 1.1rem; } .events-filter__dates { grid-template-columns: 1fr; } .main-hero { margin-right: -0.85rem; margin-left: -0.85rem; } .main-carousel { border-radius: 0; } .main-carousel__slide { min-height: 320px; } .main-mini-banners { grid-template-columns: 1fr; } .main-mini-banner { min-height: 160px; padding: 1.1rem; } .main-mini-banner:last-child { border-bottom-right-radius: 1.3rem; } .main-carousel__content, .main-events, .main-calendar-card { padding: 1.1rem; } .main-carousel__indicators { left: 1rem; bottom: 1rem; } .main-carousel__control { width: 3.5rem; } .main-event-card__meta { flex-direction: column; align-items: flex-start; } .event-hero, .event-stream, .event-description, .event-logo-section { padding: 1.1rem; } .event-stream.is-expanded { inset: 0.5rem; } .event-stream.is-expanded .event-stream__frame { height: calc(100vh - 7.5rem); } .event-stream.is-expanded .event-stream__chat { right: 1rem; bottom: 1rem; left: 1rem; height: 150px; } .event-organization-modal__body { grid-template-columns: 1fr; } .event-organization-modal__media { justify-content: flex-start; } .event-person { grid-template-columns: 1fr; } .event-person__photo { width: 72px; height: 72px; } .main-calendar { padding: 1rem; } .main-calendar__weekdays, .main-calendar__grid { gap: 0.35rem; } .main-calendar__day { min-height: 3.2rem; padding: 10px; } .event-logo-carousel__track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; padding: 0 2rem; } .event-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; } }