@font-face {
    font-family: "carter";
    src: url("carter-one.woff2") format('woff2');
}
@font-face {
    font-family: "red-rose";
    src: url("red-rose.woff2") format('woff2');
}
@font-face {
    font-family: "zalando";
    src: url("zalando.woff2") format('woff2');
}
@font-face {
    font-family: "libre";
    src: url("libre.woff2") format('woff2');
}
@font-face {
    font-family: "tenor";
    src: url("tenorsans.woff") format('woff');
}
@font-face {
    font-family: "anta";
    src: url("anta.woff2") format('woff2');
}
@font-face {
    font-family: "cinzel";
    src: url("cinzel.woff2") format('woff2');
}
@font-face {
    font-family: "russo-one";
    src: url("russo-one.woff") format('woff');
}
@font-face {
    font-family: "karu";
    font-display: swap;
    src: url("karu.woff2") format('woff2');
}
@font-face {
    font-family: "karu";
    font-display: swap;
    font-weight: bold;
    src: url("karu-b.woff2") format('woff2');
}
@font-face {
    font-family: "karu";
    font-display: swap;
    font-style: italic;
    font-weight: bold;
    src: url("karu-bi.woff2") format('woff2');
}
@font-face {
    font-family: "karu";
    font-display: swap;
    font-style: italic;
    src: url("karu-i.woff2") format('woff2');
}
body {
    font-family: 'karu', Arial, Helvetica, sans-serif;
    font-size: 1.2rem;
    overscroll-behavior-y: contain;
    --bg1: rgb(29, 39, 51);
    --bg2: rgb(17, 46, 96);
    --fg1: #ffffff;
    --fg2: #ff9dde;
    --aksen: hsl(279, 33%, 48%);
    --grad: linear-gradient(135deg, hsl(232, 73%, 65%) 0%, hsl(279, 33%, 48%) 100%);
    --mw: 640px;
}
.hidden {
    width: 0;
    height: 0;
    position: absolute;
    pointer-events: none;
}
article, #astl-s5-o {
    color: var(--fg1);
    background: var(--bg1);
    /* background: radial-gradient(circle at 20% 40%, var(--bg2) 30%, var(--bg1)); */
}
article a {
    border-bottom: var(--fg2) solid 2px;
}
.pr {position: relative;}
.mp {max-width: var(--mw);}
.te {text-align: end;}
.f1 {font-family: "carter", 'Times New Roman', Times, serif;}
h1, h2, h3, #ast-after-banner, .f2, #comment-title, .tema-hl {font-family: "carter", 'Times New Roman', Times, serif;}
.f3 {font-family: "carter", Arial, Helvetica, sans-serif;}
.mb0 {margin-bottom: 0;}
.w100 {width: 100%;}
.w50, .w50100 {width: 50%;}
.astl-judul {font-size: 2.2rem; margin: 1rem auto; font-family: 'karu', Arial, Helvetica, sans-serif;}
.astl-sub-judul {font-size: 1.65rem; margin: 0.4rem auto;}
.fxc {display: flex; justify-content: center;}
.ib {display: inline-block;}
.pivbawah {transform-origin: bottom center;}
.mw, .mws, .mwl {
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: safe center;
    position: relative;
}
.mw {
    min-height: 99vh;
}
.mwl {
    max-width: 800px;
}
.mwx {
    margin: 1rem auto;
}
.jb {justify-content: space-between;}
.je {justify-content: end;}
.jc {justify-content: center;}
.sep {
    height: 2px;
    border: none;
    background-color: var(--fg2);
    width: 20%;
    max-width: 60px;
    margin: 1rem auto 0;
}
.sp {
    position: relative;
    margin: 3rem 1rem;
    max-width: 640px;
    padding: 1rem 1.5rem;
    border-radius: 1rem;
    width: 100%;
}
.sp2 {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.sp3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.tema-hl {text-transform: uppercase; font-weight: normal; user-select: none; -webkit-user-select: none;}
#tema-mil, .t-mil {font-family: 'anta', Courier, monospace}
#tema-pro, .t-pro {font-family: 'red-rose', Courier, monospace}
#tema-ple, .t-ple {font-family: 'tenor', Courier, monospace}
#tema-com, .t-com {font-family: 'libre', Courier, monospace}
#tema-won, .t-won {font-family: 'cinzel', Courier, monospace}
#tema-rev, .t-rev {font-family: 'zalando', Courier, monospace}
#tema-mom, .t-mom {font-family: 'carter', Courier, monospace}
.ct {overflow: auto;}
.top-p {padding-top: 3.3rem;}
.bottom-p {padding-bottom: 30vh;}
.p-gap {padding-left: 1.25rem; padding-right: 1.25rem;}
.s2-c1 {
    max-width: 600px;
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    align-items: center;
}
.top-m {margin-top: 2rem;}
.sub-hl {
    display: inline-block;
    margin: 0 0.25rem;
    font-size: 1.3rem;
}
.tahun-jumbo {
    position: relative;
    display: flex;
    align-items: safe center;
    justify-content: center;
    overflow: hidden;
}
.ast-sk-jumbo {
    position: absolute;
    bottom: 2rem;
    left: 0;
    right: 0;
    margin: auto;
    opacity: 0;
}
.tema-hl {
    text-align: center;
    font-size: max(10vw, 3.2rem);
    display: none;
}
.sp ul {
    list-style: decimal;
}
.sp li, .sp p {
    margin-bottom: 2.5rem;
}
button.tbl-mil {
    font-family: 'karu', sans-serif;
    letter-spacing: 0.5rem;
}
.tbl-mil {
    border: 0;
    font-size: 2rem;
    text-transform: uppercase;
    font-size: 2rem;
    cursor: pointer;
    padding: 0.5rem 1rem;
    position: relative;
    color: var(--fg1);
    background: none;
}
.tbl-mil:active {
    transform: translate3d(0, 5px, 0);
}
.tbl-mil::before {
    content: '';
    position: absolute;
    top: 50%;
    width: 100px;
    height: 100px;
    border: 1px solid;
    transform: translate3d(-50%, -50%, 0) rotateZ(45deg);
    border-radius: 10px;
    left: 50%;
    box-shadow: 10px 10px 0 var(--bg1), 11px 11px 0 currentColor;
}
.tbl-mil:active::before {
    box-shadow: 6px 6px 0 var(--bg1), 7px 7px 0 currentColor;
}
.t-sub {
    font-weight: normal;
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 2.5rem;
    text-transform: uppercase;
}
.tahunnya {
    font-family: 'karu', Arial, Helvetica, sans-serif;
    top: 0;
    width: 100%;
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    user-select: none;
    transition: opacity 0.2s;
}
/* 2020 */
.tahun-2020 {
    overflow: hidden;
    height: 7rem;
    margin: auto 0.5rem;
    transform: translateY(-50%);
    filter: drop-shadow(0 2px 0px var(--bg1)) drop-shadow(0 4px 0px var(--bg1));
}
.tahun-2020 span {
    opacity: 0;
    display: inline-block;
    font-size: 6rem;
    width: 1ch;
    text-align: center;
    white-space: pre-wrap;
    word-break: break-all;
}
#tema-pro-1, #tema-pro-2, #tema-pro-3 {position: absolute; margin: 0; opacity: 0; will-change: transform;}
#tema-pro-1 {top: 20%; transform: translateY(-50%);}
#tema-pro-2 {top: 80%; transform: translateY(-50%);}
#tema-pro-3 {top: 50%; transform: translateY(-50%);}
.tema-pro > span {display: inline;}
#astl-s3 .tahun-jumbo {
    flex-direction: column;
}
.tahun-jumbo .tema-pro {white-space: nowrap; display: block;}
#moment {white-space: nowrap; display: none; justify-content: center; align-items: center;}
#moment, .mom-idv {
    font-size: max(10vw, 3.4rem);
}
.mom-idv {
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    transform: translate(-50%, -50%);
    will-change: transform;
    transition: text-shadow 0.2s;
    text-shadow: 0 0 15px currentColor;
    -webkit-text-fill-color: white;
    opacity: 0;
}
.mom-c {
    display: inline-block;
    width: 1.2ch;
}
#mom-glob {
    position: absolute;
    transform-origin: center center;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    filter: drop-shadow(0px 0px 10px white);
    background-color: white;
    border-radius: 50%;
    animation: ndalndul 0.75s infinite ease-in-out;
}
#mom-ctx {
    position: absolute;
    left: 0;
    top: 0;
}
.mom-idv.idel {animation: idel 1s infinite ease-in-out;}
.mom-idv.idel2 {animation: idel2 1s infinite ease-in-out;}
#tema-mil .ast-split-letter {width: 1.2ch; text-align: center;}
#tema-won {mix-blend-mode: screen}
#tema-won .ast-split-word {perspective: 1000px}
.tema-hl-rev {
    position: absolute;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px white;
    paint-order: stroke fill;
    transform: translateY(-50%);
}
.ast-split-letter {will-change: transform;}
#mkwrr {
    border: var(--fg1) thick solid;
    max-width: 100%;
}
#astl-ft-kom {
    color: white;
    max-width: max-content;
    padding: 0.6rem 1rem;
    border-radius: 10px;
    margin: 4rem auto 2rem;
    user-select: none;
    -webkit-user-select: none;
    cursor: pointer;
    font-family: 'karu', Arial, Helvetica, sans-serif;
    letter-spacing: 0.5rem;
}
#ast-after-banner-konten, #comment-title {
    font-family: 'karu', Arial, Helvetica, sans-serif;
}
#comment-count {
    font-family: "carter", 'Times New Roman', Times, serif;
}
@media screen and (max-width: 576px) {
    body {font-size: 1.1rem;}
    .sp ul {padding-left: 1.2rem;}
    #astl-ft-kom {
        font-size: 1.5rem;
        padding: 0.6rem 0.5rem;
        letter-spacing: 0.35rem;
    }

    .t-sub {font-size: 2rem;}
}

