@charset 'UTF-8';

:root {
    --ms-click: 250ms;
    --ms-visual: 625ms;
    
    --color-background: var(--color-prefers-background);
    --color-text: var(--color-prefers-text);
    --color-primary: var(--color-prefers-primary);
    --color-secondary: var(--color-prefers-secondary);
    
    --color-default-dark-background: 240, 5%, 10%;
    --color-default-dark-text: 0, 0%, 90%;
    --color-default-dark-primary: 210, 80%, 50%;
    --color-default-dark-secondary: 0, 0%, 70%;
    --color-default-light-background: 0, 0%, 100%;
    --color-default-light-text: 0, 0%, 0%;
    --color-default-light-primary: 210, 80%, 40%;
    --color-default-light-secondary: 0, 0%, 30%;
}

@media (prefers-color-scheme: dark) { :root {
    --color-background: var(--color-dark-background, var(--color-prefers-background, var(--color-default-dark-background)));
    --color-text: var(--color-dark-text, var(--color-prefers-text, var(--color-default-dark-text)));
    --color-primary: var(--color-dark-primary, var(--color-prefers-primary, var(--color-default-dark-primary)));
    --color-secondary: var(--color-dark-secondary, var(--color-prefers-secondary, var(--color-default-dark-secondary)));
}}

@media (prefers-color-scheme: light) { :root {
    --color-primary: var(--color-light-primary, var(--color-prefers-primary, var(--color-default-light-primary)));
    --color-secondary: var(--color-light-secondary, var(--color-prefers-secondary, var(--color-default-light-secondary)));
    --color-background: var(--color-light-background, var(--color-prefers-background, var(--color-default-light-background)));
    --color-text: var(--color-light-text, var(--color-prefers-text, var(--color-default-light-text)));
}}

::selection {
    background: hsla(var(--color-primary), .25);
    color: hsl(var(--color-text));
}

*, *::before, *::after {
    box-sizing: border-box;
    outline: none;
    font: inherit;
}

html, body,
blockquote, pre, p,
h1, h2, h3, h4, h5, h6,
dl, dd, ol, ul, th, td,
fieldset, legend, select, option,
input, textarea, button,
figure, hr {
    margin: 0;
    padding: 0;
}

html {
    ---PlexSans: 'IBM Plex Sans';
    ---NotoSans: 'Noto Sans';
    cursor: default;
    direction: ltr;
    font-family: var(--font-family, var(---NotoSans)), system-ui, sans-serif;
    font-size: 1rem;
    font-smooth: always;
    line-height: 1;
    quotes: '“' '”';
    scroll-behavior: smooth;
    text-rendering: optimizeLegibility;
    text-size-adjust: 100%;
    word-break: normal;
    word-wrap: break-word;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
}

html[lang^='ar'] {
    ---PlexSans: 'IBM Plex Sans Arabic';
    ---NotoSans: 'Noto Sans Arabic';
    direction: rtl;
}

html[lang='cs'],
html[lang='de'],
html[lang='hu'],
html[lang='pl'] {
    quotes: '„' '“';
}

html[lang^='es'],
html[lang='no'] {
    quotes: '«' '»';
}

html[lang='fr'],
html[lang='ru'] {
    quotes: '« ' ' »';
}

html[lang='hi'] {
    ---PlexSans: 'IBM Plex Sans Devanagari';
}

html[lang='he'] {
    ---PlexSans: 'IBM Plex Sans Hebrew';
    ---NotoSans: 'Noto Sans	Hebrew';
}

html[lang='hy'] {
    ---NotoSans: 'Noto Sans Armenian', 'Noto Sans';
}

html[lang='ja'],
html[lang='zh'] {
    quotes: '「' '」';
}

html[lang='ja'] {
    ---NotoSans: 'Noto Sans CJK JP', 'Noto Sans JP', 'Source Han Sans';
}

html[lang='ka'] {
    ---NotoSans: 'Noto Sans Georgian', 'Noto Sans';
}

html[lang='km'] {
    ---NotoSans: 'Noto Sans Khmer', 'Noto Sans';
}

html[lang='ko'] {
    ---PlexSans: 'IBM Plex Sans KR';
    ---NotoSans: 'Noto Sans CJK KR', 'Noto Sans KR', 'Source Han Sans KR';
    word-break: keep-all;
}

html[lang='lo'] {
    ---NotoSans: 'Noto Sans Lao', 'Noto Sans';
}

html[lang='my'] {
    ---NotoSans: 'Noto Sans Myanmar', 'Noto Sans';
}

html[lang='si'] {
    ---NotoSans: 'Noto Sans Sinhala', 'Noto Sans';
}

html[lang='ta'] {
    ---NotoSans: 'Noto Sans Tamil', 'Noto Sans';
}

html[lang='th'] {
    ---PlexSans: 'IBM Plex Sans Thai';
    ---NotoSans: 'Noto Sans Thai';
}

html[lang^='zh'] {
    ---NotoSans: 'Noto Sans CJK TC', 'Noto Sans TC', 'Source Han Sans TW';
}

body {
    background: hsl(var(--color-background));
    color: hsl(var(--color-text));
}

