:root {
    --header-bg-color: #225F41;
    --main-bg-color: #05120D;
    --footer-bg-color: #040806;
    --main-text-color: #FFFFFF;
    --link-text-color: #DC9F54;
    --button-text-color: #FFFFFF;
    --button-bg-color: #DC9F54;
    --button-second-bg-color: #DC9F54;
}

html, body, div, span, object, iframe, figure, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, em, img, small, strike, strong, sub, sup, tt, b, u, i, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td, main, canvas, embed, footer, header, nav, section, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    text-size-adjust: none;
}

html, body {
    margin: 0;
    padding: 0;
}

html {
    box-sizing: border-box;
}

body {
    display: flex;
    flex-direction: column;
    font-family: Noto Sans KR, sans-serif;
    line-height: 1.6;
    color: var(--main-text-color);
}

button {
    font-family: Noto Sans KR, sans-serif;
    cursor: pointer;
    border: none !important;
}

a {
    color: var(--link-text-color);
    transition: all 0.3s ease;
}

a:hover {
    text-decoration: none;
    color: var(--link-text-color);
}

h1, h2, h3, h4 {
    color: var(--main-text-color);
}

h1 {
    font-size: 38px;
    font-weight: 800;
    line-height: 46px;
    margin-bottom: 18px;
    text-align: left;
    letter-spacing: -0.01em;
}
@media screen and (max-width: 992px) {
    h1 {
        font-size: 30px;
        line-height: 42px;
    }
}

h2 {
    font-size: 27px;
    font-weight: 800;
    line-height: 34px;
    margin-bottom: 16px;
}
@media screen and (max-width: 992px) {
    h2 {
        font-size: 30px;
        line-height: 44px;
    }
}

h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    margin-bottom: 12px;
}
@media screen and (max-width: 992px) {
    h3 {
        font-size: 24px;
        line-height: 32px;
    }
}

p {
    font-size: 16px;
    letter-spacing: normal;
    font-weight: 400;
    margin-bottom: 16px;
    line-height: 27px;
}
@media screen and (max-width: 992px) {
    p {
        font-size: 14px;
        line-height: 29px;
    }
}

strong {
    font-weight: 700;
}
table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    white-space: normal;
    display: block;
    overflow-x: auto;
    max-width: 100%;
    border-radius: 14px;
    margin-bottom: 28px;
    background-color: color-mix(in srgb, var(--main-text-color) 4%, var(--main-bg-color));
    box-shadow: 0 8px 24px color-mix(in srgb, black 12%, transparent);
}

table p {
    margin: 0;
}

tbody {
    width: 100%;
    display: table;
}

th {
    background: color-mix(in srgb, var(--button-bg-color) 16%, var(--main-bg-color));
    font-weight: 700;
    text-align: left;
}

th, td {
    border: 1px solid var(--main-text-color);
    padding: 13px 18px;
    box-sizing: border-box;
    border-width: 0;
}

th:first-child {
    border-top-left-radius: 0;
}

th:last-child {
    border-top-right-radius: 0;
}

tr:last-child td:first-child {
    border-bottom-left-radius: 0;
}

tr:last-child td:last-child {
    border-bottom-right-radius: 0;
}

tr:first-child td:first-child {
    border-top-left-radius: 0;
}

tr:first-child td:last-child {
    border-top-right-radius: 0;
}

table::-webkit-scrollbar {
    height: 8px;
}

table::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--button-bg-color) 60%, transparent);
    border-radius: 10px;
}

table::-webkit-scrollbar-track {
    background: transparent;
}

footer, header, nav, section, main {
    display: block;
    position: relative;
}

main {
    flex: 1 0 auto;
    background-color: var(--main-bg-color);
}

section {
    padding: 28px 0;
}

@media screen and (max-width: 768px) {
    section {
        padding: 20px 0;
    }
}

.NormanfilmfestcomContainer {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 28px;
}

@media (max-width: 1200px) {
    .NormanfilmfestcomContainer {
        max-width: 100%;
        padding: 0 15px;
    }
}

img {
    width: 100%;
    height: auto;
    border-radius: 14px;
}


