/*
 * PKKMB_ALBUM_EXPERIENCE_V13
 */

/* =========================================================
   PROGRAM STUDI DIVIDER
========================================================= */

.prodi-divider{
    color:#fff;
    overflow:hidden;
}

.prodi-divider .paper{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:50px;
}

.prodi-divider-inner{
    position:relative;
    z-index:4;
    width:100%;
    max-width:540px;
}

.prodi-divider .prodi-kicker{
    font-size:11px;
    letter-spacing:.18em;
    font-weight:900;
    text-transform:uppercase;
    opacity:.86;
}

.prodi-divider h2{
    margin:14px 0 12px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(40px,5vw,68px);
    line-height:.95;
}

.prodi-divider .divider-line{
    width:90px;
    height:5px;
    margin:20px auto;
    border-radius:999px;
    background:#f5c52a;
}

.prodi-divider p{
    margin:0 auto;
    max-width:420px;
    line-height:1.7;
    opacity:.9;
    font-family:Georgia,"Times New Roman",serif;
    font-style:italic;
}

/* individual Prodi */

.prodi-ilmu-komputer{
    background:
        radial-gradient(circle at 70% 20%,rgba(44,184,255,.28),transparent 30%),
        linear-gradient(145deg,#032652,#075ea7 55%,#073c71);
}

.prodi-biologi{
    background:
        radial-gradient(circle at 75% 20%,rgba(184,239,105,.24),transparent 30%),
        linear-gradient(145deg,#073e3a,#15866e 58%,#075147);
}

.prodi-farmasi{
    background:
        radial-gradient(circle at 72% 24%,rgba(225,188,255,.25),transparent 30%),
        linear-gradient(145deg,#42205f,#7748a6 56%,#352052);
}

.prodi-kimia{
    background:
        radial-gradient(circle at 72% 24%,rgba(255,220,78,.23),transparent 30%),
        linear-gradient(145deg,#714209,#bb7a12 56%,#65400b);
}

.prodi-matematika{
    background:
        radial-gradient(circle at 72% 24%,rgba(95,207,255,.24),transparent 30%),
        linear-gradient(145deg,#173b68,#326eaa 55%,#142f55);
}


/* =========================================================
   CREDIT PAGE
========================================================= */

.album-credit-page{
    background:
        linear-gradient(
            145deg,
            #fffdf5,
            #edf6fc
        );
}

.album-credit-page .paper{
    display:flex;
    align-items:center;
    justify-content:center;
}

.album-credit-inner{
    position:relative;
    z-index:3;
    width:100%;
    max-width:500px;
    text-align:center;
}

.album-credit-logo{
    width:92px;
    height:92px;
    object-fit:contain;
    margin-bottom:18px;
}

.album-credit-inner h2{
    margin:8px 0;
    color:#07599e;
    font-family:Georgia,"Times New Roman",serif;
    font-size:36px;
}

.album-credit-inner p{
    color:#61768a;
    line-height:1.65;
}

.album-credit-meta{
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid #d8e1e8;
    display:grid;
    gap:7px;
    color:#47627b;
    font-size:11px;
}


/* =========================================================
   BACK COVER
========================================================= */

.album-back-cover{
    color:#fff;
    text-align:center;
    background:
        radial-gradient(
            circle at 72% 25%,
            rgba(255,198,26,.22),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #03275a,
            #076abb 55%,
            #0a8975
        );
}

.album-back-cover .paper{
    display:flex;
    align-items:center;
    justify-content:center;
}

.back-cover-inner{
    position:relative;
    z-index:4;
    max-width:610px;
}

.back-cover-inner img{
    width:100px;
    height:100px;
    object-fit:contain;
    filter:drop-shadow(0 8px 14px rgba(0,0,0,.22));
}

.back-cover-inner h2{
    margin:20px 0 10px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(36px,5vw,68px);
    line-height:1;
}

.back-cover-inner p{
    margin:9px auto;
    max-width:500px;
    line-height:1.7;
}

.back-cover-values{
    margin-top:25px;
    color:#ffd43f;
    font-size:12px;
    font-weight:900;
    letter-spacing:.06em;
}


/* =========================================================
   EXTRA HEADER BUTTONS
========================================================= */

#shareAlbumBtn,
#musicAlbumBtn{
    white-space:nowrap;
}

#musicAlbumBtn.music-on{
    background:#f3c42b;
    border-color:#f3c42b;
    color:#092d55;
}

#musicAlbumBtn.music-off{
    opacity:.72;
}


/* music toast */

.album-music-hint{
    position:fixed;
    z-index:700;
    left:50%;
    bottom:80px;
    transform:translate(-50%,18px);
    padding:9px 14px;
    border-radius:99px;
    background:rgba(2,26,54,.94);
    color:#fff;
    font-size:10px;
    pointer-events:none;
    opacity:0;
    transition:.25s ease;
    box-shadow:0 8px 25px rgba(0,0,0,.25);
}

.album-music-hint.show{
    transform:translate(-50%,0);
    opacity:1;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

    .prodi-divider .paper{
        padding:35px 26px;
    }

    .prodi-divider h2{
        font-size:42px;
    }

    .prodi-divider p{
        font-size:12px;
    }

    .album-credit-inner h2{
        font-size:28px;
    }

    .album-credit-meta{
        font-size:9px;
    }

    .back-cover-inner h2{
        font-size:40px;
    }

    #shareAlbumBtn span,
    #musicAlbumBtn span{
        display:none;
    }
}


/* =========================================================
   LANDSCAPE PHONE
========================================================= */

@media(max-height:600px) and (orientation:landscape){

    .prodi-divider .paper{
        padding:18px 40px;
    }

    .prodi-divider h2{
        font-size:35px;
        margin:7px 0;
    }

    .prodi-divider .divider-line{
        margin:10px auto;
    }

    .prodi-divider p{
        font-size:9px;
        line-height:1.4;
    }

    .album-credit-logo{
        width:58px;
        height:58px;
        margin-bottom:6px;
    }

    .album-credit-inner h2{
        font-size:24px;
    }

    .album-credit-inner p{
        font-size:9px;
    }

    .album-credit-meta{
        margin-top:10px;
        padding-top:8px;
        font-size:7px;
    }

    .back-cover-inner img{
        width:60px;
        height:60px;
    }

    .back-cover-inner h2{
        margin:8px 0;
        font-size:34px;
    }

    .back-cover-inner p{
        font-size:9px;
    }
}


/* =========================================================
   PKKMB ALBUM V1.3.3
   STRICT PAGE ISOLATION / COVER GHOST FIX
========================================================= */

/*
 * Semua logical page default benar-benar dikeluarkan
 * dari compositor visual.
 */
#albumBook .album-page{
    visibility:hidden;
    opacity:0;
    pointer-events:none;

    -webkit-backface-visibility:hidden !important;
    backface-visibility:hidden !important;

    will-change:auto;
}


