/* font setter */
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wdth,wght@75..125,300..700&display=swap');
* {
    font-family: "Fredoka", sans-serif;
    font-optical-sizing: auto;
    font-variation-settings: "wdth" 100;
    line-height: 1.5;
}
@media (max-width: 767px) {
    h1 {
        font-size: 3rem;
    }
    h2 {
        font-size: 2rem;
    }
    h3 {
        font-size: 1.5rem;
    }
    p, button {
        font-size: 1.1rem;
    }
}
@media (min-width: 768px) {
    h1 {
        font-size: 4.5rem;
    }
    h2 {
        font-size: 3.2rem;
    }
    h3 {
        font-size: 2.3rem;
    }
    p, button {
        font-size: 1.5rem;
    }
}
@media (min-width: 1025px) {
    h1 {
        font-size: 4rem;
    }
    h2 {
        font-size: 3rem;
    }
    h3 {
        font-size: 2.2rem;
    }
    p, button {
        font-size: 1.3rem;
    }
}
h1, h2, h3, p, li {
    color: #ffebde;
}
h1 {
    font-weight: 700;
}
h2 {
    font-weight: 600;
}
h3 {
    font-weight: 500;
}
p {
    font-weight: 400;
}

/* scrollbar hider */
* {
    scrollbar-width: none;
}

/* fixer ghost margin padding browser */
* {
    margin: 0;
    padding: 0;
}
/* box sizing fixer agar ukuran box content tidak melebar otomatis */
* {
    box-sizing: border-box;
}
/* fixer image agar dapat secara otomatis menyesuaikan ukuran parent */
img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* span highlighter teks */
span.hl {
    background-color: rgb(174, 102, 255);
    border-radius: 5px;
    color: #ffebde;
}
/* accent page */
body {
    background-color: #ffd988;
}

/* tombol */
button {
    cursor: pointer;
    border: none;
    font-weight: 550;
    background-color: #F7BFD8;
    color: rgb(97, 55, 0);
    border-radius: 100px;
    padding: 10px;
    text-overflow: ellipsis;
    outline: 3px solid #c498ac;
}
button:hover {
    color: white;
    animation: buttonFly 0.3s forwards;
    box-shadow: 0px 10px rgba(0, 0, 0, 0.144);
    background-color: #f86f39;
    outline: 3px solid #c0562c;
}
@keyframes buttonFly {
    from {
        transform: translateY();
    }
    to {
        transform: translateY(-3px);
    }
}
button:active {
    color: white;
    animation: buttonPress 0.05s forwards;
    background-color: #c0562c;
    outline: 3px solid #f86f39;
}
@keyframes buttonPress {
    from {
        box-shadow: 0px 10px rgba(0, 0, 0, 0.144);
        transform: translateY();
    }
    to {
        box-shadow: 0px 0px rgba(0, 0, 0, 1);
        transform: translateY(3px);
    }
}



/* animation keyframe universal. Digunakan dengan class */
.zoomInEnter {
    pointer-events: none;
    animation-name: zoomInEnter, interactionFixer;
    animation-duration: 0.5s, 0s;
    animation-delay: 0s, 0.5s;
    animation-fill-mode: forwards, forwards;
}
@keyframes zoomInEnter {
    from {
        opacity: 0;
        transform: scale(-0.5);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
.swipeUpEnter {
    pointer-events: none;
    animation-name: swipeUpEnter, interactionFixer;
    animation-duration: 0.5s, 0s;
    animation-delay: 0s, 0.5s;
    animation-fill-mode: forwards, forwards;
}
@keyframes swipeUpEnter {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0px);
        pointer-events: auto;
    }
}

.swipeDownEnter {
    pointer-events: none;
    animation-name: swipeDownEnter, interactionFixer;
    animation-duration: 0.5s, 0s;
    animation-delay: 0s, 0.5s;
    animation-fill-mode: forwards, forwards;
}
@keyframes swipeDownEnter {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
        
    to {
        opacity: 1;
        transform: translateY(0px);
        pointer-events: auto;
    }
}


@keyframes interactionFixer {
    from {
        pointer-events: none;
    }
    to {
        pointer-events: auto;
    }
}

/* container */
div.container {
    /* border hanya untuk debugging, disable jika tidak perlu */
    /* border: 1px solid blue; */
    width: 100%;
    display: flex;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px) {
    /* container untuk konten text only */
    div.conText {
        max-width: 350px;
    }
    /* container untuk konten default */
    div.conDeft {
        max-width: 350px;
    }
    /* container untuk konten kompleks */
    div.conComp {
        max-width: 700px;
    }
}

@media (min-width: 768px) {
    /* container untuk konten text only */
    div.conText {
        max-width: 600px;
    }
    /* container untuk konten default */
    div.conDeft {
        max-width: 1000px;
    }
    /* container untuk konten kompleks */
    div.conComp {
        max-width: 1000px;
    }
}

@media (min-width: 1025px) {
    /* container untuk konten text only */
    div.conText {
        max-width: 900px;
    }
    /* container untuk konten default */
    div.conDeft {
        max-width: 1280px;
    }
    /* container untuk konten kompleks */
    div.conComp {
        max-width: 1280px;
    }
}
/* container cover width */
div.conFull {
    width: 100%;
}
/* container untuk background website */
div.conBack {
    width: 100vw;
    height: 100vh;
    position: fixed;
    z-index: -999;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
/* container overlay static */
div.conOverlayStatic {
    width: 100vw;
    height: 100vh;
}
/* container overlay fixed */
div.conOverlay {
    width: 100vw;
    height: 100vh;
    position: fixed;
    z-index: -5;
    overflow: scroll;
}

/* child */
div.child {
    /* border hanya untuk debugging, disable jika tidak perlu */
    /* border: 1px solid gold; */
}

/* section colorer */
.secColor {
    width: 100%;
    height: fit-content;
}

/* height spacer */
.height-spacer {
    width: 100%;
    height: 3vh;
}

/* navbar */
#navbar {
    background-color: #ffd988;
    width: 100%;
    height: 50px;
    position: fixed;
    border-radius: 0px 0px 20px 20px;
    z-index: 999;
}
#hs-navbar {
    height: 50px;
}
#conNav {
    height: 100%;
    max-width: 1280px;
    align-items: center;
    justify-content: space-between;
    padding: 0% 5% 0% 5%;
}

#imgNav {
    width: 60px;
}
#tombolMap {
    width: 35px;
    cursor: pointer;
}