a {
    color: hsl(var(--color-primary));
}

a:hover,
a:focus {
    color: hsl(var(--color-text));
}

a:focus {
    outline: hsla(var(--color-text), .75) dotted 1px;
    outline-offset: -1px;
}

b,
strong {
    font-weight: bold;
}

fieldset,
hr,
iframe {
    border: hidden;
}

img {
    border-style: hidden;
    max-width: 100%;
}

main {
    display: block;
}

ol,
ul {
    list-style-position: inside;
}

small,
sup,
sub {
    font-size: 75%;
}

sup {
    vertical-align: text-top;
}

sub {
    vertical-align: text-bottom;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

textarea {
    overflow: auto;
}

[hidden],
.hidden {
    display: none;
    opacity: 0;
}

main > *:not(._responsive) > *,
._content-container {
    max-width: var(--content-size, unset);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

._aria {
    border: 0;
    clip: rect(0 0 0 0);
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
}

._aria.focusable {
    background: hsla(var(--color-text), .95);
    color: hsl(var(--color-background));
}

._aria.focusable::before,
._aria.focusable::after {
    display: block;
    font-size: .5rem;
    opacity: .75;
}

._aria.focusable::after {
    content: var(--value);
    line-height: .5rem;
    margin-top: 1rem;
}

._aria.focusable:focus {
    clip: initial;
    font-size: 1.5rem;
    height: initial;
    left: 50%;
    padding: 1.5rem;
    position: fixed;
    text-align: center;
    text-decoration: none;
    top: 2rem;
    transform: translate(-50%);
    width: fit-content;
    z-index: 100;
}

@supports (backdrop-filter: blur()) or (-webkit-backdrop-filter: blur()) { ._aria.focusable:focus {
    backdrop-filter: saturate(150%) blur(1rem);
    background: hsla(var(--color-text), .5);
    -webkit-backdrop-filter: saturate(150%) blur(1rem);
}}

noscript::before {
    content: var(--value);
}

._aria.focusable { --value: 'Press return key to continue.'; }
._aria.focusable:lang(ar) { --value: 'اضغط على مفتاح return للمتابعة.'; }
._aria.focusable:lang(cs) { --value: 'Pokračujte stisknutím klávesy return.'; }
._aria.focusable:lang(de) { --value: 'Drücken Sie die Eingabetaste, um fortzufahren.'; }
._aria.focusable:lang(es) { --value: 'Presione la tecla return para continuar.'; }
._aria.focusable:lang(fr) { --value: 'Appuyez sur la touche return pour continuer.';}
._aria.focusable:lang(he) { --value: 'לחץ על מקש return כדי להמשיך.';}
._aria.focusable:lang(hu) { --value: 'A folytatáshoz nyomja meg az return gombot.'; }
._aria.focusable:lang(hy) { --value: 'Սեղմեք return ստեղնը ՝ շարունակելու համար:'; }
._aria.focusable:lang(ja) { --value: 'returnキーを押して続行します。'; }
._aria.focusable:lang(ka) { --value: 'დააჭირეთ return ღილაკს გასაგრძელებლად.'; }
._aria.focusable:lang(km) { --value: 'ចុចគ្រាប់ចុចបញ្ចូល (return) ដើម្បីបន្ត។'; }
._aria.focusable:lang(ko) { --value: 'return 키를 눌러 이동하십시오.'; }
._aria.focusable:lang(lo) { --value: 'ກົດປຸ່ມ return ເພື່ອສືບຕໍ່.'; }
._aria.focusable:lang(my) { --value: 'ဆက်လက်ဆောင်ရွက်ရန် return ခလုတ်ကိုနှိပ်ပါ။'; }
._aria.focusable:lang(no) { --value: 'Trykk return for å fortsette.'; }
._aria.focusable:lang(pl) { --value: 'Naciśnij klawisz return, aby kontynuować.'; }
._aria.focusable:lang(ru) { --value: 'Нажмите клавишу return, чтобы продолжить.'; }
._aria.focusable:lang(si) { --value: 'ඉදිරියට යාමට return යතුර ඔබන්න.'; }
._aria.focusable:lang(ta) { --value: 'தொடர return விசையை அழுத்தவும்.'; }
._aria.focusable:lang(th) { --value: 'กดปุ่ม return เพื่อดำเนินการต่อ'; }
._aria.focusable:lang(zh) { --value: '按return鍵繼續。'; }

noscript { --value: 'Requires JavaScript to be enabled.'; }
noscript:lang(ar) { --value: 'يتطلب تفعيل جافا سكريبت.'; }
noscript:lang(cs) { --value: 'Vyžaduje povolení JavaScriptu.'; }
noscript:lang(de) { --value: 'Erfordert aktiviertes JavaScript.'; }
noscript:lang(es) { --value: 'Requiere que JavaScript esté habilitado.'; }
noscript:lang(fr) { --value: 'Nécessite l\'activation de JavaScript.';}
noscript:lang(he) { --value: 'לחץ על דורש הפעלת JavaScript.';}
noscript:lang(hu) { --value: 'A JavaScript engedélyezése szükséges.'; }
noscript:lang(hy) { --value: 'Պահանջում է JavaScript- ը միացնելու համար:'; }
noscript:lang(ja) { --value: 'JavaScriptを有効にする必要があります。'; }
noscript:lang(ka) { --value: 'მოითხოვს JavaScript- ის ჩართვას.'; }
noscript:lang(km) { --value: 'ទាមទារឱ្យបើកដំណើរការ JavaScript ។'; }
noscript:lang(ko) { --value: 'JavaScript를 활성화해야 합니다.'; }
noscript:lang(lo) { --value: 'ຕ້ອງການໃຫ້ JavaScript ເປີດໃຊ້ງານ.'; }
noscript:lang(my) { --value: 'ဖွင့်ရန် JavaScript လိုအပ်သည်။'; }
noscript:lang(no) { --value: 'Krever at JavaScript er aktivert.'; }
noscript:lang(pl) { --value: 'Wymaga włączonej obsługi JavaScript.'; }
noscript:lang(ru) { --value: 'Требуется включить JavaScript.'; }
noscript:lang(si) { --value: 'ජාවාස්ක්‍රිප්ට් සක්‍රීය කිරීම අවශ්‍යයි.'; }
noscript:lang(ta) { --value: 'JavaScript ஐ இயக்க வேண்டும்.'; }
noscript:lang(th) { --value: 'ต้องเปิดใช้งาน JavaScript'; }
noscript:lang(zh) { --value: '需要启用JavaScript。'; }

@media (print) {
    :root {
        --color-background: 0, 0%, 100%;
        --color-text: 0, 0%, 0%;
        --color-dark-background: 0, 0%, 100%;
        --color-dark-text: 0, 0%, 0%;
        --color-light-background: 0, 0%, 100%;
        --color-light-text: 0, 0%, 0%;
    }

    html {
        color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    body > *:not(main),
    main > *:not(section) {
        display: none !important;
    }

    section {
        border-style: hidden !important;
        page-break-inside: avoid;
    }
}

/***/

:root {
    --font-family: 'Montserrat', 'Pretendard GOV';
    --color-background: 223, 58%, 14%;
    --color-text: 0, 100%, 100%;
    --content-size: 90rem;
    --color-primary: 203, 100%, 39%;
    --color-secondary: 223, 42%, 43%;
    --color-tertiary: 203, 100%, 65%;
    --ms-click: 300ms;

    --padding: 4rem;
    --size-headline1: 4rem;
    --size-headline2: 3rem;
    --size-headline3: 2rem;
    --size-headline4: 1.5rem;
    --size-headline-para: 1.25rem;
    
}

@keyframes header-scroll-anim {
    25% {
        opacity: 1;
        transform: translate(-100%, -125%);
    }
    90% {
        opacity: 0;
        transform: translate(-100%, 25%);
    }
    91% {
        opacity: 0;
        transform: translate(-100%, -125%);
    }
    100% {
        opacity: 1;
    }    
}
@keyframes opacity {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
body {
    font-weight: 500;
    letter-spacing: -.03125rem;
    overflow-x: hidden;
}

body.transition.in {
    animation: opacity .6s ease;
}

body.transition.out {
    animation: opacity .6s ease reverse;
}

input[name^="nav-"] {
    display: none;
}


/* Header */

header {
    background: url('/_common/images/header_background.jpeg') center no-repeat;
    background-size: cover;
    padding: 0 calc(var(--padding) + env(safe-area-inset-right)) 0 calc(var(--padding) + env(safe-area-inset-left));
    position: relative;
}
header img {
    max-width: 20%;
}
header h1 {
    font-size: var(--size-headline1);
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: var(--padding);
}
header h1 span {
    color:hsla(var(--color-primary), 1)
}
header dt {
    font-size: var(--size-headline4);
    margin-bottom: calc(var(--padding) / 4);
}
header dd {
    font-size: var(--size-headline2);
}
header dd span {
    font-size: var(--size-headline-para);
    opacity: .75;
    vertical-align: super;
}
header dd + dd {
    color: hsl(var(--color-primary));
    font-size: var(--size-headline3);
    margin-top: calc(var(--padding) / 4);
}

header ._content-container {
    align-items: center;
    display: flex;
    flex-flow: row-reverse;
    gap: var(--padding);
    justify-content: center;
    min-height: 100vh;
    padding: calc((var(--padding) * 2) + var(--size-headline-para)) 0;
}

header .headline {
    border-right:solid .0625rem hsl(0, 100%, 100%);
    font-weight: bold;
    padding-right: var(--padding);
}
header .headline > div {
    display: flex;
    flex-flow: row;
    gap: var(--padding);
}
header .headline p {
    margin-top: var(--size-headline-para);
    opacity: .75;
}

header .language,
header .external {
    display: flex;
    gap: var(--size-headline-para);
    position: absolute;
    top: 0;
}
header .language {
    padding: var(--padding) calc(var(--padding) + env(safe-area-inset-right)) 0 0;
    right: 0;
}
header .external {
    padding: var(--padding) 0 0 calc(var(--padding) + env(safe-area-inset-left));
    left: 0;
}
header .external [href$="rGJf7Rh6Gj"] {
    display: block;
    height: 1.25rem;
    width: 1.5rem;
    opacity: .5;
    background: url('/_common/images/logo_discord.svg') no-repeat;
    background-size: contain;
    transition: opacity var(--ms-click);
}
header .language a {
    color: hsl(0, 100%, 100%);
    display: block;
    font-size: var(--size-headline-para);
    opacity: .5;
    text-decoration: none;
    transition: opacity var(--ms-click);
}
header a.active,
header a:hover {
    opacity: 1 !important;
}
header .language a[href*="ko"]::after {
    content: 'KOR';
    
}
header .language a[href*="en"]::after {
    content: 'ENG';
}

header [aria-hidden] {
    bottom: var(--padding);
    font-size: var(--size-headline-para);
    padding-left: calc(var(--size-headline-para) + 1.25rem);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
header [aria-hidden] p {
    position: relative;
    width: 100%;
    white-space: nowrap;
}
header [aria-hidden] p::before {
    border: solid .125rem hsl(var(--color-text));
    border-radius: var(--size-headline1);
    content: '';
    display: block;
    height: 1.875rem;
    position: absolute;
    left: calc(var(--size-headline-para) * -1);
    top: 50%;
    transform: translate(-100%, -50%);
    width: 1.25rem;
}
header [aria-hidden] p::after {
    animation: header-scroll-anim 3s ease infinite;
    background-color: hsl(var(--color-text));
    border-radius: var(--size-headline1);
    content: '';
    display: block;
    height: .375rem;
    opacity: 1;
    position: absolute;
    left: calc((var(--size-headline-para) * -1) - .4375rem);
    top: 50%;
    transform: translate(-100%, -125%);
    width: .375rem;
}



/* Main */

section {
    padding: calc(var(--padding) * 2) calc(var(--padding) + env(safe-area-inset-right)) calc(var(--padding) * 2) calc(var(--padding) + env(safe-area-inset-left));
}
section > *:first-child,
input ~ nav + div > div > *:first-child {
    margin-top: 0 !important;
}
section > *:last-child,
input ~ nav + div > div > *:last-child {
    margin-bottom: 0 !important;
}



/* Section Hero */

#sec-hero {
    background: center no-repeat;
    background-attachment: fixed;
    background-image: linear-gradient(hsla(var(--color-background), .9), hsla(var(--color-background), .9)) ,url('/_common/images/hero_background.jpg');
    background-size: cover;
}
#sec-hero > div,
#sec-contact > div,
/*#c-conference .info > div:last-child,*/
#sec-boards nav + div > div > * {
    align-items: center;
    display: flex;
    flex-flow: column;
    gap: var(--padding);
    margin-bottom: calc(var(--padding) * 2);
    margin-top: calc(var(--padding) * 2);
}
#sec-hero h2,
#sec-boards h2,
#sec-contact h2 {
    display: block;
    font-size: var(--size-headline2);
    font-weight: bold;
    padding-bottom: var(--size-headline-para);
    position: relative;
    text-align: center;
}
#sec-hero h2::after,
#sec-boards h2::after,
#sec-contact h2::after {
    background-color: hsl(var(--color-primary));
    bottom: .125rem;
    content: '';
    display: block;
    height: .125rem;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: calc(var(--padding) * 2);
}
#sec-hero h2 + p {
    font-size: var(--size-headline-para);
    line-height: 1.5;
    max-width: 48rem;
    text-align: justify;
}
#sec-hero h3,
#sec-contact h3 {
    font-size: var(--size-headline3);
    font-weight: bold;
}
#sec-hero dl {
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}
#sec-hero dt {
    font-size: var(--size-headline3);
    font-weight: bold;
    padding: 0 var(--size-headline-para);
}
#sec-hero dt:lang(en) {
    font-size: var(--size-headline-para);
}
#sec-hero dd {
    font-size: var(--size-headline-para);
    line-height: 1.25;
    margin-top: calc(var(--size-headline-para) / 2);
    padding: 0 calc(var(--size-headline-para) / 2);
}
#sec-hero picture {
    backdrop-filter: blur(var(--size-headline-para));
    mask: no-repeat center;
    mask-size: contain;
    mask-image: url('/_common/images/prov_mask.svg');
    text-align: center;
    -webkit-backdrop-filter: blur(var(--size-headline-para));
    -webkit-mask: no-repeat center;
    -webkit-mask-size: contain;
    -webkit-mask-image: url('/_common/images/prov_mask.svg');
}
#sec-hero picture img {
    display: block;
    margin: 0 auto;
    width: min(100%, 48rem);
}

