/* Importing fonts */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Amiri:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap');

/* Defining CSS Variables */
:root {
    --main-color: #305b90;
    --font-heading: 'PT Sans', sans-serif;
    --font-sub: 'Poppins', sans-serif;
    --font-body: 'Amiri', serif;
}

/* Applying font styles globally */
body {
    font-family: Onest;
    color: #333; /* Optional: set a default text color */
    padding: 0;
    margin: 0;
    overflow-x: hidden;
}
.slide-hero  {
    filter: none !important;
    position: relative;
    z-index: 1;
} 

/* aksebiitas custom */

.grayscale header *,
.grayscale main,
.grayscale main *,
.grayscale footer,
.grayscale footer * {
    filter: grayscale(1)  !important;
}

.negatif header *,
.negatif main,
.negatif main *,
.negatif footer,
.negatif footer * {
    filter: invert(0.9) contrast(1.1) saturate(1.2) brightness(1.05) !important;
}

.bright header *,
.bright main,
.bright main *,
.bright footer,
.bright footer * {
    filter: brightness(105%);
}

body.cursor-active * {
    cursor: none !important;
}

.cursor-icon {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    font-size: 48px;
    z-index: 9999;
    color: black;
    display: none;
    transition: transform 0.1s ease;
}



/* akhir aksebiitas custom */
 
.content-post * {
    font-family: Onest;
    white-space: normal;
    line-height: 1.5; 
    word-wrap: break-word; 
    font-size: large !important;
}

.content-post {
    overflow-x: hidden !important; 
}


.row {
    margin-right: 0;
    margin-left: 0;
}
/* Apply to headings and subheadings */
h1, h2, h3, h4, h5, h6 {
    font-family: Onest;
}

/* Apply to paragraphs and other text content */
p, span, li, a, button, input, label, select, small {
    font-family: var(--font-sub), sans-serif; /* Sub-font for other text */
}

/* Default sizes */
.jl_logo_n {
    width: 300px; /* Default logo width */
}

.kl_navbar ul li a {
    width: 40px; /* Default icon size */
    height: 40px;
    font-size: 20px; /* Default icon font size */
}

.header-title {
    font-family: Onest;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}


@media (max-width: 768px) {
    .header-title {
        font-size: 15px !important;
        font-weight: 700;
    }
}

@media (max-width: 768px) {
    .jl_logo_n {
        width: 150px; /* Reduce logo width for smaller screens */
    }

    .kl_navbar ul li a  {
        width: 28px !important; /* Slightly smaller icons on mobile */
        height: 28px !important;
        font-size: 10px !important; /* Reduce font size of icons */
    }

    .kl_navbar ul li a i {
        font-size: 15px !important; /* Reduce font size of icons */
    }
}

.custom-toggler {
    border: none;
    background: transparent; 
}

.custom-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.custom-toggler:hover {
    opacity: 0.8;
}

.custom-toggler:active {
    border: 1px solid #fff;
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 5px 1px rgba(255, 255, 255, 0.5) !important;
}


/* go top */

#go-top {
    transition: opacity 0.3s ease-in-out;
}
#go-top .btn {
    width: 50px; 
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Opsional, untuk efek bayangan */
}

/* accessibility */
#accessibility {
    transition: opacity 0.3s ease-in-out;
}
#accessibility .btn {
    width: 40px; 
    height: 40px;
    border-radius: 50px ;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Opsional, untuk efek bayangan */
}

/*DEMO ONLY*/
.service-categories{
    padding-top: 3em;
    padding-bottom: 3em;
    background: #3d6277;
    background-size: cover;
  }
  /*DEMO ONLY*/
  .service-categories .card{
    transition: all 0.2s;
  }
  .service-categories .card-title{
    padding-top: 0.5em;
  }
  .service-categories a:hover{
    text-decoration: none;
  }
  .service-card{
    background: rgba(72, 88, 104, 0.9);
    border: 0;
  }
  .service-card:hover{
    background: rgba(72, 88, 104, 1);
    border-right: 5px solid orange;
    border-left: 5px solid orange;
  }
  .fa{
    color: white;
  }


/* heor section */
.carousel-container {
    position: relative;
    border-radius: 5px;
    width: 100%;
    height: 500px;  /* Tentukan tinggi default */
    overflow: hidden;
}

