/**
* Template Name: Kaup FF
* Author: anonymous
*/

@import url("fonts.css");

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

/* Global Colors */
:root {
    --background-color: #ffffff;
    --background-color-rgb: 255, 255, 255;
    --accent-color: #74308c;
    --accent-color-rgb: 116, 48, 140;
    --heading-color: #32353a;
    --heading-color-rgb: 50, 53, 58;
    --contrast-color: #ffffff;
    --contrast-color-rgb: 255, 255, 255;
    --color-secondary-rgb: 86, 112, 160;
    --color-black: #000000;
    --color-black-rgb: 0, 0, 0;
    /* Primay colors */
    --color-primary: #3279fc;
    --color-primary-rgb: 50, 121, 252;
    --color-white: #ffffff;
    --color-white-rgb: 255, 255, 255;
    --accent-color-rgb: rgb(122 74 185);
    --bs-pengurus-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(122, 68, 193, 0.226);

    --default-color: #74308c;
    --default-color-rgb: 116, 48, 140;

    --default-color-hover: #8f3dad;
    --default-color-hover-rgb: rgb(143, 61, 173);

    --brand-purple: #74308c;
    --brand-dark: #4a1d5a;
    --brand-soft: #f4eef7;
}

body {
    font-family: "Open Sans", sans-serif;
    color: #444444;
    background-color: var(--default-color);
}

a {
    text-decoration: none;
    color: var(--default-color);
}

a:hover {
    color: var(--default-color-hover);
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Raleway", sans-serif;
}

input:focus-visible {
    outline: 2px solid var(--default-color-hover);
}

select:focus-visible {
    border: 2px dashed var(--default-color-hover);
    outline: none;
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 996;
    background: #601c79;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

.back-to-top i {
    font-size: 28px;
    color: #fff;
    line-height: 0;
}

.back-to-top:hover {
    background: var(--default-color-hover);
    color: #fff;
}

.back-to-top.active {
    visibility: visible;
    opacity: 1;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
    background: var(--default-color);
    transition: all 0.5s;
    z-index: 997;
    padding: 20px 0;
}

#header.header-scrolled {
    box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);
    padding: 12px 0;
}

#header.header-inner-pages {
    box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);
}

#header .logo {
    font-size: 28px;
    margin: 0;
    padding: 0;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

#header .logo a {
    color: #556270;
}

#header .logo img {
    max-height: 52px;
}

/*--------------------------------------------------------------
# Sections & Section Header
--------------------------------------------------------------*/
section {
    padding: 60px 0;
    overflow: hidden;
}

.section-header {
    text-align: center;
    padding-bottom: 40px;
}

.section-header h2 {
    font-size: 48px;
    font-weight: 300;
    margin-bottom: 20px;
    color: var(--default-color);
}

.section-header p {
    margin: 0 auto;
    color: var(--color-secondary-light);
}

@media (min-width: 1280px) {
    .section-header p {
        max-width: 80%;
    }
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
.navbar {
    padding: 0;
}

.navbar ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
}

.navbar li {
    position: relative;
}

.navbar a,
.navbar a:focus {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0 10px 30px;
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
    transition: 0.3s;
}

.navbar a i,
.navbar a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
    color: #ffffff;
}

.navbar .login-btn,
.navbar .login-btn:focus {
    background: var(--default-color);
    padding: 8px 25px;
    margin-left: 30px;
    border-radius: 4px;
    font-weight: 400;
    color: #fff;
    border: solid;
}

.navbar .login-btn:hover,
.navbar .login-btn:focus:hover {
    color: #fff;
    background: var(--default-color-hover);
}

.navbar .dropdown ul {
    display: block;
    position: absolute;
    left: 14px;
    top: calc(100% + 30px);
    margin: 0;
    padding: 10px 0;
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    background: var(--default-color);
    box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
    transition: 0.3s;
}

.navbar .dropdown ul li {
    min-width: 200px;
}

.navbar .dropdown ul a {
    padding: 10px 20px;
    font-size: 15px;
    text-transform: none;
    font-weight: 400;
}

.navbar .dropdown ul a i {
    font-size: 12px;
}

.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover>a {
    color: #ffffff;
}

.navbar .dropdown:hover>ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
}

.navbar .dropdown .dropdown ul {
    top: 0;
    left: calc(100% - 30px);
    visibility: hidden;
}

.navbar .dropdown .dropdown:hover>ul {
    opacity: 1;
    top: 0;
    left: 100%;
    visibility: visible;
}

@media (max-width: 1366px) {
    .navbar .dropdown .dropdown ul {
        left: -90%;
    }

    .navbar .dropdown .dropdown:hover>ul {
        left: -100%;
    }
}

/**
* Mobile Navigation 
*/
.mobile-nav-toggle {
    color: #ffffff;
    font-size: 28px;
    cursor: pointer;
    display: none;
    line-height: 0;
    transition: 0.5s;
}

.mobile-nav-toggle.bi-x {
    color: #fff;
}

@media (max-width: 991px) {
    .mobile-nav-toggle {
        display: block;
    }

    .navbar ul {
        display: none;
    }
}

.navbar-mobile {
    position: fixed;
    overflow: hidden;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: rgba(63, 73, 83, 0.9);
    transition: 0.3s;
    z-index: 999;
}

.navbar-mobile .mobile-nav-toggle {
    position: absolute;
    top: 15px;
    right: 15px;
}

.navbar-mobile ul {
    display: block;
    position: absolute;
    top: 55px;
    right: 15px;
    bottom: 15px;
    left: 15px;
    padding: 10px 0;
    background-color: #fff;
    overflow-y: auto;
    transition: 0.3s;
}

.navbar-mobile a,
.navbar-mobile a:focus {
    padding: 10px 20px;
    font-size: 15px;
    color: #556270;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover>a {
    color: #680fdd;
}

.navbar-mobile .login-btn,
.navbar-mobile .login-btn:focus {
    margin: 15px;
}

.navbar-mobile .dropdown ul {
    position: static;
    display: none;
    margin: 10px 20px;
    padding: 10px 0;
    z-index: 99;
    opacity: 1;
    visibility: visible;
    background: #fff;
    box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
}

.navbar-mobile .dropdown ul li {
    min-width: 200px;
}

.navbar-mobile .dropdown ul a {
    padding: 10px 20px;
}

.navbar-mobile .dropdown ul a i {
    font-size: 12px;
}

.navbar-mobile .dropdown ul a:hover,
.navbar-mobile .dropdown ul .active:hover,
.navbar-mobile .dropdown ul li:hover>a {
    color: #680fdd;
}

.navbar-mobile .dropdown>.dropdown-active {
    display: block;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
    width: 100%;
    height: 100vh;
    background-color: rgba(63, 73, 83, 0.8);
    overflow: hidden;
    position: relative;
}

#hero .carousel,
#hero .carousel-inner,
#hero .carousel-item,
#hero .carousel-item::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}

#hero .carousel-item {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#hero .carousel-item::before {
    content: "";
    background-color: rgba(30, 35, 40, 0.6);
}

#hero .carousel-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    top: 70px;
    left: 50px;
    right: 50px;
}

#hero .container {
    text-align: center;
}

#hero h2 {
    color: #fff;
    margin-bottom: 20px;
    font-size: 42px;
    font-weight: 700;
}

#hero h3 {
    color: #fff;
    margin-bottom: 20px;
    font-size: 32px;
    font-weight: 700;
}

#hero h4 {
    color: #fff;
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 700;
}

#hero p {
    animation-delay: 0.4s;
    margin: 0 auto 30px auto;
    color: #fff;
}

#hero .carousel-inner .carousel-item {
    transition-property: opacity;
    background-position: center top;
}

#hero .carousel-inner .carousel-item,
#hero .carousel-inner .active.carousel-item-start,
#hero .carousel-inner .active.carousel-item-end {
    opacity: 0;
}

#hero .carousel-inner .active,
#hero .carousel-inner .carousel-item-next.carousel-item-start,
#hero .carousel-inner .carousel-item-prev.carousel-item-end {
    opacity: 1;
    transition: 0.5s;
}

#hero .carousel-inner .carousel-item-next,
#hero .carousel-inner .carousel-item-prev,
#hero .carousel-inner .active.carousel-item-start,
#hero .carousel-inner .active.carousel-item-end {
    left: 0;
    transform: translate3d(0, 0, 0);
}

#hero .carousel-control-next-icon,
#hero .carousel-control-prev-icon {
    background: none;
    font-size: 30px;
    line-height: 0;
    width: auto;
    height: auto;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    transition: 0.3s;
    color: rgba(255, 255, 255, 0.5);
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#hero .carousel-control-next-icon:hover,
#hero .carousel-control-prev-icon:hover {
    background: rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.8);
}