#sec-hero .sponsors {
    position: relative;
    top: calc(var(--padding) * -1);
    gap: 0;

}
#sec-hero .sponsors div {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
    column-gap: 1.25rem;
}
#sec-hero .sponsors div:first-of-type {
    row-gap: 1rem;
    column-gap: 2rem;
    margin-bottom: 1rem;
}
#sec-hero .sponsors::before {
    content: '';
    backdrop-filter: blur(var(--size-headline-para));
    background-color: hsl(var(--color-secondary), .1);
    display: block;
    top: calc(var(--padding) * -1);
    bottom: calc(var(--padding) * -1);
    left: 50%;
    transform: translateX(-50vw);
    width: 100vw;
    position: absolute;
    z-index: 1;
    -webkit-backdrop-filter: blur(var(--size-headline-para));
}
#sec-hero .sponsors img {
    height: 100%;
    max-height: 3rem;
    position: relative;
    z-index: 2;
}
#sec-hero .sponsors img[src*="corp_5"],
#sec-hero .sponsors img[src*="corp_6"] {
    max-height: 2.5rem;
}

#sec-hero .programs {
    display: flex;
    flex-flow: row;
    flex-grow: 1;
    gap: calc(var(--padding) / 2);
    width: 100%;
}
#sec-hero .programs div {
    backdrop-filter: blur(var(--size-headline-para));
    background-color: hsla(var(--color-background), .25);
    border: solid 2px hsl(var(--color-text));
    border-radius: 100%;
    flex: 1;
    overflow: hidden;
    position: relative;
    text-align: center;
    -webkit-backdrop-filter: blur(var(--size-headline-para));
}
#sec-hero .programs span {
    font-size: .75em;
    line-height: 1;
}
#sec-hero .programs div::before {
    content: '';
    display: block;
    padding-bottom: 100%;
}