.carousel {
    width: 100%;
    height: 100%;
    position: relative;
}


.carousel-slide {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.carousel-slide.active {
    display: block; 
    opacity: 1;
}

.carousel-slide img {
    width: 100%; 
    height: 100%;
    object-fit: cover;  
    position: absolute;
    top: 0;
    left: 0;
}

.carousel-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0.36%, #000000 100.36%);
    color: white;
    text-align: left;
    z-index: 10;  /* Menempatkan teks di atas gambar */
}

.carousel-caption small {
    color: #ffffff;
}

.carousel-caption h2 {
    margin: 10px 0;
    font-size: 24px;
}

.carousel-prev,
.carousel-next {
    position: absolute;
    top: 50%;
    border-radius: 100%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 10px 20px;
    cursor: pointer;
    border: none;
    z-index: 100;
}

.carousel-prev {
    left: 10px;
}

.carousel-next {
    right: 10px;
}

/* Responsive untuk mobile */
@media screen and (max-width: 768px) {
    .carousel-container {
        height: 400px; 
    }
    .carousel-caption {
        padding: 10px;
    }

    .carousel-caption h2 {
        font-size: 16px;
    }

    .carousel-prev,
    .carousel-next {
        padding: 5px 10px;
        font-size: 14px;
    }
}

/* Responsive untuk mobile kecil */
@media screen and (max-width: 480px) {
    .carousel-container {
        height: 250px; 
    }

    .carousel-caption h2 {
        font-size: 14px;
    }

    .carousel-caption small {
        font-size: 10px;
    }
}



/* pagination */

.pagination {
    gap: 5px;
}

.pagination .page-item .page-link {
    border-radius: 0;
    padding: 8px 16px;
    border: none;
}

.pagination .page-item.active .page-link {
    background-color: #14213D;
    color: white;
}

.pagination .page-link:focus {
    box-shadow: none;
}

.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #14213D;
    color: white;
}

.pagination .page-item.disabled .page-link {
    background-color: #ccc;
}


/* new text */

@media screen and (max-width: 768px) {

    .slug a {
        font-size: 13px !important;
    }

    .date {
        font-size: 10px !important;
    }


}

@media (min-width: 768px) {

    .slug a {
        font-size: 18px;
    }

    .date {
        font-size: 16px;
    }
}


/* post detail */

.py-header-title {
    font-size: clamp(18px, 3vw, 38px);
    font-weight: 700;
    font-family: 'Inter', sans-serif !important;
    padding-bottom: 8px;
    position: relative;
}

.contributor-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.contributor-name {
    font-size: 14px;
}

.foot-detail {
    font-size: 14px;
}

.contributor-role {
    font-size: 12px;
    color: gray;
}

.date-time {
    font-size: 14px;
}

@media (max-width: 576px) {
    .contributor-img {
        width: 30px;
        height: 30px;
    }

    .contributor-name {
        font-size: 12px;
    }
    .foot-detail {
        font-size: 12px;
    }

    .contributor-role {
        font-size: 10px;
    }

    .date-time {
        font-size: 12px;
    }
}

.border-dashed {
    border-top: 0.1px dashed rgb(208, 206, 206);
    border-bottom: 0.1px dashed rgb(167, 167, 167);
}

/* akhir post detai; */

/* news source */

.news_source {
    padding: 2px 5px; 
    margin-right: 10px;
    font-weight: 400;
    color: #fff !important;
    background-color: #2C65E1;
    border-radius: 3px;
    font-family: 'DM Sans';
    font-size: 13px; 
}

a {
    text-decoration: none !important;
    display: inline-block; 
}
a:hover {
    font-weight: 500;
}


@media (max-width: 576px) {
    .news_source {
        font-size: 13px; 
        padding: 1px 5px;
        margin-right: 5px; 
    }
}


/* scroll office */

.scroll-container-office {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.scroll-container-office::-webkit-scrollbar {
    display: none;
}

.left-btn:hover,
.right-btn:hover {
    font-size: large;
}

.office-card .p-x {
    padding-left: 1rem;
    padding-right: 1rem;
}

.office-card .p-y {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

@media (max-width: 640px) {
    .office-card .p-x {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .office-card .p-y {
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
    }
}


/* banner surve */

@media (max-width: 768px) {
    .banner-survey {
        font-size: 12px !important;
    }
}