#hero .carousel-indicators li {
    list-style-type: none;
    cursor: pointer;
    background: #fff;
    overflow: hidden;
    border: 0;
    width: 12px;
    height: 12px;
    border-radius: 50px;
    opacity: 0.6;
    transition: 0.3s;
}

#hero .carousel-indicators li.active {
    opacity: 1;
    background: var(--default-color);
}

#hero .btn-get-started {
    font-family: "Raleway", sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 1px;
    display: inline-block;
    padding: 14px 32px;
    border-radius: 4px;
    transition: 0.5s;
    line-height: 1;
    color: #fff;
    animation-delay: 0.8s;
    background: var(--default-color);
}

#hero .btn-get-started:hover {
    background: var(--default-color-hover);
}

@media (max-width: 992px) {
    #hero {
        height: 100vh;
    }

    #hero .carousel-container {
        top: 8px;
    }
}

@media (max-width: 768px) {
    #hero h2 {
        font-size: 28px;
    }
}

@media (min-width: 1024px) {

    #hero .carousel-control-prev,
    #hero .carousel-control-next {
        width: 5%;
    }
}

@media (max-height: 500px) {
    #hero {
        height: 120vh;
    }
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
    padding: 60px 0;
    overflow: hidden;
}

.section-bg,
.services .icon-box {
    background-color: #f8f9fa;
}

.section-title {
    padding-bottom: 60px;
    position: relative;
}

.section-title h2 {
    font-size: 14px;
    font-weight: 400;
    padding: 0;
    line-height: 1px;
    margin: 0;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--default-color), transparent 50%);
    position: relative;
    font-family: var(--default-font);
}

.section-title h2::after {
    content: "";
    width: 120px;
    height: 1px;
    display: inline-block;
    background: var(--accent-color);
    margin: 4px 10px;
}

.section-title p {
    color: var(--heading-color);
    margin: 0;
    font-size: 36px;
    font-weight: 400;
    font-family: var(--heading-font);
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
    padding: 18px 0;
    background: #f8f9fa;
    min-height: 40px;
    margin-top: 80px;
}

.breadcrumbs h2 {
    font-size: 32px;
    font-weight: 300;
    margin: 0;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
}

.breadcrumbs ol li+li {
    padding-left: 10px;
}

.breadcrumbs ol li+li::before {
    display: inline-block;
    padding-right: 10px;
    color: #6b7b8d;
    content: "/";
}

@media (max-width: 992px) {
    .breadcrumbs {
        margin-top: 58px;
    }

    .breadcrumbs .d-flex {
        display: block !important;
    }

    .breadcrumbs h2 {
        margin-bottom: 10px;
    }

    .breadcrumbs ol {
        display: block;
    }

    .breadcrumbs ol li {
        display: inline-block;
    }
}

/*--------------------------------------------------------------
#Vision Mision 
--------------------------------------------------------------*/
.visionmision {
    padding: 0;
    background-color: #ffffff;
}

.visionmision .mision {
    color: #ffff;
}

.visionmision .mision .content .title {
    color: #ffff;
}

.visionmision .service-item {
    position: relative;
    padding-top: 20px;
}

.visionmision .service-item:before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(var(--background-color-rgb), 0.5);
}

.visionmision .service-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 140px;
    height: 6px;
    background: #ffffff;
    border-right: 5px solid var(--background-color);
}

.visionmision .vision .service-item:before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(var(--default-color-rgb), 0.5);
}

.visionmision .vision .service-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 140px;
    height: 6px;
    background: var(--default-color);
    border-right: 5px solid var(--default-color-rgb);
}

.visionmision .mision {
    min-height: 400px;
    background: var(--default-color);
    background-size: cover;
}

.visionmision .content {
    background-size: cover;
    padding: 40px;
}

@media (min-width: 768px) {
    .visionmision .content {
        padding: 20px 80px;
    }
}

.visionmision .content h3 {
    font-weight: 600;
    font-size: 32px;
    color: var(--color-white);
}

.visionmision .content ul {
    list-style: disc;
    padding: 0;
}

.visionmision .content ul li {
    padding-bottom: 10px;
}

.visionmision .content p:last-child {
    margin-bottom: 0;
}


/*--------------------------------------------------------------
# Gallery Section
--------------------------------------------------------------*/
.gallery-section {
    padding: 80px 0;
    background: #fff;
}

/* Menjamin semua foto berukuran kotak sama (Sangat Penting) */
.gallery-card {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #eee;
}

.gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s ease;
}

/* Hover Effect */
.gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(116, 48, 140, 0.7);
    /* Warna ungu khas Farmasi UP */
    backdrop-filter: blur(3px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.4s ease;
}

.gallery-card:hover .gallery-overlay {
    opacity: 1;
}

.gallery-card:hover img {
    transform: scale(1.15);
}

.overlay-content {
    text-align: center;
    padding: 15px;
}