/* Section Contents */
#sec-contents {
    background: center no-repeat;
    background-attachment: fixed;
    background-image: linear-gradient(hsla(var(--color-background), .9), hsla(var(--color-background), .9)) ,url('/_common/images/contents_background.jpg');
    background-size: cover;
}
#sec-contents h2 {
    display: block;
    font-size: var(--size-headline2);
    font-weight: bold;
    line-height: 1.25;
    position: relative;
}
#sec-contents h2::after {
    background-color: hsl(var(--color-primary));
    left: calc((var(--size-headline3) / -2));
    content: '';
    display: block;
    width: .125rem;
    height: calc(100% - .5rem);
    position: absolute;
    top: .25rem;
}
#sec-contents h2 + p {
    font-size: var(--size-headline-para);
    line-height: 1.5;
    margin-top: var(--size-headline-para);
    max-width: 48rem;
    text-align: justify;
}
#sec-contents h3 {
    text-align: center;
}
#sec-contents h3,
#sec-contents .award + div dd:nth-child(2) {
    font-size: var(--size-headline3);
    font-weight: bold;
}
#sec-contents h5,
#sec-contents .award + div dt,
#c-conference .info > div:first-child ul,
#c-awards p + ul {
    font-family: 'Pretendard GOV';
    font-size: var(--size-headline4);
    letter-spacing: 0;
    line-height: 1.5;
}
#sec-contents h5:not(:last-child) {
    margin-bottom: var(--size-headline4);
}
#sec-contents h5 + ul {
    margin-top: calc(var(--size-headline4) / -2)
}
#sec-contents a + h5,
#sec-contents p + h5,
#sec-contents ul + h5 {
        margin-top: var(--size-headline4);
}
#sec-contents h5 + p {
    line-height: 1.5;
}
#sec-contents ul {
    line-height: 1.75;
}
#sec-contents h5 ~ p + ul {
    margin-top: .25rem;
}
#sec-contents h5 time {
    display: block;
    line-height: 1.25;
}
#sec-contents .award + div dl {
    display: flex;
    gap: var(--size-headline-para);
    flex-flow: column;
    flex: 1;
    justify-content: space-between;
}
#sec-contents .award + div h4 + div {
    display: flex;
}
#sec-contents .award + div dl:not(:last-child) {
    border-right: solid .0625rem hsla(var(--color-text), .25);
    margin-right: var(--size-headline2);
    padding-right: var(--size-headline2);
}
#c-conference .info,
#c-contest > div:nth-child(2) {
    display: flex;
    gap: var(--padding);
    row-gap: calc(var(--padding) * 2);
}
#c-conference .info > div,
#c-contest > div:nth-child(2) > div {
    align-items: center;
    display: flex;
    flex: 1;
    flex-flow: column;
    gap: calc(var(--padding) / 2);
}

