@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800;900&display=swap");


/* ================================
   COLOR SYSTEM
================================ */
:root{
    --primary:#237227;
    --secondary:#519A66;
    --accent:#FFAA00;
    --accent-light:#FFD786;

    --text-dark:#34364a;
    --bg-light:#f6f7fb;
}


/*------------
Resset Css
------------*/

*,
::after,
::before {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-bottom: 0 !important;
    margin: 0;
    padding: 0;
    color: #34364a;
    outline: none;
    font-family: "Poppins", sans-serif;
}
body {
    background-color: #f6f7fb;
}
.title {
    color: var(--primary);
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 34px; /* 171.429% */
    letter-spacing: 0.2px;
}
.title-white {
    color: #fff;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 34px; /* 171.429% */
    letter-spacing: 0.2px;
}
.desc {
    color: var(--accent);
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px; /* 158.333% */
    letter-spacing: 0.24px;
}
.text-primary-2 {
    color: var(--primary) !important;
    font-style: normal !important;
    line-height: 26px !important; /* 171.429% */
    letter-spacing: 0.16px !important;
}

/* Custom */
.rounded-36 {
    border-radius: 36px;
}
.rounded-24 {
    border-radius: 24px;
}
.bottom-min-80 {
    bottom: -60px;
}
.bot-30 {
    bottom: 30% !important;
}
.text-p {
    font-size: 16px;
    font-weight: 300 !important;
}
.p-24 {
    padding: 24px;
}
.gap-16 {
    gap: 16px;
}
.gap-24 {
    gap: 24px;
}
.gap-32 {
    gap: 32px;
}
.form-label {
    margin-bottom: 0.4rem !important;
    font-size: 16px !important;
    font-style: normal !important;
    line-height: 26px !important; /* 171.429% */
    letter-spacing: 0.16px !important;
    color: #34364a !important;
}
.form-select {
    padding: 0.6rem 2.25rem 0.6rem 0.75rem !important;
}
.form-control {
    padding: 0.6rem 0.75rem !important;
}
.form-custom {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 24px;
}
.form-custom .item {
    width: 50%;
}
.alert-success {
    background-color: #f4f8f5 !important;
    border: none !important;
    color: #288e40 !important;
    font-weight: 400;
    font-style: normal !important;
    line-height: 26px !important; /* 171.429% */
    letter-spacing: 0.16px !important;
}
.card {
    border: none !important;
    box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 768px) {
    .bottom-min-80 {
        bottom: -200px;
    }
    .bot-30 {
        bottom: 25% !important;
    }
    .text-p {
        font-size: 14px;
    }
    .form-custom {
        flex-direction: column;
    }
    .form-custom .item {
        width: 100%;
    }
}
@media screen and (max-width: 422px) {
    .bottom-min-80 {
        bottom: -265px;
    }
}
@media screen and (max-width: 389px) {
    .bot-30 {
        bottom: 25% !important;
    }
}
/* Custom */

/* navbar */
.navbar-nav .nav-item .nav-link {
    padding-right: 1.25rem !important;
    padding-left: 1.25rem !important;
    font-size: 14px !important;
    font-style: normal !important;
    line-height: 26px !important; /* 171.429% */
    letter-spacing: 0.16px !important;
    color: #34364a !important;
}
.navbar-nav .nav-item .nav-link.active {
    color: var(--accent) !important;
}
.navbar-nav .nav-item .nav-link:hover {
    color: var(--accent) !important;
}
.nav-item .dropdown-menu .dropdown-item {
    font-size: 12px !important;
    font-style: normal !important;
    line-height: 26px !important; /* 171.429% */
    letter-spacing: 0.16px !important;
    color: #34364a !important;
    padding: 0.3rem 1rem;
}
.nav-item .dropdown-menu {
    border: 0.5px solid #eae9e9 !important;
}
.nav-item .dropdown-menu[data-bs-popper] {
    left: 16px !important;
}
.navbar-toggler:focus {
    box-shadow: none !important;
}
/* navbar */

/* button */
.btn {
    font-size: 14px !important;
    padding: 0.75rem 1.25rem !important;
}
.btn-primary {
    background-color: var(--primary) !important;
    border: none !important;
    color: white !important;
}
.btn-warning {
    background-color: var(--accent) !important;
    color: white !important;
}
/* button */

/* banner */
.banner-title {
    width: 60%;
    font-size: 42px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    line-height: 48px !important; /* 171.429% */
    letter-spacing: 0.16px !important;
}
.banner-desc {
    width: 50%;
    font-weight: 400 !important;
    font-size: 20px !important;
    font-style: normal !important;
    line-height: 30px !important; /* 171.429% */
    letter-spacing: 0.16px !important;
}