.NormanfilmfestcomRow {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.NormanfilmfestcomCol:first-child {
    width: 820px;

}
.NormanfilmfestcomCol:last-child {
    flex: 0 0 330px;
}
@media (max-width: 1030px) {
    .NormanfilmfestcomRow {
        flex-wrap: wrap;
        justify-content: center;
    }
    .NormanfilmfestcomCol:first-child, .NormanfilmfestcomCol:last-child {
        width: 100%;
        flex: auto;
    }
}

.NormanfilmfestcomJcEnd {
    justify-content: end !important;
}

.NormanfilmfestcomJcCenter {
    justify-content: center;
}

.NormanfilmfestcomBtn {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    line-height: inherit;
    height: auto;
    min-width: 126px;
    padding: 12px 24px;
    border-radius: 10px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    letter-spacing: 0.02em;
}
.NormanfilmfestcomBtn:hover {
    transform: translateY(-2px);
}
.NormanfilmfestcomBtn__wrapper {
    display: flex;
    justify-content: center;
    gap: 20px;
}

@media screen and (max-width: 768px) {
    .NormanfilmfestcomBtn__wrapper {
        gap: 20px;
    }
}
.NormanfilmfestcomBtnPrimary {
    color: var(--button-text-color);
    background-color: var(--button-bg-color);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--button-bg-color) 35%, transparent);
}

.NormanfilmfestcomBtnPrimary:hover {
    color: var(--button-text-color);
    background-color: var(--button-bg-color);
    box-shadow: 0 10px 22px color-mix(in srgb, var(--button-bg-color) 50%, transparent);
}

.NormanfilmfestcomBtnSecondary {
    color: var(--button-text-color);
    background-color: var(--button-second-bg-color);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--button-second-bg-color) 30%, transparent);
}

.NormanfilmfestcomBtnSecondary:hover {
    color: var(--button-text-color);
    background-color: var(--button-second-bg-color);
    box-shadow: 0 10px 22px color-mix(in srgb, var(--button-second-bg-color) 45%, transparent);
}

.NormanfilmfestcomBtnPulse {
    animation: pulse 1.5s infinite;
}

.NormanfilmfestcomBtnUppercase {
    text-transform: uppercase;
}
.NormanfilmfestcomHeader {
    background-color: var(--header-bg-color);
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 8px 28px color-mix(in srgb, black 16%, transparent);
}

.NormanfilmfestcomHeader ul, .NormanfilmfestcomHeader ol, .NormanfilmfestcomHeader li,
.NormanfilmfestcomFooter ul, .NormanfilmfestcomFooter ol, .NormanfilmfestcomFooter li {
    margin: 0;
    padding: 0;
    border: 0;
    list-style-type: none;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    text-size-adjust: none;
}
.NormanfilmfestcomHeader__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.NormanfilmfestcomHeader__innerPrimary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: auto;
}

.NormanfilmfestcomHeader__innerSecond {
    display: flex;
    align-items: center;
    gap: 14px;
}

.NormanfilmfestcomHeader__row {
    flex-direction: row;
    height: 80px;
}

.NormanfilmfestcomHeader__innerSecond .NormanfilmfestcomHeader__row {
    flex-direction: row;
    gap: 10px;
    height: auto;
}

.NormanfilmfestcomHeader__col {
    flex-direction: column;
}

.NormanfilmfestcomHeader__innerSecond.NormanfilmfestcomHeader__col {
    flex-direction: row;
    padding: 10px 0;
}

.NormanfilmfestcomHeader__logo {
    display: flex;
    max-height: 50px;
    height: 100%;
}

.NormanfilmfestcomHeader__logo a {
    text-decoration: none;
    display: flex;
}
.NormanfilmfestcomHeader__logo img {
    object-fit: contain;
    border-radius: initial;
    max-width: 132px;
    max-height: 40px;
}

.NormanfilmfestcomHeader__nav {
    display: flex;
}
.NormanfilmfestcomHeader__nav ul {
    display: flex;
    gap: 6px;
    align-items: center;
    list-style-type: none;
    flex-direction: column;
    text-align: center;
    width: 100%;
    height: auto;
    padding: 20px 0;
}

.NormanfilmfestcomHeader__nav ul li {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 2px 0;
}

.NormanfilmfestcomHeader__nav ul li a {
    color: var(--link-text-color);
    text-decoration: none;
    padding: 10px 18px;
    border-radius: 10px;
    transition: background-color 0.2s ease;
}

.NormanfilmfestcomHeader__nav ul li a:hover {
    opacity: 1;
    background-color: color-mix(in srgb, var(--link-text-color) 14%, transparent);
}

.NormanfilmfestcomSection img  {
    max-width: 1109px;
    display: block;
    margin: auto;
}