#c-contest > div:nth-child(3),
#c-contest > div:nth-child(4) {
    align-items: center;
    display: flex;
    flex-flow: column;
    gap: calc(var(--padding) / 2);
}/*
#c-contest > div:nth-child(4) h4 {
    font-size: var(--size-headline4);
    font-weight: bold;
    margin-bottom: calc(var(--size-headline-para) / 2);
} 
#c-contest > div:nth-child(4) ul {
    line-height: 1.5;
    margin-top: var(--size-headline-para);
}
#c-contest > div:nth-child(4) li:not(:last-child) {
    margin-bottom: calc(var(--size-headline-para) / 2);
}*/
.btn,
#c-apply-how a,
#sec-contact a,
#sec-boards h2 + a,
input[type="button"] {
    background-color: hsl(var(--color-text));
    border-radius: var(--size-headline1);
    color: hsl(var(--color-background));
    display: inline-block;
    font-weight: bold;
    margin-top: var(--size-headline3);
    padding: calc(var(--size-headline3) / 2) var(--size-headline2);
    text-decoration: none;
    text-align: center;
    font-size: 1rem;
}
.btn:focus,
#c-apply-how a:focus,
#sec-contact a:focus,
#sec-boards h2 + a:focus,
input[type="button"]:focus {
    outline-color: hsl(var(--color-background));
}
.btn:hover,
.btn:focus {
    color: hsl(var(--color-background));
}