@media screen and (max-width: 1200px) {
    .banner-title {
        font-size: 36px !important;
        width: 100%;
    }
    .banner-desc {
        font-size: 16px !important;
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .banner-title {
        font-size: 32px !important;
        width: 100%;
    }
    .banner-desc {
        font-size: 14px !important;
        width: 100%;
    }
}
@media screen and (max-width: 389px) {
    .banner-title {
        font-size: 24px !important;
        width: 100%;
    }
    .banner-desc {
        font-size: 12px !important;
        width: 100%;
    }
}
/* banner */

/* Brosur */
.container-brosur {
    margin-top: 60px;
}
.container-brosur-2 {
    margin-top: 60px;
}
.list-brosur {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 24px;
}
.list-brosur .item {
    width: 33.3%;
    max-height: 550px;
    border-radius: 4px;
}

.list-brosur-2 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.list-brosur-2 .item {
    width: 48%;
    max-height: 800px;
    border-radius: 4px;
}

@media screen and (max-width: 768px) {
    .container-brosur {
        margin-top: 180px;
    }
    .container-brosur-2 {
        margin-top: 240px;
    }
    .list-brosur {
        flex-direction: column;
    }
    .list-brosur .item {
        width: 100%;
    }
    .list-brosur-2 {
        flex-direction: column;
    }
    .list-brosur-2 .item {
        width: 100%;
    }
}
/* Brosur */

/* Timeline */
.container-timeline {
    display: flex;
    flex-direction: row;
    gap: 24px;
}
.timeline {
    width: 50%;
    height: 100%;
    border-left: 1px solid white;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.timeline .item {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
}
.timeline .item .dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--accent);
    border: 2px solid white;
    margin-left: -6px;
}
.timeline .item .content {
    width: 100%;
}
.timeline .item .content .title {
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 171.429% */
    letter-spacing: 0.18px;
    color: var(--accent);
}
.timeline .item .content .desc {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 171.429% */
    letter-spacing: 0.14px;
    color: white;
}

@media screen and (max-width: 768px) {
    .container-timeline {
        flex-direction: column;
        gap: 0;
    }
    .timeline {
        width: 100%;
    }
}
/* Timeline */

/* About */
.container-about {
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
        gap:16px;
        }
.container-about .item {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .container-about {
        flex-direction: column;
    }
    .container-about .item {
        width: 100%;
    }
}
/* About */

/* Schedule */
.cards-schedule {
    display: flex;
    gap: 24px;
    width: 100%;
    align-items: center;
}

.cards-schedule .card-schedule {
    width: 33.3%;
    padding: 16px;
    background-color: white;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
    border: 1px solid #eae9e9;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cards-schedule .card-schedule .card-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cards-schedule .card-schedule .card-header .icon-container {
    padding: 8px;
    border-radius: 4px;
    background-color: var(--accent);
}

.cards-schedule .card-schedule .card-header .card-text {
    display: flex;
    flex-direction: column;
}

.cards-schedule .card-schedule .card-header .wave-title {
    font-size: 20px;
    color: #34364a;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.24px;
}

.cards-schedule .card-schedule .card-header .wave-subtitle {
    font-size: 14px;
    color: #34364a;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.24px;
}

.cards-schedule .wave-date {
    font-size: 16px;
    color: #34364a;
}

@media screen and (max-width: 768px) {
    .cards-schedule {
        flex-direction: column;
    }
    .cards-schedule .card-schedule {
        width: 100%;
    }
}
/* Schedule */

/* Reason */
.list-reason {
    display: flex;
    gap: 24px;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}
.list-reason .item {
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.list-reason .item .title {
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 171.429% */
    letter-spacing: 0.18px;
    color: var(--accent);
    text-align: center;
}
.list-reason .item .desc {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 171.429% */
    letter-spacing: 0.14px;
    color: white;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .list-reason .item {
        width: 100%;
    }
}
/* Reason */

/* Activity */
.list-activity {
    width: 100%;
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: center;
}
.list-activity .item {
    width: 25%;
    height: 350px;
    border-radius: 10px; /* Rounded corners */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}
.list-activity .item .image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter 0.3s ease-in-out;
}
.list-activity .item .image:hover {
    filter: blur(4px);
}
.list-activity .item .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2); /* Semi-transparent black */
    pointer-events: none;
    display: flex;
    align-items: flex-end;
    padding: 1.5rem;
}
.list-activity .item .overlay-text {
    font-size: 16px; /* Adjust according to your needs */
    font-weight: 500;
    color: white;
}

.list-activity-2 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: start;
}
.list-activity-2 .item {
    width: 23.5%;
    height: 350px;
    border-radius: 10px; /* Rounded corners */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}
.list-activity-2 .item .image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter 0.3s ease-in-out;
}
.list-activity-2 .item .image:hover {
    filter: blur(4px);
}
.list-activity-2 .item .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2); /* Semi-transparent black */
    pointer-events: none;
    display: flex;
    align-items: flex-end;
    padding: 1.5rem;
}
.list-activity-2 .item .overlay-text {
    font-size: 16px; /* Adjust according to your needs */
    font-weight: 500;
    color: white;
}