.NormanfilmfestcomSectionMain .NormanfilmfestcomContainer > :not(:last-child) {
    margin-bottom: 22px;
}

.NormanfilmfestcomBtn__wrapperMain {
    max-width: 300px;
    width: 100%;
    margin: auto;
}

.NormanfilmfestcomBtn__wrapperMain .NormanfilmfestcomBtnPrimary {
    padding: 16px 38px;
    border-radius: 10px;
    position: relative;
    font-size: 17px;
}

.NormanfilmfestcomLogoBurgerWrapper {
    display: flex;
    align-items: center;
    gap: 22px;
}

#NormanfilmfestcomNavMenu {
    position: absolute;
    display: flex;
    top: 80px;
    left: 0;
    width: 25%;
    height: calc(100vh - 120px);
    padding: 24px;
    background-color: var(--header-bg-color);
    flex-direction: column;
    align-items: center;
    justify-content: flex-start !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
    border-radius: 0 14px 14px 0;
    box-shadow: 14px 14px 40px color-mix(in srgb, black 25%, transparent);
}

.NormanfilmfestcomHeader .NormanfilmfestcomBtn {
    padding: 10px 20px;
    font-size: 13px;
}

.NormanfilmfestcomHeader__innerBlock {
    margin-top: auto;
    text-align: center;
    color: var(--main-text-color);
    padding-top: 16px;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: color-mix(in srgb, var(--main-text-color) 12%, transparent);
    font-size: 12px;
    line-height: 18px;
    opacity: 0.75;
}

#NormanfilmfestcomNavMenu.NormanfilmfestcomActive {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease;
}

.NormanfilmfestcomBurgerWrapper, #NormanfilmfestcomHeader_btn {
    flex: 0 0 200px;
    display: flex;
}

.NormanfilmfestcomBurgerWrapper {
    order: -1;
}

.NormanfilmfestcomHeader__logo {
    flex: 1;
    text-align: center;
    justify-content: center;
}

.NormanfilmfestcomBurgerMenu {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 42px;
    height: 30px;
    cursor: pointer;
    order: -1;
    transition: opacity 0.3s ease;
}

.NormanfilmfestcomBurgerMenu:hover {
    opacity: 0.7;
}

.NormanfilmfestcomBurgerMenu span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: var(--main-text-color);
    border-radius: 3px;
    transition: all 0.3s ease-in-out;
}

.NormanfilmfestcomBurgerMenu span:nth-child(1) {
    width: 80%;
}
.NormanfilmfestcomBurgerMenu span:nth-child(3) {
    width: 60%;
}

.NormanfilmfestcomBurgerMenu.NormanfilmfestcomActive {
    height: 22px;
}

.NormanfilmfestcomBurgerMenu.NormanfilmfestcomActive span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
    width: 100%;
}

.NormanfilmfestcomBurgerMenu.NormanfilmfestcomActive span:nth-child(2) {
    opacity: 0;
}

.NormanfilmfestcomBurgerMenu.NormanfilmfestcomActive span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
    width: 100%;
}

.NormanfilmfestcomSectionContent h1:first-of-type,
.NormanfilmfestcomSectionContent h2:first-of-type,
.NormanfilmfestcomSectionContent h3:first-of-type,
.NormanfilmfestcomSectionContent h4:first-of-type {
    margin-top: 0;
    margin-bottom: 30px;
}

.NormanfilmfestcomSectionContent h1:not(:first-of-type),
.NormanfilmfestcomSectionContent h2:not(:first-of-type),
.NormanfilmfestcomSectionContent h3:not(:first-of-type),
.NormanfilmfestcomSectionContent h4:not(:first-of-type) {
    margin: 30px 0;
}

.NormanfilmfestcomSectionContent .NormanfilmfestcomUpdatePost {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 32px 0 8px;
}

.NormanfilmfestcomSectionContent .NormanfilmfestcomUpdatePost p {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 12px 20px;
    border-radius: 14px;
    background-color: var(--header-bg-color);
    font-size: 14px;
    box-shadow: 0 6px 18px color-mix(in srgb, black 12%, transparent);
}

footer {
    flex-shrink: 0;
    background-color: var(--footer-bg-color);
    color: var(--main-text-color);
}

.NormanfilmfestcomFooter__wrapper {
    display: flex;
    flex-direction: column;
    justify-self: center;
    max-width: none;
    width: 100%;
    padding: 36px 0 24px;
    gap: 22px;
}