#c-contest input ~ nav.local + div {
    background-color: hsla(var(--color-secondary), .3);
    width: 100%;
}
#c-contest input ~ nav.local.award + div {
    background-color: hsla(var(--color-tertiary), .3);
    max-width: 100%;
}
#c-contest input ~ nav.local.operation + div {
    background-color: hsla(var(--color-tertiary), .3);
    width: inherit;
}
#c-conference .info .btn {
    margin-top: initial;
}
#c-conference .info > div:first-child {
    align-items: flex-start;
    position: sticky;
    top: var(--padding);
    height: fit-content;
}
#c-conference .info > div:first-child h3 {
    align-self: center;
}
#c-conference .info > div:last-child ul {
    list-style: none;
    align-items: center;
    display: flex;
    flex-flow: column;
    width: 100%;
    gap: calc(var(--size-headline-para) / 2);
}
#c-conference .info > div:last-child li {
    background-color: hsla(var(--color-secondary), .25);
    padding: var(--size-headline3) !important;
    position: relative;
    width: 100%;
    line-height: 1.25;
}
#c-conference .info > div:last-child li time {
    font-weight: bold;
    font-size: var(--size-headline-para);
    float: right;
    opacity: .75;
}
#c-conference .info > div:last-child li h4 {
    font-weight: bold;
    font-size: var(--size-headline4);
    font-family: 'Pretendard GOV';
}
#c-conference .info > div:last-child li p {
    border-left: solid .25rem hsl(var(--color-secondary));
    padding-left: calc(var(--size-headline-para) / 2);
    margin-top: calc(var(--size-headline-para) / 2);
}

#c-awards p + ul {
    margin-top: var(--padding);
}
#c-conference .info > div:first-child li,
#c-awards p + ul li {
    display: flex;
    font-weight: bold;
    list-style: none;
    margin-bottom: var(--size-headline-para);
}
#c-conference .info > div:first-child ul span,
#c-awards p + ul span {
    opacity: .5;
    margin-right: var(--size-headline-para);
    white-space: nowrap;
}
#c-awards div:last-child {
    display: flex;
    flex-flow: column;
    gap: var(--padding);
}
#c-awards picture {
    text-align: center;
}
#c-awards picture + p {
    display: none;
}
#c-awards object {
    max-width: 100%;
    border-radius: 17px;
    backdrop-filter: blur(var(--size-headline-para));
    -webkit-backdrop-filter: blur(var(--size-headline-para));
}
#c-operation-benefits img {
    max-width: 10rem;
}



/* Section Contact */

#sec-contact div {
    display: flex;
    gap: var(--padding);
    width: 100%;
    justify-content: center;
}
#sec-contact dl:first-child {
    background-color:hsla(var(--color-primary), .75);
}
#sec-contact dl:last-child {
    background-color:hsla(var(--color-secondary), 1);
}
#sec-contact dt {
    font-weight: bold;
    font-size: var(--size-headline4);
}
#sec-contact dd:first-of-type {
    display: flex;
    font-size: var(--size-headline2);
    flex-flow: column;
    margin: var(--size-headline-para) 0 0;
}
#sec-contact dd span {
    font-size: var(--size-headline-para);
}



/* Section boards */

#sec-article {
    background: center no-repeat;
    background-attachment: fixed;
    background-image: linear-gradient(hsla(var(--color-background), .9), hsla(var(--color-background), .9)), url('/_common/images/boards_background.jpg');    
    background-size: cover;
    min-height: 100vh;
    --content-size: 64rem;
}
#sec-article > div:first-child {
    text-align: center;
}
#sec-article > div:first-child a:not([onclick]) {
    margin-top: calc(var(--padding) * -1);
    display: inline-block;
    margin-bottom: var(--padding);
}
#sec-article > div a > img {
    max-height: calc(var(--size-headline2) * 2);
}
#sec-article h1 {
    font-size: var(--size-headline3);
    font-weight: bold;
    line-height: 1.5;
    margin-top: calc(var(--size-headline-para) / 4);
}
#sec-article time {
    display: block;
    opacity: .5;
}
#sec-article > h1 {
    font-size: var(--size-headline1);
    line-height: 1;
}
/*#sec-article > div:nth-of-type(2) {
    padding-top: var(--padding);
    border-top: solid .0625rem hsla(var(--color-text), .25);
}*/
#sec-article > div {
    margin: var(--padding) auto;
}
#sec-article article {
    font-size: var(--size-headline-para);
    padding: var(--padding);
    background: hsl(var(--color-background), .5);
    border: solid .0625rem hsl(var(--color-text), .25);
    border-radius: .25rem;
}
#sec-article article p {
    line-height: 1.614;
    cursor: initial;
}
#sec-article article img {
    border-radius: .25rem;
}
#sec-article article p[style*="blank"] {
    margin-left: inherit !important;
    margin-right: inherit !important;
}
#sec-article article p:has(o\:p),
#sec-article article #hwpEditorBoardContent,
#sec-article article p:last-child > span[lang="EN-US"] {
    display: none;
}
#sec-article article p:has(o\:p) + p {
    margin-top: 1.5rem;
}
#sec-article article a:has(+ a),
#sec-article article a[rel*="noreferrer"] {
    display: none;
}
#sec-article article a {
    color: hsl(var(--color-primary)) !important;
    text-decoration: underline !important;
}
#sec-article article + div {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: calc(var(--padding) / 2);
}
#sec-article article + div a {
    background-color: hsl(var(--color-secondary));
    color: hsl(var(--color-text));
    display: block;
    border: solid 1px hsl(var(--color-text), .1);
    border-left: solid .25rem;
    border-radius: .125rem;
    padding: .5rem 1rem;
    text-decoration: none;
}
#sec-article article + div:has(a:empty),
#sec-article article + div a:empty {
    display: none;
}