@media screen and (max-width: 480px) {
    body {font-size: 1.02rem;}
    .sp ul {padding-left: 1.04rem;}
    .w50100 {width: 100%;}
    .astl-judul {font-size: 1.7rem;}
    #emo-pai-j, #emo-gpai {text-align: center;}
    .astl-sub-judul {font-size: 1.5rem; margin: 0.32rem auto;}
    .mom-idv {text-shadow: 0 0 20px currentColor;}
    .sp {
        padding: 1rem;
        margin: 1.5rem 0.8rem;
    }
    .sp2 {
        margin-top: 1.75rem;
        margin-bottom: 1.75rem;
    }
    .sp3 {
        margin-top: 0.8rem;
        margin-bottom: 0.8rem;
    }
    #emo-grup-nama {
        justify-content: start;
    }
    #emo-grup-nama-versi {
        font-size: 0.9rem;
    }
    #o-emoe {font-size: 3rem;}
    #o-emoj {margin-bottom: 0.8rem;}
    #o-emog {margin-top: 0.75rem;}
    .t-sub {font-size: 1.75rem;}

    .sub-hl {
        font-size: 1.24rem;
        margin: 0 0.2rem;
    }

    #emo-stiki {
        top: 20%;
    }

    #astl-ft-kom {
        font-size: 1.2rem;
        padding: 0.6rem 0.35rem;
        letter-spacing: 0.25rem;
    }

    .s2-c1.jb {justify-content: center;}
    .tbl-mil {
        letter-spacing: 0.25rem;
        font-size: 1.5rem;
    }

    .tahun-2020 span {
        font-size: 5rem;
    }
}

@keyframes idel {
    0% {
        transform: translate(-50%, -50%);
    }
    40% {
        transform: translate(-50%, -48%);
    }
    60% {
        transform: translate(-50%, -48%);
    }
    100% {
        transform: translate(-50%, -50%);
    }
}

@keyframes idel2 {
    0% {
        transform: translate(-50%, -50%);
    }
    40% {
        transform: translate(-48%, -50%);
    }
    60% {
        transform: translate(-48%, -50%);
    }
    100% {
        transform: translate(-50%, -50%);
    }
}

@keyframes ndalndul {
  0% {
    border-radius: 80% 60% 60% 80% / 100% 80% 60% 60%;
  }
  20% {
    border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%;
  }
  40% {
    border-radius: 43% 57% 41% 59% / 53% 52% 48% 47%;
  }
  80% {
    border-radius: 54% 46% 60% 40% / 43% 55% 45% 57%;
  }
  100% {
    border-radius: 80% 60% 60% 80% / 100% 80% 60% 60%;
  }
}