.NormanfilmfestcomFooter__row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
}
.NormanfilmfestcomFooter__col {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.NormanfilmfestcomFooter__col:first-child {
    flex: 2;
}

.NormanfilmfestcomFooter__col:last-child {
    flex: 1;
}

.NormanfilmfestcomFooter__logo {
    max-width: 132px;
}
.NormanfilmfestcomFooter__logo img {
    border-radius: 0;
}

.NormanfilmfestcomFooter__navList li {
    flex: none;
}

.NormanfilmfestcomFooter__navList li:nth-child(odd) {
    flex: none;
    text-align: center;
}

.NormanfilmfestcomFooter__nav, .NormanfilmfestcomFooter__icons, .NormanfilmfestcomFooter__inner {
    display: flex;
    justify-content: center;
}

.NormanfilmfestcomFooter__iconsLink img {
    border-radius: initial;
}

.NormanfilmfestcomFooter__iconsSvg [fill="white"] {
    fill: var(--main-text-color);
}

.NormanfilmfestcomFooter__iconsSvg [stroke="white"] {
    stroke: var(--main-text-color);
}

.NormanfilmfestcomFooter__navList {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
    justify-content: center;
}

.NormanfilmfestcomFooter__navLink {
    text-decoration: none;
    color: var(--link-text-color);
    font-size: 14px;
    display: inline-block;
    padding: 7px 14px;
    border-radius: 10px;
    background-color: color-mix(in srgb, var(--main-text-color) 7%, transparent);
    transition: background-color 0.2s ease;
}
.NormanfilmfestcomFooter__navLink:hover {
    color: var(--link-text-color);
    opacity: 1;
    background-color: color-mix(in srgb, var(--link-text-color) 18%, transparent);
}

.NormanfilmfestcomFooter__icons {
    justify-content: flex-start;
    max-width: 330px;
    height: fit-content;
    gap: 16px 18px;
    flex-wrap: wrap;
    padding: 16px 18px;
    border-radius: 14px;
    background-color: color-mix(in srgb, var(--main-text-color) 5%, transparent);
}

.NormanfilmfestcomFooter__inner p {
    text-align: center;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4em;
    opacity: 0.8;
}

.NormanfilmfestcomBreadcrumbs {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 1em 0;
    font-size: 13px;
    gap: 6px;
}

.NormanfilmfestcomBreadcrumbs li {
    display: flex;
    align-items: center;
}

.NormanfilmfestcomBreadcrumbs li a {
    text-decoration: none;
    transition: color 0.2s ease-in-out;
    padding: 4px 12px;
    border-radius: 10px;
    background-color: color-mix(in srgb, var(--main-text-color) 8%, transparent);
}

.NormanfilmfestcomBreadcrumbs li::after {
    content: "›";
    margin: 0 0 0 6px;
    opacity: 0.5;
}

.NormanfilmfestcomBreadcrumbs li:last-child::after {
    content: "";
    margin: 0;
}

.NormanfilmfestcomContent__row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
}

.NormanfilmfestcomContent__col {
    display: flex;
    flex-direction: column;
    gap: 22px;
    flex: 1 1;
}

.NormanfilmfestcomContent__col.NormanfilmfestcomContent__colImg {
    max-width: 550px;
}

.NormanfilmfestcomBtn__wrapperLeft {
    margin: inherit;
    justify-content: flex-start;
}

.NormanfilmfestcomContent__inner {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    max-width: 100%;
    box-shadow: 0 14px 36px color-mix(in srgb, black 22%, transparent);
}

.NormanfilmfestcomContent__innerBg {
    position: absolute;
    border-radius: 14px;
    inset: 0;
    z-index: 0;
}

.NormanfilmfestcomContent__innerBg img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.NormanfilmfestcomContent__innerOverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(from var(--header-bg-color) r g b / 0.96) 0%, rgb(from var(--header-bg-color) r g b / 0.6) 100%);
    z-index: 1;
}

.NormanfilmfestcomContent__innerBlock {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    max-width: none;
    position: relative;
    z-index: 2;
    padding: 64px 44px;
}

.NormanfilmfestcomContent__innerBlock p {
    margin-bottom: 30px;
}

.NormanfilmfestcomContent__inner:has(p:nth-of-type(2)) .NormanfilmfestcomContent__innerBg img {
    transform: scale(1.2);
}

