/* ========= Css Table of Contents ========== */

/** 
 * ================================
 * CSS TABLE OF CONTENTS
 * ================================
 * 
 * 01. Import Vendor
 * 02. Root Variable
 * 03. Keyframes Animation
 * 04. Typography
 * 05. Reset & Base
 * 06. Container
 * 07. Grid System
 * 08. Header
 * 09. Navigation
 * 10. Hero Section
 * 11. Banner
 * 12. About Section
 * 13. Services Section
 * 14. Features Section
 * 15. Portfolio Section
 * 16. Gallery
 * 17. Team Section
 * 18. Testimonials
 * 19. Pricing Table
 * 20. FAQ Section
 * 21. Blog Section
 * 22. Single Blog
 * 23. Contact Section
 * 24. Newsletter
 * 25. Call To Action
 * 26. Footer
 * 27. Copyright
 * 28. Button Styles
 * 29. Form Styles
 * 30. Card Styles
 * 31. Modal & Popup
 * 32. Tabs
 * 33. Accordion
 * 34. Progress Bar
 * 35. Pagination
 * 36. Breadcrumb
 * 37. Sidebar
 * 38. Scroll To Top
 * 39. Preloader
 * 40. Mobile Responsive
 */

/* 01. Import Vendor */
@import url('vendor/font-family-instrument-sans.css');
@import url('vendor/font-family-inter.css');
@import url('vendor/bootstrap.min.css');
/* @import url('vendor/fontawesome.css'); */
/* @import url('vendor/brands.css'); */
/* @import url('vendor/regular.css'); */
/* @import url('vendor/solid.css'); */
@import url('vendor/swiper-bundle.min.css');
@import url('vendor/odometer-theme-default.css');
@import url('vendor/animate.min.css');


/* 02. Root Variable */
:root {
    --primary: #141414;
    --blue: #253682;
    --lightblue: #1d3bc2;
    --secondary: #FFFFFF;
    --text-color: #2F2F2F;
    --accent-color: #253682;
    --accent-color-2: #5062b4;
    --accent-color-3: #FAFAFA;
    --accent-color-4: #F1F3FD;
    --accent-color-5: #BDBDBD69;
    --accent-color-6: #1414149C;
    --accent-color-transparent: #FFFFFF00;
    --font-1: "Instrument Sans", sans-serif;
    --font-2: "Inter", sans-serif;
    --global-border-radius: 10px 10px 10px 10px;
    --animation-normal: 1.25s;
    --animation-slow: 2s;
    --animation-fast: 0.75s;
    --container: 1200px;
}

/* 03. Keyframes Animation */
@property --progress {
    syntax: '<integer>';
    inherits: true;
    initial-value: 0;
}

@keyframes load {
    to {
        --progress: var(var(--value))
    }
}

@keyframes ripple {
    from {
        opacity: 1;
        transform: scale3d(1, 1, 1);
        transform-origin: center;
        border-width: 0px;
    }

    to {
        opacity: 0;
        transform: scale3d(1.7, 1.7, 1.8);
        transform-origin: center;
        border-width: 13px;
    }
}

h1 {
    font-size: 1.75rem;
    /* ~24.5px */
    font-weight: 700;
    line-height: 1.2;
}

h2 {
    font-size: 1.5rem;
    /* ~21px */
    font-weight: 700;
    line-height: 1.25;
}

h3 {
    font-size: 1.25rem;
    /* ~18px */
    font-weight: 600;
    line-height: 1.3;
}

h4 {
    font-size: 1.125rem;
    /* ~16px */
    font-weight: 500;
    line-height: 1.3;
}

h5 {
    font-size: 1rem;
    /* ~14px */
    font-weight: 600;
    line-height: 1.35;
}

h6 {
    font-size: 0.875rem;
    /* ~12px */
    font-weight: 600;
    line-height: 1.35;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-family: var(--font-1);
}

/* ==== Teks umum ==== */
body,
p,
a,
button,
li,
span {
    font-size: .9rem;
    line-height: 1.4;
}

body {
    font-family: var(--font-2);
    color: var(--primary);
}

button,
a {
    font-weight: 600;
    color: var(--accent-color);
    text-decoration: none;
    font-family: var(--font-1);
}

p {
    font-family: var(--font-2);
    margin-bottom: 0;
    color: var(--text-color);
}

ul {
    /* list-style: none; */
}

/* 05. Container Elements */

.section {
    padding: 4em 1em 4em 1em;
    background-position: center;
}

.section-banner-home {
    padding: 13em 1em 0em 1em;
}

.section-banner-inner {
    padding: 13em 1em 6em 1em;
}

.section-banner-404 {
    padding: 20em 1em 15em 1em;
}

.section-partner {
    padding: 3em 1em 3em 1em;
}

.section-footer {
    padding: 4em 0em 2em 0em;
}



.hero-container {
    max-width: var(--container);
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
}

.container {
    max-width: var(--container);
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
}

@media (max-width: 767.98px) {
    .container {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0.4rem;
        padding-right: 0.4rem;
    }
}

/* 06. Navbar Components */

.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, 0.8);
    /* border: solid 1px #FFFFFF; */
    /* border-radius: 50px; */
    /* padding: .5em 2em; */
    overflow: visible;
}

.nav-btn {
    display: none;
    padding: 12px 12px 12px 12px;
    width: 45px;
    height: auto;
    line-height: 1em;
    background-color: transparent;
    color: var(--secondary);
    background-image: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-color-2) 100%);
    transition: all 0.3s ease;
    font-size: 14px;
    font-weight: 700;
    border: none;
    border-radius: 5px 5px 5px 5px;
    margin-left: auto;
}

.nav-btn:hover,
.nav-btn:focus {
    background-color: transparent;
    color: var(--secondary);
    background-image: linear-gradient(90deg, var(--accent-color-2) 0%, var(--accent-color) 100%);
}

.navbar-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 30px 30px;
    width: 100%;
}

.navbar-nav .nav-link:focus {
    color: var(--accent-color-2);
}

.nav-link {
    font-family: var(--font-1);
    font-weight: 600;
    color: var(--primary);
    line-height: 1em;
    padding: 0px 10px 0px 10px !important;
}

.nav-link:hover {
    color: var(--accent-color-2);
}

.nav-link.active,
.nav-link:focus {
    color: var(--accent-color) !important;
}

.navbar-collapse-wrapper {
    display: flex;
    flex-direction: row;
    width: 60%;
    height: 100%;
}

.navbar-collapse {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: end;
}

.navbar-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: right;
    align-items: center;
    width: 100%;
    padding: 0;
    margin: 0;
}

.dropdown-menu {
    border-radius: 0;
    border: none;
    /* padding: 1em 0em; */
    min-width: 220px;
    border-radius: 5px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
}

/* Jika dropdown perlu ke kiri */
.dropdown-submenu.dropstart>.dropdown-menu {
    left: auto;
    right: 100%;
    /* tampil ke kiri */
    margin-left: 0;
    margin-right: 0.1rem;
}


.dropdown-item {
    padding-block: 0.5rem;
    color: var(--primary);
    font-family: var(--font-1);
    font-weight: 600;
    padding-inline: 0.5rem;
}

.dropdown-item.active {
    color: var(--accent-color);
    background-color: transparent;
}

.dropdown-item:hover {
    background-color: var(--blue);
    color: white;
}

.dropdown-toggle::after {
    display: none !important;
}

.navbar-button-container {
    display: flex;
    align-items: center;
}


/* 07. Sidebar Components */

.sidebar-overlay {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    transition: left 0.4s ease-in-out;
    z-index: 2000;
}

.sidebar-overlay.active {
    left: 0;
}

.sidebar {
    position: fixed;
    top: 0;
    left: -300px;
    width: 300px;
    height: 100%;
    background: var(--secondary);
    color: var(--primary);
    transition: transform 0.4s ease-in-out;
    z-index: 2000;
    overflow-y: auto;
    max-height: 100vh;
    padding: 0px 16px 0px 5px;
}

.sidebar.active {
    transform: translateX(300px);
}

.sidebar-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 20px 20px 20px 20px;
}

.sidebar-header .logo {
    width: 75%;
}

.close-btn {
    display: inline-block;
    justify-content: center;
    border: none;
    border-radius: 5px 5px 5px 5px !important;
    font-size: 21.008px;
    font-weight: 500;
    line-height: 1.125em;
    position: relative;
    cursor: pointer;
    padding: 12px 12px 12px 12px;
    width: 45px;
    transition: all 0.4s;
}