/*
 * Hanya halaman yang sedang aktif boleh terlihat.
 */
#albumBook .album-page.single-page,
#albumBook .album-page.left-page,
#albumBook .album-page.right-page,
#albumBook .album-page.flip-forward,
#albumBook .album-page.flip-back{
    visibility:visible;
    opacity:1;
}


/*
 * Active spread harus punya layer compositor sendiri.
 */
#albumBook .album-page.single-page,
#albumBook .album-page.left-page,
#albumBook .album-page.right-page{
    pointer-events:auto;

    -webkit-transform:translateZ(0);
    transform:translateZ(0);

    -webkit-backface-visibility:hidden !important;
    backface-visibility:hidden !important;
}


/*
 * Isi kertas jangan menampilkan sisi belakang ketika
 * page flip menggunakan rotateY.
 */
#albumBook .paper,
#albumBook .album-page > *{
    -webkit-backface-visibility:hidden !important;
    backface-visibility:hidden !important;
}


/*
 * Cover mendapatkan layer tersendiri hanya ketika aktif.
 */
#albumBook .album-page:first-child{
    isolation:isolate;
}


/*
 * Jangan biarkan cover mempunyai layer lama setelah
 * kelas visualnya dihapus.
 */
#albumBook .album-page:first-child:not(.single-page):not(.left-page):not(.right-page):not(.flip-forward):not(.flip-back){
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    transform:none !important;
    -webkit-transform:none !important;

    z-index:-100 !important;
}


/*
 * Spread aktif selalu di depan background book.
 */
#albumBook .left-page{
    z-index:30 !important;
}

#albumBook .right-page{
    z-index:31 !important;
}

#albumBook .single-page{
    z-index:32 !important;
}


/*
 * Flip sementara saja.
 */
#albumBook .flip-forward,
#albumBook .flip-back{
    z-index:60 !important;
}


/*
 * Hindari repaint flash pada Chromium/Android.
 */
#albumBook{
    isolation:isolate;
    contain:layout paint;

    -webkit-transform:translateZ(0);
    transform:translateZ(0);

    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}