.NormanfilmfestcomContent__inner:has(p:nth-of-type(3)) .NormanfilmfestcomContent__innerBg img {
    transform: scale(1.4);
}

.NormanfilmfestcomWelcomeBonus {
    display: flex;
    position: fixed;
    bottom: 22px;
    left: 50%;
    padding: 12px 12px 12px 14px;
    width: 560px;
    height: auto;
    border-radius: 14px;
    z-index: 10;
    box-shadow: 0 18px 44px color-mix(in srgb, black 32%, transparent);
    background: var(--header-bg-color);
    transition: opacity 0.3s ease;
    transform: translateX(-50%);
}

.NormanfilmfestcomWelcomeBonus.NormanfilmfestcomHidden {
    opacity: 0;
    pointer-events: none;
}

.NormanfilmfestcomWelcomeBonus__wrapper {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
}

.NormanfilmfestcomWelcomeBonus__img {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    padding: 6px;
    border-radius: 10px;
    background-color: color-mix(in srgb, var(--button-bg-color) 18%, transparent);
}

.NormanfilmfestcomWelcomeBonus__img img {
    height: 100%;
    object-fit: contain;
    border-radius: 0;
}

.NormanfilmfestcomWelcomeBonus__bonus {
    max-width: none;
    width: 100%;
    flex: 1;
}

.NormanfilmfestcomWelcomeBonus__bonus p {
    text-align: left;
    margin: 0;
    font-weight: 700;
    font-size: 16px;
    line-height: 22px;
    vertical-align: middle;

}

.NormanfilmfestcomBtnBonus {
    display: flex;
    flex-direction: row;
    gap: 5px;
    padding: 12px 22px;
    border-radius: 10px;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 var(--button-bg-color);
    }
    50% {
        transform: scale(1.1);
        box-shadow: 0 0 15px 8px var(--button-bg-color);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 var(--button-bg-color);
    }
}

.NormanfilmfestcomShake {
    display: inline-block;
    animation: shake 0.6s;
    animation-timing-function: ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    15% { transform: translateX(-3px); }
    30% { transform: translateX(3px); }
    45% { transform: translateX(-3px); }
    60% { transform: translateX(3px); }
    75% { transform: translateX(-3px); }
    90% { transform: translateX(3px); }
}

.NormanfilmfestcomShake {
    animation: shake 0.6s ease-in-out;
}

.NormanfilmfestcomErrorPage {
    align-content: center;
    padding: 56px 0;
}
.NormanfilmfestcomErrorPage__wrapper {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 640px;
    margin: 0 auto;
    padding: 48px 32px;
    border-radius: 14px;
    background-color: var(--header-bg-color);
    box-shadow: 0 14px 36px color-mix(in srgb, black 20%, transparent);
}

.NormanfilmfestcomErrorPage .NormanfilmfestcomErrorPage__wrapper h1, .NormanfilmfestcomErrorPage .NormanfilmfestcomErrorPage__wrapper p {
    margin-bottom: 0;
}

@media screen and (max-width: 1280px) {
    #NormanfilmfestcomNavMenu {
        width: 245px;
    }
}

@media screen and (max-width: 992px) {
    .NormanfilmfestcomContent__wrapper {
        flex-direction: column;
    }

    .NormanfilmfestcomContent__col.NormanfilmfestcomContent__colImg {
        max-width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .NormanfilmfestcomBurgerWrapper, #NormanfilmfestcomHeader_btn {
        flex: none;
    }

    .NormanfilmfestcomHeader__logo {
        flex: none;
    }


    .NormanfilmfestcomWelcomeBonus {
        left: 15px;
        bottom: 10px;
        width: 184px;
        height: 222px;
        padding: 20px;
    }

    .NormanfilmfestcomWelcomeBonus__wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .NormanfilmfestcomFooter__row {
        flex-direction: column;
        gap: 20px;
    }

    .NormanfilmfestcomFooter__row {
        justify-content: center;
    }

    .NormanfilmfestcomFooter__navList {
        text-align: center;
        gap: 10px 40px;
    }

    .NormanfilmfestcomFooter__icons {
        justify-content: center;
        gap: 10px 20px;
    }

    .NormanfilmfestcomBreadcrumbs {
        font-size: 0.75em;
    }

}