.photo-caption {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.preview-link {
    background: #fff;
    color: #74308c;
    padding: 7px 18px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
}

/* Button Load More */
.btn-gallery-more {
    border: 2px solid #74308c;
    background: transparent;
    color: #74308c;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 700;
    transition: 0.3s;
}

.btn-gallery-more:hover {
    background: #74308c;
    color: #fff;
    box-shadow: 0 10px 20px rgba(116, 48, 140, 0.2);
}

/* Header Container */
.gallery-header {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
}

/* Container Utama */
.gallery-header-container {
    text-align: center;
    position: relative;
    padding-bottom: 20px;
}

/* Badge Kecil di Atas Judul */
.header-badge {
    display: inline-block;
    background: rgba(116, 48, 140, 0.1);
    color: #74308c;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
    border: 1px solid rgba(116, 48, 140, 0.2);
}

/* Judul Modern dengan Gradasi */
.modern-title {
    font-size: 3rem;
    font-weight: 800;
    color: #2d3436;
    margin-bottom: 10px;
    letter-spacing: -1px;
}

.modern-title span {
    background: linear-gradient(135deg, #74308c 0%, #a246c4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
}

/* Divider Kustom */
.modern-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 20px 0;
}

.modern-divider .line {
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, transparent, #74308c, transparent);
    border-radius: 10px;
}

.modern-divider .dot {
    width: 6px;
    height: 6px;
    background-color: #f39c12;
    /* Aksen oranye agar tidak monoton */
    border-radius: 50%;
}

/* Subtitle/Deskripsi */
.modern-subtitle {
    font-size: 1.15rem;
    color: #636e72;
    max-width: 650px;
    margin: 0 auto;
    line-height: 1.6;
}

.modern-subtitle strong {
    color: #74308c;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
    .modern-title {
        font-size: 2.2rem;
    }

    .modern-subtitle {
        font-size: 1rem;
        padding: 0 20px;
    }
}

/* Subtitle dengan style floating */
.gallery-subtitle {
    display: inline-block;
    background: rgba(116, 48, 140, 0.1);
    /* Warna ungu sangat muda */
    color: #74308c;
    padding: 6px 18px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

/* Title Utama */
.gallery-title {
    font-size: 2.8rem;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 0;
}

.gallery-title span {
    color: #74308c;
    position: relative;
}

/* Underline Kustom (Lebih Artistik) */
.gallery-underline-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 20px 0;
}

.line-long {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #74308c, #f39c12);
    border-radius: 10px;
}

.line-dot {
    width: 8px;
    height: 8px;
    background: #f39c12;
    border-radius: 50%;
}

/* Deskripsi */
.gallery-desc {
    font-size: 1.1rem;
    color: #666;
    line-height: 1.6;
    font-weight: 400;
}

/* Efek Responsif */
@media (max-width: 768px) {
    .gallery-title {
        font-size: 2rem;
    }

    .gallery-desc {
        font-size: 0.95rem;
        padding: 0 15px;
    }
}

/*--------------------------------------------------------------
# On Focus Section
--------------------------------------------------------------*/
.video-section {
    padding: 100px 0;
    background-color: #ffffff;
    overflow: hidden;
}

/* Header Styling */
.badge-modern {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(116, 48, 140, 0.08);
    color: #74308c;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
    border: 1px solid rgba(116, 48, 140, 0.1);
}

.modern-title {
    font-size: 3.8rem;
    font-weight: 800;
    line-height: 1;
    color: #1a1a1a;
    margin: 0;
    letter-spacing: -2px;
    min-height: 1.2em;
    /* Mencegah layout bergeser */
}

.modern-title-sub {
    font-size: 3.8rem;
    color: #74308c;
    font-weight: 400;
    font-style: italic;
    font-family: 'Playfair Display', serif;
    /* Pastikan font ini terload atau gunakan serif standar */
    letter-spacing: -1px;
    margin-top: -5px;
    min-height: 1.2em;
}

/* Typing Cursor Effect */
.typing-cursor::after {
    content: "|";
    animation: blink-cursor 0.7s infinite;
    color: #74308c;
    margin-left: 5px;
    font-weight: 200;
}

@keyframes blink-cursor {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

.modern-description {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #6c757d;
    border-left: 4px solid #74308c;
    padding-left: 30px;
}

.header-line-decorator {
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, #74308c, rgba(116, 48, 140, 0.05));
    margin-top: 45px;
}

/* Video Window (Web App Look) */
.video-window {
    background: #ffffff;
    border-radius: 35px;
    overflow: hidden;
    box-shadow: 0 40px 100px -20px rgba(116, 48, 140, 0.2);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.video-toolbar {
    background: #fdfbff;
    padding: 18px 30px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}

.toolbar-dots {
    display: flex;
    gap: 8px;
}

.toolbar-dots span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.dot-red {
    background: #ff5f56;
}

.dot-yellow {
    background: #ffbd2e;
}

.dot-green {
    background: #27c93f;
}

.toolbar-title {
    flex-grow: 1;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #adb5bd;
    letter-spacing: 1.5px;
    margin-right: 40px;
}

.video-wrapper {
    background: #000;
    aspect-ratio: 16/9;
}

.video-wrapper video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Responsive */
@media (max-width: 991px) {

    .modern-title,
    .modern-title-sub {
        font-size: 2.8rem;
    }

    .header-right {
        margin-top: 30px;
    }
}

@media (max-width: 576px) {

    .modern-title,
    .modern-title-sub {
        font-size: 2.2rem;
    }
}

/*--------------------------------------------------------------
# Organization Structure
--------------------------------------------------------------*/
.organizationstructure {
    background-color: #ffffff;
}

.organizationstructure .carousel-indicators {
    display: none;
}

/*  pengurus-circle Section - Pengurus Page
------------------------------*/
.pengurus-circle {
    --background-color: #f4f4f4;
}

.pengurus-circle .member {
    position: relative;
}

.pengurus-circle .member .member-img {
    margin: 0 80px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    border: 4px solid var(--background-color);
    box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.2);
}

@media (max-width: 1024px) {
    .pengurus-circle .member .member-img {
        margin: 0 60px;
    }
}

.pengurus-circle .member .member-img img {
    position: relative;
    z-index: 1;
}

.pengurus-circle .member .member-img .social {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    padding-bottom: 20px;
    transition: 0.3s;
    visibility: hidden;
    opacity: 0;
}

.pengurus-circle .member .member-img .social a {
    transition: 0.3s;
    color: var(--contrast-color);
    font-size: 20px;
    margin: 0 8px;
}

.member-img-profile {
    min-height: 15rem;
    object-fit: cover;
}

@media (max-width: 1280px) {
    .member-img-profile {
        min-height: 11.5rem;
    }
}

/* Media queries for different screen sizes */
@media (max-width: 1024px) {
    .member-img-profile {
        min-height: 12.7rem;
    }
}

/* Media queries for different screen sizes */
@media (max-width: 768px) {
    .member-img-profile {
        min-height: 13.5rem;
    }
}

@media (max-width: 425px) {
    .member-img-profile {
        min-height: 16.5rem;
    }
}

.pengurus-circle .member .member-img .social a:hover {
    color: var(--default-color);
}

.pengurus-circle .member .member-info {
    margin-top: 30px;
}

.pengurus-circle .member .member-info h4 {
    font-weight: 700;
    margin-bottom: 6px;
    font-size: 18px;
    color: #131385;
}

.pengurus-circle .member .member-info span {
    font-style: italic;
    display: block;
    font-size: 15px;
    color: #151515;
    margin-bottom: 10px;
}

.organizationstructure .accordion-button:not(.collapsed) {
    color: #ffffff;
    background: var(--default-color);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.organizationstructure .accordion-button::after {
    color: #ffffff;
}

.organizationstructure .accordion-button:focus {
    box-shadow: var(--bs-pengurus-accordion-btn-focus-box-shadow);
}

.pengurus-circle .member .member-info p {
    margin-bottom: 0;
    font-size: 14px;
}

.pengurus-circle .member:hover .member-img .social {
    padding-bottom: 0;
    visibility: visible;
    opacity: 1;
}

/* Testimonials Section - Home Page
------------------------------*/
.testimonials {
    background-color: #f4f4f4;
}

.testimonials .info h3 {
    font-weight: 700;
    font-size: 32px;
}

.testimonials .swiper {
    box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.05);
    background-color: #fff;
    border-radius: 10px;
}

.testimonials .testimonials-carousel,
.testimonials .testimonials-slider {
    overflow: hidden;
}

.testimonials .testimonial-item {
    box-sizing: content-box;
    min-height: 200px;
    position: relative;
    margin: 30px;
}

.testimonials .testimonial-item .testimonial-img {
    width: 90px;
    height: 90px;
    border-radius: 50px;
    border: 6px solid var(--background-color);
    margin-right: 10px;
}

.testimonials .testimonial-item h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0 5px 0;
    color: var(--default-color);
}

.testimonials .testimonial-item h4 {
    color: var(--default-color);
    font-size: 14px;
    margin: 0;
}

.testimonials .testimonial-item .stars {
    margin: 10px 0;
}

.testimonials .testimonial-item .stars i {
    color: #ffc107;
    margin: 0 1px;
}

.testimonials .testimonial-item .quote-icon-left,
.testimonials .testimonial-item .quote-icon-right {
    color: rgba(var(--accent-color-rgb), 0.4);
    font-size: 26px;
    line-height: 0;
}

.testimonials .testimonial-item .quote-icon-left {
    display: inline-block;
    left: -5px;
    position: relative;
    color: var(--default-color);
}

.testimonials .testimonial-item .quote-icon-right {
    display: inline-block;
    right: -5px;
    position: relative;
    top: 10px;
    transform: scale(-1, -1);
    color: var(--default-color);
}

.testimonials .testimonial-item p {
    font-style: italic;
    margin: 15px auto 15px auto;
}

.testimonials .swiper-wrapper {
    height: auto;
}

.testimonials .swiper-pagination {
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative;
}

.testimonials .swiper-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: rgba(var(--default-color-rgb), 0.15);
    opacity: 1;
    border: none;
}

.testimonials .swiper-pagination .swiper-pagination-bullet-active {
    background-color: var(--default-color);
}

@media (max-width: 767px) {

    .testimonials .testimonials-carousel,
    .testimonials .testimonials-slider {
        overflow: hidden;
    }

    .testimonials .testimonial-item {
        margin: 15px;
    }
}

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.about-content .carousel-indicators {
    display: none;
}

.about {
    padding-bottom: 20px;
    background-color: #ffffff;
}

.about .content h2 {
    font-weight: 700;
    font-size: 48px;
    line-height: 60px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.about .content h3 {
    font-weight: 500;
    line-height: 32px;
    font-size: 24px;
}

.about .content ul {
    list-style: none;
    padding: 0;
}

.about .content ul li {
    padding: 10px 0 0 28px;
    position: relative;
}

.about .content ul i {
    left: 0;
    top: 7px;
    position: absolute;
    font-size: 20px;
    color: #680fdd;
}

.about .content p:last-child {
    margin-bottom: 0;
}

/* Our Sponsors */
.section-padding30 {
    padding-bottom: 60px;
    padding-top: 60px;
}

.mb-50 {
    margin-bottom: 50px;
}

.mb-30 {
    margin-bottom: 30px;
}

.section-tittle2 h2 {
    color: #fff;
    font-weight: bold;
    font-size: 32px;
    margin-top: 0;
    margin-bottom: 14px;
    text-transform: capitalize;
    color: #ffffff;
}

.section-tittle2 p {
    color: #fff;
}

.work-company .single-logo img {
    width: 100%;
}

@media (max-width: 991px) {
    .section-tittle h2 {
        font-weight: bold;
        font-size: 26px;
        margin-top: 0;
        margin-bottom: 14px;
        text-transform: capitalize;
        color: #ffffff;
        text-align: center;
    }

    .section-tittle2 p {
        color: #fff;
        font-size: 18px;
        text-align: center;
    }

    .work-company .single-logo img {
        width: 50%;
    }

    .work-company .single-logo {
        margin-bottom: 30px;
        text-align: center;
    }
}


/*--------------------------------------------------------------
# Opening Speech
--------------------------------------------------------------*/

.speech-section {
    padding: 100px 0;
    background: #ffffff;
}

/* Profile Image Styling */
.profile-frame {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    background: #74308c;
}

.profile-img {
    transition: transform 0.5s ease;
    filter: grayscale(20%);
}

.profile-frame:hover .profile-img {
    transform: scale(1.05);
    filter: grayscale(0%);
}

.profile-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(to top, rgba(116, 48, 140, 0.9), transparent);
    color: white;
}

.profile-label h5 {
    margin: 0;
    font-weight: 700;
    font-size: 1.1rem;
}

