@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Viga&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap');

:root {
    --color-theme: #dadce6;
    --color-theme-dark: #a4b6da;
    --dark: #1a2735;
    --white: #ffffff;
    --light-grey: #eff3f2;
    --grey: #d6dbda;
    --grey-dark: #d8ece1;
    --blue-link: rgb(7, 53, 71);
    --color-des: #6b6b6b;
    --color-des-dark: #ebebeb;
    --color-des-1: #808080;
    --color-des-dark-1: #e8e9ee;
    --dark-bolds: #0a1d20;

}



body {
    font-family: "Ubuntu", sans-serif;
    background-color: #ffffff;
    color: #222;
    font-weight: 400;
    font-style: normal;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}


.theme-box {
    background-color: #ccb7b7;
    color: #16313e;
}

.theme-article {
    background-color: #fffdfd;
    color: #16313e;
}


.theme-header {
    background-color: #713eff;
    font-weight: bold;
}

.theme-body {
    background-color: var(--color-theme);
}

.theme-body-light {
    background: #f0f3f5;
}

.theme-body-des {
    background-color: white;
}


.theme-header a {
    color: #fff7f7 !important;
}


/* Footer Styles */
footer {
    background-color: var(--dark);
    color: var(--white);
    text-align: center;
    padding: 20px 10px;
    margin-top: auto;
    /* Push the footer to the bottom */
}

a {
    text-decoration: none !important;
    color: var(--blue-link)
}

.btn-theme {
    background-color: var(--color-theme) !important;
    color: var(--dark) !important;
}

.btn-theme:hover {
    background-color: var(--color-theme-dark) !important;
    /* warna hover */
    color: var(--dark) !important;
    /* warna teks saat hover */
}

/* a.btn:hover{
    background-color: var(--green-dark);
}
a.btn:active, a.btn:focus{
    background-color: var(--green-dark);
} */
p {
    font-size: 18px;
}

.jumbotron {
    height: 100vh;
    /* Full height of the viewport */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -6em !important;
    background-color: var(--dark);
    /* Light background */
    color: #ffffff;
}

.title-jumbotron,
.title,
.title-post {
    font-family: "Viga", sans-serif;
    font-weight: 400;
    font-style: normal;
}

@media only screen and (min-width: 600px) {
    .jumbotron {
        height: 60vh;
    }

}

@media only screen and (max-width: 600px) {
    .jumbotron .container {
        margin-bottom: 5rem;
    }

    .name-title {
        display: none;
    }

    p {
        font-size: 16px;
    }
}

.title-card,
.title-card a {
    font-weight: bold;
    color: var(--dark);
}

.description-card-2,
.description-card-2 p {
    font-size: 13px;
}

.description-card-1,
.description-card-1 p {
    font-size: 14px;
}

.description-card-0,
.description-card-0 p {
    font-size: 18px;
}

article p,
article ul,
article li {
    font-family: "Quicksand", serif;
    font-weight: 400;
    font-style: normal;
}

.title {
    color: #000000;
    font-weight: bold;
}

.title-post {
    color: var(--color-des);
}

.description-title {
    font-size: 16px;
}

.theme-description {
    color: var(--color-des);
}

.theme-description.dark {
    color: var(--color-des-dark);
}

.theme-description-1 {
    color: var(--color-des-1);
}

.theme-description-1.dark {
    color: var(--color-des-dark-1);
}

.mandatory-color {
    background-color: var(--green);
}

.mandatory-color-dark {
    background-color: var(--green-dark);
}

.theme-list.light {
    background-color: var(--light-grey);
}

.theme-list.dark {
    background-color: var(--dark);
    color: var(--white);
}

.summary-banner {
    border-radius: 8px;
    width: 600px;
}

.Pagination--right {
    float: right;
}


.content-section {
    padding: 80px 20px;
    text-align: center;
}

.card-custom {
    background-color: #fff;
    border-radius: 25px;
    border: 2px solid #b4c1c9;
    box-shadow: 8px 8px 0 #a0a7cc;
    /* bayangan ungu kebiruan */
    padding: 40px 20px;
    transition: transform 0.2s ease;
}

.card-custom:hover {
    transform: translateY(-5px);
}

.icon {
    font-size: 48px;
    color: #4E56C6;
    margin-bottom: 15px;
}

.logo-text {
    color: #4E56C6;
    font-weight: 600;
}

.color-program {
    background-color: rgb(235, 191, 79);
}

.color-web {
    background-color: rgb(221, 82, 82);
    color: white;
}

.color-layer {
    background-color: rgb(26, 144, 217);
}