@media screen and (max-width: 600px) {
    #NormanfilmfestcomNavMenu {
        width: 100%;
        top: 120px;
        padding: 0;
    }

    .NormanfilmfestcomHeader__row {
        flex-direction: column;
        height: 100px;
        padding: 10px 0;
        gap: 0;
    }

    .NormanfilmfestcomLogoBurgerWrapper {
        width: 100%;
        justify-content: space-between;
    }

    .NormanfilmfestcomBurgerMenu {
        order: 1;
        align-items: self-end;
        width: 30px;
        height: 22px;
    }

    .NormanfilmfestcomBurgerMenuCenter {
        position: absolute;
        right: 15px;
        top: 22px;
    }

    .NormanfilmfestcomHeader__innerBlock {
        padding: 20px 25px;
    }

    .NormanfilmfestcomContent__innerBlock {
        padding: 12px 10px;
    }

    .NormanfilmfestcomContent__innerBlock p {
        margin-bottom: 15px;
    }

    .NormanfilmfestcomContent__innerBlock h1 {
        margin-bottom: 10px;
    }

    .NormanfilmfestcomContent__innerBlock .NormanfilmfestcomBtn__wrapperMain .NormanfilmfestcomBtnPrimary {
        padding: 12px 28px;
    }

    .NormanfilmfestcomContent__inner, .NormanfilmfestcomContent__innerBg, .NormanfilmfestcomContent__innerBg img {
        border-radius: 5px;
    }
}

/* Random Images Block */
.NormanfilmfestcomShowcase__wrapper {
    display: grid;
    flex-wrap: wrap;
    gap: 20px;
    margin: 24px 0 32px;
    justify-content: space-between;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.NormanfilmfestcomShowcase__block {
    display: flex;
    flex-direction: column;
    width: auto;
    background-color: var(--header-bg-color);
    border-radius: 14px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 22px color-mix(in srgb, black 16%, transparent);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.NormanfilmfestcomShowcase__image {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    /* 3:2 - the ratio of the art itself; see wg-2a1 */
    aspect-ratio: 4 / 3;
}

.NormanfilmfestcomShowcase__image img {
    max-width: 100%;
    display: initial;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}


.NormanfilmfestcomShowcase__imageOverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: color-mix(in srgb, var(--main-bg-color) 55%, transparent);
    border-radius: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
}

.NormanfilmfestcomShowcase__image:hover .NormanfilmfestcomShowcase__imageOverlay {
    opacity: 1;
    visibility: visible;
}

.NormanfilmfestcomShowcase__image .NormanfilmfestcomBtn__wrapper {
    z-index: 2;
}

.NormanfilmfestcomShowcase__desc {
    display: flex;
    flex-direction: column;
    padding: 44px 14px 12px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to top, var(--header-bg-color) 0%, color-mix(in srgb, var(--header-bg-color) 88%, transparent) 45%, transparent 100%);
}
.NormanfilmfestcomShowcase__desc p, .NormanfilmfestcomShowcase__desc span {
    margin: 0;
}

.NormanfilmfestcomShowcase__desc p {
    font-size: 15px;
    font-weight: 700;
    line-height: 19px;
}

.NormanfilmfestcomShowcase__desc span {
    font-size: 12px;
}

@media screen and (max-width: 1210px) {
    .NormanfilmfestcomShowcase__block {
        width: calc(20% - 20px);
    }
    .NormanfilmfestcomShowcase__image {
        width: auto;
    }
}

@media screen and (max-width: 992px) {

    .NormanfilmfestcomShowcase__block {
        width: calc(33.333% - 20px);
    }

    .NormanfilmfestcomShowcase__image {
    }

    .NormanfilmfestcomShowcase__desc {
        padding: 10px;
    }

    .NormanfilmfestcomShowcase__desc p {
        font-size: 12px;
    }

    .NormanfilmfestcomShowcase__desc span {
        font-size: 10px;
    }
}

@media (max-width: 600px) {
    .NormanfilmfestcomShowcase__wrapper {
        justify-content: center;
    }
    .NormanfilmfestcomShowcase__block {
        width: calc(50% - 20px);
    }
    .NormanfilmfestcomShowcase__image {
        width: auto;
    }
}

/* TOC Styles */
.NormanfilmfestcomToc {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    padding: 0 22px 0 46px;
    margin: 0;
    display: block;
    column-count: 2;
    column-gap: 28px;
}

.NormanfilmfestcomToc li {
    break-inside: avoid;
    margin-bottom: 4px;
}

.NormanfilmfestcomToc li::marker {
    color: var(--button-bg-color);
    font-weight: 700;
}