.profile-label p {
    margin: 0;
    font-size: 0.8rem;
    opacity: 0.9;
}

/* Speech Content Styling */
.modern-speech-section {
    padding: 120px 0;
    background-color: #ffffff;
    position: relative;
    overflow: hidden;
}

/* Pattern Layer - Menggunakan pola SVG halus */
.pattern-layer {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2374308c' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    z-index: 1;
}

/* Profile Image Styling */

.image-wrapper {
    position: relative;
    border-radius: 50px 50px 4px 50px;
    overflow: hidden;
    box-shadow: 30px 30px 60px rgba(116, 48, 140, 0.15);
    border: 8px solid white;
}

.image-wrapper img {
    width: 100%;
    filter: contrast(1.05);
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1);
}

.profile-container:hover img {
    transform: scale(1.08);
}

/* Typography */
.welcome-tag {
    color: var(--brand-purple);
    font-weight: 800;
    letter-spacing: 4px;
    font-size: 0.75rem;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.display-title {
    font-size: 3.2rem;
    font-weight: 800;
    color: #222;
    line-height: 1.1;
}

.display-title span {
    color: var(--brand-purple);
    font-family: 'Playfair Display', serif;
    /* Opsional: gunakan font serif untuk kesan elegan */
    font-style: italic;
}

.text-purple {
    color: var(--brand-purple);
}

/* CTA Button dengan Pattern Ungu */
.cta-button {
    margin-top: 40px;
    display: inline-flex;
    align-items: center;
    background: var(--brand-purple);
    color: white;
    padding: 10px 10px 10px 35px;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.4s ease;
    box-shadow: 0 15px 35px rgba(116, 48, 140, 0.25);
}

.btn-icon {
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    transition: all 0.4s ease;
}

.cta-button:hover {
    background: var(--brand-dark);
    color: white;
    transform: translateY(-5px);
}

.cta-button:hover .btn-icon {
    background: white;
    color: var(--brand-purple);
    transform: rotate(-45deg);
}

/* Event Widget */
.event-glass-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(116, 48, 140, 0.1);
    border-radius: 24px;
    padding: 25px;
    box-shadow: 0 15px 35px rgba(116, 48, 140, 0.05);
}

.widget-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.widget-header h5 {
    font-weight: 800;
    color: #1a1a1a;
    margin: 0;
    font-size: 1.1rem;
}

.live-badge {
    background: #ff4757;
    color: white;
    font-size: 0.65rem;
    padding: 3px 10px;
    border-radius: 50px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.1);
        opacity: 0.7;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.mini-event-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    border-radius: 16px;
    text-decoration: none !important;
    transition: all 0.3s ease;
    margin-bottom: 10px;
    border: 1px solid transparent;
}

.mini-event-item:hover {
    background: #fff;
    border-color: rgba(116, 48, 140, 0.1);
    box-shadow: 0 10px 20px rgba(116, 48, 140, 0.06);
    transform: translateX(5px);
}

.date-box {
    background: #74308c;
    color: #fff;
    min-width: 50px;
    height: 55px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.date-box .day {
    font-weight: 800;
    font-size: 1.2rem;
}

.date-box .month {
    font-size: 0.7rem;
    text-transform: uppercase;
    opacity: 0.9;
    margin-top: 2px;
}

.info h6 {
    margin: 0 0 5px 0;
    color: #2d3436;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.3;
}

.location-wrapper {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #888;
    font-size: 0.8rem;
}

.location-wrapper i {
    color: #74308c;
}

.view-all-link {
    color: #74308c;
    font-weight: 700;
    font-size: 0.85rem;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: 0.3s;
}

.view-all-link:hover {
    gap: 12px;
    opacity: 0.8;
}

/* Responsive */
@media (max-width: 991px) {
    .modern-speech-section {
        text-align: center;
        padding: 80px 0;
    }

    .display-title {
        font-size: 2.5rem;
    }

    .image-wrapper {
        max-width: 400px;
        margin: 0 auto;
    }

    .cta-button {
        justify-content: center;
    }
}

.openingspeechdetail {
    background-color: #ffffff;
    padding: 50px 0;
}

.openingspeechdetail .openingspeechdetail-img {
    position: relative;
    margin: 60px 0 0 60px;
}

.openingspeechdetail .openingspeechdetail-img:before {
    position: absolute;
    inset: -60px 0 0 -60px;
    z-index: -1;
    content: "";
    background: url("../img/about-bg.png") top left;
    background-repeat: no-repeat;
}

.openingspeechdetail h3 {
    font-size: 16px;
    margin-bottom: 15px;
    color: var(--default-color);
    font-weight: 600;
}

.openingspeechdetail p {
    font-size: 14px;
}

.openingspeechdetail h4 {
    font-size: 14px;
}

@media (max-width: 575px) {
    .openingspeechdetail .openingspeechdetail-img {
        margin: 30px 0 0 30px;
    }

    .openingspeechdetail .openingspeechdetail-img:before {
        inset: -30px 0 0 -30px;
    }
}

/* Stats Section - Home Page
------------------------------*/
/* Reset & Base Section */
.stats-section {
    padding: 100px 0;
    background-color: #fcfaff;
    /* Background putih bersih dengan hint ungu */
    overflow: hidden;
}

/* Base Card Style */
.stats-card {
    --x: 50%;
    --y: 50%;
    background: #ffffff;
    padding: 35px 30px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    gap: 25px;
    position: relative;
    border: 1px solid rgba(116, 48, 140, 0.08);
    transition: transform 0.2s ease-out, border-color 0.3s ease;
    height: 100%;
    z-index: 1;
}

/* Dynamic Shadow & Glow Effect */
.stats-card:hover {
    transform: translateY(-10px);
    border-color: rgba(116, 48, 140, 0.3);
    /* Shadow yang bergeser tipis mengikuti kursor */
    box-shadow:
        calc((var(--x) - 50%) / 4) calc((var(--y) - 50%) / 4) 30px rgba(116, 48, 140, 0.15),
        0 15px 45px rgba(0, 0, 0, 0.05);
}

/* Inner Glow Effect */
.stats-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(circle at var(--x) var(--y),
            rgba(116, 48, 140, 0.06) 0%,
            transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: -1;
}

.stats-card:hover::before {
    opacity: 1;
}

/* Icon Styling */
.stats-icon {
    width: 65px;
    height: 65px;
    background: rgba(116, 48, 140, 0.06);
    color: #74308c;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    flex-shrink: 0;
    transition: all 0.4s ease;
}

.stats-card:hover .stats-icon {
    background: #74308c;
    color: #ffffff;
    transform: rotate(-5deg) scale(1.1);
}

/* Typography Stats */
.stats-data span {
    display: block;
    font-size: 2.2rem;
    font-weight: 800;
    color: #2d2d2d;
    line-height: 1;
    margin-bottom: 8px;
    letter-spacing: -1px;
}

.stats-data p {
    margin: 0;
    font-size: 1rem;
    color: #6c757d;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Responsive Fix */
@media (max-width: 991px) {
    .stats-card {
        padding: 25px;
    }

    .stats-data span {
        font-size: 1.8rem;
    }
}

@media (max-width: 576px) {
    .stats-card {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
}

/*--------------------------------------------------------------
# CTA
--------------------------------------------------------------*/
.cta {
    padding-bottom: 60px;
    padding-top: 60px;
    background-color: #ffffff;
}

.cta .cta-content {
    background-color: #74308c;
    padding: 40px 15px;
    border-radius: 10px;
    align-items: center;
    text-align: center;
}

.cta .cta-content h3 {
    font-size: 16px;
    color: #ffffff;
    padding-bottom: 10px;
    font-weight: normal;
}

.cta .cta-content h4 {
    font-size: 16px;
    color: #ffffff;
    font-weight: bold;
}

.cta .cta-content .cta-btn {
    background: #74308c;
    color: #ffffff;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 1px;
    padding: 12px 24px;
    border-radius: 5px;
    transition: 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: solid;
    margin-top: 20px;
}

.cta .cta-content .cta-btn i {
    font-size: 18px;
    margin-left: 5px;
    line-height: 0;
    transition: 0.3s;
}

.cta .cta-content .cta-btn:hover {
    background: #8f3dad;
    padding-right: 19px;
}

.cta .cta-content .cta-btn:hover i {
    margin-left: 10px;
}

@media (min-width: 768px) {
    .cta .cta-content {
        text-align: justify;
    }

    .cta .cta-content .cta-btn {
        margin-top: 0;
    }
}

/*--------------------------------------------------------------
# Clients
--------------------------------------------------------------*/
.clients {
    padding: 15px 0;
    text-align: center;
}

.clients img {
    max-width: 45%;
    transition: all 0.4s ease-in-out;
    display: inline-block;
    padding: 15px 0;
    filter: grayscale(100);
}

.clients img:hover {
    filter: none;
    transform: scale(1.15);
}

@media (max-width: 768px) {
    .clients img {
        max-width: 40%;
    }
}

/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
.services .icon-box {
    margin-bottom: 20px;
    padding: 30px;
    border-radius: 6px;
}

.services .icon-box i {
    float: left;
    color: #680fdd;
    font-size: 40px;
}

.services .icon-box h4 {
    margin-left: 70px;
    font-weight: 700;
    margin-bottom: 15px;
    font-size: 18px;
}

.services .icon-box h4 a {
    color: #556270;
    transition: 0.3s;
}

.services .icon-box p {
    margin-left: 70px;
    line-height: 24px;
    font-size: 14px;
}

.services .icon-box:hover h4 a {
    color: #680fdd;
}

/*--------------------------------------------------------------
# Portfolio
--------------------------------------------------------------*/
.portfolio .portfolio-item {
    margin-bottom: 30px;
}

.portfolio #portfolio-flters {
    padding: 0;
    margin: 0 auto 20px auto;
    list-style: none;
    text-align: center;
}

.portfolio #portfolio-flters li {
    cursor: pointer;
    display: inline-block;
    padding: 8px 15px 10px 15px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: #444444;
    margin-bottom: 5px;
    transition: all 0.3s ease-in-out;
    border-radius: 3px;
}

.portfolio #portfolio-flters li:hover,
.portfolio #portfolio-flters li.filter-active {
    color: #fff;
    background: #680fdd;
}