.color-program .color-svg,
.color-web .color-svg,
.color-layer .color-svg {
    fill: white;
}

.new-category-ads a {
    width: 90%;
}

.list-selection {
    width: 95%;
}

.list-selection .background-color:hover {
    background-color: var(--grey-dark) !important;

}

@media only screen and (min-width: 600px) {
    .zoom-effect {
        display: inline-block;
        transition: transform 0.3s ease;
        /* Animasi zoom */
    }

    .zoom-effect:hover {
        transform: scale(1.1);
        /* Perbesar elemen saat di-hover */
    }

    .zoom-effect-list {
        display: inline-block;
        transition: transform 0.5s ease-out;
        /* Waktu zoom out lebih lambat */
    }

    .zoom-effect-list:hover {
        transform: scale(1.05);
        /* Perbesar elemen saat di-hover */
        transition: transform 0.2s ease-in;
    }

}

/* for code */
pre {
    padding: 16px;
    border-radius: 8px;
}


/* image container */

.size0 {
    height: 65px;
}

.size1 {
    height: 100px;
}

.size2 {
    height: 200px;
}

@media only screen and (max-width: 600px) {
    .size0 {
        height: 80px;
    }
}

.loading-image {
    position: relative;
    display: flex;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" width="100%" height="100%" fill="%23e0e0e0"/><defs><linearGradient id="light" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="%23e0e0e0" /><stop offset="50%" stop-color="rgba(255, 255, 255, 0.4)" /><stop offset="100%" stop-color="%23e0e0e0" /></linearGradient></defs><rect x="-100" y="0" width="200%" height="100%" fill="url(%23light)"><animate attributeName="x" from="-200%" to="100%" dur="3s" repeatCount="indefinite" /></rect></svg>') center/cover no-repeat;

    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.image-container img {
    object-fit: cover;
    opacity: 0;
    transition: opacity 3s ease;
}

.image-container img.loaded {
    opacity: 1;
}


/* Membuat tabel bisa digeser horizontal di perangkat kecil */
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* Untuk memperlancar scroll di perangkat mobile */
}

table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    /* Membiarkan lebar kolom disesuaikan dengan konten */
}

th,
td {
    padding: 12px;
    border: 1px solid #ddd;
    text-align: left;
}

th {
    background-color: #f4f4f4;
}

tags a {
    padding: .5em;
}


.profile-container {
    text-align: center;
}

.profile-img {
    width: 240px;
    height: 240px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #dfdfdf;
}

.profile-description {
    margin-top: 15px;
    font-size: 18px;
    color: #333;
}

.icon-sosmed {
    width: 80px;
    height: 80px;
}

button.btn.search svg path {
    fill: white;
}

p.text-muted {
    font-size: 16px;
    color: var(--grey) !important;
}

.navigation-footer a {
    color: var(--grey) !important;
}

tags a {
    padding: .5em;
    border: 1px solid #444;
}

#pdf-viewer canvas {
    display: block;
    margin: 10px auto;
    max-width: 100%;
    /* jangan spillout */
    height: auto;
    border: 1px solid #ddd;
}

.stream-video {
    width: 100%;
    height: auto;
    max-width: 80%;
    min-width: 600px;
    min-height: 400px;
    object-fit: contain;
    background: #e0e0e0 url("/asset/images/camera.png") center center no-repeat;
    background-size: 100px 100px;
}

@media (max-width: 768px) {
    .jumbotron canvas {
        width: 300px;
    }

    .stream-video {
        max-width: 100%;
        min-width: auto;
        min-height: 25vh;
    }
}




.card-video {
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    padding: 1rem;
}

.video-container {
    background-color: #e8eefc;
    border-radius: 12px;
    overflow: hidden;
    height: 320px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.output-container {
    background-color: #0d1117;
    color: #f5f5f5;
    border-radius: 12px;
    padding: 2rem;
    height: 410px;
    overflow: hidden;
    /* menyembunyikan teks di luar box */
    display: flex;
    flex-direction: column-reverse;
    /* agar teks baru muncul dari bawah */
}

@media (max-width: 768px) {

    .video-container {
        height: 220px;
    }

    .output-container {
        height: 320px;
    }

}

.output-line {
    opacity: 0;
    transform: translateY(20px);
    animation: slideUp 0.4s ease forwards;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.translator-box {
    background-color: #e7e9fc;
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
    color: #555;
    font-size: 32px;
}

.btn-round {
    border-radius: 50%;
    width: 45px;
    height: 45px;
    margin: 0 5px;
}