.NormanfilmfestcomTocWrapper {
    max-width: none;
    margin: 28px 0;
    border-radius: 14px;
    background-color: var(--header-bg-color);
    box-shadow: 0 8px 24px color-mix(in srgb, black 14%, transparent);
}

.NormanfilmfestcomTocTitle {
    display: flex;
    align-items: center;
    padding: 18px 22px;
    gap: 12px;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
}

.NormanfilmfestcomToc.NormanfilmfestcomIsOpen {
    margin: inherit;
    margin-top: 0;
    max-height: 2000px !important;
    padding: 0 22px 20px 46px;
}

.NormanfilmfestcomTocArrow {
    width: 22px;
    height: 22px;
    order: -1;
    display: inline-block;
    background-color: var(--button-bg-color);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 21'><path d='M5.55054 7.1665L14.4489 7.1665C14.7429 7.1665 14.9777 7.26655 15.1534 7.46665C15.3291 7.66592 15.417 7.89882 15.417 8.16534C15.417 8.24899 15.4058 8.33632 15.3834 8.42735C15.3619 8.51756 15.3287 8.60407 15.284 8.6869L10.8114 15.8743C10.7076 16.0269 10.5886 16.1417 10.4544 16.2188C10.321 16.295 10.1697 16.3332 10.0003 16.3332C9.83099 16.3332 9.67963 16.295 9.54624 16.2188C9.41285 16.1425 9.29384 16.0277 9.1892 15.8743L4.71665 8.6869C4.67272 8.60407 4.63957 8.51674 4.61721 8.42489C4.59484 8.33304 4.58366 8.24571 4.58366 8.16288C4.58366 7.89554 4.67152 7.66264 4.84724 7.46419C5.02297 7.26573 5.2574 7.1665 5.55054 7.1665Z'/></svg>") no-repeat center/contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    transition: transform 0.3s ease;
}

.NormanfilmfestcomTocArrow.NormanfilmfestcomRotated {
    transform: rotate(180deg);
    margin-bottom: -4px;
}

@media (max-width: 500px) {
    .NormanfilmfestcomToc {
        column-count: 1;
    }
}

/* Variation 2 */
.NormanfilmfestcomSectionContent h2::after {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin-top: 12px;
    border-radius: 4px;
    background-color: var(--button-bg-color);
}
.NormanfilmfestcomSectionContent h2:not(:first-of-type) {
    margin-top: 44px;
}
.NormanfilmfestcomSectionContent h3:not(:first-of-type) {
    margin-top: 28px;
}
.NormanfilmfestcomSectionContent ul li::marker, .NormanfilmfestcomSectionContent ol li::marker {
    color: var(--button-bg-color);
    font-weight: 700;
}
.NormanfilmfestcomSectionContent li {
    margin-bottom: 8px;
}
tbody tr:first-child td {
    font-weight: 700;
    background-color: color-mix(in srgb, var(--button-bg-color) 16%, var(--main-bg-color));
}
tbody tr + tr td {
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: color-mix(in srgb, var(--main-text-color) 10%, transparent);
}
.NormanfilmfestcomToc li a {
    display: block;
    padding: 6px 12px;
    border-radius: 10px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}