.portfolio #portfolio-flters li:last-child {
    margin-right: 0;
}

.portfolio .portfolio-wrap {
    transition: 0.3s;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background: rgba(85, 98, 112, 0.6);
}

.portfolio .portfolio-wrap::before {
    content: "";
    background: rgba(85, 98, 112, 0.6);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transition: all ease-in-out 0.3s;
    z-index: 2;
    opacity: 0;
}

.portfolio .portfolio-wrap img {
    transition: all ease-in-out 0.3s;
}

.portfolio .portfolio-wrap .portfolio-info {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    transition: all ease-in-out 0.3s;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 20px;
}

.portfolio .portfolio-wrap .portfolio-info h4 {
    font-size: 20px;
    color: #fff;
    font-weight: 600;
}

.portfolio .portfolio-wrap .portfolio-info p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    text-transform: uppercase;
    padding: 0;
    margin: 0;
    font-style: italic;
}

.portfolio .portfolio-wrap .portfolio-links {
    text-align: center;
    z-index: 4;
}

.portfolio .portfolio-wrap .portfolio-links a {
    color: rgba(255, 255, 255, 0.6);
    margin: 0 5px 0 0;
    font-size: 28px;
    display: inline-block;
    transition: 0.3s;
}

.portfolio .portfolio-wrap .portfolio-links a:hover {
    color: white;
}

.portfolio .portfolio-wrap:hover::before {
    opacity: 1;
}

.portfolio .portfolio-wrap:hover img {
    transform: scale(1.2);
}

.portfolio .portfolio-wrap:hover .portfolio-info {
    opacity: 1;
}

/*--------------------------------------------------------------
# Portfolio Details
--------------------------------------------------------------*/
.portfolio-details {
    padding-top: 40px;
}

.portfolio-details .portfolio-details-slider img {
    width: 100%;
}

.portfolio-details .portfolio-details-slider .swiper-pagination {
    margin-top: 20px;
    position: relative;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #fff;
    opacity: 1;
    border: 1px solid #680fdd;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #680fdd;
}

.portfolio-details .portfolio-info {
    padding: 30px;
    box-shadow: 0px 0 30px rgba(85, 98, 112, 0.08);
}

.portfolio-details .portfolio-info h3 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.portfolio-details .portfolio-info ul {
    list-style: none;
    padding: 0;
    font-size: 15px;
}

.portfolio-details .portfolio-info ul li+li {
    margin-top: 10px;
}

.portfolio-details .portfolio-description {
    padding-top: 30px;
}

.portfolio-details .portfolio-description h2 {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 20px;
}

.portfolio-details .portfolio-description p {
    padding: 0;
}

/*--------------------------------------------------------------
# Data Alumni
--------------------------------------------------------------*/
.dataalumni-section {
    position: relative;
    padding: 60px 0;
    background-color: #ffffff;
    overflow: hidden;
    min-height: 100vh;
}

/* Pattern Layer (Sama dengan Opening Speech) */
.dataalumni-section .pattern-layer {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2374308c' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    z-index: 1;
    pointer-events: none;
    /* Kunci agar form bisa diklik */
}

/* Header Styling */
.header-badge {
    display: inline-block;
    background: rgba(116, 48, 140, 0.1);
    color: var(--brand-purple);
    padding: 6px 20px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.modern-title {
    font-size: 3.2rem;
    font-weight: 800;
    color: #222;
}

.modern-title span {
    color: var(--brand-purple);
    font-family: 'Playfair Display', serif;
    font-style: italic;
}

/* Filter Panel Modern */
.filter-panel {
    border-top: 5px solid var(--brand-purple);
    border-radius: 20px !important;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.9) !important;
}

.btn-filter {
    background: var(--brand-purple);
    border: none;
    transition: 0.3s;
}

.btn-filter:hover {
    background: var(--brand-dark);
    transform: translateY(-2px);
}

/* Alumni Card */
.alumni-card {
    border: none;
    border-radius: 25px;
    background: white;
    transition: all 0.4s ease;
    border: 1px solid #f0f0f0;
    overflow: hidden;
}

.alumni-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(116, 48, 140, 0.12) !important;
}

.alumni-img-wrapper {
    position: relative;
    height: 280px;
    overflow: hidden;
}

.alumni-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.6s;
}

.alumni-card .social-links {
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    background: linear-gradient(to top, var(--brand-purple), transparent);
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 20px 0;
    transition: 0.4s;
}

.alumni-card:hover .social-links {
    bottom: 0;
}

.alumni-card .social-links a {
    color: white;
    font-size: 1.2rem;
    transition: 0.3s;
}

.alumni-card .social-links a:hover {
    transform: scale(1.2);
}

/* Divider Styling */
.modern-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100px;
}

.modern-divider .line {
    height: 2px;
    width: 50px;
    background: var(--brand-purple);
}

.modern-divider .dot {
    height: 6px;
    width: 6px;
    background: var(--brand-purple);
    border-radius: 50%;
}

/*--------------------------------------------------------------
# Our Team
--------------------------------------------------------------*/
.team .member {
    position: relative;
    box-shadow: 0px 2px 15px rgba(85, 98, 112, 0.08);
    padding: 30px;
    border-radius: 4px;
    background: white;
}

.team .member .pic {
    overflow: hidden;
    width: 140px;
    border-radius: 4px;
}

.team .member .pic img {
    transition: ease-in-out 0.3s;
}

.team .member:hover img {
    transform: scale(1.1);
}

.team .member .member-info {
    padding-left: 30px;
}

.team .member h4 {
    font-weight: 700;
    margin-bottom: 5px;
    font-size: 20px;
    color: #556270;
}

.team .member span {
    display: block;
    font-size: 15px;
    padding-bottom: 10px;
    position: relative;
    font-weight: 500;
}

.team .member span::after {
    content: "";
    position: absolute;
    display: block;
    width: 50px;
    height: 1px;
    background: #dee2e6;
    bottom: 0;
    left: 0;
}

.team .member p {
    margin: 10px 0 0 0;
    font-size: 14px;
}

.team .member .social {
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.team .member .social a {
    transition: ease-in-out 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    width: 32px;
    height: 32px;
    background: #8795a4;
}

.team .member .social a i {
    color: #fff;
    font-size: 16px;
    margin: 0 2px;
}

.team .member .social a:hover {
    background: #680fdd;
}

.team .member .social a+a {
    margin-left: 8px;
}

/*--------------------------------------------------------------
# Our Skills
--------------------------------------------------------------*/
.skills .progress {
    height: 60px;
    display: block;
    background: none;
    border-radius: 0;
}

.skills .progress .skill {
    padding: 10px 0;
    margin: 0;
    text-transform: uppercase;
    display: block;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    color: #556270;
}

.skills .progress .skill .val {
    float: right;
    font-style: normal;
}

.skills .progress-bar-wrap {
    background: #edeff1;
}

.skills .progress-bar {
    width: 1px;
    height: 10px;
    transition: 0.9s;
    background-color: #6b7b8d;
}

/*--------------------------------------------------------------
# Features
--------------------------------------------------------------*/
.features {
    overflow: hidden;
}

.features .nav-tabs {
    border: 0;
}

.features .nav-link {
    border: 0;
    padding: 12px 15px 12px 0;
    transition: 0.3s;
    color: #556270;
    border-radius: 0;
    border-right: 2px solid white;
    font-weight: 600;
    font-size: 15px;
}

.features .nav-link:hover {
    color: #680fdd;
}

.features .nav-link.active {
    color: #680fdd;
    border-color: #680fdd;
}

.features .tab-pane.active {
    animation: fadeIn 0.5s ease-out;
}

.features .details h3 {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #556270;
}

.features .details p {
    color: #777777;
}

.features .details p:last-child {
    margin-bottom: 0;
}

@media (max-width: 992px) {
    .features .nav-link {
        border: 0;
        padding: 15px;
    }

    .features .nav-link.active {
        color: #fff;
        background: #680fdd;
    }
}

/*--------------------------------------------------------------
# Pricing
--------------------------------------------------------------*/
.pricing .box {
    padding: 20px;
    background: #fff;
    text-align: center;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.12);
    border-radius: 5px;
    position: relative;
    overflow: hidden;
}