.menu {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.menu li {
    margin-bottom: 10px;
}

.menu a {
    color: var(--primary);
    text-decoration: none;
    padding: 10px 10px 10px 10px;
    display: block;
    border-radius: 5px;
    transition: 0.3s;
    font-size: 18px;
    line-height: 1em;
    font-family: var(--font-1);
    font-weight: 600;
    text-transform: capitalize;
}

.menu a:hover,
.menu a.active,
.menu a.focus {
    color: var(--accent-color-2);
}

.sidebar-dropdown .dropdown-header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.sidebar-dropdown-btn {
    background: none;
    border: 1px solid var(--primary);
    color: var(--primary);
    font-size: 16px;
    cursor: pointer;
    padding: 0px 15px;
    border-radius: 24px;
    transition: transform 0.3s ease;

}

.sidebar-dropdown-btn:hover {
    color: var(--accent-color-2);
    border: 1px solid var(--accent-color-2)
}

.sidebar-dropdown-menu {
    list-style: none;
    padding-left: 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
    padding-top: 0;
    padding-bottom: 0;
}

.sidebar-dropdown-menu.active {
    max-height: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
}

.below-dropdown {
    transition: margin-top 0.1s ease-in-out;
    margin-top: 0px;
}

.sidebar::-webkit-scrollbar {
    width: 5px;
}

.sidebar::-webkit-scrollbar-thumb {
    background: gray;
    border-radius: 5px;
}

/* 08. Bredcrumb components */

.breadcrumb {
    display: flex;
    flex-direction: row;
    gap: 1em;
    align-items: center;
}

.breadcrumb a {
    font-size: 16px;
    font-family: var(--font-2);
    font-weight: 400;
    line-height: 1.5em;
    color: var(--primary);
    transition: color 0.3s;
}

.breadcrumb a:hover {
    color: var(--accent-color);
}

.breadcrumb i {
    font-size: 16px;
    color: var(--accent-color);
}

/* 10. Button Components */

.btn {
    display: inline-block;
    font-weight: 600;
    /* font-size: 15.008px; */
    text-align: center;
    vertical-align: middle;
    padding: 10px 20px 10px 20px;
    border-radius: var(--global-border-radius);
    transition: all 0.15s ease-in-out;
    line-height: 1em;
    font-family: var(--font-1);
}

.btn-sm {
    padding: 0.4rem .7rem !important;
    font-size: .8rem;
}

.btn-accent {
    padding: 0.4rem 1rem;
    font-size: .9rem;
    background-color: transparent;
    color: var(--secondary);
    background-image: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-color-2) 100%);
}

.btn-accent:hover {
    background-color: transparent;
    color: var(--secondary);
    background-image: linear-gradient(90deg, var(--accent-color-2) 0%, var(--accent-color) 100%);
}

.logo-container {
    max-width: 150px;
}


img {
    transition: transform 0.5s ease, filter 0.3s ease;
    position: relative;
}

img:hover {
    transform: scale(1.02);
    filter: brightness(1.1);
}



.logo-container img {
    width: 100%;
    height: auto;
}


.logo-container.footer-logo {
    width: 20%;
}

.bg-accent-color-3 {
    background-color: var(--accent-color-3);
}

.bg-blue {
    background-color: var(--blue) !important;
}

.bg-accent-color-4 {
    background-color: var(--accent-color-4);
}

.bg-light {
    background-color: var(--accent-color-4) !important;
}

.bg-primary {
    background-color: var(--blue) !important;
}

/* 11. Wrapper */

.link-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    transition: all 0.3s ease;
    gap: 10px 10px;
}

.link-wrapper a {
    color: var(--accent-color);
    transition: all 0.3s ease;
}

.link-wrapper i {
    color: var(--accent-color);
    transition: all 0.3s ease;
    transform: rotate(315deg);
}

.link-wrapper:hover a,
.link-wrapper:hover i {
    color: var(--accent-color-2);
}

.heading-wrapper-title {
    width: 75%;
}

.heading-wrapper-link {
    display: flex;
    width: 25%;
    height: 100%;
    align-self: center;
    justify-content: end;
}

.heading-wrapper-text {
    display: flex;
    width: 25%;
    height: 100%;
    align-self: center;
    justify-content: end;
}

/* 12. Heading Wrapper */

.heading-wrapper {
    background-color: transparent;
    background-image: linear-gradient(90deg, var(--accent-color) 40%, var(--accent-color-2) 100%);
    /* -webkit-background-clip: text; */
    -webkit-text-fill-color: transparent;
}

/* 13. Custom Spacing */

.gspace-0 {
    gap: 0px 0px;
}

.gspace-1 {
    gap: 10px 10px;
}

.gspace-2 {
    gap: 20px 20px;
}

.gspace-3 {
    gap: 30px 30px;
}

.gspace-4 {
    gap: 40px 40px;
}

.gspace-5 {
    gap: 50px 50px;
}

.gspace-x-0 {
    column-gap: 0px;
}

.gspace-x-1 {
    column-gap: 10px;
}

.gspace-x-2 {
    column-gap: 20px;
}

.gspace-x-3 {
    column-gap: 30px;
}

.gspace-x-4 {
    column-gap: 40px;
}

.gspace-x-5 {
    column-gap: 50px;
}

.gspace-y-0 {
    row-gap: 0px;
}

.gspace-y-1 {
    row-gap: 10px;
}

.gspace-y-2 {
    row-gap: 20px;
}

.gspace-y-3 {
    row-gap: 30px;
}

.gspace-y-4 {
    row-gap: 40px;
}

.gspace-y-5 {
    row-gap: 50px;
}

.grid-spacer-1 {
    --bs-gutter-x: 10px;
    --bs-gutter-y: 10px;
}

.grid-spacer-2 {
    --bs-gutter-x: 20px;
    --bs-gutter-y: 20px;
}

.grid-spacer-3 {
    --bs-gutter-x: 30px;
    --bs-gutter-y: 30px;
}

.grid-spacer-4 {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}

.grid-spacer-5 {
    --bs-gutter-x: 50px;
    --bs-gutter-y: 50px;
}

.grid-spacer-x-1 {
    --bs-gutter-x: 10px;
}

.grid-spacer-x-2 {
    --bs-gutter-x: 20px;
}

.grid-spacer-x-3 {
    --bs-gutter-x: 30px;
}

.grid-spacer-x-4 {
    --bs-gutter-x: 40px;
}

.grid-spacer-x-5 {
    --bs-gutter-x: 50px;
}

.grid-spacer-y-1 {
    --bs-gutter-y: 10px;
}

.grid-spacer-y-2 {
    --bs-gutter-y: 20px;
}

.grid-spacer-y-3 {
    --bs-gutter-y: 30px;
}

.grid-spacer-y-4 {
    --bs-gutter-y: 40px;
}

.grid-spacer-y-5 {
    --bs-gutter-y: 50px;
}

/* 14. Banner Components */