.NormanfilmfestcomToc li a:hover {
    background-color: color-mix(in srgb, var(--button-bg-color) 14%, transparent);
}
.NormanfilmfestcomSectionContent .NormanfilmfestcomUpdatePost p::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 10px;
    border-radius: 50%;
    vertical-align: middle;
    background-color: var(--button-bg-color);
}
.NormanfilmfestcomHeader .NormanfilmfestcomBtnSecondary {
    color: var(--main-text-color);
    background-color: color-mix(in srgb, var(--main-text-color) 10%, transparent);
    box-shadow: none;
}
.NormanfilmfestcomHeader #NormanfilmfestcomHeader_btn {
    gap: 10px;
}
.NormanfilmfestcomSectionMain {
    padding-top: 36px;
}
.NormanfilmfestcomSectionMain img {
    box-shadow: 0 12px 32px color-mix(in srgb, black 20%, transparent);
}
.NormanfilmfestcomSectionMain .NormanfilmfestcomBtn__wrapperMain {
    max-width: none;
    width: fit-content;
    margin-left: auto;
    margin-right: 0;
}
.NormanfilmfestcomBtn__wrapperMain .NormanfilmfestcomBtnPrimary::after {
    content: "\2192";
    display: inline-block;
    margin-left: 12px;
    animation: gen3v2-cta-nudge 1.6s ease-in-out infinite;
}
.NormanfilmfestcomContent__innerBlock h1, .NormanfilmfestcomContent__innerBlock p {
    max-width: 620px;
}
.NormanfilmfestcomShowcasePreContent h2 {
    margin-bottom: 20px;
}
.NormanfilmfestcomShowcase__block:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px color-mix(in srgb, black 24%, transparent);
}
.NormanfilmfestcomShowcase__image .NormanfilmfestcomBtn, .NormanfilmfestcomWelcomeBonus .NormanfilmfestcomBtnBonus {
    color: var(--button-text-color);
    background-color: var(--button-bg-color);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--button-bg-color) 35%, transparent);
}
.NormanfilmfestcomShowcase__image .NormanfilmfestcomBtn {
    min-width: 0;
    padding: 10px 20px;
    font-size: 13px;
}
.NormanfilmfestcomShowcase__desc > span {
    margin-top: 2px;
    font-size: 12px;
    color: color-mix(in srgb, var(--main-text-color) 70%, transparent);
}
.NormanfilmfestcomFooter__wrapper .NormanfilmfestcomFooter__inner {
    padding-top: 18px;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: color-mix(in srgb, var(--main-text-color) 12%, transparent);
}
.NormanfilmfestcomErrorPage .NormanfilmfestcomErrorPage__wrapper h1 {
    text-align: center;
    font-size: 96px;
    line-height: 1;
    color: var(--button-bg-color);
}
.NormanfilmfestcomErrorPage__wrapper > p {
    font-size: 17px;
    opacity: 0.85;
}
/* Variation 2 — responsive */
@media screen and (max-width: 992px) {
    h1 {
        font-size: 30px;
        line-height: 38px;
    }
    h2 {
        font-size: 23px;
        line-height: 30px;
    }
    .NormanfilmfestcomShowcase__block {
        width: auto;
    }
    .NormanfilmfestcomShowcase__image {
        width: 100%;
    }
    .NormanfilmfestcomContent__innerBlock {
        padding: 44px 28px;
    }
}
@media screen and (max-width: 1210px) {
    .NormanfilmfestcomShowcase__block {
        width: auto;
    }
    .NormanfilmfestcomShowcase__image {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .NormanfilmfestcomContainer {
        padding: 0 18px;
    }
    .NormanfilmfestcomWelcomeBonus {
        left: auto;
        right: 12px;
        bottom: 12px;
        transform: none;
        width: 190px;
        height: auto;
        padding: 16px 14px;
    }
    .NormanfilmfestcomWelcomeBonus__wrapper {
        flex-direction: column;
        gap: 12px;
    }
    .NormanfilmfestcomWelcomeBonus__bonus p {
        text-align: center;
        font-size: 15px;
    }
    .NormanfilmfestcomFooter__icons {
        justify-content: center;
    }
}
@media screen and (max-width: 600px) {
    .NormanfilmfestcomShowcase__wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .NormanfilmfestcomShowcase__block {
        width: auto;
    }
    .NormanfilmfestcomShowcase__image {
        width: 100%;
    }
    .NormanfilmfestcomShowcase__desc {
        padding: 28px 10px 9px;
    }
    .NormanfilmfestcomShowcase__desc p {
        font-size: 13px;
        line-height: 16px;
    }
    .NormanfilmfestcomToc {
        column-count: 1;
    }
    #NormanfilmfestcomNavMenu {
        border-radius: 0 0 14px 14px;
    }
    .NormanfilmfestcomContent__inner, .NormanfilmfestcomContent__innerBg {
        border-radius: 14px;
    }
    .NormanfilmfestcomContent__innerBg img {
        border-radius: 0;
    }
    .NormanfilmfestcomContent__innerBlock {
        padding: 28px 18px;
    }
    .NormanfilmfestcomErrorPage .NormanfilmfestcomErrorPage__wrapper h1 {
        font-size: 64px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .NormanfilmfestcomBtn__wrapperMain .NormanfilmfestcomBtnPrimary::after {
        animation: none;
    }
    .NormanfilmfestcomBtn, .NormanfilmfestcomShowcase__block {
        transition: none;
    }
    .NormanfilmfestcomBtn:hover, .NormanfilmfestcomShowcase__block:hover {
        transform: none;
    }
}
/* Variation 2 — keyframes */
@keyframes gen3v2-cta-nudge {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(6px);
    }
}