.pricing h3 {
    font-weight: 400;
    margin: -20px -20px 20px -20px;
    padding: 20px 15px;
    font-size: 16px;
    font-weight: 600;
    color: #777777;
    background: #f8f8f8;
}

.pricing h4 {
    font-size: 36px;
    color: #680fdd;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    margin-bottom: 20px;
}

.pricing h4 sup {
    font-size: 20px;
    top: -15px;
    left: -3px;
}

.pricing h4 span {
    color: #bababa;
    font-size: 16px;
    font-weight: 300;
}

.pricing ul {
    padding: 0;
    list-style: none;
    color: #444444;
    text-align: center;
    line-height: 20px;
    font-size: 14px;
}

.pricing ul li {
    padding-bottom: 16px;
}

.pricing ul i {
    color: #680fdd;
    font-size: 18px;
    padding-right: 4px;
}

.pricing ul .na {
    color: #ccc;
    text-decoration: line-through;
}

.pricing .btn-wrap {
    margin: 20px -20px -20px -20px;
    padding: 20px 15px;
    background: #f8f8f8;
    text-align: center;
}

.pricing .btn-buy {
    background: #680fdd;
    display: inline-block;
    padding: 8px 35px 9px 35px;
    border-radius: 4px;
    color: #fff;
    transition: none;
    font-size: 14px;
    font-weight: 400;
    font-family: "Raleway", sans-serif;
    font-weight: 600;
    transition: 0.3s;
}

.pricing .btn-buy:hover {
    background: #7230c9;
}

.pricing .featured h3 {
    color: #fff;
    background: #680fdd;
}

.pricing .advanced {
    width: 200px;
    position: absolute;
    top: 18px;
    right: -68px;
    transform: rotate(45deg);
    z-index: 1;
    font-size: 14px;
    padding: 1px 0 3px 0;
    background: #680fdd;
    color: #fff;
}

/*--------------------------------------------------------------
# Frequently Asked Questions
--------------------------------------------------------------*/
.faq .faq-item {
    margin: 20px 0;
    padding: 20px 0;
    border-bottom: 1px solid white;
}

.faq .faq-item i {
    color: #dee2e6;
    font-size: 20px;
    float: left;
    line-height: 0;
    padding: 13px 0 0 0;
    margin: 0;
}

.faq .faq-item h4 {
    font-size: 16px;
    line-height: 26px;
    font-weight: 500;
    margin: 0 0 10px 28px;
    font-family: "Poppins", sans-serif;
}

.faq .faq-item p {
    font-size: 15px;
}

/*--------------------------------------------------------------
# Blog
--------------------------------------------------------------*/
.blog {
    padding: 60px 0;
    background-color: #ffffff;
}

.blog .entry {
    padding: 30px;
    margin-bottom: 60px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
}

.blog .entry .entry-img {
    /* max-height: 440px; */
    margin: -30px -30px 20px -30px;
    overflow: hidden;
}

.blog .entry .entry-title {
    font-size: 14px;
    font-weight: bold;
    padding: 0;
    margin: 0 0 20px 0;
}

.blog .entry .entry-title a {
    color: #74308c;
    transition: 0.3s;
}

.blog .entry .entry-title a:hover {
    color: #8f3dad;
}

.blog .entry .entry-meta {
    margin-bottom: 15px;
    color: #c1c8d0;
}

.blog .entry .entry-meta ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    align-items: center;
    padding: 0;
    margin: 0;
}

.blog .entry .entry-meta ul li+li {
    padding-left: 20px;
}

.blog .entry .entry-meta i {
    font-size: 13px;
    margin-right: 8px;
    line-height: 0;
}

.blog .entry .entry-meta a {
    color: #777777;
    font-size: 12px;
    display: inline-block;
    line-height: 1;
}

.blog .entry .entry-content p {
    line-height: 24px;
    font-size: 12px;
}

.blog .entry-single .register-blog-btn,
.blog .entry-single .register-blog-btn:focus {
    background: var(--default-color);
    padding: 8px 25px;
    margin-left: 30px;
    border-radius: 4px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 1.5rem;
}

.blog .entry-single .register-blog-btn:hover,
.blog .entry-single .register-blog-btn:focus:hover {
    color: #fff;
    background: var(--default-color-hover);
}

.blog .entry .entry-content .read-more {
    -moz-text-align-last: left;
    text-align-last: left;
}

.blog .entry .entry-content .read-more a {
    display: inline-block;
    background: #74308c;
    color: #fff;
    padding: 10px 20px;
    transition: 0.3s;
    font-size: 14px;
    border-radius: 4px;
}

.blog .entry .entry-content .read-more a:hover {
    background: #8f3dad;
}

.blog .entry .entry-content h3 {
    font-size: 22px;
    margin-top: 30px;
    font-weight: bold;
}

.blog .entry .entry-content blockquote {
    overflow: hidden;
    background-color: #fafafa;
    padding: 60px;
    position: relative;
    text-align: center;
    margin: 20px 0;
}

.blog .entry .entry-content blockquote p {
    color: #444444;
    line-height: 1.6;
    margin-bottom: 0;
    font-style: italic;
    font-weight: 500;
    font-size: 22px;
}

.blog .entry .entry-content blockquote::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background-color: #556270;
    margin-top: 20px;
    margin-bottom: 20px;
}

.blog .entry .entry-footer {
    padding-top: 10px;
    border-top: 1px solid #e6e6e6;
}

.blog .entry .entry-footer i {
    color: #a4afba;
    display: inline;
}

.blog .entry .entry-footer a {
    color: #606f7e;
    transition: 0.3s;
}

.blog .entry .entry-footer a:hover {
    color: #680fdd;
}

.blog .entry .entry-footer .cats {
    list-style: none;
    display: inline;
    padding: 0 20px 0 0;
    font-size: 14px;
}

.blog .entry .entry-footer .cats li {
    display: inline-block;
}

.blog .entry .entry-footer .tags {
    list-style: none;
    display: inline;
    padding: 0;
    font-size: 14px;
}

.blog .entry .entry-footer .tags li {
    display: inline-block;
}

.blog .entry .entry-footer .tags li+li::before {
    padding-right: 6px;
    color: #6c757d;
    content: ",";
}

.blog .entry .entry-footer .share {
    font-size: 16px;
}

.blog .entry .entry-footer .share i {
    padding-left: 5px;
}

.blog .entry-single {
    margin-bottom: 30px;
}