/* Section boards */

#sec-boards {
    background: center no-repeat;
    background-attachment: fixed;
    background-image: linear-gradient(hsla(var(--color-background), .9), hsla(var(--color-background), .9)) ,url('/_common/images/boards_background.jpg');
    background-size: cover;
}
#sec-boards ul {
    display: flex;
    flex-flow: column;
    list-style: none;
    max-width: 48rem;
    width: 100%;
}
#sec-boards li {
    display: flex;
}
#sec-boards li > * {
    border-bottom: solid .0625rem hsla(var(--color-text), .25);
}
#sec-boards li:first-child > * {
    border-bottom: solid .125rem hsl(var(--color-text));
}
#sec-boards li a:first-child,
#sec-boards li span:first-child {
    flex: 1;
    color: hsl(var(--color-text));
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#sec-boards li time {
    padding-left: calc(var(--size-headline-para) / 2);
}
#sec-boards li * {
    padding: calc(var(--size-headline3) / 2) 0;
}



/* Navigation System */

input ~ nav.global {
    display: flex;
    gap: var(--size-headline-para);
    align-items: center;
    left: calc(var(--padding) * -1);
    margin-bottom: calc(var(--padding) * 2);
    min-width: calc(100% + var(--padding) * 2);
    overflow: hidden;
    overflow-x: auto;
    position: relative;
    right: calc(var(--padding) * -1);
}
input ~ nav.global + div > *,
input ~ nav.local + div > * {
    display: none;
}
input ~ nav.global + div > div > * {
    margin: calc(var(--padding) * 2) 0;
}
input ~ nav.global::before,
input ~ nav.global::after {
    background-color: hsla(var(--color-text), .25);
    content: '';
    flex: 1;
    height: .125rem;
    min-width: var(--padding);
}
input ~ nav.global::after {
    transform: rotate(180deg);
}
input ~ nav.global label {
    cursor: pointer;
    font-size: var(--size-headline3);
    font-weight: bold;
    opacity: .5;
    transition: opacity var(--ms-click);
    white-space: nowrap;
}
input ~ nav.global label:hover,
input ~ nav.global label:focus {
    opacity: .75;
}
input:nth-child(1):checked ~ nav.global label:nth-child(1),
input:nth-child(2):checked ~ nav.global label:nth-child(2),
input:nth-child(3):checked ~ nav.global label:nth-child(3),
input:nth-child(4):checked ~ nav.global label:nth-child(4),
input:nth-child(5):checked ~ nav.global label:nth-child(5),
input:nth-child(6):checked ~ nav.global label:nth-child(6) {
    opacity: 1;
}

input ~ nav.local {
    background-color: hsl(var(--color-background));
    border-radius: var(--size-headline1);
    display: flex;
    filter: contrast(1.05);
    overflow: hidden;
    overflow-x: auto;
    max-width: 100%;
}
input ~ nav.local label {
    align-items: center;
    border-radius: var(--size-headline1);
    color: hsla(var(--color-text), .5);
    cursor: pointer;
    display: flex;
    font-weight: bold;
    padding: calc(var(--padding) / 4) calc(var(--size-headline1) / 2);
    transition-property: background, color;
    transition-duration: var(--ms-click);
    text-align: center;
}
input ~ nav.local label:lang(en) {
    padding: calc(var(--padding) / 4) calc(var(--size-headline1) / 4);
}
input:nth-child(2):checked ~ nav.local label:nth-child(1),
input:nth-child(3):checked ~ nav.local label:nth-child(2),
input:nth-child(4):checked ~ nav.local label:nth-child(3),
input:nth-child(5):checked ~ nav.local label:nth-child(4),
input:nth-child(6):checked ~ nav.local label:nth-child(5),
input:nth-child(7):checked ~ nav.local label:nth-child(6) {
    background-color: hsl(var(--color-text));
    color: hsl(var(--color-background));
    opacity: 1;
}
input ~ nav.local label:hover,
input ~ nav.local label:focus {
    color: hsla(var(--color-text), .75);
}
input ~ nav.local label:focus {
    background-color: hsla(var(--color-text), .1);
}
#c-conference .info > div:last-child li,
#sec-contact dl,
input ~ nav.local + div {
    backdrop-filter: blur(var(--size-headline-para));
    border-radius: var(--size-headline-para);
    padding: var(--size-headline2);
    -webkit-backdrop-filter: blur(var(--size-headline-para));
}


