:root {
    --ice-blue: #003557;
    --ice-navy: #000080;
    --ice-light-blue: #d6f3ff;
    --ice-frost: #eefaff;
    --ice-sky: #6fc8ea;
    --ice-coral: #f67768;
    --ice-text: #303c41;
    --ice-menu-deep: #002e49;
    --ice-menu: #075979;
    --ice-menu-frost: #e9faff;
    --ice-container: 1110px;
}

@font-face {
    font-family: pfdinbold;
    src: url("../../fonts/PFDinDisplayPro-Bold.ttf") format("truetype");
    font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; height: auto; scroll-behavior: smooth; overflow-x: hidden; }
body.icetheater-theme { min-height: 100vh; height: auto; overflow-x: hidden; color: var(--ice-text); background: #fff; }
body.home.icetheater-theme { background: #2d73bc; }
body.icetheater-theme.admin-bar #menu { top: 32px; }
img, iframe, video { max-width: 100%; }
img { height: auto; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }

.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
    position: fixed !important; top: 12px; left: 12px; z-index: 100000;
    width: auto; height: auto; padding: 12px 18px; margin: 0;
    overflow: visible; clip: auto; white-space: normal; color: #000; background: #fff;
}

.site-main { min-height: 50vh; padding-top: 68px; }
body.home.icetheater-theme .site-main { padding-top: 0; }
body.home.icetheater-theme.icetheater-no-hero .site-main { padding-top: 68px; }
.container { max-width: var(--ice-container); }
.front-page-intro { width: 100%; overflow: hidden; }
.hero-section { position: relative; display: block; width: 100%; height: clamp(700px, calc(100vh - 68px), 850px); min-height: 700px; overflow: hidden; background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; isolation: isolate; }
.hero-section--video::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(0,30,50,.48) 0%, rgba(0,30,50,.2) 28%, transparent 58%), linear-gradient(180deg, rgba(0,32,52,.08) 0%, transparent 45%, rgba(0,32,52,.28) 100%); content: ""; pointer-events: none; }
.hero-section__video { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
.hero-section__link { position: absolute; z-index: 2; inset: 0; display: block; width: 100%; height: 100%; }
.hero-brand { position: absolute; z-index: 3; left: clamp(28px, 5vw, 96px); bottom: clamp(38px, 5vw, 76px); display: flex; max-width: min(760px, calc(100% - 180px)); align-items: center; gap: clamp(18px, 2.2vw, 34px); color: #fff; pointer-events: none; filter: drop-shadow(0 4px 16px rgba(0,22,38,.45)); }
.hero-brand__logo { display: block; width: clamp(104px, 8.5vw, 160px); height: auto; flex: 0 0 auto; }
.hero-brand__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.hero-brand__kicker { display: block; margin-bottom: 7px; font: 400 clamp(14px, 1.15vw, 19px)/1.2 pfdin, Arial, sans-serif; letter-spacing: .035em; text-shadow: 0 2px 10px rgba(0,20,34,.85); }
.hero-brand__title { display: block; font: 700 clamp(44px, 4.3vw, 74px)/.92 pfdin, Arial, sans-serif; letter-spacing: .015em; text-shadow: 0 3px 18px rgba(0,20,34,.85); }
.hero-section__motion { position: absolute; z-index: 4; right: 22px; bottom: 22px; display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255,255,255,.72); border-radius: 0; color: #fff; background: rgba(0,46,73,.72); font: 700 15px/1 Arial, sans-serif; cursor: pointer; box-shadow: 0 5px 18px rgba(0,25,42,.25); }
.hero-section__motion[hidden] { display: none; }
.hero-section__motion:hover,
.hero-section__motion:focus { color: var(--ice-menu-deep); background: #fff; }

#menu {
    min-height: 68px;
    border: 0;
    border-bottom: 1px solid rgba(143,221,244,.72);
    background: linear-gradient(102deg, var(--ice-menu-deep) 0%, var(--ice-menu) 55%, #003c61 100%);
    box-shadow: 0 8px 28px rgba(0,31,51,.24);
    z-index: 1030;
}
#menu::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: linear-gradient(90deg, transparent 0, rgba(246,119,104,.9) 28%, rgba(143,221,244,.9) 72%, transparent 100%); content: ""; pointer-events: none; }
#menu .container-fluid { max-width: 1440px; margin: 0 auto; padding-inline: 18px; }
#menu .navbar-nav { margin: 0; padding: 0; }
#menu .navbar-nav > li { padding: 0; }
#menu .navbar-nav > li > a {
    position: relative; display: flex; align-items: center; min-height: 68px; padding: 0 16px;
    border: 0; color: var(--ice-menu-frost); background: transparent; font: 700 15px/1.2 pfdin, Arial, sans-serif;
    letter-spacing: .015em; text-transform: none; text-decoration: none; text-shadow: 0 1px 1px rgba(0,20,34,.35);
    transition: color .18s ease, background-color .18s ease;
}
#menu .ice-primary-menu > li > a::after { position: absolute; right: 16px; bottom: 0; left: 16px; height: 4px; background: var(--ice-coral); content: ""; transform: scaleX(0) skewX(-28deg); transform-origin: center; transition: transform .18s ease; }
#menu .navbar-nav > li > a:hover,
#menu .navbar-nav > li > a:focus { color: #fff; background: rgba(233,250,255,.12); }
#menu .ice-primary-menu > li > a:hover::after,
#menu .ice-primary-menu > li > a:focus::after,
#menu .ice-primary-menu > li.current-menu-item > a:not([href*="#"])::after,
#menu .ice-primary-menu > li.current-menu-ancestor > a::after { transform: scaleX(1) skewX(-28deg); }
#menu .ice-primary-menu > li.current-menu-item > a:not([href*="#"]),
#menu .ice-primary-menu > li.current-menu-ancestor > a { color: #fff; background: rgba(233,250,255,.1); }
#menu .navbar-nav > li > a:focus-visible { outline: 3px solid #ffcf5a; outline-offset: -5px; }
#menu .navbar-right { margin-right: 0; }
#menu .ice-service-menu > li > a { min-height: 44px; margin: 12px 0 12px 15px; padding: 0 16px; border: 1px solid rgba(233,250,255,.52); color: #fff; background: rgba(0,35,57,.24); font-size: 14px; }
#menu .ice-service-menu > li > a:hover,
#menu .ice-service-menu > li > a:focus { border-color: var(--ice-menu-frost); background: var(--ice-menu-frost); color: var(--ice-menu-deep); text-shadow: none; }
#menu .ice-service-menu .glyphicon { margin-right: 7px; color: #8fddf4; }
#menu .ice-service-menu > li > a:hover .glyphicon,
#menu .ice-service-menu > li > a:focus .glyphicon { color: var(--ice-menu-deep); }

.home-section { min-height: 0; background-position: 50% 50%; background-size: cover; }
.section-heading { margin: 0; text-align: center; }
.section-heading h1, .section-heading h2 { margin: 0; font: inherit; }
.section-heading p { font-family: pfagora, Georgia, serif; }
.section-heading-dark h1, .section-heading-dark h2 { color: var(--ice-blue); }
.section-heading-dark p { color: var(--ice-text); }
.section-heading-light h1, .section-heading-light h2 { color: #fff; }
.section-heading-light p { color: var(--ice-light-blue); }

.social-follow { display: block; font-family: pfagora, Georgia, serif; text-align: center; }
.social-follow > span { margin-right: 10px; }
.social-follow a { display: inline-block; width: 32px; height: 32px; margin-left: 4px; vertical-align: middle; text-decoration: none; }
.social-follow img { display: block; width: 32px; height: 32px; }

.promo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 320px)); gap: 28px 24px; align-items: start; justify-content: center; margin-top: 50px; }
.promo-card {
    display: flex; min-width: 0; flex-direction: column; overflow: hidden;
    border: 1px solid rgba(0,53,87,.18); border-top: 4px solid var(--ice-coral); background: rgba(255,255,255,.95);
}
.news-card__media { position: relative; display: block; width: 100%; max-width: 320px; aspect-ratio: 320 / 301; overflow: hidden; background: rgba(0,53,87,.09); text-decoration: none; }
.news-card__media::before { display: block; padding-top: 94.0625%; content: ""; }
@supports (aspect-ratio: 1 / 1) { .news-card__media::before { display: none; } }
.news-card__media--empty { background: linear-gradient(135deg, rgba(0,53,87,.12), rgba(214,243,255,.72)); }
.news-card__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.news-card__media:hover .news-card__image { transform: scale(1.025); }
.news-card__body { display: flex; flex: 1; flex-direction: column; min-height: 220px; padding: 18px 20px 20px; }
.news-card__date { align-self: flex-start; padding: 3px 8px; color: #31576d; border-left: 3px solid var(--ice-coral); background: #eef8fc; font: 13px/1.3 pfdin, Arial, sans-serif; }
.news-card__title { min-height: 2.36em; margin: 11px 0 10px; color: var(--ice-blue); font: 600 22px/1.18 proxima-nova, Arial, sans-serif; }
.news-card__summary { display: -webkit-box; margin: 0 0 18px; overflow: hidden; color: var(--ice-text); font: 15px/1.48 pfagora, Georgia, serif; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.news-card__expand { align-self: flex-start; margin: 0 0 18px; padding: 4px 0; border: 0; border-bottom: 1px dashed var(--ice-coral); color: var(--ice-blue); background: transparent; font: 600 14px/1.3 proxima-nova, Arial, sans-serif; cursor: pointer; }
.news-card__expand:hover, .news-card__expand:focus { color: var(--ice-coral); }
.news-card__expand[disabled] { opacity: .65; cursor: wait; }
.news-card__full { margin: 0 0 18px; padding: 15px 0 4px; border-top: 1px solid rgba(0,53,87,.15); color: var(--ice-text); font: 15px/1.55 pfagora, Georgia, serif; }
.news-card__full p { margin: 0 0 12px; }
.news-card__full > :last-child { margin-bottom: 0; }
.promo-card__button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; margin-top: auto; padding: 9px 16px; border: 0; border-left: 5px solid var(--ice-coral); color: #fff; background: var(--ice-blue); font: 600 15px/1.2 proxima-nova, Arial, sans-serif; text-align: center; text-decoration: none; }
.promo-card__button:hover, .promo-card__button:focus { color: var(--ice-blue); background: var(--ice-light-blue); text-decoration: none; }
.news-empty { grid-column: 1 / -1; margin: 10px 0 0; color: var(--ice-blue); font: 18px/1.5 pfagora, Georgia, serif; text-align: center; }

.performance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 267px)); align-items: start; justify-content: center; gap: 46px 38px; margin: 48px auto 0; }
.performance-card { min-width: 0; }
.show-card { position: relative; width: 267px; max-width: 100%; margin: 0 auto; text-align: center; font-family: pfagora, Georgia, serif; }
.show-card__media { display: block; text-decoration: none; }
.minAfisha { display: block; width: 267px; max-width: 100%; height: 400px; background-position: center; background-repeat: no-repeat; background-size: cover; }
.show-card__media .minAfisha > span { display: block; width: 100%; height: 100%; transition: background-color .2s ease; }
.show-card__media:hover .minAfisha > span { background: rgba(0,53,87,.18) url("../../images/video.png") center/64px auto no-repeat; }
.show-card .ager { position: absolute; top: 24px; right: -13px; width: 35px; height: 35px; margin: 0; }
.show-card .namespect { margin: 25px 0 10px; color: #1d5a82; font: 600 20px/1.25 proxima-nova, Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.show-card .descspect { color: #434343; font: 14px/1.35 proxima-nova, Arial, sans-serif; }
.show-card .descspect p { margin: 0; }
.feature-grid { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px 18px; }
.feature-grid .innovations { position: relative; float: none; width: 320px; max-width: 100%; height: 400px; margin: 0; background-position: center; background-size: cover; }
.feature-grid .innovations > div { padding: 245px 0 20px; text-align: center; }
.feature-grid .innovations p { margin: 0; padding: 0; color: #fff; font: 15px/1.4 pfagora, Georgia, serif; }

.parallax-moving { display: block; }
.parallax-moving .container { display: block; }
#girls, .girls { max-width: 870px; padding: 90px 0 190px; }
#girls div, .girls > div { padding: 55px 50px 45px; border: 1px solid rgba(255,255,255,.2); color: #fff; font-family: pfagoraregular, Georgia, serif; font-size: 36px; font-weight: 700; line-height: 43px; text-align: left; text-transform: uppercase; }

.site-footer { min-height: 0; padding: 65px 0 30px; background-position: center; background-size: cover; }
.footer-layout { display: grid; grid-template-columns: 240px 540px 300px; gap: 0; align-items: start; }
.footer-government { grid-column: 3; grid-row: 1; width: 140px; text-align: left; }
.footer-government img { width: 72px; }
.footer-government .national-project-logo { width: 140px; margin-top: 12px; }
.footer-government p { margin: 12px 0; line-height: 1.45; }
.footer-government a, .footer-contacts a { color: #1c5d7f; overflow-wrap: anywhere; }
.footer-contacts { grid-column: 2; grid-row: 1; text-align: center; }
.footer-contacts h2 { margin: 0 0 12px; color: #000; font: 600 19px/1.25 proxima-nova, Arial, sans-serif; text-transform: uppercase; }
.footer-contacts h2 small { display: block; margin-top: 5px; color: #000; font-size: 13px; }
.contact-grid { display: grid; grid-template-columns: 1fr; gap: 10px; width: min(100%, 460px); margin: 28px auto 0; }
.contact-grid section { min-width: 0; }
.contact-grid h3 { margin: 0 0 8px; color: var(--ice-coral); font: 600 12px/1.35 proxima-nova, Arial, sans-serif; text-transform: uppercase; letter-spacing: .07em; }
.contact-grid p { margin: 0; color: #1c5d7f; font: 600 15px/1.45 proxima-nova, Arial, sans-serif; }
.footer-materials { margin-top: 42px; padding-top: 28px; border-top: 1px solid rgba(28,93,127,.24); text-align: center; }
.footer-materials__heading { margin: 0 0 24px; color: #003f63; font: 700 28px/1.2 pfdin, Arial, sans-serif; }
.footer-card-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; width: min(100%, 1072px); margin: 0 auto; padding: 0; }
.footer-card { display: block; width: 200px; height: auto; aspect-ratio: 267 / 400; padding: 6px; overflow: hidden; border-top: 3px solid var(--ice-coral); background: #fff; box-shadow: 0 12px 30px rgba(18,66,91,.13); transition: transform .2s ease, box-shadow .2s ease; }
.footer-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(18,66,91,.2); }
.footer-card:focus-visible { outline: 3px solid var(--ice-blue); outline-offset: 4px; }
.footer-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.footer-tail { display: grid; grid-template-columns: 180px minmax(0, 1fr); grid-template-areas: "partner navigation"; align-items: center; gap: 42px; width: min(100%, 849px); margin: 36px auto 4px; padding-top: 26px; border-top: 1px solid rgba(28,93,127,.24); }
.footer-partner { grid-area: partner; width: 180px; margin: 0; padding: 0; text-align: center; }
.footer-partner h2 { margin: 0 0 14px; color: #003f63; font: 700 18px/1.2 pfdin, Arial, sans-serif; }
.footer-partner a { display: inline-block; }
.footer-partner img { display: block; width: 90px; height: auto; margin: 0 auto; }
.footer-bottom { grid-area: navigation; min-width: 0; margin: 0; padding: 0; text-align: left; }
.footer-bottom:only-child { grid-column: 1 / -1; text-align: center; }
.footer-bottom p { margin: 10px 0 0; color: #1c5d7f; font: 14px/1.4 pfdin, Arial, sans-serif; text-transform: uppercase; }
.footer-menu { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.footer-bottom:only-child .footer-menu { justify-content: center; }
.footer-menu a { color: #1c5d7f; }

.page-template-default .site-main,
.page-template-page2 .site-main,
.single .site-main,
.archive .site-main,
.search .site-main,
.blog .site-main { padding-top: 95px; }
.page-content-shell { width: min(100% - 32px, 960px); margin: 0 auto; padding: 30px 0 70px; }
.page-content-shell h1 { color: var(--ice-blue); font: 600 clamp(30px, 5vw, 40px)/1.2 proxima-nova, Arial, sans-serif; }
.page-content-shell .entry-content { font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.page-content-shell .entry-content table { display: block; max-width: 100%; overflow-x: auto; }
.archive-entry { padding: 22px 0; border-bottom: 1px solid #d6e1e7; }
.archive-entry h2 { margin-top: 0; font: 600 26px/1.25 proxima-nova, Arial, sans-serif; }
.archive-entry h2 a { color: var(--ice-blue); }
#newseventdesc, #newseventdesc1 { width: 100%; max-width: 100%; height: auto; padding: 0; overflow-wrap: anywhere; }
#newseventdesc img { height: auto; }

.page-template-page2 .site-main { padding-top: 68px; }
.ice-info-page { min-height: 70vh; padding-bottom: 88px; background: linear-gradient(180deg, #eaf8fd 0, #f7fcfe 360px, #fff 100%); }
.ice-info-page__hero { position: relative; overflow: hidden; padding: 72px 16px 78px; color: #fff; background: linear-gradient(118deg, #003557 0, #07557b 58%, #1682aa 100%); }
.ice-info-page__hero::before { position: absolute; inset: 0; background: url("../../images/bg6.jpg") center 35%/cover no-repeat; content: ""; opacity: .12; }
.ice-info-page__hero::after { position: absolute; top: -110px; right: 8%; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.22); content: ""; transform: rotate(36deg); }
.ice-info-page__hero-inner { position: relative; z-index: 1; width: min(100%, var(--ice-container)); margin: 0 auto; }
.ice-info-page__kicker { margin: 0 0 9px; color: var(--ice-light-blue); font: 17px/1.35 pfagora, Georgia, serif; }
.ice-info-page__hero h1 { max-width: 900px; margin: 0; color: #fff; font: 600 clamp(38px, 5vw, 58px)/1.08 proxima-nova, Arial, sans-serif; letter-spacing: -.02em; }
.ice-info-page__blade { display: block; width: 96px; height: 4px; margin-top: 24px; background: var(--ice-coral); transform: skewX(-36deg); transform-origin: left center; }
.ice-info-page__layout { position: relative; z-index: 2; display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 38px; width: min(calc(100% - 32px), var(--ice-container)); margin: -28px auto 0; align-items: start; }
.ice-info-page__aside { position: sticky; top: 92px; padding: 28px 25px 30px; border-top: 5px solid var(--ice-coral); background: #fff; box-shadow: 0 18px 45px rgba(0,53,87,.13); }
.ice-info-page__aside-icon { display: flex; width: 38px; height: 38px; align-items: center; justify-content: center; margin-bottom: 20px; color: #fff; background: var(--ice-blue); font: italic 700 22px/1 Georgia, serif; }
.ice-info-page__aside h2 { margin: 0 0 12px; color: var(--ice-blue); font: 600 23px/1.2 proxima-nova, Arial, sans-serif; }
.ice-info-page__aside p { margin: 0 0 20px; color: #536b78; font: 15px/1.55 pfagora, Georgia, serif; }
.ice-info-page__phone,
.ice-info-page__email { display: block; color: var(--ice-blue); font: 600 16px/1.4 proxima-nova, Arial, sans-serif; overflow-wrap: anywhere; text-decoration: none; }
.ice-info-page__phone { margin-bottom: 6px; font-size: 19px; }
.ice-info-page__phone:hover,
.ice-info-page__email:hover { color: #0877a3; text-decoration: underline; text-underline-offset: 3px; }
.ice-info-page__content { min-width: 0; padding: 42px 46px 48px; border-top: 5px solid var(--ice-sky); background: #fff; box-shadow: 0 18px 52px rgba(0,53,87,.1); }
.ice-info-page__content .entry-content { color: #30434d; font: 17px/1.68 pfagora, Georgia, serif; overflow-wrap: anywhere; }
.ice-info-page__content .entry-content > :first-child { margin-top: 0; }
.ice-info-page__content .entry-content > :last-child { margin-bottom: 0; }
.ice-info-page__content .entry-content a { color: #006d98; text-decoration: underline; text-underline-offset: 3px; }
.ice-info-page--rules .entry-content > p:first-of-type,
.ice-info-page--accessibility .entry-content > p:first-of-type { margin-bottom: 8px; color: var(--ice-blue); font: 600 24px/1.35 proxima-nova, Arial, sans-serif; }
.ice-info-page--rules .entry-content > p:nth-of-type(2) { margin: 0 0 28px; color: #526873; font-size: 18px; }
.ice-info-page--rules .entry-content > .ice-info-page__rule { position: relative; min-height: 64px; margin: 0 0 12px; padding: 18px 22px 18px 58px; border-left: 3px solid #8bcde5; background: #f4fbfe; }
.ice-info-page--rules .entry-content > .ice-info-page__rule:hover { border-left-color: var(--ice-coral); background: #eff9fd; }
.ice-info-page__rule-number { position: absolute; top: 16px; left: 14px; display: flex; width: 30px; height: 30px; align-items: center; justify-content: center; color: #fff; background: var(--ice-blue); font: 700 14px/1 pfdin, Arial, sans-serif; }
.ice-info-page--accessibility .entry-content > p:not(:first-of-type) { position: relative; margin: 20px 0 0; padding: 24px 28px; border-left: 4px solid var(--ice-sky); color: #294b5d; background: linear-gradient(135deg, #eefaff, #f9fdff); }
.ice-info-page--accessibility .entry-content > p:nth-of-type(2) { border-left-color: var(--ice-coral); background: #fff7f5; }

.document-library { min-height: 60vh; padding: 70px 0 90px; background: linear-gradient(180deg, #eefaff 0, #fff 260px); }
.document-library__inner { width: min(100% - 32px, 980px); }
.document-library__header { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.document-library__eyebrow { margin: 0 0 8px; color: var(--ice-coral); font: 700 13px/1.3 pfdin, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.document-library__header h1 { margin: 0; color: var(--ice-blue); font: 600 clamp(32px, 5vw, 48px)/1.12 proxima-nova, Arial, sans-serif; }
.document-library__intro { margin-top: 18px; color: #496272; font: 16px/1.65 pfagora, Georgia, serif; }
.document-library__groups { display: grid; gap: 22px; }
.document-library__section { padding: 28px 32px 32px; border: 1px solid #d9e9f0; border-top: 4px solid var(--ice-coral); background: #fff; box-shadow: 0 14px 36px rgba(0,53,87,.08); }
.document-library__section h2 { margin: 0 0 18px; color: var(--ice-blue); font: 600 25px/1.25 proxima-nova, Arial, sans-serif; }
.document-library__description { margin: -8px 0 20px; color: #617581; }
.document-library__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 0; padding: 0; list-style: none; }
.document-library__item { min-width: 0; }
.document-library__link { display: grid; grid-template-columns: 52px minmax(0, 1fr) 20px; align-items: center; gap: 13px; width: 100%; min-height: 76px; padding: 12px 14px; border: 1px solid #e0ebf0; border-radius: 0; color: var(--ice-blue); background: #f8fcfe; font: inherit; text-align: left; text-decoration: none; cursor: pointer; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.document-library__link:hover, .document-library__link:focus { border-color: #84bbd5; color: var(--ice-blue); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,53,87,.09); text-decoration: none; }
.document-library__icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 42px; color: #fff; background: var(--ice-blue); font: 700 10px/1 pfdin, Arial, sans-serif; letter-spacing: .04em; }
.document-library__content { min-width: 0; }
.document-library__content strong, .document-library__content span { display: block; overflow-wrap: anywhere; }
.document-library__content strong { font: 600 16px/1.35 proxima-nova, Arial, sans-serif; }
.document-library__content span { margin-top: 4px; color: #667d8a; font: 13px/1.4 Arial, sans-serif; }
.document-library__open { color: var(--ice-coral); font-size: 20px; }
.document-library__empty { padding: 30px; border: 1px solid #d9e9f0; background: #fff; text-align: center; }

.document-viewer[hidden] { display: none !important; }
.document-viewer { position: fixed; inset: 0; z-index: 10020; display: flex; align-items: center; justify-content: center; padding: 24px; }
.document-viewer__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(0,31,54,.88); cursor: pointer; }
.document-viewer__dialog { position: relative; display: flex; width: min(1120px, 100%); height: min(88vh, 900px); flex-direction: column; overflow: hidden; background: #fff; box-shadow: 0 24px 80px rgba(0,20,36,.45); }
.document-viewer__header { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 18px 12px 24px; color: #fff; background: var(--ice-blue); }
.document-viewer__header h2 { min-width: 0; margin: 0; overflow: hidden; color: #fff; font: 600 20px/1.25 proxima-nova, Arial, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.document-viewer__close { flex: 0 0 auto; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(255,255,255,.55); color: #fff; background: transparent; font-size: 30px; line-height: 34px; cursor: pointer; }
.document-viewer__close:hover, .document-viewer__close:focus { color: var(--ice-blue); background: #fff; }
.document-viewer__body { min-height: 0; flex: 1; background: #e8eef2; }
.document-viewer__frame { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.document-viewer__footer { display: flex; min-height: 58px; align-items: center; justify-content: flex-end; padding: 10px 20px; border-top: 1px solid #d8e2e7; background: #fff; }
.document-viewer__download { display: inline-flex; min-height: 38px; align-items: center; padding: 8px 16px; border-left: 4px solid var(--ice-coral); color: #fff; background: var(--ice-blue); font: 600 14px/1.2 proxima-nova, Arial, sans-serif; text-decoration: none; }
.document-viewer__download:hover, .document-viewer__download:focus { color: var(--ice-blue); background: var(--ice-light-blue); text-decoration: none; }
body.document-viewer-open { overflow: hidden; }

@media (max-width: 1199px) {
    #menu .container-fluid { padding-inline: 8px; }
    #menu .navbar-nav > li > a { padding-inline: 9px; font-size: 13px; }
    #menu .ice-primary-menu > li > a::after { right: 9px; left: 9px; }
    #menu .ice-service-menu > li > a { min-width: 48px; margin-left: 8px; padding-inline: 14px; justify-content: center; }
    #menu .ice-service-menu .glyphicon { margin-right: 0; }
    #menu .ice-service-menu .visible-xs-inline { display: none !important; }
    .footer-layout { grid-template-columns: minmax(180px, 1fr) minmax(440px, 2fr) minmax(180px, 1fr); }
    .footer-card-grid { width: min(100%, 666px); }
    .footer-card { width: 206px; }
}

@media (max-width: 991px) {
    body.icetheater-theme.admin-bar #menu { top: 32px; }
    .home-section { padding: 65px 0; }
    .promo-grid { grid-template-columns: repeat(2, minmax(0, 320px)); }
    .performance-grid { grid-template-columns: repeat(2, minmax(0, 267px)); }
    .feature-grid, .footer-card-grid { justify-content: center; }
    .footer-layout { display: flex; flex-direction: column; gap: 35px; }
    .footer-government { order: 2; width: 100%; text-align: center; }
    .footer-contacts { order: 1; width: 100%; }
    .footer-card-grid { width: min(100%, 516px); }
    .footer-card { width: 246px; }
    .parallax-background-custom, .parallax-moving { background-attachment: scroll !important; }
    .ice-info-page__layout { grid-template-columns: 230px minmax(0, 1fr); gap: 24px; }
    .ice-info-page__content { padding: 34px 32px 40px; }
}

@media (max-width: 767px) {
    body.icetheater-theme.admin-bar #menu { top: 46px; }
    .site-main { padding-top: 58px; }
    body.home.icetheater-theme.icetheater-no-hero .site-main { padding-top: 58px; }
    #menu { min-height: 58px; }
    #menu .container-fluid { padding-inline: 12px; }
    #menu .navbar-header { min-height: 58px; }
    #menu .navbar-toggle { width: 44px; height: 44px; margin: 7px 0 7px 0; padding: 10px; border: 1px solid rgba(233,250,255,.45); border-radius: 0; background: rgba(0,34,56,.25); }
    #menu .navbar-toggle:hover,
    #menu .navbar-toggle:focus { border-color: #fff; background: rgba(233,250,255,.14); }
    #menu .navbar-toggle .icon-bar { width: 22px; height: 2px; margin-inline: auto; background: #fff; transition: transform .18s ease, opacity .18s ease; }
    #menu .navbar-toggle:not(.collapsed) .icon-bar:nth-of-type(2) { transform: translateY(6px) rotate(45deg); }
    #menu .navbar-toggle:not(.collapsed) .icon-bar:nth-of-type(3) { opacity: 0; }
    #menu .navbar-toggle:not(.collapsed) .icon-bar:nth-of-type(4) { transform: translateY(-6px) rotate(-45deg); }
    #mobileHeader { display: flex !important; height: 58px; align-items: center; gap: 10px; padding: 9px 0; color: #fff; font: 700 16px/1 pfdin, Arial, sans-serif; letter-spacing: .035em; text-transform: none; text-shadow: 0 1px 1px rgba(0,20,34,.35); }
    #mobileHeader:hover,
    #mobileHeader:focus { color: #fff; }
    .ice-mobile-brand-mark { display: block; width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.1) url("../../images/logoicon.svg") center/24px 24px no-repeat; }
    #menu .navbar-collapse { max-height: calc(100vh - 58px); padding: 0; border: 0; box-shadow: none; background: var(--ice-menu-deep); overflow-y: auto; }
    #ice-main-navigation.in,
    #ice-main-navigation.collapsing { position: fixed; top: 58px; right: 0; bottom: 0; left: 0; display: block; max-height: none; padding: 24px 18px 90px; background: linear-gradient(155deg, #00263f 0%, #075979 72%, #086789 100%); box-shadow: 0 20px 48px rgba(0,20,48,.45); overflow-y: auto; }
    body.admin-bar #ice-main-navigation.in,
    body.admin-bar #ice-main-navigation.collapsing { top: 104px; }
    body.mobile-menu-open { overflow: hidden; }
    #menu .navbar-nav { width: 100%; }
    #menu .navbar-nav > li { margin-bottom: 7px; border: 0; }
    #menu .navbar-nav > li > a { width: 100%; min-height: 58px; padding: 13px 16px; justify-content: flex-start; border-left: 3px solid rgba(143,221,244,.46); background: rgba(255,255,255,.055); font-size: 18px; letter-spacing: .015em; }
    #menu .ice-primary-menu > li > a::after { right: 16px; bottom: 0; left: 16px; height: 2px; background: rgba(143,221,244,.4); transform: scaleX(1); }
    #menu .navbar-nav > li > a:hover,
    #menu .navbar-nav > li > a:focus,
    #menu .ice-primary-menu > li.current-menu-item > a:not([href*="#"]),
    #menu .ice-primary-menu > li.current-menu-ancestor > a { border-left-color: var(--ice-coral); color: #fff; background: rgba(233,250,255,.14); }
    #menu .navbar-right { margin: 0; }
    #menu .ice-service-menu { margin-top: 21px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.22); }
    #menu .ice-service-menu > li > a { min-height: 54px; margin: 0; justify-content: flex-start; border: 1px solid rgba(143,221,244,.58); background: rgba(0,34,56,.3); font-size: 16px; }
    #menu .ice-service-menu .glyphicon { margin-right: 9px; }
    #menu .ice-service-menu .visible-xs-inline { display: inline !important; }
    .home-section { padding: 56px 0; }
    .section-heading { margin-bottom: 30px; }
    .section-heading h1, .section-heading h2 { font-size: clamp(30px, 10vw, 42px) !important; line-height: 1.08 !important; }
    .section-heading p { font-size: 16px; }
    .social-follow { padding: 8px !important; font-size: 16px; line-height: 1.4 !important; }
    .social-follow > span { display: block; margin: 0 0 6px; line-height: 1.4 !important; }
    .promo-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; width: min(100%, 360px); margin: 34px auto 0; }
    .promo-card { min-height: 0; }
    .news-card__media { max-width: none; }
    .news-card__title { font-size: 21px; }
    .performance-grid { grid-template-columns: minmax(0, 1fr); gap: 42px; width: min(100%, 330px); }
    .show-card { width: 100%; }
    .minAfisha { width: 100%; height: auto; aspect-ratio: 267 / 400; }
    .show-card .ager { right: 6px; }
    .hero-section { height: clamp(420px, 118vw, 640px); min-height: 420px; background-position: 50% 22%; background-attachment: scroll !important; }
    .hero-section__video { object-position: 50% 0%; }
    .hero-section--video::after { background: linear-gradient(180deg, rgba(0,32,52,.03) 0%, transparent 42%, rgba(0,30,50,.62) 100%); }
    .hero-brand { right: 76px; bottom: 18px; left: 16px; max-width: none; gap: 11px; align-items: center; }
    .hero-brand__logo { width: clamp(66px, 19vw, 86px); }
    .hero-brand__kicker { margin-bottom: 4px; font-size: clamp(10px, 2.8vw, 13px); line-height: 1.15; letter-spacing: .02em; }
    .hero-brand__title { font-size: clamp(28px, 8.2vw, 40px); line-height: .95; }
    .hero-section__motion { right: 14px; bottom: 14px; width: 44px; height: 44px; }
    .parallax-moving { min-height: 0 !important; padding: 0 16px; background-position: 50% 50% !important; }
    .parallax-moving .container { padding-inline: 0; }
    .parallax-moving .girls { max-width: 100%; padding: 64px 0; }
    .parallax-moving .girls > div { padding: 30px 24px 27px; border-left: 4px solid var(--ice-coral); background: rgba(0,37,66,.55); font-size: clamp(22px, 7vw, 30px); line-height: 1.25; text-shadow: 0 2px 14px rgba(0,20,40,.35); }
    .feature-grid { flex-direction: column; align-items: center; gap: 22px; }
    .feature-grid .innovations { width: min(100%, 340px); height: auto; min-height: 400px; }
    .footer-layout { display: flex; flex-direction: column; gap: 35px; }
    .footer-government { order: 2; width: 100%; text-align: center; }
    .footer-contacts { order: 1; width: 100%; }
    .contact-grid { grid-template-columns: 1fr; }
    .footer-materials { margin-top: 36px; padding-top: 26px; }
    .footer-materials__heading { margin-bottom: 24px; font-size: 25px; }
    .footer-card-grid { width: min(100%, 267px); }
    .footer-card { width: min(267px, 100%); height: auto; aspect-ratio: 267 / 400; }
    .footer-tail { display: flex; flex-direction: column; gap: 24px; margin-top: 32px; padding-top: 24px; text-align: center; }
    .footer-partner { width: auto; }
    .footer-bottom { text-align: center; }
    .footer-menu { justify-content: center; }
    .page-template-default .site-main, .single .site-main { padding-top: 70px; }
    .page-template-page2 .site-main { padding-top: 58px; }
    .ice-info-page { padding-bottom: 58px; }
    .ice-info-page__hero { padding: 52px 20px 62px; }
    .ice-info-page__hero::after { top: -90px; right: -120px; width: 280px; height: 280px; }
    .ice-info-page__kicker { font-size: 15px; }
    .ice-info-page__hero h1 { font-size: clamp(34px, 11vw, 46px); }
    .ice-info-page__layout { display: flex; width: min(calc(100% - 24px), 680px); flex-direction: column; gap: 18px; margin-top: -24px; }
    .ice-info-page__content { order: 1; width: 100%; padding: 28px 20px 32px; }
    .ice-info-page__aside { position: static; order: 2; width: 100%; padding: 24px 22px 26px; }
    .ice-info-page__content .entry-content { font-size: 16px; line-height: 1.62; }
    .ice-info-page--rules .entry-content > p:first-of-type,
    .ice-info-page--accessibility .entry-content > p:first-of-type { font-size: 22px; }
    .ice-info-page--rules .entry-content > p:nth-of-type(2) { font-size: 17px; }
    .ice-info-page--rules .entry-content > .ice-info-page__rule { padding: 16px 16px 16px 51px; }
    .ice-info-page__rule-number { top: 14px; left: 11px; }
    .ice-info-page--accessibility .entry-content > p:not(:first-of-type) { padding: 20px 18px; }
    .document-library { padding: 48px 0 64px; }
    .document-library__header { margin-bottom: 30px; }
    .document-library__section { padding: 22px 18px 24px; }
    .document-library__section h2 { font-size: 22px; }
    .document-library__list { grid-template-columns: 1fr; }
    .document-viewer { padding: 0; }
    .document-viewer__dialog { width: 100%; height: 100%; }
    .document-viewer__header { min-height: 56px; padding: 8px 10px 8px 16px; }
    .document-viewer__header h2 { font-size: 17px; }
    .document-viewer__footer { justify-content: stretch; padding: 8px 10px; }
    .document-viewer__download { width: 100%; justify-content: center; }
    #newseason, .smallnewseason, #newseventdesc1 { float: none; width: 100%; max-width: 100%; height: auto; margin-left: 0; }
    center { max-width: 100%; }
}

@media (max-width: 480px) {
    body.icetheater-theme.admin-bar #menu { top: 46px; }
    .container { width: auto; }
    .news-card__body { padding: 18px 18px 22px; }
    .footer-card-grid { gap: 8px; }
    .footer-bottom p { font-size: 12px; }
    .site-footer { padding-top: 48px; }
    .ice-info-page__hero { padding-inline: 16px; }
    .ice-info-page__layout { width: calc(100% - 16px); }
    .ice-info-page__content { padding-inline: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .hero-section__motion { transition: none !important; }
}