.blog .blog-author {
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.blog .blog-author img {
    width: 120px;
    margin-right: 20px;
}

.blog .blog-author h4 {
    font-weight: 600;
    font-size: 22px;
    margin-bottom: 0px;
    padding: 0;
    color: #556270;
}

.blog .blog-author .social-links {
    margin: 0 10px 10px 0;
}

.blog .blog-author .social-links a {
    color: rgba(85, 98, 112, 0.5);
    margin-right: 5px;
}

.blog .blog-author p {
    font-style: italic;
    color: #b7b7b7;
}

.blog .blog-comments {
    margin-bottom: 30px;
}

.blog .blog-comments .comments-count {
    font-weight: bold;
}

.blog .blog-comments .comment {
    margin-top: 30px;
    position: relative;
}

.blog .blog-comments .comment .comment-img {
    margin-right: 14px;
}

.blog .blog-comments .comment .comment-img img {
    width: 60px;
}

.blog .blog-comments .comment h5 {
    font-size: 16px;
    margin-bottom: 2px;
}

.blog .blog-comments .comment h5 a {
    font-weight: bold;
    color: #444444;
    transition: 0.3s;
}

.blog .blog-comments .comment h5 a:hover {
    color: #680fdd;
}

.blog .blog-comments .comment h5 .reply {
    padding-left: 10px;
    color: #556270;
}

.blog .blog-comments .comment h5 .reply i {
    font-size: 20px;
}

.blog .blog-comments .comment time {
    display: block;
    font-size: 14px;
    color: #6b7b8d;
    margin-bottom: 5px;
}

.blog .blog-comments .comment.comment-reply {
    padding-left: 40px;
}

.blog .blog-comments .reply-form {
    margin-top: 30px;
    padding: 30px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.blog .blog-comments .reply-form h4 {
    font-weight: bold;
    font-size: 22px;
}

.blog .blog-comments .reply-form p {
    font-size: 14px;
}

.blog .blog-comments .reply-form input {
    border-radius: 4px;
    padding: 10px 10px;
    font-size: 14px;
}

.blog .blog-comments .reply-form input:focus {
    box-shadow: none;
    border-color: #e9797f;
}

.blog .blog-comments .reply-form textarea {
    border-radius: 4px;
    padding: 10px 10px;
    font-size: 14px;
}

.blog .blog-comments .reply-form textarea:focus {
    box-shadow: none;
    border-color: #e9797f;
}

.blog .blog-comments .reply-form .form-group {
    margin-bottom: 25px;
}

.blog .blog-comments .reply-form .btn-primary {
    border-radius: 4px;
    padding: 10px 20px;
    border: 0;
    background-color: #556270;
}

.blog .blog-comments .reply-form .btn-primary:hover {
    background-color: #606f7e;
}

.blog .blog-pagination {
    color: #8795a4;
}

.blog .blog-pagination ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
}

.blog .blog-pagination li {
    margin: 0 5px;
    transition: 0.3s;
}

.blog .blog-pagination li a {
    color: #556270;
    padding: 7px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog .blog-pagination li.active,
.blog .blog-pagination li:hover {
    background: var(--default-color);
}

.blog .blog-pagination li.active a,
.blog .blog-pagination li:hover a {
    color: #fff;
}

.blog .sidebar {
    padding: 30px;
    margin: 0 0 60px 20px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.blog .sidebar .sidebar-title {
    font-size: 20px;
    font-weight: 700;
    padding: 0 0 0 0;
    margin: 0 0 15px 0;
    color: #556270;
    position: relative;
}

.blog .sidebar .sidebar-item {
    margin-bottom: 30px;
}

.blog .sidebar .search-form form {
    background: #fff;
    border: 1px solid #ddd;
    padding: 3px 10px;
    position: relative;
}

.blog .sidebar .search-form form input[type="text"] {
    border: 0;
    padding: 4px;
    border-radius: 4px;
    width: calc(100% - 40px);
}

.blog .sidebar .search-form form button {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    border: 0;
    background: none;
    font-size: 16px;
    padding: 0 15px;
    margin: -1px;
    background: var(--default-color);
    color: #fff;
    transition: 0.3s;
    border-radius: 0 4px 4px 0;
    line-height: 0;
}

.blog .sidebar .search-form form button i {
    line-height: 0;
}

.blog .sidebar .search-form form button:hover {
    background: var(--default-color-hover);
}

.blog .sidebar .categories ul {
    list-style: none;
    padding: 0;
}

.blog .sidebar .categories ul li+li {
    padding-top: 10px;
}

.blog .sidebar .categories ul a {
    color: #556270;
    transition: 0.3s;
}

.blog .sidebar .categories ul a:hover {
    color: #680fdd;
}

.blog .sidebar .categories ul a span {
    padding-left: 5px;
    color: #aaaaaa;
    font-size: 14px;
}

.blog .sidebar .recent-posts .post-item+.post-item {
    margin-top: 15px;
}

.blog .sidebar .recent-posts img {
    width: 80px;
    float: left;
    border-radius: 6px;
}

.blog .sidebar .recent-posts h4 {
    font-size: 12px;
    margin-left: 95px;
    font-weight: bold;
}

.blog .sidebar .recent-posts h4 a {
    color: #556270;
    transition: 0.3s;
}

.blog .sidebar .recent-posts h4 a:hover {
    color: #7230c9;
}

.blog .sidebar .recent-posts time {
    display: block;
    margin-left: 95px;
    font-style: italic;
    font-size: 14px;
    color: #aaaaaa;
}

.blog .sidebar .tags {
    margin-bottom: -10px;
}

.blog .sidebar .tags ul {
    list-style: none;
    padding: 0;
}

.blog .sidebar .tags ul li {
    display: inline-block;
}

.blog .sidebar .tags ul a {
    color: #96a2af;
    font-size: 14px;
    padding: 6px 14px;
    margin: 0 6px 8px 0;
    border: 1px solid white;
    display: inline-block;
    transition: 0.3s;
}

.blog .sidebar .tags ul a:hover {
    color: #fff;
    border: 1px solid #7230c9;
    background: #7230c9;
}

.blog .sidebar .tags ul a span {
    padding-left: 5px;
    color: #fbfbfc;
    font-size: 14px;
}

/* baru */
.blog-section {
    padding: 80px 0;
    background-color: #fcfaff;
}

/* Header Styling */
.section-header-modern .title {
    font-size: 2.5rem;
    font-weight: 800;
    color: #222;
}

.section-header-modern .title span {
    color: #74308c;
}

/* Card Styling */
.news-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: 1px solid rgba(116, 48, 140, 0.05);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.news-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(116, 48, 140, 0.1);
    border-color: rgba(116, 48, 140, 0.2);
}

/* Image Wrapper */
.post-img {
    position: relative;
    overflow: hidden;
    height: 240px;
}

.post-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.news-card:hover .post-img img {
    transform: scale(1.1);
}

.post-category {
    position: absolute;
    top: 20px;
    left: 20px;
    background: #74308c;
    color: #fff;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* Content Area */
.post-content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.post-meta {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 0.85rem;
    color: #888;
}

.meta-item i {
    color: #74308c;
    margin-right: 5px;
}

.post-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.4;
}

.post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.post-title a:hover {
    color: #74308c;
}

.post-excerpt {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
}

.card-divider {
    margin: auto 0 15px 0;
    opacity: 0.1;
}

/* Footer Card */
.post-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.views {
    font-size: 0.85rem;
    color: #999;
}

.read-more-link {
    color: #74308c;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: gap 0.3s ease;
}

.read-more-link:hover {
    gap: 10px;
    color: #5a256d;
}

/*--------------------------------------------------------------
# Jobs
--------------------------------------------------------------*/

.jobs {
    background-color: #ffffff;
}

.jobs .sidebar h2 {
    font-family: "Inter";
    font-weight: 500;
    font-size: 18px;
    padding-bottom: 15px;
    font-weight: normal;
    text-transform: none;
}

.jobs .sidebar h2:after {
    display: none;
}

.jobs .sidebar .form-check-label {
    font-size: 18px;
}

.jobs .job_listing_area .job_lists i,
h3 {
    color: var(--default-color);
    font-weight: bold;
}

.jobs .job_listing_area .job_lists .single_jobs {
    padding: 30px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.jobs .job_listing_area .job_lists .btn-detail a {
    display: inline-block;
    background: #74308c;
    color: #fff;
    padding: 10px 20px;
    transition: 0.3s;
    font-size: 14px;
    border-radius: 4px;
    text-align: center;
}

.jobs .job_listing_area .job_lists .btn-detail a:hover {
    background: #8f3dad;
}

.jobs .job_listing_area .job_lists h3 {
    font-size: 22px;
    margin-top: 30px;
    font-weight: bold;
}

.jobs .job_listing_area .job_lists .single_jobs .jobs_left .thumb {
    float: left;
    width: 82px;
    height: 82px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 15px;
    background: #f5f7fa;
    margin-right: 25px;
    border: 1px solid #f0f0f0;
}

.jobs .job_listing_area .job_lists .single_jobs .jobs_left .jobs_content {
    float: left;
}

.jobs .job_listing_area .job_lists .single_jobs .jobs_left .jobs_content .links_locat .location {
    margin-right: 50px;
}

.jobs .job_listing_area .job_lists .single_jobs .jobs_left .jobs_content .links_locat .location p {
    margin-bottom: 0;
    font-size: 16px;
    color: #aab1b7;
}

.jobs .job_listing_area .job_lists .single_jobs .jobs_left .jobs_content h4 {
    font-size: 24px;
    margin-bottom: 10px;
    padding-bottom: 0px;
    font-weight: 400;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    font-family: "Inter";
    font-weight: 500;
    text-transform: none;
}

.jobs .job_listing_area .job_lists .single_jobs .jobs_right .apply_now a.heart_mark {
    width: 40px;
    height: 40px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    color: var(--default-color);
    font-size: 14px;
    line-height: 40px;
    text-align: center;
    display: inline-block;
    background: #effdf5;
    margin-right: 15px;
}

.jobs .job_listing_area .job_lists .single_jobs .jobs_right .apply_now a.heart_mark:hover {
    background: var(--default-color-hover);
    color: #fff;
}

.detail-job {
    background-color: #ffffff;
}

.detail-job .job_details_area .job_sumary .summery_header {
    border-bottom: 1px solid #eaeaea;
    padding: 40px;
}

.detail-job .job_details_area .job_sumary .summery_header h3 {
    font-size: 24px;
    color: var(--default-color);
    font-weight: 400;
    text-transform: none;
}

.detail-job .job_details_area .job_sumary .job_content {
    padding: 40px;
}

.detail-job .job_details_area .job_sumary .job_content h3 {
    color: var(--default-color);
    font-weight: 600;
}

.detail-job .job_details_area .job_sumary .job_content ul {
    list-style: none;
    padding: 0;
}

.detail-job .job_details_area .job_sumary .job_content ul li {
    font-size: 16px;
    font-weight: 400;
    color: #aab1b7;
    line-height: 38px;
    position: relative;
}

.detail-job .job_details_area .job_sumary .job_content ul li span {
    color: #001d38;
    font-size: 16px;
}

.detail-job .job_details_area .descript_wrap {
    padding: 40px;
}

.detail-job .job_details_area .descript_wrap p {
    color: #7a838b;
    font-size: 16px;
    line-height: 28px;
    font-weight: 400;
}

.detail-job .job_details_area .descript_wrap .single_wrap {
    margin-bottom: 30px;
}

.detail-job .job_details_area .descript_wrap .btn-apply {
    display: inline-block;
    background: #74308c;
    color: #fff;
    padding: 10px 20px;
    transition: 0.3s;
    font-size: 14px;
    border-radius: 4px;
    text-align: center;
}

.detail-job .job_details_area .descript_wrap .btn-apply:hover {
    background: #8f3dad;
}

.btn-apply {
    display: inline-block;
    background: #74308c;
    color: #fff;
    padding: 10px 20px;
    transition: 0.3s;
    font-size: 14px;
    border-radius: 4px;
    text-align: center;
}

.btn-apply:hover {
    background: #8f3dad;
}

.detail-job .job_details_area .descript_wrap .single_wrap h4 {
    font-size: 20px;
    font-weight: 500;
    color: #001d38;
    margin-bottom: 25px;
    padding-bottom: 0;
    text-transform: none;
}

.detail-job .job_details_area .descript_wrap .single_wrap ul li {
    font-size: 16px;
    line-height: 32px;
    color: #7a838b;
    font-weight: 400;
    position: relative;
    padding-left: 25px;
}

.detail-job .job_details_area .descript_wrap .single_wrap ul li::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 7px;
    height: 7px;
    background: #7a838b;
    content: "";
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    top: 12px;
}

.detail-job .job_details_area .single_jobs {
    padding: 30px;
    border-bottom: 1px solid #eaeaea;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.detail-job .job_details_area .single_jobs .jobs_left .thumb {
    float: left;
    width: 82px;
    height: 82px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 15px;
    background: #f5f7fa;
    margin-right: 25px;
    border: 1px solid #f0f0f0;
}

.detail-job .job_details_area .single_jobs .jobs_left .jobs_content {
    float: left;
}

.detail-job .job_details_area .single_jobs .jobs_left .jobs_content .links_locat .location {
    margin-right: 50px;
}

.detail-job .job_details_area .single_jobs .jobs_left .jobs_content .links_locat .location p {
    margin-bottom: 0;
    font-size: 16px;
    color: #7a838b;
}

.detail-job .job_details_area .single_jobs .jobs_left .jobs_content .links_locat .location p i {
    margin-bottom: 0;
    font-size: 16px;
    color: var(--default-color);
}

.detail-job .job_details_area .single_jobs .jobs_left .jobs_content h4 {
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: 400;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    padding-bottom: 0;
    text-transform: none;
    color: var(--default-color);
}

.detail-job .job_details_area .single_jobs .jobs_right .apply_now a.heart_mark {
    width: 40px;
    height: 40px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    color: var(--default-color);
    font-size: 14px;
    line-height: 40px;
    text-align: center;
    display: inline-block;
    background: #da6fff30;
}

.detail-job .job_details_area .single_jobs .jobs_right .apply_now a.heart_mark:hover {
    background: var(--default-color-hover);
    color: #fff;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
    background: #74308c;
    padding: 0 0 30px 0;
    color: #fff;
    font-size: 14px;
}

#footer .footer-top {
    background: #74308c;
    padding: 60px 0 30px 0;
}

#footer .footer-top .footer-info {
    margin-bottom: 30px;
}