/* component visible logic */
#nav-c-contest:checked ~ nav + div #c-contest,
#nav-c-conference:checked ~ nav + div #c-conference,
#nav-c-awards:checked ~ nav + div #c-awards,
#nav-c-sch-stage:checked ~ nav + div #c-sch-stage,
#nav-c-sch-final:checked ~ nav + div #c-sch-final,
#nav-c-sch-award:checked ~ nav + div #c-sch-award,
#nav-c-apply-eligibility:checked ~ nav + div #c-apply-eligibility,
#nav-c-apply-how:checked ~ nav + div #c-apply-how,
#nav-c-apply-deadline:checked ~ nav + div #c-apply-deadline,
#nav-c-award-adult:checked ~ nav + div #c-award-adult,
#nav-c-award-youth:checked ~ nav + div #c-award-youth,
#nav-c-operation-eligibility:checked ~ nav + div #c-operation-eligibility,
#nav-c-operation-question:checked ~ nav + div #c-operation-question,
#nav-c-operation-competition:checked ~ nav + div #c-operation-competition,
#nav-c-operation-benefits:checked ~ nav + div #c-operation-benefits,
#nav-c-operation-accommodation:checked ~ nav + div #c-operation-accommodation,
#nav-b-notice:checked ~ nav + div #b-notice,
#nav-b-ref:checked ~ nav + div #b-ref,
#nav-b-legacy:checked ~ nav + div #b-legacy {
    display: block;
}



/***/



@media (max-width: 1280px) {
    :root {
        --padding: 4rem;
        --size-headline1: 4rem;
        --size-headline2: 2rem;
        --size-headline3: 1.75rem;
        --size-headline4: 1.5rem;
        --size-headline-para: 1.25rem;
    }
    #sec-hero .programs {
        --size-headline3: 1.5rem;
        --size-headline-para: 1rem;
    }
}

@media (max-width: 1080px) {
    :root {
        --padding: 2rem;
        --size-headline1: 3rem;
        --size-headline2: 1.75rem;
        --size-headline3: 1.375rem;
        --size-headline4: 1.25rem;
        --size-headline-para: 1rem;
    }
    #sec-hero .programs {
        --size-headline3: 1rem;
        --size-headline-para: .8rem;
    }
    #c-contest > div:nth-child(2):lang(en) {
        flex-flow: column;
        flex: initial;
    }
    input ~ nav.local label:lang(en) {
        padding: calc(var(--padding) / 4) calc(var(--size-headline1) / 2);
    }
}

@media (max-width: 768px) {
    :root {
        --size-headline1: 2rem;
    }
    header ._content-container {
        flex-flow: column;
    }
    header img {
        max-width: 100%;
        width: 25rem;
    }
    header .headline {
        width: 100%;
        max-width: 24rem;
        border: hidden;
    }
    header .headline > div {
        flex-flow: column;
    }
    #sec-hero dt:lang(en) {
        font-size: var(--size-headline4);
    }
    
    #sec-hero .programs {
        flex-flow: column;
        max-width: 33vw;
        min-width: 12rem;
        --size-headline-para: 1rem;
    }

    #sec-hero picture {
        mask-image: url('/_common/images/prov_mask_mobile.svg');
        -webkit-mask-image: url('/_common/images/prov_mask_mobile.svg');
    }

    #sec-contents .award + div,
    #sec-contents .award + div h4 + div {
        flex-flow: column;
        width: 100%;
    }
    #sec-contents .award + div dl:not(:last-child) {
        border: hidden;
        border-bottom: solid .0625rem hsla(var(--color-text), .25);
        margin: 0;
        margin-bottom: var(--padding);
        padding: 0;
        padding-bottom: var(--padding);
    }
    #c-contest > div:nth-child(2),
    #c-conference .info {
        flex-flow: column;
    }

    #c-awards picture {
        overflow: auto;
        width: 100vw;
        margin-left: calc(var(--padding) * -1);
    }
    #c-awards picture + p {
        display: block;
        margin-top: calc(var(--padding) * -1 + var(--size-headline-para));
    }
    #c-awards object {
        min-width: 44rem;
        margin: 0 var(--padding);
        width: 100%;
    }
    #sec-contact div {
        flex-flow: column;
    }
    input ~ nav.local label {
        white-space: nowrap;
    }
    #c-conference .info > div:first-child {
        position: static;
    }
}

@media (max-width: 480px) {
    :root {
        --padding: 1.5rem;
        --size-headline1: 1.875rem;
        --size-headline2: 1.5rem;
        --size-headline3: 1.25rem;
        --size-headline4: 1.125rem;
    }
    header [aria-hidden] {
        display: none;
    }
    header [aria-hidden] p::before {
        border-radius: .25rem;
    }
    header [aria-hidden] p::after {
        rotate: 180deg;
        top: 0%;
        left: calc((var(--size-headline-para) * -1.75) - .4375rem)
    }
    #sec-hero .sponsors img {
        max-height: 2rem !important;
    }
}
    