@media screen and (max-width: 992px) {
    .list-activity-2 .item {
        width: 30%;
        height: 250px;
    }
    .list-activity-2 {
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 768px) {
    .list-activity {
        flex-wrap: wrap;
    }
    .list-activity .item {
        width: 40%;
        height: 250px;
    }

    .list-activity-2 .item {
        width: 40%;
        height: 250px;
    }

    .list-activity-2 {
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 576px) {
    .list-activity .item {
        width: 100%;
        height: 250px;
    }
    .list-activity-2 .item {
        width: 100%;
        height: 250px;
    }
}
/* Activity */

/* Footer */
.footer {
    width: 100%;
    background-color: var(--primary);
}
.footer-content {
    display: flex;
    justify-content: space-between;
    padding: 32px;
    gap: 42px;
}
.footer-section {
    width: 33.33%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.text-white {
    color: white;
    font-size: 18px; /* or adjust according to class body-medium-18 */
    font-weight: 500;
}
.footer-link {
    color: white;
    font-size: 14px; /* or adjust according to class body-regular-14 */
    text-decoration: none;
}
.footer-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}
.footer-bottom {
    width: 100%;
    background-color: white;
    padding: 16px;
    display: flex;
    justify-content: center;
}
.footer-text {
    color: #34364a;
    font-size: 14px; /* or adjust according to class body-regular-14 */
}

@media screen and (max-width: 768px) {
    .footer-content {
        flex-direction: column;
    }
    .footer-section a {
        text-align: center;
    }
    .footer-section {
        width: 100%;
        align-items: center;
    }
    .footer-links {
        align-items: center;
    }
}
/* Footer */

.banner-img {
    width: 100%;
    height: 250px;
    position: relative;
    border-radius: 24px;
    background-color: var(--primary);
}

.banner-img .title {
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: 48px;
    letter-spacing: 0.36px;
    color: white;
}

.banner-img .desc {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: 0.18px;
    color: white;
}

/* Hide image on screens smaller than 767px */
@media (max-width: 767px) {
    .banner-img .title {
        font-size: 24px;
    }

    .banner-img .desc {
        font-size: 14px;
    }

    .banner-img img {
        display: none;
    }
}

/* Kontak */
.content-kontak {
    display: flex !important;
    flex-direction: row !important;
    gap: 32px;
}
.content-kontak .item {
    width: 50%;
}

.content-kontak .item.item-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.content-kontak .item.item-list .item {
    width: 100%;
    display: flex;
    flex-direction: row !important;
    gap: 12px;
}

.content-kontak .item.item-list .item .icon {
    width: 32px !important;
    height: 32px !important;
}

.content-kontak .item.item-list .item a {
    color: #34364a;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: 0.16px;
    text-decoration: none !important;
}

@media screen and (max-width: 768px) {
    .content-kontak {
        flex-direction: column !important;
    }
    .content-kontak .item {
        width: 100%;
    }
}
/* Kontak */

.nav-tabs .nav-link {
    color: #a5a6a9 !important;
    font-weight: 500 !important;
    border: none !important;
    outline: none !important;
}

.nav-tabs .nav-link:hover {
    border: none !important;
    color: #535353 !important;
}

.nav-tabs .nav-link.active {
    color: var(--accent) !important;
    font-weight: 600 !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid var(--accent) !important;
}

.tab-content {
    width: 100% !important;
}

.tab-content .tab-pane {
    padding: 1.4rem 0 !important;
}

@media screen and (max-width: 576px) {
    .nav-tabs .nav-link {
        font-size: 12px !important;
    }
}

.text-visi-misi p {
    text-align: center !important;
    font-size: 13px;
}

.list-brosur-detail {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.list-brosur-detail .item {
    flex-basis: 30%;
    box-sizing: border-box;
}

/* Responsif untuk layar kecil */
@media (max-width: 768px) {
    .list-brosur-detail .item {
        flex-basis: 100%;
    }
}

.list-reason-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px;
    padding: 10px;
    overflow-x: auto;
}

.list-reason-2 .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 30%;
    max-width: 30%;
    gap: 12px;
    text-align: center;
}

.list-reason-2 .item img {
    max-width: 120px;
    max-height: 120px;
    object-fit: cover;
    /* margin-bottom: 10px; */
}

@media (max-width: 768px) {
    .list-reason-2 .item {
        width: 43.5%;
        max-width: 43.5%;
    }
}

@media (max-width: 600px) {
    .list-reason-2 .item {
        width: 100%;
        max-width: 100%;
    }
}

.section-berita-image {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 24px;
}

.section-berita-image .first {
    width: 80%;
}

.section-berita-image .first img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.section-berita-image .second {
    width: 20%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
}

.section-berita-image .second .item {
    width: 100%;
    cursor: pointer;
}

.section-berita-image .second .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
    transition: border 0.3s;
}

/* Active state with blue border */
.section-berita-image .second .item.active img {
    border: 4px solid var(--accent);
}

@media screen and (max-width: 768px) {
    .section-berita-image {
        flex-direction: column;
    }

    .section-berita-image .first {
        width: 100%;
    }

    .section-berita-image .second {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }

    .section-berita-image .second .item {
        width: 32%;
    }
}

.about-items {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .about-items {
        width: 100%;
    }
}

.text-justify-custom p{
    text-align: justify !important;
}