#footer .footer-top .footer-info h3 {
    font-size: 24px;
    margin: 0 0 20px 0;
    padding: 2px 0 2px 0;
    line-height: 1;
    font-weight: 700;
}

#footer .footer-top .footer-info p {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 0;
    font-family: "Raleway", sans-serif;
    color: #fff;
}

#footer .footer-top .footer-info p a {
    font-family: "Raleway", sans-serif;
    color: #fff;
    font-size: 14px;
}

#footer .social-links a {
    font-size: 18px;
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    line-height: 1;
    padding: 8px 0;
    margin-right: 4px;
    border-radius: 4px;
    text-align: center;
    width: 36px;
    height: 36px;
    transition: 0.3s;
}

#footer .social-links a:hover {
    background: #74308c;
    color: #fff;
    text-decoration: none;
}

#footer .footer-top h4 {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    position: relative;
    padding-bottom: 12px;
}

#footer .footer-top .footer-links {
    margin-bottom: 30px;
}

#footer .footer-top .footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer .footer-top .footer-links ul i {
    padding-right: 2px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 18px;
    line-height: 1;
}

#footer .footer-top .footer-links ul li {
    padding: 10px 0;
    display: flex;
    align-items: center;
}

#footer .footer-top .footer-links ul li:first-child {
    padding-top: 0;
}

#footer .footer-top .footer-links ul a {
    color: rgba(255, 255, 255, 0.6);
    transition: 0.3s;
    display: inline-block;
    line-height: 1;
}

#footer .footer-top .footer-links ul a:hover {
    color: white;
}

#footer .footer-top .footer-newsletter form {
    margin-top: 30px;
    background: #fff;
    padding: 6px 10px;
    position: relative;
    border-radius: 4px;
}

#footer .footer-top .footer-newsletter form input[type="email"] {
    border: 0;
    padding: 4px;
    width: calc(100% - 110px);
}

#footer .footer-top .footer-newsletter form input[type="submit"] {
    position: absolute;
    top: 0;
    right: -2px;
    bottom: 0;
    border: 0;
    background: none;
    font-size: 16px;
    padding: 0 20px 2px 20px;
    background: #74308c;
    color: #fff;
    transition: 0.3s;
    border-radius: 0 4px 4px 0;
    border: solid;
}

#footer .footer-top .footer-newsletter form input[type="submit"]:hover {
    background: #8f3dad;
}

#footer .copyright {
    text-align: center;
    padding-top: 30px;
}

#footer .credits {
    padding-top: 10px;
    text-align: center;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
}

#footer .credits a {
    color: rgba(255, 255, 255, 0.6);
    transition: 0.3s;
    font-weight: 600;
}

#footer .credits a:hover {
    color: white;
}

.sponsor-section {
    padding: 100px 0;
    background: linear-gradient(135deg, #74308c 0%, #4a1d5a 100%);
    overflow: hidden;
    color: #fff;
}

.sponsor-content .sub-tittle {
    color: #ffc107;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    margin-bottom: 15px;
    display: block;
}

.sponsor-content h2 {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 25px;
}

.sponsor-content .text-highlight {
    color: #ffc107;
}

.sponsor-content p {
    font-size: 1.1rem;
    opacity: 0.8;
    line-height: 1.8;
}

/* Grid System */
.sponsor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 20px;
    padding: 10px;
}

/* Modern Card Style */
.sponsor-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 110px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.sponsor-card img {
    max-height: 60px;
    max-width: 100%;
    filter: brightness(0) invert(1);
    /* Membuat semua logo menjadi putih agar clean */
    opacity: 0.7;
    transition: all 0.4s ease;
}

/* Hover Effects */
.sponsor-card:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-10px);
    border-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.sponsor-card:hover img {
    filter: none;
    /* Logo kembali ke warna asli saat di-hover */
    opacity: 1;
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .sponsor-section {
        padding: 60px 0;
    }

    .sponsor-content {
        text-align: center;
    }

    .sponsor-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }
}

.testimonials {
    background: #fdfbff;
    /* Putih sedikit keunguan agar lembut */
    padding: 40px 0;
}

.section-header .sub-title {
    color: #74308c;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 0.9rem;
}

.section-header h2 {
    font-weight: 800;
    color: #333;
    margin-top: 10px;
}

.divider {
    width: 60px;
    height: 4px;
    background: #74308c;
    margin: 15px auto;
    border-radius: 10px;
}