.banner-home {
    background-image: url('../image/joyful-multicultural-business-entrepreneurs-lookin-2024-11-14-16-09-13-utc.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /* border-radius: var(--global-border-radius); */
    padding: 0px 0px 0px 0px;
}

.slider-hero {
    margin-top: 70px !important;
}

.banner-home .spacer {
    height: 550px;
}

.inner-background {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.inner-background::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('../image/banner-overlay.jpg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    z-index: -1;
}

.background-404 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 30px 30px;
    background-color: var(--accent-color-4);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.background-404 p {
    max-width: 50%;
    align-self: center;
}

.background-404::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('../image/banner-overlay.jpg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    z-index: -1;
}

.gradient-banner {
    position: relative;
    z-index: 2;
    background-color: transparent;
    background-image: linear-gradient(90deg, var(--primary) 0%, var(--blue) 100%);
    overflow: hidden;
}


.gradient-banner::before {
    content: '';
    position: absolute;
    /* background-image: url('../image/Galaxy-Background.jpg'); */
    background-size: auto;
    background-position: center center;
    background-repeat: repeat;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.6;
}


.join-us-banner {
    background-image: url('../image/diversity-excited-business-people-celebrating-suc-2024-11-09-22-00-24-utc.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    align-self: center;
    justify-content: center;
    padding: 8em 1em 8em 1em;
    position: relative;
    z-index: 1;
}

.join-us-banner::before {
    content: '';
    position: absolute;
    background-color: var(--primary);
    opacity: 0.7;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.join-us-content {
    display: flex;
    flex-direction: column;
    gap: 30px 30px;
    justify-content: center;
    text-align: center;
    align-items: center;
    align-self: center;
    margin-left: auto;
    margin-right: auto;
    width: 55%;
}

/* 15. Swiper */

.swiperPartner {
    display: flex;
    flex-direction: column;
    gap: 30px 30px;
    /* padding-bottom: 3em; */
    /* border-bottom: 1px solid var(--accent-color-5); */
}

/* 16. Fonts */

.font-1 {
    font-family: var(--font-1);
}

.font-2 {
    font-family: var(--font-2);
}

/* 17. Accent Color */

.accent-color {
    color: var(--accent-color);
}

.accent-color-2 {
    color: var(--accent-color-2);
}

.accent-color-3 {
    color: var(--accent-color-3);
}

/* 18. Image */

.image-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.image-container img {
    border-radius: var(--global-border-radius);
    max-width: 100%;
    height: auto;
}

/* 19. Card */

.card {
    border: none;
    border-radius: var(--global-border-radius);
}

.card-accent {
    background-color: transparent;
    background-image: linear-gradient(180deg, var(--accent-color) 0%, var(--accent-color-2) 100%);
}

/* 20. About Components */

.about-qoute {
    display: flex;
    padding: 0em 0em 0em 1em;
    border-left: solid 2px var(--accent-color);
}

.about-qoute p {
    font-style: italic;
    font-weight: 600;
}

/* 21. Counter Component */

.counter,
.counter-detail {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
}

.odometer {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em !important;
    color: var(--primary);
}

.odometer-suffix {
    font-size: 30px;
    font-weight: 700;
    margin-left: 2px;
    line-height: 1.25em;
    margin-left: 6px;
}

.odometer-detail {
    font-size: 24.008px;
    font-weight: 700;
    margin-left: 1px;
    color: var(--accent-color);
    align-self: start;
}

.odometer,
.odometer-suffix,
.odometer-detail {
    display: inline-block;
    vertical-align: baseline;
}

.counter-box {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    margin-left: 8px;
    gap: 15px 15px;
}

/* 22. Progress Bar Components */

.progress-container {
    position: relative;
    width: 100%;
}

.progress-title {
    font-weight: bold;
    margin-bottom: 8px;
    font-size: 16px;
    color: var(--accent-color-3);
}

.progress-bar-container {
    position: relative;
    width: 100%;
    height: 8px;
    background: var(--accent-color-5);
    border-radius: var(--global-border-radius);
    overflow: visible;
}

.progress-bar {
    height: 100%;
    background: var(--accent-color-2);
    width: 0;
    transition: width 0.2s;
    border-radius: var(--global-border-radius);
    position: absolute;
    left: 0;
    top: 0;
}

.progress-message {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-100%);
    display: flex;
    align-items: center;
    pointer-events: none;
    transition: left 0.2s;
}

.progress-message i {
    font-size: 36px;
    color: var(--accent-color);
    position: relative;
}

.progress-message span {
    position: absolute;
    font-weight: bold;
    font-size: 14px;
    color: var(--accent-color-3);
}

/* 23. Video Components */

.bg-video-container {
    background-image: url('../image/group-portrait-of-confident-interracial-entreprene-2024-11-13-22-56-07-utc.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--global-border-radius);
    max-width: 100%;
    height: 100%;
    padding: 0px;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.bg-video-container::before {
    content: '';
    position: absolute;
    background-color: var(--primary);
    opacity: 0.3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}



.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--accent-color-6);
    z-index: 1050;
    justify-content: center;
    align-items: center;
}

.modal-video {
    background-color: var(--secondary);
    padding: 0;
    border-radius: none;
    position: relative;
    max-width: 90%;
    max-height: 90%;
    overflow: auto;
}

.modal-video iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: 80vh;
}

.modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    cursor: pointer;
    font-weight: bold;
    color: var(--accent-color-4);
}

/* 23. Service Components */
.card-service {
    display: flex;
    flex-direction: column;
    gap: 20px 20px;
    padding: 1em 1em 1em 1em;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.card-service-wrapper {
    border: solid 2px var(--accent-color-5);
    border-radius: var(--global-border-radius);
    background-image: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.card-service.talent-management {
    background-image: url('../image/successful-multiethnic-colleagues-in-stylish-casua-2024-11-07-21-55-39-utc.jpg');
    width: 100%;
    height: 100%;
}

.card-service.talent-management .spacer {
    height: 200px;
}

.card-service.brand-partnership {
    background-image: url('../image/colleagues-greeting-at-a-presentation-in-the-offic-2024-09-21-18-01-05-utc.jpg');
}

.card-service.brand-partnership::before {
    content: '';
    position: absolute;
    background-color: var(--primary);
    opacity: 0.5;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.card-service.card-service.talent-management::before {
    content: '';
    position: absolute;
    background-color: var(--primary);
    opacity: 0.5;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.card-service.influencer-marketing {
    background-image: url('../image/smiling-multicultural-businesspeople-taking-selfie-2024-11-10-19-49-19-utc.jpg');
}

.card-service.influencer-marketing::before {
    content: '';
    position: absolute;
    background-color: var(--primary);
    opacity: 0.5;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.card-service.content-strategy {
    background-image: url('../image/workers-using-a-graphic-to-explain-data-in-a-meeti-2024-12-09-03-11-20-utc.jpg');
}

.card-service.content-strategy::before {
    content: '';
    position: absolute;
    background-color: var(--primary);
    opacity: 0.5;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.service-cta {
    padding: 2em;
    display: flex;
    flex-direction: column;
    gap: 15px 15px;
    border-radius: var(--global-border-radius);
}

.service-cta .icon-circle {
    align-self: flex-end;
}

.service-cta i {
    transform: rotate(-45deg);
}

.card-service-content {
    display: flex;
    flex-direction: column;
    gap: 20px 20px;
    padding: 1.5em 1.5em 1.5em 1.5em;
    border-radius: var(--global-border-radius);
    width: 100%;
    height: 100%;
    transform: translateY(182px);
    transition: all 0.3s ease;
}

.card-service-content:hover {
    background-color: var(--accent-color-6);
    transform: translateY(0px);
}

.card-service.talent-management .card-service-content {
    transform: translateY(480px);
}

.card-service.talent-management .card-service-content:hover {
    transform: translateY(0px);
}

.other-service-banner {
    display: flex;
    flex-direction: column;
    background-color: transparent;
    background-image: radial-gradient(at center center, var(--accent-color) 0%, var(--primary) 70%);
    gap: 15px 15px;
    border-radius: var(--global-border-radius);
    padding: 1.75em 1.75em 1.75em 1.75em;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.other-service-banner::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url('../image/Galaxy-Background.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.7;
    z-index: -1;
}


.other-service-list {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}

.other-service-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--accent-color-5);
}

.other-service-list li:last-child {
    margin-bottom: 0px;
    border-bottom: none;
}

.other-service-list a {
    color: var(--accent-color-3);
    font-size: 16.8px;
    transition: all 0.3;
}

.other-service-list a:hover {
    color: var(--accent-color);
}

.other-service-list li::before {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--accent-color);
    font-size: 16px;
}

/* 24. Social Media Components */

.social-media-cta {
    display: flex;
    flex-direction: column;
    background-color: transparent;
    background-image: radial-gradient(at center center, var(--accent-color) 0%, var(--primary) 70%);
    gap: 15px 15px;
    border-radius: var(--global-border-radius);
    padding: 1.75em 1.75em 1.75em 1.75em;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.social-media-cta::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url('../image/Galaxy-Background.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.7;
    z-index: -1;
}

/* 25. Talent Components */

.card-talent {
    display: flex;
    flex-direction: column;
    gap: 20px 20px;
    /* padding: .5em .5em .5em .5em; */
    border-radius: var(--global-border-radius);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    /* border: solid 3px var(--blue); */
}

.card-talent.talent-cta {
    background-color: transparent;
    background-image: radial-gradient(at center center, var(--accent-color) 0%, var(--primary) 70%);
    padding: 2em 2em 2em 2em;
    position: relative;
    z-index: 1;
}

.card-talent.talent-cta::before {
    content: '';
    position: absolute;
    background-image: url('../image/Galaxy-Background.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.7;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.card-talent.talent-model {
    background-image: url('../image/studio-fashion-portrait-of-pretty-cute-blonde-wom-2024-12-04-12-45-11-utc.jpg');
}

.card-talent.talent-musician {
    background-image: url('../image/young-man-playing-on-an-acoustic-guitar-in-a-moder-2024-10-18-05-55-15-utc.jpg');
}

.card-talent.talent-beauty-vlogger {
    background-image: url('../image/beauty-blogger-girl-is-broadcasting-live-from-her-2024-09-23-00-08-47-utc.jpg');
}

.card-talent.talent-digital-creator {
    background-image: url('../image/man-with-headphones-in-sweatshirt-enjoying-favorit-2024-10-19-09-10-46-utc.jpg');
}

.card-talent.talent-public-speaker {
    background-image: url('../image/teenage-girl-listening-to-music-2025-02-11-14-00-14-utc.jpg');
}

.card-talent.talent-fashion-vlogger {
    background-image: url('../image/man-singer-wearing-headphones-listening-to-music-a-2025-03-10-21-29-58-utc.jpg');
}

.card-talent.talent-actor {
    background-image: url('../image/blithesome-man-in-vintage-jeans-posing-in-studio-2024-09-24-02-36-10-utc.jpg');
}

.card-talent-wrapper {
    /* border: solid 2px var(--accent-color-5); */
    border-radius: var(--global-border-radius);
    background-image: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.talent-cta .card-talent-content {
    transform: translateY(0);
    background-color: transparent;
    justify-content: center;
    gap: 20px 20px;
    padding: 0;
}

.talent-cta .card-talent-content::before {
    content: '';
    position: absolute;
    background-color: transparent;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.talent-cta .card-talent-content:hover {
    background-color: transparent;
}

.card-talent-content {
    display: flex;
    flex-direction: column;
    /* justify-content: space-between; */
    gap: 10px 10px;
    padding: 1.5em 1.5em 1.5em 1.5em;
    /* border-radius: var(--global-border-radius); */
    width: 100%;
    height: 100%;
    transition: all 0.3s ease;
    transform: translateY(290px);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.card-talent-content::before {
    content: '';
    position: absolute;
    background-color: var(--primary);
    opacity: 0.5;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.card-talent-content:hover {
    background-color: var(--accent-color-6);
    transform: translateY(0px);
}


.talent-detail-photo {
    width: 75%;
    height: 100%;
}

.talent-social-icon {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 14px 14px 14px;
    font-size: 35px;
    border-radius: var(--global-border-radius);
    background-color: var(--accent-color);
    color: var(--accent-color-3);
}

.talent-spacer {
    height: 230px;
}

/* 26. Contact Us Components */

.contactus-cta {
    position: relative;
    background-image: url('../image/joyful-team-celebrating-success-in-office-2024-12-04-21-58-05-utc.jpg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    gap: 20px 20px;
    border-radius: var(--global-border-radius);
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 2em 2em 2em 2em;
    overflow: hidden;
    z-index: 1;
}

.contactus-cta::before {
    content: '';
    position: absolute;
    background-color: var(--primary);
    opacity: 0.7;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.contactus-cta.single-post {
    background-image: url('../image/portrait-of-a-multi-ethnic-and-young-members-of-a-2024-12-09-02-52-13-utc.jpg');
}

/* 27. Pricing Components */

.card-pricing {
    background-color: var(--accent-color-4);
    display: flex;
    flex-direction: column;
    gap: 30px 30px;
    padding: 2em 2em 2em 2em;
    overflow: hidden;
}

.pricing-highlight {
    position: relative;
    background-color: transparent;
    background-image: radial-gradient(at center center, var(--accent-color) 0%, var(--primary) 70%);
    overflow: hidden;
    z-index: 1;
}

.pricing-highlight::before {
    content: '';
    position: absolute;
    background-image: url('../image/Galaxy-Background.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.7;
    z-index: -1;
}

.price-container {
    border-radius: var(--global-border-radius);
    background-color: var(--accent-color);
    color: var(--accent-color-3);
    display: flex;
    flex-direction: row;
    gap: 5px 5px;
    padding: 1.5em 1.5em 1.5em 1.5em;
}

.pricing {
    color: var(--accent-color-3);
    font-size: 30px;
    line-height: 1.25em;
    font-weight: 700;
}

.price-container h6 {
    align-self: flex-end;
}

.pricing-small-description {
    font-size: 14px;
}

/* 28. Testimonial Components */

.card-testimonial {
    display: flex;
    flex-direction: column;
    gap: 15px 15px;
    background-color: var(--secondary);
    padding: 2em 2em 2em 2em;
    border-radius: var(--global-border-radius);
    border: solid 1px var(--accent-color-5);
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.card-testimonial-rating {
    display: flex;
    flex-direction: column;
    gap: 25px 25px;
    background-color: transparent;
    background-image: radial-gradient(at center center, var(--accent-color) 0%, var(--primary) 70%);
    padding: 2em 2em 2em 2em;
    border-radius: var(--global-border-radius);
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.card-testimonial-rating::before {
    content: '';
    position: absolute;
    background-image: url('../image/Galaxy-Background.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.7;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.card-testimonial-rating .counter,
.card-testimonial-rating .counter-detail {
    color: var(--accent-color-3);
}

.testimonial-image {
    width: 20%;
    height: auto;
    border-radius: 50%;
    overflow: hidden;
}

.testimonial-video {
    background-image: url('../image/front-view-of-mature-middle-aged-confident-high-sk-2024-12-13-07-54-41-utc.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    gap: 30px 30px;
    padding: 2em 2em 2em 2em;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.testimonial-video-spacer {
    height: 100px;
}

.testimonial-video::before {
    content: '';
    position: absolute;
    background-color: transparent;
    background-image: linear-gradient(180deg, var(--accent-color-transparent) 30%, var(--primary) 80%);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.testimonial-quote {
    font-style: italic;
}

.stars {
    display: flex;
    flex-direction: row;
    gap: 5px 5px;
}

.stars i {
    color: var(--accent-color);
}

/* 29. Underline Components */

.underline-1 {
    border-bottom: solid 1px var(--accent-color);
    width: 40%;
    padding: 5px 0px 5px 0px;
}

.underline-2 {
    border-bottom: solid 1px var(--accent-color-5);
    width: 100%;
}

.underline-3 {
    border-bottom: solid 1px var(--text-color);
    width: 100%;
}

/* 30. Icon Compoents */

.social-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 10px 10px;
}

.social-container-footer {
    display: flex;
    flex-direction: row;
    gap: 10px 10px;
    justify-content: flex-start;
}

.icon-circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--accent-color-3);
    font-size: 32px;
    color: var(--accent-color);
    transition: all 0.3s;
}

.icon-circle:hover {
    background-color: var(--primary);
    color: var(--accent-color-3);
}

.icon-circle.invert-color {
    background-color: var(--accent-color);
    color: var(--accent-color-3);
    transform: rotate(325deg);
}

.icon-circle.invert-color:hover {
    background-color: var(--accent-color-3);
    color: var(--accent-color);
}

.social-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    border-radius: 10% 10% 10% 10%;
    background-color: var(--accent-color);
    color: var(--accent-color-3);
    font-size: 16px;
    transition: all 0.3s ease;
}

.social-icon:hover {
    background-color: var(--accent-color-2);
}

/* 31. Animate Compoents */

.animate-box {
    opacity: 0;
}

.animated {
    animation-duration: var(--animation-normal);
}

.animated.fast {
    animation-duration: var(--animation-fast);
}

.animated.slow {
    animation-duration: var(--animation-slow);
}

/* 32.Faq Accordion Banner Components */

.accordion .accordion-item {
    background-color: transparent;
    border: none;
    color: var(--primary);
    outline: none;
}

.accordion .accordion-item .accordion-body {
    color: var(--primary);
    font-family: var(--font-2);
    font-weight: 400;
    line-height: 1.5em;
    padding: 2em 3em 2em 3em;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion .accordion-button {
    background-color: var(--secondary);
    border-radius: 30px 30px 30px 30px !important;
    font-weight: 600;
    font-family: var(--font-1);
    line-height: 1.25em;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    justify-content: start;
    padding: 15px 25px 15px 25px;
    margin-bottom: 10px;
    border: none;
    color: var(--primary);
}

.accordion-button::after {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23414260" class="bi bi-plus" viewBox="0 0 16 16"><path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>');
}

.accordion-button:not(.collapsed)::after {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23414260" class="bi bi-dash" viewBox="0 0 16 16"><path d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8"/></svg>');
}

.accordion .accordion-button:not(.collapsed) {
    font-weight: 600;
    box-shadow: none;
    border-bottom: 3px solid var(--accent-color);
    color: var(--accent-color);
    outline: none;
}


.tab-btn {
    border: solid 1px var(--accent-color-5);
    background-color: var(--accent-color-transparent);
    color: var(--primary);
    font-weight: 600;
    line-height: 1.25em;
    padding: 15px 30px 15px 30px;
    transition: all 0.3s ease
}

.tab-btn:hover {
    background-color: var(--accent-color);
    border: solid 1px var(--accent-color);
    color: var(--accent-color-3);
}

.tab-btn.active {
    background-color: var(--accent-color);
    border: solid 1px var(--accent-color);
    color: var(--accent-color-3);
}

.tab-content {
    display: block;
    width: 100%;
}

.tab-pane {
    display: none;
}

.tab-pane.show {
    display: block;
}

.tab-pane.active {
    display: block;
}

.faq-cta-banner {
    background-image: url('../image/african-american-man-explaining-car-design-idea-to-2023-11-27-05-18-41-utc.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 15px 15px;
    width: 100%;
    height: 100%;
    overflow: hidden;
    color: var(--accent-color-3);
    padding: 2em 2em 2em 2em;
    position: relative;
    z-index: 1;
}

.faq-cta-banner::before {
    content: '';
    position: absolute;
    background-color: transparent;
    background-image: linear-gradient(180deg, var(--accent-color-transparent) 20%, var(--primary) 70%);
    opacity: 0.7;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.faq-cta-banner .spacer {
    height: 50px;
}

/* 33. List Components */

.check-list {
    list-style: none;
    padding: 0;
}

.check-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--text-color);
}

.check-list a {
    color: var(--text-color);
    font-weight: 500;
    transition: all 0.2s;
}

.check-list a:hover {
    color: var(--primary);
}

.check-list li::before {
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    position: absolute;
    left: 0;
    color: var(--accent-color);
}

.chevron-list {
    list-style: none;
    padding: 0;
}

.chevron-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
    transition: all 0.2s;
}

.chevron-list a {
    color: var(--accent-color-3);
}

.chevron-list a:hover {
    color: var(--accent-color);
}

.chevron-list li::before {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--accent-color);
}

.checkbox-list {
    list-style: none;
    padding: 0;
    margin-bottom: 0px;
}

.checkbox-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
    transition: all 0.2s;
}

.checkbox-list li:last-child {
    margin-bottom: 0px;
}

.checkbox-list a {
    color: var(--accent-color-3);
    font-size: 16px;
}

.checkbox-list a:hover {
    color: var(--accent-color);
}

.checkbox-list li::before {
    content: "\f14a";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--accent-color);
    font-size: 14px;
}

/* 34. Blog Post Components */

.card-blog {
    display: flex;
    flex-direction: column;
    gap: 15px 15px;
    width: 100%;
    height: 450px;
    overflow: hidden;
    background: #eaeaeb;
    background-position: 50%;
    background-size: cover;
    position: relative;
    z-index: 0;
}

.card-blog img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-blog::before {
    content: '';
    position: absolute;
    background-color: var(--accent-color-6);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.card-blog .card-body {
    padding: 2em;
    border-radius: var(--global-border-radius);
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 20px 20px;
    bottom: 1em;
    right: 1em;
    left: 1em;
    z-index: 2;
}

.blog-link {
    font-size: 20px;
    color: var(--accent-color-3);
    transition: all 0.3s ease;
}

.blog-link:hover {
    color: var(--accent-color);
}

.blog-link.other-post {
    font-size: 16.8px;
}

.meta-data {
    font-size: 14px;
    color: var(--accent-color-3);
    display: flex;
    flex-direction: row;
    gap: 10px 10px;
    align-items: center;
}

.post-details {
    display: flex;
    flex-direction: row;
    gap: 20px;
    justify-content: center;
}

.post-details span {
    font-size: 16px;
    color: var(--primary);
}

.post-details span:nth-child(2) {
    border-left: 1px solid var(--accent-color-2);
    border-right: 1px solid var(--accent-color-2);
    padding: 0em 1em;
}

.other-post-banner {
    display: flex;
    flex-direction: column;
    background-color: transparent;
    background-image: radial-gradient(at center center, var(--accent-color) 0%, var(--primary) 70%);
    gap: 15px 15px;
    border-radius: var(--global-border-radius);
    padding: 1.75em 1.75em 1.75em 1.75em;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.other-post-banner::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url(../image/Galaxy-Background.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.7;
    z-index: -1;
}

.other-post-img {
    position: relative;
    overflow: hidden;
    display: block;
    max-width: 40%;
    max-height: 100%;
    border-radius: var(--global-border-radius);
    height: auto;
}

.other-post-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}

/* 35. Footer Components */

.bg-footer {
    background-color: var(--blue);
}

.quick-link {
    /* font-size: 20px; */
    color: var(--accent-color-3);
    transition: all 0.3s ease;
}

.quick-link:hover {
    color: var(--accent-color);
}

.footer-list {
    list-style: none;
    padding-left: 0;
}

.footer-list li {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1em;
    margin-bottom: 0.5em;
    color: var(--accent-color-3);
    transition: all 0.2s;
}

.footer-list li i {
    font-size: 16px;
    color: var(--accent-color);
}

.footer-list li:hover {
    color: var(--accent-color);
}

.footer-list a {
    font-weight: 500;
    color: var(--accent-color-3);
    transition: all 0.2s;
    font-family: var(--font-2);
}

.footer-list a:hover {
    color: var(--accent-color);
}

/* 36. Maps */

.maps {
    border-radius: var(--global-border-radius);
    width: 100%;
    min-height: 350px;
    overflow: hidden;
}

/* 37. Form Components */

.form {
    display: flex;
    flex-direction: column;
    gap: 20px 20px;
    background-color: var(--accent-color-4);
    padding: 2em 2em 2em 2em;
    border-radius: var(--global-border-radius);
}

.form input,
.form textarea,
.form select {
    background-color: var(--accent-color-3);
    border: solid 1px var(--accent-color-5);
    border-radius: var(--global-border-radius);
    color: var(--text-color);
    outline: none;
    line-height: 1.5em;
    padding: 1em 1em 1em 1em;
}

.form input:focus,
.form textarea:focus,
.form select:focus {
    box-shadow: none;
    color: var(--text-color);
}

.form input:autofill,
.form input:autofill:focus {
    color: var(--text-color);
    transition: background-color 5000s ease-in-out;
    -webkit-text-fill-color: var(--text-color);
    font-family: var(--font-2);
}

.form input::placeholder,
.form textarea::placeholder {
    color: var(--text-color);
    font-family: var(--font-2);
    font-size: 16px;
    font-weight: 500;
}

.form label {
    font-size: 16.8px;
    font-weight: 600;
    font-family: var(--font-1);
    color: var(--primary);
}

.form .form-select {
    color: var(--text-color-2);
}

.form-check-input:checked[type=checkbox] {
    --bs-form-check-bg-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="blue" class="bi bi-check-xl" viewBox="0 0 16 16"><path d="M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z"/></svg>');
}

.form input.form-check-input {
    background-color: transparent;
    border: 1px solid gray;
}

.form input.form-check-input:checked {
    border: 1px solid blue;
    color: blue;
}

input.error-border,
textarea.error-border {
    border-color: var(--accent-color);
}

.error-text {
    color: var(--accent-color);
    font-size: 16px;
    margin-bottom: 10px;
}

.form .submit_form {
    display: inline-block;
    padding-inline: 2rem;
    padding-block: 0.7rem;
    padding: 1em 1em;
    line-height: 1.5em;
    text-decoration: none;
    border: none;
    transition: all 0.5s;
    background-color: var(--accent-color-1);
    color: white;
    border-radius: var(--global-border-radius);
}

.form .submit_form:hover {
    background-color: var(--accent-color-2);
    color: var(--accent-color-1);
}

.success {
    color: var(--accent-color-3);
}

.error {
    color: var(--accent-color-3);
}

.check-icon,
.cross-icon {
    font-size: 20px;
    margin-right: 10px;
}


.alert {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2em;
    border-radius: var(--global-border-radius);
    margin-bottom: 15px;
    border: 1px solid var(--secondary);
    background-color: var(--secondary);
    color: var(--primary);
}

.hidden {
    display: none;
}

/* 38. Newsletter */

#newsletterForm {
    display: flex;
    gap: 8px;
    width: 100%;
}

#newsletterForm input {
    flex: 1;
    padding: 1em 1em 1em 1em;
    background-color: var(--accent-color-3);
    color: var(--primary);
    border-radius: var(--global-border-radius);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    width: 100%;
    height: 100%;
    border: none;
}

#newsletterForm input::placeholder {
    color: #ccc;
}

#newsletterForm .error-text {
    color: var(--accent-color);
    font-size: 14px;
    margin-top: 4px;
}

#newsletterForm .hidden {
    display: none;
}

#newsletterForm button {
    padding: 21px 30px 21px 30px;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0);
}


@media screen and (max-width: 1024px) {
    .navbar-collapse {
        display: none !important;
    }

    .nav-btn {
        display: block;
    }

    .heading-wrapper-title {
        width: 70%;
    }

    .heading-wrapper-link {
        width: 30%;
    }

    .heading-wrapper-text {
        width: 30%;
    }

    .banner-home .spacer {
        height: 400px;
    }

    .card-service {
        padding: 2em 2em 2em 2em;
    }

    .card-service.talent-management .card-service-content {
        transform: translateY(359px);
    }

    .card-service-content {
        transform: translateY(178px);
    }

    .other-service-list a {
        font-size: 16px;
    }

    .bg-video-container {
        padding: 10em 10em 10em 10em;
    }

    .blog-link.other-post {
        font-size: 16px;
    }

    .join-us-content {
        width: 90%;
    }

    .faq-cta-banner .spacer {
        height: 300px;
    }

    .background-404 p {
        max-width: 70%;
    }

    .quick-link {
        font-size: 16.8px;
    }

    .other-post-img {
        max-width: 50%;
    }

    .talent-detail-photo {
        width: 100%;
    }

    .odometer,
    .odometer-suffix {
        font-size: 60px;
    }

    .odometer-detail {
        font-size: 21.008px;
    }
}

/* 40. Mobile Responsive */

@media screen and (max-width: 767px) {
    h1 {
        font-size: 1.5rem;
        /* ~21px */
    }

    h2 {
        font-size: 1.275rem;
        /* ~19px */
    }

    h3 {
        font-size: 1.15rem;
        /* ~18px */
    }

    h4 {
        font-size: 1.025rem;
        /* ~16px */
    }

    h5 {
        font-size: .9rem;
        /* ~14px */
    }

    h6 {
        font-size: 0.875rem;
        /* ~12px */
    }

    body,
    p,
    a,
    button,
    li,
    span {
        font-size: .9rem;
        line-height: 1.4;
    }

    .navbar-button-container {
        display: none;
    }

    .heading-wrapper-title {
        width: 100%;
    }

    .heading-wrapper-link {
        width: 100%;
        align-self: flex-start;
        justify-content: start
    }

    .heading-wrapper-text {
        width: 100%;
        align-self: flex-start;
        justify-content: start
    }

    .card-service.talent-management .card-service-content {
        transform: translateY(419px);
    }

    .card-service-content {
        transform: translateY(188px);
    }

    .other-service-list a {
        font-size: 14px;
    }

    .other-post-img {
        height: 100%;
    }

    .blog-link.other-post {
        font-size: 14px;
    }

    .join-us-content {
        width: 100%;
    }

    .background-404 p {
        max-width: 100%;
    }

    .tab-content {
        display: none;
    }

    .odometer,
    .odometer-suffix {
        font-size: 56px;
    }

    .odometer-detail {
        font-size: 14px;
    }
}

/* ==== STICKY NAVBAR SEPERTI PALOPO ==== */
/* ==== HEADER - NAVBAR STICKY, TOPBAR NORMAL ==== */

/* Topbar (scroll ikut halaman, bukan fixed) */
.topbar {
    position: relative;
    z-index: 1000;
    background: #f8f9fa;
    font-size: 0.875rem;
    border-bottom: 1px solid #eaeaea;
    color: #555;
}

.navbar {
    padding: 0;
}

.navbar-layout {
    position: sticky;
    top: 0;
    left: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    height: auto !important;
    overflow: visible !important;
    width: 100%;
    height: 100%;
    z-index: 3;
    margin-bottom: -9em;
}


/* Saat halaman discroll, tambahkan efek bayangan */
.navbar-layout.scrolled {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: fixed;
}

/* Logo */
.logo-container img {
    height: 50px;
    width: auto;
    transition: all 0.3s ease;
}

.navbar-layout.scrolled .logo-container img {
    height: 52px;
}

/* Link navigasi */
.navbar-nav .nav-link {
    color: #333 !important;
    font-weight: 500;
    padding: 0.75rem 1rem;
    transition: color 0.2s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: #0d6efd !important;
}

/* Saat aktif */
.navbar .dropdown-menu.show {
    display: block !important;
}

/* Pastikan parent tidak memotong dropdown */
.navbar-layout,
.navbar-container,
.hero-container,
.overflow-visible {
    overflow: visible !important;
}


/* Hover buka dropdown di desktop */
@media (min-width: 992px) {
    .dropdown:hover>.dropdown-menu {
        display: block !important;
    }
}

/* Tombol */
.navbar-button-container .btn-accent {
    background-color: #0d6efd;
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
    padding: 0.3rem 1rem;
}

.navbar-button-container .btn-accent:hover {
    background-color: #0b5ed7;
}

/* Dropdown Submenu */
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 10%;
    left: 90%;
    margin-left: 0.1rem;
    display: none;
    position: absolute;
}

/* Hover desktop */
@media (min-width: 992px) {
    .dropdown-submenu:hover>.dropdown-menu {
        display: block;
    }
}

/* Tanda ada submenu */
.dropdown-submenu>a.dropdown-toggle::after {
    content: "▶";
    float: right;
    margin-left: 5px;
    font-size: 0.7em;
}

/* Styling dropdown item hover */
.dropdown-menu .dropdown-item:hover {
    background-color: var(--blue);
    color: var(--accent-color-3);
}

/* Responsive: mobile/touchscreen klik buka submenu */
@media (max-width: 991px) {
    .dropdown-submenu>.dropdown-menu {
        left: 0;
        top: 100%;
    }
}

/* ==== HERO SLIDER KOMDIGI STYLE ==== */
.hero-news {
    position: relative;
    color: #fff;
    z-index: 2;
}

.hero-slide {
    position: relative;
    height: 85vh;
    min-height: 480px;
    background-size: cover;
    background-position: top;
}

@media (max-width: 767px) {
    .hero-slide {
        height: 40vh;
        min-height: 200px;
    }
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
}

.hero-caption {
    position: absolute;
    bottom: 100px;
    left: 0;
    right: 0;
    color: #fff;
}

.hero-title {
    font-size: 1.5rem;
    font-weight: 700;
    /* max-width: 70%; */
}

.hero-link {
    display: inline-block;
    margin-top: 10px;
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
}

.hero-link:hover {
    color: #0d6efd;
}

/* Pagination (angka bulat) */
.carousel-indicators {
    justify-content: flex-end;
    right: 0;
    bottom: 15px;
    z-index: 2000 !important;
}

.carousel-indicators [data-bs-target] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.4);
    border: none;
    color: #000;
    font-weight: 500;
}

.carousel-indicators .active {
    background-color: #fff;
}

/* Responsif */
@media (max-width: 768px) {

    .hero-caption {
        bottom: 30px;
    }

    .hero-title {
        font-size: 1.4rem;
        max-width: 100%;
    }

    .carousel-indicators {
        justify-content: flex-end;
        right: -20px;
        bottom: 15px;
        z-index: 2000 !important;
    }
}


/* ==== POPULAR NEWS SLIDER ==== */
.popular-news-slider-wrapper {
    border-radius: 1rem;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1200px;
}

@media (max-width: 767px) {
    .popular-news-slider-wrapper {
        position: relative;
        width: 100%;
    }

    .popular-news-slider-wrapper .popular-item {
        overflow: hidden;
        background-color: white !important;
        color: #000 !important;
        border-radius: 0.75rem;
        transition: all 0.3s ease;
        padding-right: 20px !important;
    }
}

.popular-news-slider-wrapper .popular-item {
    color: white;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 0.75rem;
    transition: all 0.3s ease;
}

.popular-news-slider-wrapper .popular-item:hover {
    background-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.popular-news-slider-wrapper .popular-item h6 {
    font-weight: 600;
    font-size: 0.9rem;
}

.popular-news-slider-wrapper .popular-item small {
    font-size: 0.75rem;
}






.feature-box {
    border-radius: var(--global-border-radius);
    padding: 30px 20px;
    transition: all 0.3s ease;
    height: 100%;
    /* box-shadow: 0 4px 12px rgba(0,0,0,0.05); */
}

.feature-box:hover {
    transform: translateY(-6px);
    background: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.feature-icon {
    font-size: 48px;
    color: #007bff;
    margin-bottom: 15px;
    transition: all 0.4s ease;
    display: inline-block;
}

.feature-box:hover .feature-icon {
    color: #0056b3;
    transform: scale(1.2) rotate(10deg);
}

.sector-card {
    position: relative;
    border-radius: var(--global-border-radius);
    overflow: hidden;
    color: #fff;
    cursor: pointer;
    /* agar terasa hover */
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.sector-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.sector-card img,
.sector-card video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.8);
    transition: transform 0.3s ease, filter 0.3s ease;
    display: block;
}

.sector-card:hover img,
.sector-card:hover video {
    transform: scale(1.2);
    /* sedikit zoom */
    filter: brightness(1);
}

.sector-overlay {
    position: absolute;
    bottom: 0;
    /* tetap di bawah */
    left: 0;
    width: 100%;
    height: 100%;
    /* buat overlay penuh */
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    /* taruh isi di bawah */
    padding: 1.5rem;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
    pointer-events: none;
    /* hover tetap ke parent sector-card */
}

.sector-overlay h5,
.sector-overlay p,
.sector-overlay .sector-link {
    pointer-events: auto;
    /* biar link bisa diklik */
}


.sector-overlay h4 {
    font-weight: 600;
    /* font-size: 1.2rem; */
}

.sector-overlay p {
    margin-top: 10px;
    /* font-size: 1rem; */
    margin-bottom: 0.3rem;
    color: var(--accent-color-4);
}

/* Link tetap bisa diklik */
.sector-link {
    /* font-size: 1rem; */
    color: #fff;
    text-decoration: none;
    pointer-events: auto;
    /* override agar link bisa di klik */
}

.sector-link i {
    margin-left: 5px;
    transition: transform 0.3s ease;
}

.sector-link:hover i {
    transform: translateX(3px);
}

/* Tombol Play di tengah video */
.play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2rem;
    color: #fff;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    /* biar bisa diklik */
    transition: transform 0.3s ease, background 0.3s ease;
}

.sector-card:hover .play-btn {
    transform: translate(-50%, -50%) scale(1.1);
    background: rgba(0, 0, 0, 0.6);
}


.play-btn:hover {
    transform: translate(-50%, -50%) scale(1.1);
    background: rgba(0, 0, 0, 0.7);
}



/* Container list berita */
.news-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Item berita */
.news-list ul li {
    display: flex;
    align-items: flex-start;
    padding-bottom: 1rem;
    border-radius: var(--global-border-radius);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
    cursor: pointer;
}

.news-list ul li:hover {
    transform: translateX(5px);
    background: rgba(0, 0, 0, 0.03);
}

/* Thumbnail wrapper */
.news-list ul li .thumbnail {
    flex-shrink: 0;
    width: 88px;
    height: auto;
    border-radius: var(--global-border-radius);
    overflow: hidden;
    margin-right: 1rem;
    transition: transform 0.3s ease;
}

/* Hover thumbnail zoom */
.news-list ul li:hover .thumbnail img {
    transform: scale(1.1);
}

/* Gambar thumbnail */
.news-list ul li .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
    border-radius: var(--global-border-radius);
}

/* Teks berita */
.news-list ul li h6 {
    /* font-size: 1.1rem; */
    margin-bottom: 0.2rem;
    font-weight: 600;
}

.news-list ul li small {
    /* font-size: 0.8rem; */
    color: #888;
}

.news-list ul li p {
    /* font-size:1rem; */
    margin: 0;
    color: #555;
}


.gallery-grid {
    columns: 4;
    column-gap: 1rem;
}

.gallery-item {
    display: inline-block;
    width: 100%;
    margin-bottom: 1rem;
    border-radius: 10px;
    overflow: hidden;
}

.gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.3s ease;
    border-radius: inherit;
    height: 250px;
}

/* Ukuran random baru */
.gallery-item.xsmall img {
    height: 150px;
}

.gallery-item.small img {
    height: 180px;
}

.gallery-item.medium img {
    height: 250px;
}

.gallery-item.large img {
    height: 320px;
}

.gallery-item.xlarge img {
    height: 400px;
}

.gallery-item.xxlarge img {
    height: 480px;
}



.gallery-grid {
    column-count: 4;
    column-gap: 10px;
}

/* Responsif */
@media (max-width: 992px) {
    .gallery-grid {
        columns: 3;
    }
}

@media (max-width: 768px) {
    .gallery-grid {
        columns: 2;
    }
}

@media (max-width: 576px) {
    .gallery-grid {
        columns: 2;
    }
}


.gallery-item {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.gallery-item img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    transition: transform 0.4s ease, filter 0.3s ease;
}

.gallery-item:hover img {
    transform: scale(1.05);
    filter: brightness(80%);
}

/* Lightbox */
.lightbox {
    display: none;
    position: fixed;
    z-index: 9999;
    padding: 20px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    justify-content: center;
    align-items: center;
}

.lightbox-content {
    max-width: 90%;
    max-height: 80%;
    object-fit: contain;
    margin: auto;
    display: block;
}

.lightbox .close,
.lightbox .prev,
.lightbox .next {
    position: absolute;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    user-select: none;
    transition: 0.3s;
    top: 50%;
    transform: translateY(-50%);
}

.lightbox .close {
    top: 20px;
    right: 30px;
    font-size: 45px;
    transform: none;
}

.lightbox .prev {
    left: 30px;
}

.lightbox .next {
    right: 30px;
}

.lightbox .prev:hover,
.lightbox .next:hover,
.lightbox .close:hover {
    color: #aaa;
}

.btn-light {
    background-color: #f8f9fa;
    color: #007bff;
    border: 1px solid #007bff;
    padding: 0.5rem 1rem;
    border-radius: var(--global-border-radius);
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-light:hover {
    background-color: #007bff;
    color: #fff;
}


.card-counter {
    background: rgba(255, 255, 255, 0.05);
    border-radius: var(--global-border-radius);
    padding: 1rem 1.5rem;
    color: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 1em 1em 1em 1em;
    display: flex;
    flex-direction: column;
    gap: 10px 10px;
    color: var(--accent-color-3);
    width: 100%;
    height: auto;
    text-align: center;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.card-counter:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.card-counter .counter {
    font-weight: 600;
    font-size: 1.5rem;
}

.card-counter .counter-detail {
    font-weight: 500;
    margin-left: 0.25rem;
}

.card-counter h6 {
    font-size: 0.875rem;
    margin-top: 0.25rem;
    color: #fff;
}

/* Fade-in effect for scroll */
.animate-box {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.animate-box.visible {
    opacity: 1;
    transform: translateY(0);
}

.event-card-modern {
    position: relative;
    border-radius: var(--global-border-radius);
    overflow: hidden;
    cursor: pointer;
    height: 400px;
    /* Tinggi tetap 4:3 misal width 300px, tinggi 400px */
}

.event-card-modern img.event-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.event-card-modern:hover img.event-img {
    transform: scale(1.5);
    filter: brightness(0.9);
}

.event-card-modern .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95), transparent 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    opacity: 1;
    /* langsung terlihat */
}

.event-card-modern .event-date {
    font-size: 0.8rem;
    color: #ccc;
}

.event-card-modern .event-title {
    font-weight: 600;
    margin: 0.25rem 0;
}

.event-card-modern .event-desc {
    color: #ddd;
    margin-bottom: 0.5rem;
}

.event-card-modern .btn {
    align-self: flex-start;
    padding: 0.3rem 0.8rem;
}

/* Wrapper Background */


.layanan-wrapper {
    position: relative;
    z-index: 2;
    /* border-radius: var(--global-border-radius); */
    overflow: hidden;
    background: linear-gradient(180deg,
            var(--blue) 0%,
            /* biru tua di atas */
            var(--accent-color-2) 70%,
            /* biru sedang */
            rgba(0, 102, 255, 0.3) 120%,
            /* sedikit transparan */
            rgba(0, 102, 255, 0) 170%
            /* full transparan di bawah */
        );
}

/* Scroll Container */
.scroll-container {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 1rem 0;
}

.scroll-container::-webkit-scrollbar {
    display: none;
}

/* Card */
.layanan-card {
    position: relative;
    /* penting agar z-index bisa bekerja */
    z-index: 3;
    flex: 0 0 220px;
    background: linear-gradient(180deg, var(--accent-color-2) 0%, var(--accent-color) 100%);
    border-radius: var(--global-border-radius);
    padding: 1.2rem 1.2rem;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.layanan-card:hover {
    transform: translateY(-6px);
    background: linear-gradient(180deg, #1c6dff 0%, #0045c3 100%);
    cursor: pointer;
}

/* Icon */
.layanan-icon {
    font-size: 2.2rem;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.15);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Text */
.layanan-card h6 {
    margin-bottom: 0.5rem;
}

.layanan-card p {
    color: #e5e5e5;
    margin-bottom: 1rem;
}

/* Arrow Button */
.layanan-arrow {
    width: 35px;
    height: 35px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.layanan-arrow i {
    font-size: 0.9rem;
    color: #fff;
}

.layanan-card:hover .layanan-arrow {
    background: #fff;
}

.layanan-card:hover .layanan-arrow i {
    color: #004aad;
}

/* Tombol Next/Prev */
.scroll-btn {
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    border: none;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.scroll-btn.left {
    left: 8px;
}

.scroll-btn.right {
    right: 8px;
}

.scroll-btn:hover {
    background: #004aad;
    color: #fff;
}

/* Responsive */
@media (max-width: 767px) {
    .scroll-btn {
        display: none;
    }
}

/* Particles Background */
.particles-js {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
    /* pointer-events: none; */
    /* background: linear-gradient(135deg, #004aad, #0066ff); */
    /* Transparan bagian bawah */
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}


/* NEW EVENTS */

/* Hero Event */
.main-event {
    overflow: hidden;
    background-color: #fff;
}

.main-event img {
    object-fit: cover;
    height: 100%;
    min-height: 320px;
    transition: transform 0.4s ease;
}

.main-event:hover img {
    transform: scale(1.02);
}


.event-list .list-group-item {
    border: none;
    border-radius: 0.6rem;
    background-color: #fff;
    margin-bottom: 0.4rem;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
    cursor: pointer;
}

.event-list .list-group-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
}

#calendar-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 10px;
}

.flatpickr-calendar.inline {
    display: block !important;
    margin: 0 auto;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0);
    width: 320px;
    max-width: 95%;
    box-sizing: border-box;
}

.event-day {
    background-color: var(--accent-color-4) !important;
    border-radius: 50%;
    color: black !important;
}

.share-floating-vertical {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 1050;
    background: white;
    padding: 5px;
    border-radius: 10px 0 0 10px;
    box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
}

.share-floating-vertical .social-icons {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.share-floating-vertical .social-icons li {
    list-style: none;
}

.share-floating-vertical .social-icons a {
    display: inline-block;
    width: 30px;
    height: 30px;
    font-size: 15pt;
    line-height: 30px;
    text-align: center;
    color: #555;
    background: #f0f0f0;
    border-radius: 50%;
    transition: background 0.3s, color 0.3s;
}

.share-floating-vertical .social-icons a:hover {
    background: #c8e2fd;
    color: white;
}

.share-floating-vertical .social-icons a.whatsapp {
    background: #25D366;
    color: white;
}

article * {
    line-height: 1.5rem !important;
}

.ratio-3x4 {
    --bs-aspect-ratio: calc(4 / 3 * 100%);
}

.card-document-category {
    transition: all 0.3s ease;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
}

.card-document-category:hover {
    transform: translateY(-6px);
    border-color: #0d6efd;
    box-shadow: 0 8px 20px rgba(13, 110, 253, 0.2);
}

.card-document-category .card-body {
    transition: background-color 0.3s ease;
}

.card-document-category:hover .card-body {
    background-color: #f8faff;
}


/* Floating Button */
.floating-fitur {
    position: fixed;
    z-index: 1050;
}

@media (min-width: 768px) {
    .floating-fitur {
        top: 50%;
        left: 20px;
        transform: translateY(-50%);
    }
}

@media (max-width: 767.98px) {
    .floating-fitur {
        bottom: 20px;
        left: 20px;
    }
}

.fitur-btn {
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 12px;
    color: white;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    transition: all 0.25s ease;
    background-color: var(--blue);
    display: inline-block;
    transition: transform 0.3s ease-in-out;
}

.fitur-btn:hover {
    transform: translateX(2px);
    background-color: var(--lightblue);
}

.fitur-main-btn {
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 16px;
    background-color: var(--blue);
    color: white;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: transform 0.3s ease;
    /* tambahkan ini */
}

.fitur-mobile {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 999;
}

.fitur-popup {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 10px;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    transition: all 0.3s ease;
}

.fitur-popup.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.fitur-main-btn.rotate {
    transform: rotate(90deg);
    transition: transform 0.3s ease;
}

/* Tooltip hanya untuk desktop */
@media (min-width: 768px) {
    .fitur-btn {
        position: relative;
    }

    .fitur-btn::after {
        content: attr(data-tooltip);
        position: absolute;
        left: 110%;
        top: 50%;
        transform: translateY(-50%);
        background-color: #333;
        color: #fff;
        padding: 5px 10px;
        border-radius: 8px;
        white-space: nowrap;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease, transform 0.3s ease;
        font-size: 12px;
        z-index: 10;
    }

    .fitur-btn:hover::after {
        opacity: 1;
        transform: translateY(-50%) translateX(5px);
    }
}


.landscape-banner .loop-slider-container {
    height: 280px;
}

.potrait-banner .loop-slider-container {
    height: 300px;
}

.potrait-banner-right .loop-slider-container {
    height: 450px;
}

.loop-slider-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: var(--global-border-radius);
}

.loop-slider-track {
    transition: transform 0.5s ease-in-out;
    display: flex;
    height: 100%;
    gap: 10px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateZ(0);
    will-change: transform;
    padding: 10px 0;
}

.loop-slider-item {
    border-radius: var(--global-border-radius);
    height: 100%;
    /* box-shadow: 0 0 6px rgba(0, 0, 0, 0.2); */

}

.landscape-banner .loop-slider-container .loop-slider-item {
    flex: 0 0 85%;
}

.potrait-banner .loop-slider-container .loop-slider-item {
    flex: 0 0 80%;
}

.potrait-banner-right .loop-slider-container .loop-slider-item {
    flex: 0 0 100%;
}

@media (max-width: 767px) {

    .landscape-banner .loop-slider-container .loop-slider-item {
        flex: 0 0 90%;
    }

    .potrait-banner .loop-slider-container .loop-slider-item {
        flex: 0 0 80%;
    }

    .potrait-banner-right .loop-slider-container .loop-slider-item {
        flex: 0 0 100%;
    }

    .landscape-banner .loop-slider-container {
        height: 200px;
    }

    .potrait-banner .loop-slider-container {
        height: 450px;
    }

    .potrait-banner .loop-slider-container-right-section {
        height: 390px;
    }

    .potrait-banner-right .loop-slider-container {
        height: 450px;
    }

    .potrait-banner-right .loop-slider-container-right-section {
        height: 390px;
    }


    .loop-slider-track {
        gap: 10px;
    }

    .loop-slider-container {
        height: 150px;
    }

    .loop-slider-container-padding {
        padding: 0 15px;
    }
}

.loop-slider-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--global-border-radius);
    pointer-events: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

.loop-slider-nav-wrapper {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none;
    padding: 0 10px;
    box-sizing: border-box;
    min-height: 1px;
}

.loop-slider-nav-wrapper button {
    background: rgba(0, 0, 0, 0.5);
    border: none;
    color: white;
    padding: 10px 15px;
    cursor: pointer;
    pointer-events: auto;
    border-radius: 5px;
    z-index: 10;
    transition: background 0.3s;
}

.loop-slider-nav-wrapper button:hover {
    background: rgba(0, 0, 0, 0.8);
}

.loop-slider-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    display: flex;
    gap: 5px;
    transform: translateX(-50%);
}

.loop-slider-dots button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
}

.loop-slider-dots button.active {
    background: white;
}

#mode-suara-container {
    position: fixed;
    bottom: 90px;
    left: 16px;
    z-index: 9999;
}

#mode-suara-container .mode-suara {
    display: none; /* Default disembunyikan, nanti ditampilkan via JS */
    width: 65px;
    height: 65px;
    border-radius: 50%;
    border: none;
    font-size: 18px;
    cursor: pointer;
    /* box-shadow: 0 4px 6px rgba(0,0,0,0.2); */
    transition: background 0.3s;
}

#mode-suara-container .mode-suara.on {
    background-color: var(--primary);
    color: white;
}

#mode-suara-container .mode-suara.off {
    background-color: #dc3545; /* merah */
    color: white;
}

#mode-suara-container .mode-suara:hover {
    opacity: 0.85;
}
.asw-menu-btn {
    width: 37px!important;
    height: 37px!important;
}

.break-top {
    margin-top: 35px;
}