/**
 * @file
 * Subtheme specific CSS.
 */
/**
 * Place your custom styles here.
 */

html {
    overflow-x: hidden;
}
/* If the body has this class, apply overflow to the parent html tag */
/* html:has(.path-frontpage) {
    overflow-y: hidden;
} */

body {
    font-size: 16px !important;
    font-weight: normal;
    margin: 0;
    color: #222222 !important;
    font-family: 'Poppins' !important;
    /* overflow-x: hidden; */
    background: none !important;
    line-height: 25px !important;
    animation-name: loader;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
    /* background: #CCCCCC !important; */
}
body:after {
    content: "dev version | screen: mobile";
    padding: 5px 10px;
    background: rgba(0, 0, 0, 0.5);
    color: rgba(255, 255, 255, 0.7);
    position: fixed;
    bottom: 5px;
    right: 5px;
    font-size: 11px;
    z-index: 9999;
    display: none;
}

.row {
    --bs-gutter-x: 0;
}

@keyframes loader {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* :target {
    background: rgb(255, 226, 0);
    background: linear-gradient(90deg, rgba(211, 244, 0, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
    padding: 10px 10px;
    position: relative;
} */

/* :target::after {
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: -15px;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 600;
    content: "\f02e";
    color: #EEEEEE;
    transform: rotate(90deg);
} */

a,
.link {
    text-decoration: none !important;
    outline: none;
    transition: color 0.3s ease-out;
    color: #0d54ac;
    /* color: #243569; */
}

a:hover,
a:focus,
.link:hover,
.link:focus {
    color: #374785;
}

select:focus-visible {
    outline: none;
}

.page-link,
.page-link:hover {
    color: #374785;
}

.btn-primary {
    background-color: #374785;
    border-color: #374785;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #374785;
}

hr.separator{
    border-top: 4px solid #414244;
    width: 65%;
    /* background: url("../images/dasar-separator-rv2.png") no-repeat center; */
    /* background-size: 40%; */
    /* height: 100px;       */    
    display: block;     
    margin: 50px auto;  
    opacity: 1;
}

ul,
ol {
    margin: 0 0 0 0;
    padding: 0;
}

li {
    padding-left: 20px;
    margin-bottom: 15px;
    margin-left: 20px;
}

.toolbar-menu li {
    margin-bottom: 0;
}

h1 {
    font-size: 22px;
}

h1.title {
    color: #333333;
    border: 0;
    font-size: 40px;
    /* font-size: 27px; */
    font-weight: 600;
    text-transform: capitalize;
    line-height: 1;
}

h2 {
    font-size: 20px;
}

h3 {
    font-weight: bold;
    font-size: 17px;
}

.node__content{
    font-size: 16px;
}

.node--type-custom-page h3 {
    margin-bottom: 30px;
    font-size: 20px;
}

button {
    outline: none;
}

:target {
    /* background: yellow; */
}

/* Table */
.table thead th {
    border-bottom: 0;
    border-top: 0;
    padding: 15px;
    background: #808080;
    border-width: 2px;
}

table.table tr:nth-child(odd) td {
    background: #f7f7f7;
}

table.table tr:nth-child(even) td {
    background: #EEEEEE;
}

/* Table (view) */

.view table {
    font-size: 15px;
}

.view table tr {}

.view table th {
    padding: 10px 20px;
    background: #206a87;
    /* border: 1px solid #CCCCCC; */
    color: #FFFFFF;
    font-size: 13px;
    text-transform: uppercase;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    font-weight: 600;
}

.view table td {
    padding: 10px 20px;
    /* border: 1px solid #CCCCCC; */
    font-size: 14px;
}

.view table tr:nth-child(odd) td {
    background: #f5f8fd;
}

.view table tr:nth-child(even) td {
    background: #FFFFFF;
}

.view table td a {
    color: #333333;
}
.view table caption{
    caption-side: top;
    font-size: #000000;
    font-weight: bold;
    font-size: 30px;
    margin: 0 0 10px 0;
    text-align: right;
}

/* File upload - node */
.field--type-file table {
    font-size: 15px;
}

.field--type-file table tr {}

.field--type-file table th {
    padding: 10px 20px;
    background: #206a87;
    /* border: 1px solid #CCCCCC; */
    color: #FFFFFF;
    font-size: 13px;
    text-transform: uppercase;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    font-weight: 600;
}
.field--type-file table tr td:first-child {
    font-size: 12px;
}
.field--type-file table tr th:last-child{
    text-align: center;
}
.field--type-file table tr td:last-child {
    text-align: center;
    font-size: 12px;
}


/* Nav tabs */
nav.tabs {
    margin: 50px 0 50px 0;
    position: relative;
}

nav.tabs ul {}

nav.tabs ul li {
    margin: 0;
    padding: 0;
}

nav.tabs ul li a {
    color: rgba(0, 0, 0, 0.7);
}

nav.tabs .nav-item.active a {}

/* Paragraph */
.field--name-field-paragraphs > .field__item {
    /* margin-bottom: 30px; */
}

/* Paragraph: Directory */
.paragraph--type--directory-group .field--name-field-directory-name{
    font-size: 25px;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    text-align: center;
}
.paragraph--type--directory-group.orientation-vertical{
    margin: 0 0 40px 0;
}
.paragraph--type--directory-group .field--name-field-directory-members > .field__item{
    padding: 20px 20px;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    margin: 0 0 2px 0;
    background: #099ac6;
}
.paragraph--type--directory-group .field--name-field-directory-members > .field__item:nth-child(odd){
    /* background: #EEEEEE; */
    background: #022a5d;
    color: #FFFFFF;
}

/* Paragraph: Directory member */
.paragraph--type--directory-member{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.paragraph--type--directory-member .member-photo{
    position: relative;
    width: 100%;
    height: 200px;
    display: flex;
    justify-content: center;
}
.paragraph--type--directory-member .member-photo .field--type-image:nth-child(1){
    position: absolute;
    top: 0;
    z-index: 10;
    opacity: 1;
    transition: opacity 0.3s ease-out;
}
.paragraph--type--directory-member .member-photo .field--type-image:nth-child(2){
    position: absolute;
    top: 0;
    z-index: 20;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}
    .field--name-field-directory-members > .field__item:hover .member-photo .field--type-image:nth-child(2){
        opacity: 1;
    }

    /* If swap is on */
    .paragraph--type--directory-member.swap-on .member-photo .field--type-image:nth-child(1){
        z-index: 20;
        opacity: 0;
    }
    .paragraph--type--directory-member.swap-on .member-photo .field--type-image:nth-child(2){
        z-index: 10;
        opacity: 1;
    }
    .field--name-field-directory-members > .field__item:hover .paragraph--type--directory-member.swap-on .member-photo .field--type-image:nth-child(1){
        opacity: 1;
    }

.paragraph--type--directory-member .member-photo img{
    object-fit: contain;
    width: auto;
    height: 200px;
    /* border: 2px solid #FFFFFF; */
    padding: 5px;
    background: #FFFFFF;
    margin: 0;
    border-radius: 10px;
    /* box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); */
}
    /* member details: position, email, phone, fax */
    .paragraph--type--directory-member .member-details{
        /* display: flex;
        flex-direction: column;
        justify-content: center; */
        width: 100%;
        margin-top: 20px;
        text-align: center;
    }
    .paragraph--type--directory-member .member-details .field--name-field-member-position{
        font-size: 20px;
        line-height: 1;
        margin: 0 0 10px 0;
        text-transform: uppercase;
        color: #FFFFFF;
        font-weight: 700;
    }
    .paragraph--type--directory-member .member-details .field--name-field-member-name{
        font-weight: 600;
        text-transform: capitalize;
        font-size: 16px;
        margin-bottom: 10px;
        color: #FFFFFF;
    }
    .paragraph--type--directory-member .member-details .field--name-field-member-email{
        margin: 10px 0 0 0;
        font-size: 13px;
        display: inline-block;
        background: #EEEEEE;
        padding: 5px 10px;
        border-radius: 7px;
        overflow-wrap: break-word;
        line-height: 1.1;
    }
    .paragraph--type--directory-group .field--name-field-directory-members > .field__item:nth-child(odd) .field--name-field-member-email{
        background: rgba(255,255,255,0.7);
        color: #444444;
    }
    .paragraph--type--directory-member .member-details .field--name-field-member-email:before{
        font-family: 'Font Awesome 5 Pro';
        content: "\f0e0";
        margin-right: 10px;
        font-weight: bold;
        color: #444444;
    } 

/* Paragraph: Header + icon */
.paragraph--type--header-icon{
    text-align: center;
}
.paragraph--type--header-icon .field--name-field-header-icon{
    font-size: 27px;
    /* border: 1px solid red; */
    margin: 0 0 40px 0; 
    position: relative;
}
.paragraph--type--header-icon .field--name-field-header-icon .fontawesome-icon:before{
    content: "";
    border: 1px solid #011e42;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    width: 50px;
    height:50px;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%) rotate(45deg) ;
}
    .paragraph--type--rich-text-background .paragraph--type--header-icon .field--name-field-header-icon .fontawesome-icon:before{
        border: 1px solid #FFFFFF;
    }
    .paragraph--type--rich-text-background .paragraph--type--header-icon .field--name-field-header-icon .fontawesome-icon{
        color: #FFFFFF;
    }
.paragraph--type--header-icon .field--name-field-header-icon i{
    font-weight: 100;
}
.paragraph--type--header-icon .field--name-field-header-text{
    font-size: 20px;
    font-weight: 100;
    /* font-family: 'Abel'; */
    color: #011e42;
    display: inline-block;
    margin: 0 0 30px 0;
}
    .paragraph--type--rich-text-background .paragraph--type--header-icon .field--name-field-header-text{
        color: #FFFFFF;
    }
.paragraph--type--header-icon .field--name-field-header-text:after{
    content: "";
    width: 40%;
    height: 2px;
    background: #011e42;
    display: block;
    margin: 5px auto 0 auto;
}
     .paragraph--type--rich-text-background  .paragraph--type--header-icon .field--name-field-header-text:after{
        background: #FFFFFF;
    }
.paragraph--type--header-icon .field--name-field-header-icon svg{
    color: #011e42;
}
    .paragraph--type--rich-text-background  .paragraph--type--header-icon .field--name-field-header-icon svg{
        color: #FFFFFF;
    }

/* Paragraph: Collapsible (FAQ) */
.paragraph--type--toggle{
    
}
.field--name-field-toggle-trigger-rich{
    font-weight: 600;
    border: 1px solid #CCCCCC;
    background: #EEEEEE;
    border-radius: 7px;
    padding: 20px 20px;
    margin: 0 0 20px 0;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    display: flex;
}
.field--name-field-toggle-trigger-rich:before{
    font-family: 'Font Awesome 5 Pro';
    content: "\f067";
    font-weight: 500;
    margin-right: 20px;
    color: #008373;
}
.field--name-field-toggle-trigger-rich p{
    margin: 0;
    padding: 0;
}
.field--name-field-toggle-trigger-rich img{
    position: absolute;
    top: -50%;
    right: 0;
    object-fit: cover;
    width: 30%;
    height: auto;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 35%);
  mask-image: linear-gradient(to right, transparent 0%, black 35%);

}
    .field--name-field-toggle-trigger-rich.is-active:before{
        content: "\f068";
    }
.paragraph--type--toggle-item .field--name-field-toggle-answer{
    display: none;
    margin: 20px 0 0 0;
    padding: 0 20px 20px 50px;
}
.paragraph--type--toggle .field--name-field-toggle-answer.is-active{
    animation: faq-reveal 0.4s ease-in-out;
}

@keyframes faq-reveal {
      0% { opacity: 0; transform: translateY(-10px);}
    100% { opacity: 1; transform: translateY(0px);}
}
.field--name-field-toggle-cover{

}
.field--name-field-toggle-cover img{
    
}

/* Toggle on/off */
.toggle-off-container{
    display: flex;
    flex-direction: row;
    margin: 20px 0;
    justify-content: flex-end;
}
.toggle-off-container button.toggle-open{
    border: 1px solid #808080;
    border-radius: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 5px;
}
.toggle-off-container button.toggle-close{
    border: 1px solid #808080;
    border-radius: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Paragraph: Rich text */
/* .paragraph--type--rich-text p{
    hyphens: auto;
    overflow-wrap: break-word;
} */
.paragraph--type--rich-text table {

    margin-bottom: 40px;
}

.paragraph--type--rich-text table thead tr {
    height: auto !important;
}

.paragraph--type--rich-text table thead tr th {
    padding: 10px 20px;
    background: #206a87;
    /* border: 1px solid #CCCCCC; */
    color: #FFFFFF;
    font-size: 13px;
    text-transform: uppercase;
    border-radius: 10px 10px 0 0;
}

.paragraph--type--rich-text table thead tr th p {
    margin: 0;
}

.paragraph--type--rich-text table tbody td {
    padding: 10px 20px;
    /* border: 1px solid #CCCCCC; */
    font-size: 14px;
}

.paragraph--type--rich-text table.table tr:nth-child(even) td {
    background: #CCCCCC;
}

.paragraph--type--rich-text table.table tr:nth-child(odd) td {
    background: #EEEEEE !important;
}

.paragraph--type--rich-text hr {
    border-bottom: 1px solid #FFFFFF;
    width: 50%;
    margin: 20px auto;
}
.paragraph--type--rich-text h2{
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 30px 0;
    color: #222222;
}
.paragraph--type--rich-text h3{
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: #222222;
}

.paragraph--type--rich-text ul{
    margin: 20px 0;
}

/* Paragraph: Full width */
.full-width-on{
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Paragraph: Edge to edge image */
.paragraph--type--full-width-image {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 30px;
  overflow: hidden;
}

.paragraph--type--full-width-image .field--name-field-edge-img {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
}

.paragraph--type--full-width-image .field--name-field-edge-img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Paragraph: Rich text + paragraph */
.paragraph--type--rich-text-background{
    background: url("../images/richtext-w-bg.jpg");
    padding-top: 100px !important;
    padding-bottom: 70px !important;
    margin: 50px -20%;
}

/* Paragraph: Two-column */
.paragraph--type--two-column {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%;
    margin: 30px 0 0 0;
}

.paragraph--type--two-column .field--name-field-column-one {
    padding: 20px 20px 20px 0;
}

.paragraph--type--two-column .field--name-field-column-two {
    padding: 20px 0 20px 20px;
}

.paragraph--type--two-column.left-50-right-50 .field--name-field-column-one,
.paragraph--type--two-column.left-50-right-50 .field--name-field-column-two,
.paragraph--type--two-column.left-25-right-75 .field--name-field-column-one,
.paragraph--type--two-column.left-25-right-75 .field--name-field-column-two,
.paragraph--type--two-column.left-75-right-25 .field--name-field-column-one,
.paragraph--type--two-column.left-75-right-25 .field--name-field-column-two,
.paragraph--type--two-column.left-60-right-40 .field--name-field-column-one,
.paragraph--type--two-column.left-60-right-40 .field--name-field-column-two,
.paragraph--type--two-column.left-40-right-60 .field--name-field-column-one,
.paragraph--type--two-column.left-40-right-60 .field--name-field-column-two {
    width: 100%;
}

.paragraph--type--two-column.valign-middle .field--name-field-column-one {
    align-content: center;
}

.paragraph--type--two-column.valign-middle .field--name-field-column-two {
    align-content: center;
}

.paragraph--type--two-column.swap-on {
    flex-direction: row-reverse;
}
.paragraph--type--two-column.col-first-bgshade-on,
.paragraph--type--two-column.col-second-bgshade-on{
    margin-bottom: 30px;
}
.paragraph--type--two-column.col-first-bgshade-on .field--name-field-column-one,
.paragraph--type--two-column.col-second-bgshade-on .field--name-field-column-two {
    background: #EEEEEE;
    padding: 20px 20px;
    border-radius: 10px;
}

/* Paragraph: Break */
.field__item.break{
    flex-basis: 100%;
}

/* Paragraph: Timeline */
.paragraph--type--timeline {}

.paragraph--type--timeline .field--name-field-timeline-items {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.paragraph--type--timeline .field--name-field-timeline-items>.field__item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

.paragraph--type--timeline .field--name-field-timeline-items>.field__item .timeline-layout-one {
    order: 0;
    width: 45%;
}

.paragraph--type--timeline .field--name-field-timeline-items>.field__item .timeline-layout-two {
    order: 1;
    width: 10%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.paragraph--type--timeline .field__item:not(.swap)>.timeline-layout-two:before {
    content: "";
    display: block;
    width: 50%;
    height: 2px;
    left: 0;
    top: 22px;
    position: absolute;
    background: #206987;
}

.paragraph--type--timeline .field__item.swap>.timeline-layout-two:after {
    content: "";
    display: block;
    width: 50%;
    height: 2px;
    right: 0;
    top: 22px;
    position: absolute;
    background: #206987;
}

.paragraph--type--timeline .field--name-field-timeline-items>.field__item .timeline-layout-two .branch-center {
    width: 10px;
    height: 10px;
    position: relative;
    top: 18px;

    border-radius: 50%;
    background: #206987;

}

.paragraph--type--timeline .field--name-field-timeline-items>.field__item .timeline-layout-two .branch-line {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background: #206987;
}

.paragraph--type--timeline .field--name-field-timeline-items>.field__item .timeline-layout-three {
    order: 2;
    width: 45%;
}

.paragraph--type--timeline .paragraph--type--timeline-item {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.paragraph--type--timeline .field__item.swap .paragraph--type--timeline-item {
    align-items: flex-start;
}

/* timeline date */
.paragraph--type--timeline .field--name-field-timeline-date {
    display: inline-block;
    background: #206987;
    padding: 10px 20px;
    border-radius: 7px;
    color: #FFFFFF;
    font-size: 13px;
    text-transform: uppercase;
}

/* timeline content */
.paragraph--type--timeline .field--name-field-timeline-content {
    font-size: 13px;
    padding: 10px 0;
}

.paragraph--type--timeline .field__item.swap .timeline-layout-one {
    order: 2;
}

.paragraph--type--timeline .field__item.swap .timeline-layout-two {
    order: 1;
}

.paragraph--type--timeline .field__item.swap .timeline-layout-three {
    order: 0;
}

/* Paragraph: Info box */
.paragraph--type--info-boxes .field--name-field-info-boxes{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.paragraph--type--info-boxes .field--name-field-info-boxes > .field__item{
    width: 80%;
    margin: 0 5px 20px 5px;
}
.paragraph--type--info-box{
    background: #FFFFFF;
    height: 100%;
    padding: 7%;
    border-radius: 7px;
    text-align: center;
}
.paragraph--type--info-box .field--name-field-infobox-title{
    text-align: center;
    padding: 50px 0;
    color: #38769f;
    text-transform: uppercase;
    font-weight: 600;
}

/* Paragraph: Header */
.paragraph--type--header .field--name-field-header-body{
    font-weight: bold;
    text-align: center;
    line-height: 1;
    margin: 30px 0;
}
.paragraph--type--header[header-size="30px"] .field--name-field-header-body{ font-size: 30px; }
.paragraph--type--header[header-size="40px"] .field--name-field-header-body{ font-size: 40px; }
.paragraph--type--header[header-size="50px"] .field--name-field-header-body{ font-size: 50px; }
.paragraph--type--header[header-size="60px"] .field--name-field-header-body{ font-size: 60px; }


/* Paragraph: Spacer */
.spacer-10px{ padding-top: 10px; }
.spacer-20px{ padding-top: 20px; }
.spacer-30px{ padding-top: 30px; }
.spacer-40px{ padding-top: 40px; }
.spacer-50px{ padding-top: 50px; }

/* Paragraph: Image strip */
.paragraph--type--image-strip-group .field--name-field-imgstrip-individual{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.paragraph--type--image-strip-group .field--name-field-imgstrip-individual > .field__item{
    width: 18%;
    flex-grow: 1;
}
.paragraph--type--image-strip-group .field--name-field-imgstrip-individual .field--name-field-imgstrip-img{
    margin: 0;
    float: none;
}
.paragraph--type--image-strip-group .field--name-field-imgstrip-individual .field--name-field-imgstrip-img img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.paragraph--type--image-strip-group .field--name-field-imgstrip-title{
    text-align: center;
}
.paragraph--type--image-strip-group .field--name-field-imgstrip-title a{
    color: #414244;
}

/* Paragraph: Cards */
.paragraph--type--cards{
    margin: 0 auto;
}
.paragraph--type--cards .field--name-field-card-cards{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    width: 100%;
}
.paragraph--type--cards .field--name-field-card-cards > .field__item{
    width: 90%;
}
.paragraph--type--card{
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    height: 200px;
}
    .paragraph--type--card:after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgb(66, 143, 163, 0.5);
        transition: background 0.3s ease-out;
    }
    .paragraph--type--card:hover:after{
        background: rgb(66, 143, 163, 0.9);
    }
.paragraph--type--card .field--name-field-card-bg-img{

}
.paragraph--type--card .field--name-field-card-bg-img img{
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.paragraph--type--card .field--name-field-card-content{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 100%;
    z-index: 20;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
.paragraph--type--card .field--name-field-card-content p{
   margin: 5px 0; 
}
.paragraph--type--card .field--name-field-card-content h2{
    margin: 0;
    font-size: 20px;
    color: #FFFFFF;
    text-align: center;
    font-size: 15px;
    text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.paragraph--type--card .field--name-field-card-link a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 50;
    font-size: 0;
}

/* Main */
#main{
    /* padding: 0; */
    /* padding: 0px 10% 50px 10%; */
    padding: 50px 5% 50px 5%;
}
    
body.path-frontpage #main{
    padding: 0;
}
body.path-galeri-foto #main{
    padding: 50px 5%;
}

/* Header */
.header-container{
    background: #285095;
    background: linear-gradient(180deg, rgba(40, 80, 149, 1) 0%, rgba(2, 42, 93, 1) 100%);
    border-bottom: 1px solid rgba(255,255,255,0.4);
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    position: relative;
    z-index: 200;
    
}
body.path-frontpage .header-container{
    max-height: 0;
    overflow: hidden;
    opacity: 0;
}
body.scrolled .header-container{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
body.scrolled.toolbar-horizontal .header-container{
    top: 39px;
}
body.scrolled.toolbar-horizontal.toolbar-tray-open .header-container{
    top: 39px;
}
body.scrolled .header-container .header-first-container{
    display: none;
}
body.scrolled .header-second-container{
    padding: 30px 0 15px 0;
}

/* Header first */
.header-first-container{
    display: none;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    /* border: 1px dashed green; */
}

/* Header second */
.header-second-container{
    display: flex;
    flex-direction: column;
    padding: 10px;
    margin-top: 0;
    transition: padding 0.3s ease-out;
}
.header-second-container p{
    margin: 0;
    padding: 0;
}

/* Header second A */
.header-second-a-container{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0 1%;
    width: 100%;
    /* text-align: center; */
}

/* Malaysia crest block */
.malaysia-crest-block{
    margin-right: 10px;
    position: relative;
    top: -2px;
}
.malaysia-crest-block img{
    object-fit: contain;
    height: 30px;
    width: auto;
}

/* Sabah crest block */
.sabah-crest-block{
    margin-right: 15px;
}
.sabah-crest-block img{
    object-fit: contain;
    height: 30px;
    width: auto;
}

/* Site name */
.sitename-block{
    position: relative;
    z-index: 50;
    margin-top: 10px;
}
.sitename-block h1{
    font-weight: 600;
    text-transform: uppercase;
    display: flex;
    flex-direction: column;
    margin: 0;
    /* color: #011e42; */
    color: #FFFFFF;
    /* text-shadow: 0 0 3px rgba(0,0,0,0.7); */
}
    body:not(.path-frontpage) .sitename-block h1{
        color: #FFFFFF;
        text-shadow: none;
    }

@media(max-width:580px){
/*************************************************************/
    .sitename-block h1{
        text-align: center;
    }
/*************************************************************/
}



.sitename-block h1 span.laman-rasmi-text{
    font-size: 14px;
    transition: font-size 0.3s ease-out;
}
.sitename-block h1 span.kwkkr-text{
    font-size: 14px;
    transition: font-size 0.3s ease-out;
}


body.scrolled .sitename-block h1 span.laman-rasmi-text{
    font-size: 13px;
}
body.scrolled .sitename-block h1 span.kwkkr-text{
    font-size: 15px;
}

/* Header second B */
.header-second-b-container{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-end;
    /* border: 1px dashed magenta; */
    padding: 0 1%;
    width: 100%;
}

/* Main mega menu */
.main-menu-mega-block{
    position: relative;
    z-index: 50;
    display: none;
}
.main-menu-mega-block .tbm-main{
    background: none;
    padding: 0 0 0 0;
}
.main-menu-mega-block ul.tbm-nav{
    border-top: 1px solid #FFFFFF;
    border-bottom: 1px solid #FFFFFF;
    padding: 10px 0;
    transition: border 0.3s ease-out, padding 0.3s ease-out;
}
    body.scrolled .main-menu-mega-block ul.tbm-nav{
        border-top: 0;
        border-bottom: 0;
        padding: 0;
    }
.main-menu-mega-block ul.tbm-nav li{
    margin: 0;
    padding: 0;
    border: 0;
}
.main-menu-mega-block ul.tbm-nav li.active a.active-trail,
.main-menu-mega-block ul.tbm-nav li.active span.active-trail{
    font-weight: bold;
}
.main-menu-mega-block ul.tbm-nav li a,
.main-menu-mega-block ul.tbm-nav li span{
    /* color: #0d1627; */
    color: #FFFFFF;
    margin: 0 20px;
    padding: 0;
    font-weight: 500;
    background: none;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.1;
    /* text-shadow: 0 0 3px rgba(0,0,0,0.7); */
}
    body:not(.path-frontpage)  .main-menu-mega-block ul.tbm-nav li a,
    body:not(.path-frontpage)  .main-menu-mega-block ul.tbm-nav li span{
        color: #FFFFFF;
        text-shadow: none;
        line-height: 1.1;
        font-weight: 600;
        transition: color 0.2s ease-out;
    }
    .main-menu-mega-block ul.tbm-nav li a:hover,
    .main-menu-mega-block ul.tbm-nav li span.no-link:hover{
        background: none;
    }
.main-menu-mega-block .tbm-submenu-toggle{
    width: auto;
    padding: 0;
    position: relative;
    left: -8px;
}
.main-menu-mega-block .tbm-submenu li.tbm-item a.tbm-link,
.main-menu-mega-block .tbm-submenu li.tbm-item span.tbm-link.no-link{
    text-transform: capitalize;
    text-shadow: none;
    padding: 12px 20px;
    margin: 0;
}

/* .main-menu-mega-block .tbm-submenu li.tbm-item.level-2:first-child a.tbm-link,
.main-menu-mega-block .tbm-submenu li.tbm-item.level-2:first-child span.tbm-link.no-link{
    border-radius: 10px 10px 0 0;
}
.main-menu-mega-block .tbm-submenu li.tbm-item:last-child a.tbm-link,
.main-menu-mega-block .tbm-submenu li.tbm-item:last-child span.tbm-link.no-link{
    border-radius: 0 0 10px 10px;
} */
.main-menu-mega-block .tbm-submenu li.tbm-item a.tbm-link:hover,
.main-menu-mega-block .tbm-submenu li.tbm-item span.tbm-link.no-link:hover{
    color: #285095 !important;
}
/* Level-1 (Top-level): First link or span only */
/* .main-menu-mega-block ul.level-1 > li:first-child > .tbm-link-container > :is(a.tbm-link, span.tbm-link) {
  background-color: green;
}
.main-menu-mega-block ul.level-1 > li:last-child > .tbm-link-container > :is(a.tbm-link, span.tbm-link) {
  background-color: blue;
} */

/* Level-2 (Child ul): First and last link or span */
/* .main-menu-mega-block ul.level-2 > li:is(:first-child) > .tbm-link-container > :is(a.tbm-link, span.tbm-link) {
  background-color: red;
}
.main-menu-mega-block ul.level-2 > li:is(:last-child) > .tbm-link-container > :is(a.tbm-link, span.tbm-link) {
  background-color: pink;
}

.main-menu-mega-block ul .tbm-group-container a.tbm-link,
.main-menu-mega-block ul .tbm-group-container span.tbm-link{
  background-color: yellow;
}

.main-menu-mega-block ul .tbm-group-container li:last-child  a.tbm-link{
  background-color: gold !important;
} */

/* .main-menu-mega-block ul.tbm-subnav li.tbm-item:first-child a.tbm-link{
    border-radius: 7px 7px 0 0;
    background: gray;
}
.main-menu-mega-block ul.tbm-subnav li.tbm-item:last-child span.tbm-link{
    border-radius: 0 0 7px 7px;
    background: gray;
}
.main-menu-mega-block ul.tbm-subnav li.tbm-item:last-child span.tbm-link{
    border-radius: 0 0 7px 7px;
    background: gray;
}
.main-menu-mega-block ul.tbm-subnav li.tbm-item:last-child span.tbm-link{
    border-radius: 0 0 7px 7px;
    background: gray;
} */

.main-menu-mega-block .tbm-submenu {
    /* border: 1px solid red; */
    width: auto;
    left: auto;
    border-radius: 7px;
    margin-top: 10px;
    padding: 10px;
}
.main-menu-mega-block .tbm-submenu-toggle:before{
    border: 0;
    font-family: 'Font Awesome 5 Pro';
    content: "\f078";
    font-size: 11px;
    color: #FFFFFF;
    text-shadow: 0 0 3px rgba(0,0,0,0.7);
}
.main-menu-mega-block .tbm-subnav .tbm-submenu-toggle:before{
    text-shadow: none;
    color: #222222;
    top: 14px;
    left: -10px;
    content: "\f054";
}
    body:not(.path-frontpage) .main-menu-mega-block .tbm-submenu-toggle:before{
        /* color: #011e42; */
        /* text-shadow: none; */
    }
.main-menu-mega-block .tbm-link.level-1:hover, 
.main-menu-mega-block .tbm-link.level-1:focus {
    background-color: unset;
}
.main-menu-mega-block .tbm-group-title{
    font-weight: bold !important;
    margin-bottom: 60px;
}
.main-menu-mega-block .menu-icon a:before,
.main-menu-mega-block .menu-icon span:before{
    font-family: 'Font Awesome 5 Pro';
    font-weight: bold;
    margin-right: 5px;
}
.main-menu-mega-block .menu-home a{
    font-size: 0 !important;
}
.main-menu-mega-block .menu-home a:before{
    content: "\f80a";
    font-size: 13px;
    margin: 0;
}
.main-menu-mega-block .menu-perutusan-menteri a:before{
    content: "\f19c";
}
.main-menu-mega-block .menu-perutusan-sut a:before{
    content: "\f508";
}
.main-menu-mega-block .menu-latar-belakang a:before{
    content: "\f518";
}
.main-menu-mega-block .menu-misi-visi a:before{
    content: "\f140";
}
.main-menu-mega-block .menu-dasar a:before{
    content: "\f0e3";
}
.main-menu-mega-block .menu-carta a:before{
    content: "\f0e8";
}
.main-menu-mega-block .menu-direktori span:before{
    content: "\f2b9";
}
.main-menu-mega-block .menu-galeri-foto a:before{
    content: "\f030";
}
.main-menu-mega-block .menu-galeri-video a:before{
    content: "\f03d";
}
.main-menu-mega-block .menu-keratan-akhbar a:before{
    content: "\f0c4";
}
.main-menu-mega-block .menu-kenyataan-akhbar a:before{
    content: "\f15c";
}
.main-menu-mega-block .menu-pautan-dalaman span:before{
    content: "\f508";
}
.main-menu-mega-block .menu-pautan-awam span:before{
    content: "\f007";
}
.main-menu-mega-block .tbm-group-container{
    margin-top: 5px;
    padding-top: 5px;
}

/* Main menu (mobile) block */
.main-menu-mobile-block{
    position: fixed;
    left: -100%;
    top: 0;
    z-index: 900;
    width: 80%;
    height: 100%;
    border-right: 1px solid rgba(255,255,255,0.5);
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
    padding: 10% 5%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: linear-gradient(180deg, rgba(40, 80, 149, 1) 0%, rgba(2, 42, 93, 1) 100%);
    transition: left 0.3s ease-out;
}
    body.toolbar-vertical .main-menu-mobile-block{
        top: 39px;
    }
.main-menu-mobile-block.is-active{
    left: 0;
}
.main-menu-mobile-block ul{
    margin: 0;
    padding: 0;
}
.main-menu-mobile-block ul li{
    margin: 0;
    padding: 0;
}
.main-menu-mobile-block ul li a,
.main-menu-mobile-block ul li span{
    color: #FFFFFF !important;
    border-bottom: 1px solid rgba(255,255,255,0.5);
    padding-left: 10px !important;
}
.main-menu-mobile-block ul li a.active,
.main-menu-mobile-block ul li span.active{
    font-weight: 700;
    color: #f6b93b !important;
}
.main-menu-mobile-block ul ul.dropdown-menu{
    padding: 20px 20px;
}
.main-menu-mobile-block ul ul.dropdown-menu li{
    margin: 0;
    padding: 0;
}
.main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item.active{
    background: none;
    font-weight: 600;
}
.main-menu-mobile-block ul ul.dropdown-menu li a{
    font-size: 15px;
    border-bottom: 0;
}
.main-menu-mobile-block ul ul.dropdown-menu li span{
    font-size: 15px;
    border-bottom: 0;
}
.main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item.active a,
.main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item.active span{

}

/* dropdown */
    .main-menu-mobile-block ul ul.dropdown-menu{
        position: relative !important;
        transform: translate(0) !important;
        background: none;
        border: 0;
        border-radius: 0;
        padding: 0;
        margin-top: 10px !important;
        margin-bottom: 20px !important;
        margin-left: 20px !important;
    }
    .main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item a,
    .main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item span{
        color: rgba(255,255,255,0.95);
        padding: 5px 0 5px 0;
        display: block;
        font-size: 14px;
        white-space: normal;
        transition: background 0.3s ease-out;
    }   
        .main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item a:before,
        .main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item span:before{
            font-family: 'Font Awesome 5 Pro';
            content: "\f068";
            margin-right: 10px;
            font-size: 9px;
        }

    .main-menu-mobile-block ul ul ul.dropdown-menu li.dropdown-item a,
    .main-menu-mobile-block ul ul ul.dropdown-menu li.dropdown-item span{
        font-size: 14px;
        opacity: 0.85;
        transition: opacity 0.3s ease-out;
    }
    .main-menu-mobile-block ul ul ul.dropdown-menu li.dropdown-item a:hover,
    .main-menu-mobile-block ul ul ul.dropdown-menu li.dropdown-item span:hover{
        opacity: 1;
    }
    .main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item:hover{
        background: none;
    }
    .main-menu-mobile-block ul ul.dropdown-menu li.dropdown-item.active{
        background: none;
    }
    .main-menu-mobile-block ul ul.dropdown-menu li a.is-active,
    .main-menu-mobile-block ul ul.dropdown-menu li a.active{
        font-weight: bold;
        background: rgba(0,0,0,0.2);
    }

    .main-menu-mobile-block ul > .menu-item--expanded > ul.dropdown-menu.show{
        animation-name: dropdown-menu-appear;
        animation-duration: 0.3s;
    }
    .main-menu-mobile-block ul > .menu-item--expanded > ul.dropdown-menu:not(.show){
        animation-name: dropdown-menu-appear;
        animation-duration: 0.3s;
        animation-direction: reverse;
    }
    .main-menu-mobile-block span.dropdown-toggle.is-active{
        color: #f8e6a3 !important;
        font-weight: bold;
    }
    .main-menu-mobile-block span.dropdown-toggle.is-active:after{
        color: #f8e6a3 !important;
    }
    .main-menu-mobile-block .dropdown-toggle::after{
        font-family: 'Font Awesome 5 Pro';
        content: "\f0d7";
        border: 0;
        float: right;
        font-weight: bold;
        font-size: 10px;
    }
    .main-menu-mobile-block .dropdown-toggle.show::after{
        font-family: 'Font Awesome 5 Pro';
        content: "\f0d8";
        
    }

    @keyframes dropdown-menu-appear{
          0% { opacity: 0; top: -20px;  }
        100% { opacity: 1; top: 0; }
    }

/* E-Geran button */
.e-geran-button-block{
    margin-right: 15px;
}
.e-geran-button-block a{
    color: #FFFFFF;
    text-transform: uppercase;
    padding: 5px 15px;
    display: block;
    border-radius: 10px;
    font-size: 12px;
    background: #38ada9;
    color: #FFFFFF;
}
.e-geran-button-block span:before{
    font-family: 'Font Awesome 5 Pro';
    content: "\f15c";
    font-weight: 100;
    margin: 0 7px 0 0;
    font-size: 12px;
}

/* Sabah crest + SMJ */
.smj-madani-block{
    margin: 10px 20px 10px 0;
}
.smj-madani-container{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
.smj-madani-container .smj-logo{
    
}
.smj-madani-container .smj-logo img{
    object-fit: contain;
    width: auto;
    height: 50px;
}
.smj-madani-container .msia-madani-logo a{
    display: block;
    background: #FFFFFF;
    border-radius: 10px;
}
.smj-madani-container .msia-madani-logo img{
    object-fit: contain;
    width: auto;
    height: 40px;
    padding: 5px;
}

/* Frontpage first */
.frontpage-first-container{
    /* border: 2px dashed blue; */
    width: 100%;
    display: flex;
    flex-direction: row;
    position: relative;
    overflow: hidden;
}

/* Frontpage third */
.frontpage-third-container{
    background: url("../images/kwkkr-HQ.jpg") no-repeat;
    background-size: cover;
    padding: 5% 3%;
}

/* Home background (Hero banner) */
.hero-banner-block{
    /* border: 2px dashed yellow; */
    width: 100%;
    height: 100vh;
    display: none;
    background: #022a5d;
}
.hero-banner-block video{
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Welcome */
.welcome-block{
    text-align: center;
    padding: 50px 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 50;
    display: none;
    transition: top 0.3s ease-out;
}
.welcome-block h1{
    font-size: 35px;
    margin: 0;
    color: #FFFFFF;
    text-shadow: 0 0 5px rgba(0,0,0,0.5);
    font-weight: 600;
    line-height: 1.1;
    background: rgba(0,0,0,0.2);
    padding: 40px 20px 20px 20px;
    white-space: nowrap;
    /* backdrop-filter: blur(5px); */
}
.welcome-block h1 span{
    display: block;
}
.welcome-block h2.welcome-text{
    font-size: 35px;
    margin: 0 0 20px 0;
    color: #FFFFFF;
    text-shadow: 0 0 5px rgba(0,0,0,0.5);
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top 0.3s ease-out;
}
.welcome-block.header-active{
    top: 40%;
}
.welcome-block .crests{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    margin: 0 0 30px 0;
}
.welcome-block .crests .msia-crest{
    display: inline-block;
    margin: 0 10px;
}
.welcome-block .crests .msia-crest img{
    object-fit: contain;
    width: auto;
    height: 80px;
}
.welcome-block .crests .sabah-crest{
    display: inline-block;
    margin: 0 10px;
}
.welcome-block .crests .sabah-crest img{
    object-fit: contain;
    width: auto;
    height: 150px;
}

body.path-frontpage .welcome-block .crests,
body.path-frontpage .welcome-block h2,
body.path-frontpage .welcome-block .laman-rasmi-text,
body.path-frontpage .welcome-block .kwkkr-text {
    opacity: 0;
}

/* Mouse scroll */
.mouse-scroll-animation-block{
    position: absolute;
    z-index: 1000;
    top: 65%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    opacity: 0;
    transition: opacity 0.3s ease-out;
}
.mouse-scroll-animation-block.is-active{
    opacity: 1;
}
.mouse-scroll-animation-block .mouse-icon{

}
.mouse-scroll-animation-block .mouse-icon .body{
    width: 26px;
    height: 38px;
    background: #FFFFFF;
    border-radius: 10px 10px 13px 13px;
    /* border-radius: 15px 15px 10px 10px; */
    position: relative;
}
.mouse-scroll-animation-block .mouse-icon .wheel{
    width: 5px;
    height: 8px;
    background: #022a5d;
    border-radius: 3px;
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    animation: scrollWheel 1.8s infinite ease-in-out;
}
.mouse-scroll-animation-block .scroll-trail{
    /* position: absolute;
    top: -10px;
    right: -22px; */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.mouse-scroll-container .scroll-trail .trail-one{
    display: none;
}
.mouse-scroll-container .scroll-trail .trail-one span,
.mouse-scroll-container .scroll-trail .trail-two span {
    width: 6px;
    height: 12px;
    background: #333;
    display: block;
    border-radius: 2px;
    margin-bottom: 4px;
    opacity: 0; /* Base state is hidden, animation handles visibility */
}

.mouse-scroll-container .scroll-trail .trail-two,
.mouse-scroll-container .scroll-trail .trail-three {
    opacity: 0;
    color: #333;
    font-size: 16px;
    margin-top: -2px;
}
.mouse-scroll-animation-block .scroll-trail .trail-one span{
    width: 4px;
    height: 12px;
    background: #FFFFFF;
    display: block;
    border-radius: 5px;
    animation: runwayLights 1.8s infinite;
}
/* .mouse-scroll-animation-block .scroll-trail .trail-two span{
    width: 4px;
    height: 12px;
    background: #FFFFFF;
    display: block;
    margin-top: 5px;
    border-radius: 5px;
    animation: runwayLights 1.8s infinite;
    animation-delay: 0.3s; 
} */
.mouse-scroll-animation-block .scroll-trail .trail-two{
    animation: runwayLights 1.8s infinite;
}
.mouse-scroll-animation-block .scroll-trail .trail-three{
    animation: runwayLights 1.8s infinite;
    animation-delay: 0.12s; /* Staggered delay */
}
.mouse-scroll-animation-block .scroll-trail .trail-two svg{
    color: #FFFFFF;
    top: 0px;
    left: 0px;
    position: relative;
    font-size: 13px;
}
.mouse-scroll-animation-block .scroll-trail .trail-three svg{
    color: #FFFFFF;
    top: -12px;
    left: 0px;
    position: relative;
    font-size: 14px;
}
/* --- Keyframes --- */

/* Runway lights cascade down, fade in, and fade out */
@keyframes runwayLights {
    0% {
        opacity: 0;
        transform: translateY(-5px);
    }
    30% {
        opacity: 1;
        transform: translateY(0);
    }
    60%, 100% {
        opacity: 0;
        transform: translateY(5px);
    }
}

/* Tiny wheel animation for a nice premium touch */
@keyframes scrollWheel {
    0% {
        opacity: 1;
        transform: translate(-50%, 0);
    }
    40% {
        opacity: 1;
        transform: translate(-50%, 6px);
    }
    60%, 100% {
        opacity: 0;
        transform: translate(-50%, 6px);
    }
}

/* Featured content block */
.featured-content-block{
    padding: 0% 5%;
    box-sizing: border-box;
    margin-top: 0;
    z-index: 100;
    opacity: 0;
    will-change: transform, opacity;
}
.view-featured-content{
    padding: 2%;
    position: relative;
}
.view-featured-content .view-content{
    display: flex !important;
}
.view-featured-content .view-content .views-row{
    height: 400px;
    /* height: 355px; */
    box-sizing: border-box !important; 
    flex-shrink: 0;
}

    /* the featured item */
    .featured-content-container{
        position: relative;
    }
    .featured-content-container .background{
        /* border-radius: 0 0 9999px 9999px; */
        /* overflow: hidden; */
    }
    .featured-content-container .background img{
        object-fit: cover;
        width: 100%;
        height: 355px;
        transition: transform 0.3s ease-out;
        
    }
    .featured-content-container:hover .background img{
        transform: scale(1.2);
    }
    .featured-content-container .background .wrapper{
        display: block;
        overflow: hidden;
        border-radius: 0 0 9999px 9999px;
        height: 355px;
        border: 1px solid rgba(255,255,255,0.3);
        box-shadow: 0 1px 8px rgba(0,0,0,0.3);
    }
    .featured-content-container .title{
        position: absolute;
        top: 60%;
        right: 0;
        background: #022a5d;
        color: #FFFFFF;
        padding: 7px 20px;
        /* width: 60%; */
        text-align: right;
        line-height: 1.2;
        overflow: hidden;
        transition: background 0.3s ease-out, color 0.2s ease-out;
        text-transform: uppercase;
    }
    .featured-content-container:hover .title{
        color: #022a5d;
        background: #FFFFFF;
    }
    /* .featured-content-container .title span.bg-bar{
        position: absolute;
        top: 0;
        right: 0;
        width: 0;
        height: 100%;
        background: #FFFFFF;
        display: block;
        transition: width 0.3s ease-out;
    } 
    .featured-content-container:hover .title span.bg-bar{
        width: 100%;
    }
    .featured-content-container .title span.title-text{
        position: relative;
        z-index: 20;
        font-weight: 600;
    }
    .featured-content-container:hover .title span.title-text{
        color: #022a5d;
    }
    */
    .featured-content-container .link{
        position: absolute;
        bottom:-20px;
        right: 2%;
    }
    .featured-content-container .link a{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 70px;
        aspect-ratio: 1/1;
        border-radius: 50%;
        background: #CCCCCC;
        box-shadow: 0 0 10px rgba(0,0,0,0.2);
        border: 1px solid rgba(255,255,255,0.7);
        font-size: 25px;
        color: #FFFFFF;
        overflow: hidden;
        position: relative;
        transition: color 0.2s ease-out, font-size 0.2s ease-out,background 0.1s ease-out, width 0.2s ease-out, height 0.2s ease-out;
    }
    .featured-content-container:hover .link a{
        font-size: 35px !important;
        background: #FFFFFF !important;
        width: 80px;
        overflow: hidden;
    }
    /* .featured-content-container .link a:hover{
        background: #FFFFFF !important;
        color: #022a5d !important;
        overflow: hidden;
    } */
    .featured-content-container .link a span.icon-hover{
        font-family: 'Font Awesome 5 Pro';
        content: "\f105";
        background: #022a5d;
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: -100%;
        border-radius: 50%;
        transition: left 0.2s ease-out;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        transition: background 0.2s ease-out, left 0.3s ease-out;
    }
    .featured-content-container:hover .link a span.icon-hover{
        left: 0;
    }
    .featured-content-container .link a span.icon-hover svg{
        transition: transform 0.3s ease;
    }
    .featured-content-container:hover .link a span.icon-hover svg{
        animation: pulseLeftRight 0.8s ease-in-out infinite;
    }
    .featured-content-container .link a:hover span.icon-hover{
        background: #FFFFFF;
    }
    .featured-content-container .link a:hover span.icon-hover svg{
        color: #022a5d;
    }

    @keyframes pulseLeftRight {
        0% {
            transform: translateX(0);
        }
        50% {
            transform: translateX(6px); /* Adjust pixels to control how far it moves */
        }
        100% {
            transform: translateX(0);
        }
    }
    .featured-content-block .swiper-pagination{
        position: relative;
    }
    .featured-content-block .views-field-edit-node{
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .view-featured-content .swiper-button-prev{
        left: -2% !important;
    }
    .view-featured-content .swiper-button-next{
        right: -2% !important;
    }


/* Jabatan & Agensi di bawah KWKKR (block) */
.jabatan-agensi-kwkkr-block{
    background: url("../images/jabatan-agensi-bg.jpg") no-repeat;
    background-size: cover;
    padding: 10% 3%;
}
.jabatan-agensi-kwkkr-block h2{
    font-size: 25px;
}

/* Slideshow */
.slideshow-block{
    background: url("../images/slideshow-bg-rv2.jpg") 50% 50% no-repeat;
    background-size: 90% auto;
    margin-top: 0;
}
.slideshow-block .view-slideshow{
    width: 60vw;
    height: auto;
    padding: 5% 5%;
    margin: 0 auto;
    position: relative;
}
.slideshow-block .view-slideshow .swiper-slideshow{
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.slideshow-block .view-slideshow .swiper-slide{
    box-shadow: 0 0 15px rgba(0,0,0,0.9);
}
.slideshow-block .view-slideshow .swiper-slide img{
    object-fit: cover;
    width: 100%;
    height: auto;
}
    .view-slideshow .swiper-button-prev{
        left: 25px;
        box-shadow: 0 0 10px rgba(0,0,0,0.2);
    }
    .view-slideshow .swiper-button-next{
        right: 25px;
        box-shadow: 0 0 10px rgba(0,0,0,0.2);
    }

/* Agensi (Cards) */
.agensi-cards-block .agensi-header h2{
    font-size: 25px;
    text-align: center;
    line-height: 1;
}

/* Photo album: listing */
.view-photo-gallery.listing{

}
.view-photo-gallery.listing .view-content ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    margin: 0 0 30px 0;
    padding: 0;
}
.view-photo-gallery.listing .view-content ul li{
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
    border-radius: 11px;
    box-shadow: 0 0 5px rgba(0,0,0,0.15);
    background: #022a5d;
    transition: background 0.3s ease-out, box-shadow 0.3s ease-out, transform 0.1s ease-out;
    overflow: hidden;
}
.view-photo-gallery.listing .view-content ul li:hover{
    box-shadow: 0 0 25px rgba(0,0,0,0.15);
    transform: translateY(-3px);
    /* background: #FFFFFF; */
    color: #333333;
}
.view-photo-gallery.listing .view-content ul li .views-field-field-date-start-3{
    background: rgba(255,255,255,0.7);
    padding: 3px 10px; 
    border-radius: 5px;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 50;
    font-weight: bold;
    font-size: 12px;
    text-transform: uppercase;
}
.view-photo-gallery.listing .view-content ul li .views-field-field-album-cover{
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
}
.view-photo-gallery.listing .view-content ul li .views-field-field-album-cover:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    opacity: 0.3;
    transition: opacity 0.3s ease-out;
}
.view-photo-gallery.listing .view-content ul li .views-field-field-album-cover:hover:after{
    opacity: 0;
}
.view-photo-gallery.listing .view-content ul li .views-field-field-album-cover img{
    border-radius: 10px;
    object-fit: cover;
    width: 100%;
    height: 200px;
    border-radius: 10px 10px 0 0;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);;
}
.view-photo-gallery.listing .view-content ul li:hover img{
    transform: scale(1.1);
}
.view-photo-gallery.listing .view-content ul li .views-field-title{
    margin-top: 10px;
    padding: 17px;
    color: #FFFFFF;
    transition: color 0.2s ease-out;
    text-align: center;
}
.view-photo-gallery.listing .view-content ul li .views-field-title a{
    color: #FFFFFF;
}
.view-photo-gallery.listing .view-content ul li:hover .views-field-title a{
    color: #333333;
}
.view-photo-gallery.listing .view-content ul li .views-field-title h2{
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
}
.view-photo-gallery.listing .view-content ul li .views-field-edit-node{
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 20;
}
.view-photo-gallery.listing .view-content ul li .views-field-edit-node a{
    border-radius: 0 10px 0 10px;
}
.view-photo-gallery.listing .view-content ul li .view-content a{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

/* Photo album: individual */
.view-photo-gallery.individual .view-content .album-container{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}
.view-photo-gallery.individual .view-content .album-container .photos{
    width: 100%;
    margin: 0 0 20px 0;
}
.view-photo-gallery.individual .view-content .album-container .photos ul{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.view-photo-gallery.individual .view-content .album-container .photos ul li{
    border: 0;
    margin-bottom: 4px;
}
.view-photo-gallery.individual .view-content .album-container .details{
    width: 100%;
}
.view-photo-gallery.individual .view-content .album-container .details h2{
    font-weight: bold;
}
.view-photo-gallery.individual .view-content .album-container .details .date{
    display: inline-block;
    padding: 5px 15px;
    border-radius: 10px;
    background: #0a99c5;
    color: #FFFFFF;
    margin: 10px 0;
    text-transform: uppercase;
    font-size: 13px;
}
.view-photo-gallery.individual .view-content .views-field-edit-node{
    margin: 20px 0 0 0;
}

/* Video gallery */
.view-video-gallery .view-content{

}
.view-video-gallery .view-content{
    display: flex;
    gap: 3px;
    justify-content: space-between;
} 
.view-video-gallery .view-content .views-row{
    width: 100%;
    margin: 0 0 20px 0;
} 
.view-video-gallery .view-content .views-field-field-video-media{
    text-align: center;
}
.view-video-gallery .view-content .views-row iframe{
    width: auto !important;
    height: 300px;
    margin: 0 auto;
}
.view-video-gallery .view-content .views-field-title{
    font-weight: 600;
    font-size: 17px;
    text-transform: uppercase;
    text-align: justify;
    color: #022a5d;
    line-height: 1.1;
    margin: 0 0 10px 0;
}
.view-video-gallery .view-content .views-field-title a{
    color: #022a5d;
}
.view-video-gallery .view-content .views-field-field-date-start{
    font-size: 12px;
    display: block;
    text-transform: uppercase;
    margin: 10px 0;
}
.view-video-gallery .view-content .views-field-field-date-start time:before{
    content: "\f073";
    font-family: 'Font Awesome 5 Pro';
    margin-right: 10px;
    color: #022a5d;
    font-weight: bold;
}

/* News cutting */
.view-news-cutting .view-content{
    
}
.view-news-cutting .view-content ul{
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0;
}
.view-news-cutting .view-content ul li{
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
}

.view-news-cutting .view-content ul li .news-container{
    display: flex;
    flex-wrap: wrap;
}
.view-news-cutting .view-content ul li .date-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* background: #FFFFFF; */
    padding: 10px 15px;
    border-radius: 10px;
    /* border: 1px solid #000000; */
    line-height: 1.1;
    margin: 0 10px 0 0;
    background: #38ada9;
    color: #FFFFFF;
    flex: 0 0 auto;
}
.view-news-cutting .view-content ul li .date-container .day{
    font-size: 32px;
    font-weight: 600;
}
.view-news-cutting .view-content ul li .date-container .month{
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}
.view-news-cutting .view-content ul li .date-container .year{
    font-size: 12px;
    font-weight: 600;
}
.view-news-cutting .view-content ul li .news-container .title{
    margin-top: 5px;
    flex: 1 1 0;
    min-width: 0;
    text-align: justify;
}
.view-news-cutting .view-content ul li .news-container .title h2{
    font-weight: 600;
    font-size: 18px;
}
.view-news-cutting .view-content ul li .news-container .title a{
    color: #333333;
}
.view-news-cutting .view-content ul li .news-container .brand{
    flex: 0 0 100%;
    text-align: right;
}
.view-news-cutting .view-content ul li .news-container .brand span{
background: #EEEEEE;
    padding: 3px 10px;
    border-radius: 10px;
    display: inline-block;
    font-size: 12px;
}
.view-news-cutting .view-content ul li .views-field-edit-node{
    margin: 10px 0 0 0;
}
.view-news-cutting .view-empty{
    text-align: center;
    padding: 50px 20px;
}

/* Inner banner */
.inner-banner-container{
    position: relative;
    filter: drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.2));
    display: none;
}
    body.path-frontpage .inner-banner-container{
        display: none;
    }
.inner-banner-container .wrapper{
    position: relative;
    height: 270px;
    overflow: hidden;
    /* clip-path: polygon(0 0, 100% 0, 100% 65%, 50% 100%, 0 65%); */
    z-index: 30;
}
.inner-banner-container .second-layer{
    /* position: absolute;
    width: 100%;
    height: calc(100% + 5px);
    top: 0;
    left: 0;
    background: #FFFFFF;
    z-index: 20;
    clip-path: polygon(0 0, 100% 0, 100% 65%, 50% 100%, 0 65%); */
    display: none;
}
.inner-banner-container .views-field-field-pagebanner-media{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.inner-banner-container .views-field-field-pagebanner-media video{
    object-fit: cover;
    width: 100%;
    height: 270px;
    /* height: 100%; */
}

/* Inner banner default block */
.inner-banner-default-block{
    position: relative;
    z-index: 20;
}

/* Page banner block (custom pages) */
.page-banner-block{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 30;
    width: 100%;
    height: 270px;
}
.page-banner-block .view-content .views-field-field-page-banner{

}
.page-banner-block .view-content .views-field-field-page-banner img{
    object-fit: cover;
    width: 100%;
    height: 270px;
}
    .page-banner-block .view-content .banner-align-top .views-field-field-page-banner img{
        object-position: top;
    }
    .page-banner-block .view-content .banner-align-middle .views-field-field-page-banner img{
        object-position: center;
    }
    .page-banner-block .view-content .banner-align-bottom .views-field-field-page-banner img{
        object-position: bottom;
    }


.page-banner-block .view-content .views-field-field-pagebanner-media video{
    object-fit: cover;
    width: 100%;
    height: 270px;
}

/* Page banner custom block (non custom pages) */
.page-banner-custom-block{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
    width: 100%;
}
.page-banner-custom-block video{
    object-fit: cover;
    width: 100%;
    height: 270px;
}

/* Inner banner - default or non-costum page */
.page-banner-default-container{
    position: relative;
    /* filter: drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.2)); */
}
.page-banner-default-container .wrapper{
    position: relative;
    height: 270px;
    overflow: hidden;
    /* clip-path: polygon(0 0, 100% 0, 100% 65%, 50% 100%, 0 65%); */
    z-index: 30;
}
.page-banner-default-container .second-layer{
    position: absolute;
    width: 100%;
    height: calc(100% + 5px);
    top: 0;
    left: 0;
    background: #FFFFFF;
    z-index: 20;
    clip-path: polygon(0 0, 100% 0, 100% 65%, 50% 100%, 0 65%);
}

/* Page title */
.page-title-block{
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 150;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 2%;
    text-align: center;
}
.page-title-block h1.title{
    color: #FFFFFF;
    text-transform: uppercase;
    text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}
.page-title-block h1.title span.wrapper{
    background: rgba(0,0,0,0.1);
    padding: 20px 20px;
    backdrop-filter: blur(2px);
    display: block;
    height: auto;
}

/* Page title (mobile) */
.page-title-mobile-block{
    margin: 0 0 50px 0;
    padding: 20px 20px;
    border-radius: 10px;
    background: #EEEEEE;
}
.page-title-mobile-block h1.title{
    font-size: 25px;
    margin: 0;
    font-weight: bold;
    text-transform: uppercase;
}

/* Page Title (long) */
.page-title-long-block{
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 150;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 2%;
    text-align: center;
}
.page-title-long-block h1.title{
    color: #FFFFFF;
    text-transform: uppercase;
    text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}
.page-title-long-block h1.title span.wrapper{
    background: rgba(0,0,0,0.1);
    padding: 20px 20px;
    backdrop-filter: blur(2px);
    display: block;
    height: auto;
}

/* Hamburger menu */
.hamburger-menu-block{
    border-radius: 0;
    position: fixed;
    top: 5%;
    right: 2%;
    padding: 10px 10px 10px 10px;
    text-align: center;
    z-index: 999;
    transition: left 0.3s ease-out;
    background: #FFFFFF;
    width: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);

    width: 70px;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;

    cursor: pointer;
}
    body.toolbar-tray-open .hamburger-menu-block{
        top: 7%;
    }
    body.scrolled .hamburger-menu-block{
        position: fixed;
    }

    .hamburger-menu-block p{
        margin: 0;
    }
    .hamburger-menu-block .hamburger{
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .hamburger-menu-block .hamburger-box{
        aspect-ratio: 1 / 1;
        background: none;
        display: flex;
        justify-content: center;
        border-radius: 50%;
    }
    .hamburger.is-active .hamburger-box{
        border: none;
    }
    .hamburger-menu-block .hamburger-label{
        text-transform: uppercase;
        font-size: 11px;
        font-weight: 600;
        color: #000000 !important;
        position: relative;
        top: 5px;
        /* display: none; */
    }
    .hamburger.is-active .hamburger-label{
        /* background: #000000; */
        color: #000000 !important;
        text-shadow: none;
    }
    .header-first-container.is-active .hamburger-menu-block .hamburger-label{
        color: #000000;
    }
    body:not(.path-frontpage) .header-first-container.is-active .hamburger-menu-block .hamburger-label{
        color: #000000;
    }
    .hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
        width: 22px !important;
        background-color: #000000;
        border-radius: 10px;
    }
    .hamburger-box {
        width: 34px;
        top: 5px;
        display: none;
    }
    .hamburger.is-active:hover, .hamburger:hover{
        opacity: 1;
    }

    body:not(.path-frontpage) .hamburger.is-active .hamburger-inner, 
    body:not(.path-frontpage) .hamburger.is-active .hamburger-inner:after, 
    body:not(.path-frontpage) .hamburger.is-active .hamburger-inner:before{
        background-color: #000000;
    }
    /* .hamburger-inner:before {
        top: -7px !important;
    }
    .hamburger-inner:after {
        bottom: -7px !important;
    } */

/* Group photo studio V2 */
.group-photo-studio-block{
    display: none;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-bottom: 50px;

    position: relative;
    background: url("../images/studio-bg-02-d.jpg") 50% 100% no-repeat;
    background-size: cover;
    height: 90vh;
}
.view-directory-group-photo-v2{
    position: absolute;
    bottom: -90px;
    left: 0;
    width: 100%;
    height: 800px;
    /* border: 1px dashed magenta; */
}
.view-directory-group-photo-v2 .member-container{
    /* border: 1px dashed orange; */
    position: absolute;
    transform: translate(-50%, -50%);
    transition: filter 0.1s ease-out;
}
.view-directory-group-photo-v2 .member-container:hover{
    /* z-index: 1200 !important; */
}
.view-directory-group-photo-v2 .member-container .photo{
    position: relative;
    z-index: 50;
}
.view-directory-group-photo-v2 .member-container .photo img{
    object-fit: contain;
    width: auto;
    height: 450px;
}
.view-directory-group-photo-v2 .member-container .edit-button{
    position: absolute;
    top: 50%;
    left: 50%;

}
.view-directory-group-photo-v2 .member-container .edit-button a{
    display: inline-block;
    background: gold;
    color: #000000;
    border-radius: 5px;
    font-size: 12px;
    padding: 1px 10px;
    border: 1px solid gold;
    transition: background 0.3s ease-out, border-color 0.2s ease-out;
}
.view-directory-group-photo-v2 .member-container .popup{
    background: #38ada9;
    color: #FFFFFF;
    padding: 10px 10px;
    border-radius: 7px;
    position: absolute;
    bottom: 110%;
    left: 50%;
    /* transform: translateX(-50%); */
    min-width: 250px;
    z-index: 550;
    opacity: 0;
    /* display: none; */
    text-align: center;
    pointer-events: none;
}
.view-directory-group-photo-v2 .member-container .popup:after{
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #38ada9;
}
.view-directory-group-photo-v2 .member-container .edit{
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 600;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}
.view-directory-group-photo-v2 .member-container:hover .edit{
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
}
.view-directory-group-photo-v2 .member-container .edit a:before{
    content: "\f304";
    font-family: 'Font Awesome 5 Pro';
    margin-right: 5px;
    background: gold;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    text-align: center;
    line-height: 20px;
    color: rgba(0,0,0,0.8);
    font-weight: bold;
}
.view-directory-group-photo-v2 .member-container .edit a span{
    visibility: hidden;
    opacity: 0;
    font-size: 0;
}
.view-directory-group-photo-v2 .member-container .popup.special-popup{
    background: #f6b93b;
}
.view-directory-group-photo-v2 .member-container .popup.special-popup:after{
    border-top-color: #f6b93b;
}
.view-directory-group-photo-v2 .member-container.blur{
    filter: blur(2px);
}
.view-directory-group-photo-v2 .member-container.focused{

}
.view-directory-group-photo-v2 .member-container:hover > .popup{
    animation-name: popup-appear;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    pointer-events: auto;
}
@keyframes popup-appear{
    0%   { opacity: 0; transform: translateX(-50%) translateY(10px); }
    100% { opacity: 1; transform: translateX(-50%) translateY(0px);  }
}

.view-directory-group-photo-v2 .member-container .popup .name{
    font-weight: bold;
    font-size: 15px;
    line-height: 1.2;
    margin: 0 0 3px 0;
}
.view-directory-group-photo-v2 .member-container .popup .position{
    font-size: 11px;
    line-height: 1.2;
}
.view-directory-group-photo-v2 .member-container .popup .email{
    font-size: 11px;
    line-height: 1.2;
    display: inline-block;
    background: rgba(0,0,0,0.5);
    border-radius: 5px;
    margin: 5px 0 0 0;
    padding: 5px;
}
.view-directory-group-photo-v2 .member-container .popup .phone{
    font-size: 11px;
    line-height: 1.2;
    display: inline-block;
}
.view-directory-group-photo-v2 .group-logo{
    position: absolute;
    margin-top: -90px;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}
.view-directory-group-photo-v2 .group-logo img{
    object-fit: contain;
    width: auto;
    height: 150px;
}
.view-directory-group-photo-v2 .group-logo.placement-0pc{ top: 0%; }
.view-directory-group-photo-v2 .group-logo.placement-5pc{ top: 5%; }
.view-directory-group-photo-v2 .group-logo.placement-10pc{ top: 10%; }
.view-directory-group-photo-v2 .group-logo.placement-15pc{ top: 15%; }
.view-directory-group-photo-v2 .group-logo.placement-20pc{ top: 20%; }
.view-directory-group-photo-v2 .group-logo.placement-25pc{ top: 25%; }


/* 2. Base Pedestal Setup (The Thick Outer Ring) */
.view-directory-group-photo-v2 .member-container .pedestal {
    width: 100px;
    height: 100px;
    position: absolute;
    bottom: -25px;
    left: 50%;
    margin-left: -50px;
    border-radius: 50%;
    transform-origin: center center;
    z-index: 20;
    
    /* Thicker outer ring with short gaps */
    border: 6px dashed #38ada9; 
    background: transparent;

    /* Hidden state */
    transform: rotateX(75deg) scale(0.5) rotate(0deg);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.3s ease;
}

/* The Middle Ring (Thick Solid Accent) */
.view-directory-group-photo-v2 .member-container .pedestal::before {
    content: "";
    position: absolute;
    /* Adjusted insets to account for the thicker 6px outer border */
    top: 8px; left: 8px; right: 8px; bottom: 8px; 
    border-radius: 50%;
    border: 3px solid #FFFFFF;
    /* border: 3px solid rgba(56, 173, 169, 0.7); */
}

/* The Inner Ring (Heavy Center Core) */
.view-directory-group-photo-v2 .member-container .pedestal::after {
    content: "";
    position: absolute;
    top: 20px; left: 20px; right: 20px; bottom: 20px; 
    border-radius: 50%;
    border: 5px dashed #38ada9;
}

/* Hover State - Fade in and trigger the rotation */
.view-directory-group-photo-v2 .member-container:hover .pedestal {
    opacity: 1;
    animation: pedestalSpin 10s linear infinite; /* Slightly slower rotation looks better with heavy rings */
}

/* Counter-rotation for the middle solid ring on hover */
.view-directory-group-photo-v2 .member-container:hover .pedestal::before {
    animation: pedestalSpinReverse 6s linear infinite;
}

/* Special Popup */
.view-directory-group-photo-v2 .member-container .pedestal.special-popup {
    border-color: #f6b93b;
}
.view-directory-group-photo-v2 .member-container .pedestal.special-popup::before {
    border-color: rgba(255, 255, 255, 0.7);
}
.view-directory-group-photo-v2 .member-container .pedestal.special-popup::after {
    border-color: #f6b93b;
}

@keyframes pedestalSpin {
    0% {
        transform: rotateX(75deg) scale(1) rotate(0deg);
    }
    100% {
        transform: rotateX(75deg) scale(1) rotate(360deg);
    }
}

@keyframes pedestalSpinReverse {
    0% {
        transform: rotate(360deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

/* Press Release (node) */
body.node--type-press-release .field--name-field-press-release-date time{
    background: #EEEEEE;
    display: inline-block;
    border-radius: 7px;
    padding: 5px 15px;
    font-size: 13px;
    margin-bottom: 20px;
}
body.node--type-press-release .field--name-field-press-release-date time:before{
    content: "\f073";
    font-family: 'Font Awesome 5 Pro';
    margin-right: 10px;
    
    color: #022a5d;
    font-weight: bold;
}

/* Press Release - latest block */
.sidebar .press-release-latest-block{
    border: 0 !important;
    background: #FFFFFF;
    margin: 10px 0 0 35px;
    padding: 0;
}
.sidebar .press-release-latest-block > h2{
    padding: 10px 15px;
    font-weight: bold;
    background: #022a5d;
    margin: 0;
    color: #FFFFFF;
    text-shadow: none;
    font-weight: normal;
    font-size: 16px;
    border-radius: 7px 7px 0 0;
}
.sidebar .press-release-latest-block.block .view-content ul{
    margin: 0 0 20px 0;
    padding: 0;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.sidebar .press-release-latest-block.block .view-content ul li{
    margin: 0;
    padding: 20px 20px;
    border-bottom: 1px solid #EEEEEE;
}
.sidebar .press-release-latest-block.block .view-content ul li:nth-child(even){
    background: #EEEEEE;
}
.sidebar .press-release-latest-block.block .view-content ul li .views-field-field-press-release-date{
    font-size: 12px;
    margin: 5px 0 0 0;
}
.sidebar .press-release-latest-block.block  .back-button{
    width: 100%;
}

/* Press release - listing */
.view-press-releases.listing ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    padding: 0;
}
.view-press-releases.listing ul li{
    width: 100%;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    border-radius: 7px;
    border: 1px solid #EEEEEE;
    margin: 0 0 20px 0;
    padding: 0;
    position: relative;
}
.view-press-releases.listing ul li .views-field-field-press-release-cover{
    border-radius: 7px 7px 0 0;
    overflow: hidden;
}
.view-press-releases.listing ul li .views-field-field-press-release-cover img{
    object-fit: cover;
    width: 100%;
    height: 200px;
    border-radius: 7px 7px 0 0;
}
.view-press-releases.listing ul li .press-release-container .wrapper{
    padding: 10px 15px 20px 15px;
}
.view-press-releases.listing ul li .press-release-container .wrapper h2{
    font-weight: 600;
    font-size: 15px;
    color: #022a5d;
    line-height: 1.1;
    margin: 0;
}
.view-press-releases.listing ul li .press-release-container .wrapper .date{
    font-size: 12px;
    display: block;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.view-press-releases.listing ul li .press-release-container .wrapper .date:before{
    content: "\f073";
    font-family: 'Font Awesome 5 Pro';
    margin-right: 10px;
    color: #022a5d;
    font-weight: bold;
}
.view-press-releases.listing ul li .views-field-edit-node{
    position: absolute;
    top: 2px;
    right: 2px;
}
.view-press-releases.listing ul li .views-field-edit-node a{
    border-radius: 0 5px 0 5px;
}

/* Group photo studio */
/* .group-photo-studio-block{
    display: none;
    position: relative;
}
.view-directory-group-photo{
    position: absolute;
    width: 100%;
    height: 600px;
    bottom: 0;
    left: 0;
    margin: 0 0 50px 0;
    border: 1px dashed magenta;
}
.view-directory-group-photo .member-container{
    position: absolute;
    transform: translate(-50%, -50%);
    transition: filter 0.1s ease-out;
}
.view-directory-group-photo .member-container .photo{
    position: relative;
}
.view-directory-group-photo .member-container .photo img{
    object-fit: contain;
    width: auto;
    height: 450px;
}
.view-directory-group-photo .member-container .edit-button{
    position: absolute;
    top: 50%;
    left: 50%;

}
.view-directory-group-photo .member-container .edit-button a{
    display: inline-block;
    background: gold;
    color: #000000;
    border-radius: 5px;
    font-size: 12px;
    padding: 1px 10px;
    border: 1px solid gold;
    transition: background 0.3s ease-out, border-color 0.2s ease-out;
}
.view-directory-group-photo .member-container .popup{
    background: #38ada9;
    color: #FFFFFF;
    padding: 10px 10px;
    border-radius: 7px;
    position: absolute;
    top: -70px;
    left: 50%;
    min-width: 250px;
    z-index: 50;
    opacity: 0;
    text-align: center;
}
.view-directory-group-photo .member-container .popup.special-popup{
    background: #f6b93b;
}
.view-directory-group-photo .member-container.blur{
    filter: blur(2px);
}
.view-directory-group-photo .member-container.focused{

}
.view-directory-group-photo .member-container:hover > .popup{
    animation-name: popup-appear;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}
@keyframes popup-appear{
    0%   { opacity: 0; transform: translateX(-50%) translateY(10px); }
    100% { opacity: 1; transform: translateX(-50%) translateY(0px); display: block; }
}

.view-directory-group-photo .member-container .popup .name{
    font-weight: bold;
    font-size: 15px;
    line-height: 1.2;
    margin: 0 0 3px 0;
}
.view-directory-group-photo .member-container .popup .position{
    font-size: 11px;
    line-height: 1.2;
} */


/* Dasar / Akta page */
.view-dasar{
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
    .view-dasar.highlighted-document{
        width: 60%;
        margin: 0 auto;
    }
.view-dasar .view-content ul{
    border-top: 15px solid #d8c7a5;
    /* border-left: 40px solid #d8c7a5;
    border-right: 40px solid #d8c7a5; */
    background: #f7f0e2;
    margin: 0;
    padding: 0;
}
.view-dasar .view-content h3 {
    text-align: center;
    font-size: 30px;
    margin: 50px auto;
    width: 50%;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px; 
    text-transform: uppercase;
}
    .view-dasar .view-content h3::before,
    .view-dasar .view-content h3::after {
        content: "";
        display: block;
        border-bottom: 2px solid #806b4a; 
    }
.view-dasar .view-content .dasar-utama-intro{
    text-align: center;
}
.view-dasar .view-content .dasar-utama-intro h2{
    font-weight: bold;
    font-size: 30px;
}
.view-dasar .view-content ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    /* gap: 20px; */
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}
.view-dasar .view-content ul li{
    width: 50%;
    margin: 0;
    padding: 0;
    position: relative;
    border-bottom: 20px solid #d8c7a5;
    flex-grow: 2;
    /* overflow: hidden; */
}
.view-dasar .view-content ul li:after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: #c5b28d;
    z-index: 1;
}
.view-dasar .view-content ul li > div{
    height: 100%;
    position: relative;
}
.view-dasar .view-content ul li span{
    display: block;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative;
}
.view-dasar .view-content ul li .dasar-container .cover{
    /* margin: 0 0 20px 0; */
    position: relative;
    z-index: 10;
}
.view-dasar .view-content ul li .dasar-container .cover img{
    object-fit: contain;
    width: 210px;
    height: auto;
    border: 1px solid #d8c7a5;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    margin: 20px 0;
}
.view-dasar .view-content ul li .dasar-container h2{
    font-size: 16px;
    margin: 10px 0;
    display: none;
}
.view-dasar .view-content ul li .dasar-container .link a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
}
.view-dasar .view-content ul li .dasar-container .link a span{
    font-size: 0;
}
.view-dasar .view-content ul li .dasar-container .link a:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: #ff8c8c; */
    opacity: 0.0;
    transition: opacity 0.3s ease-out;
}
.view-dasar .view-content ul li:hover .dasar-container .link a:after{
    opacity: 0.2;
}
.view-dasar .view-content ul li .views-field-edit-node{
    position: absolute;
    top: 0;
    left: 0;
}

    /* Attachment */
    .view-dasar .attachment-before{
        margin: 0 0 30px 0;
    }
    .view-dasar .attachment-before hr {
        border: 0;
        background: url("../images/dasar-separator-rv2.png") no-repeat center;
        background-size: 40%;
        height: 100px;      
        width: 100%;       
        display: block;     
        margin: 20px auto;  
        opacity: 0.8;
    }
    .view-dasar iframe{
        padding: 20px 10px;
        background: rgba(249, 249, 250, 1);
        border-radius: 10px;
        border: 1px solid #EEEEEE;
    }
.view-dasar .view-empty{
    padding: 60px 20px;
    text-align: center;
}
.view-dasar .view-filters{
    text-align: right;
    padding: 20px;
}
.view-dasar .views-exposed-form{
    width: auto;
    display: inline-block;
    background: #EEEEEE;
}

/* Views exposed form general styling */
.views-exposed-form input[type="text"],
.views-exposed-form textarea,
.views-exposed-form select{
    font-size: 12px;
    padding: 9px 10px;
}
.views-exposed-form button{
    font-size: 12px;
    padding: 9px 10px;
    margin-left: 5px;
}
.views-exposed-form{
    background: #EEEEEE;
    padding: 20px 20px;
    border-radius: 7px;
    margin: 0 0 20px 0;
}
.views-exposed-form .d-flex{
    justify-content: flex-end;
}
.views-exposed-form .d-flex .mb-3{
    margin: 0 !important;
}
.views-exposed-form label{
    font-size: 11px;
}

/* Site footer */
.site-footer{
    background: #022a5d !important;
    padding: 20px 10px;
    margin: 0;
    position: relative;
    z-index: 120;
    font-family: 'Poppins';
}
.site-footer .block{
    margin: 0;
    padding: 0;
    border: 0;
}
.site-footer .content{
    color: rgba(255,255,255,1);
    font-size: 13px;
    line-height: 1.4;
}

.footer-first-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    margin: 1% 2%;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.8);
    margin-bottom: 20px;
    gap: 30px;
}
.footer-first-container > div{
    /* border: 1px dashed orange; */
}
.footer-first-container p{
    margin: 0;
}
.footer-first-a-container{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center;
}
.footer-first-b-container{
    width: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.footer-first-c-container{
    width: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.footer-first-d-container{
    width: 100%;
}

.social-media-block p{
    margin: 0;
    padding: 0;
}

/* Penafian (Disclaimer) */
.disclaimer-block{
    line-height: 1.5;
}
.disclaimer-block h2{
    margin: 0 0 10px 0;
    color: rgba(255,255,255,1);
}

/* QR code */
.qrcode-block .field--name-field-body img{
    object-fit: contain;
    width: auto;
    height: 250px;
}

/* Footer map block */
.footer-map-block iframe{
    height: 300px;
    width: 100%;
    border-radius: 10px;
}

/* Hubungi Kami header */
/* Polisi header */
.hubungi-kami-header-block h2,
.polisi-header-block h2{
    font-size: 16px;
    color: rgba(255,255,255,1);
    font-weight: normal;
    border-bottom: 1px solid rgba(255,255,255,0.8);
    padding-bottom: 10px;
    text-align: center;
}

/* Address */
.footer-address-block{
    line-height: 1.5;
    text-align: center;
}

/* Contact details */
.contact-details-block{
    text-align: center;
}
.contact-details-block svg{
    color: #38ada9;
}

/* .footer-second{
    background: #022a5d !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
} */

/* Footer second container */
.footer-second-container{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 20px;
    padding: 20px 0;
}

/* Copyright */
.copyright-block.block{
    /* padding: 20px 10px; */
    flex-basis: 100%;
    margin: 0 0 10px 0;
}
.copyright-block p{
    margin: 0;
    font-size: 12px !important;
    
}

/* Last updated */
.last-updated-block{
    text-align: center;
    padding: 10px 0;
}
.last-updated-block a{
    padding: 2px 10px;
    display: inline-block;
    background: #FFFFFF;
    color: #022a5d !important; 
    font-size: 10px;
    border-radius: 6px;
}

/* Footer menu */
.footer-menu-block.block{
    flex-grow: 2;
}
.footer-menu-block.block ul{
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}
.footer-menu-block.block ul li{
    margin: 0;
    padding: 0;
    height: 25%;
    display: flex;
    align-items: flex-end;
}
.footer-menu-block.block ul li a{
    margin: 0;
    padding: 0;
    color: #FFFFFF;
    font-size: 13px;
}

/* Social media block */
.social-media-block{
    display: block;
    margin-top: 20px !important;
}
.social-media-block ul{
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
}
.social-media-block ul li{
    margin: 0;
    padding: 0;
}
.social-media-block ul li a,
.social-media-block ul li span.coming-soon{
    border: 1px solid #FFFFFF;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #022a5d;
}
.social-media-block ul li span.coming-soon{
    opacity: 0.4;
}
.social-media-block ul li a[class*="menu-"]:before,
.social-media-block ul li span[class*="menu-"]:before{
    font-family: 'Font Awesome 5 Brands';
    content: "\f39e";
    color: #FFFFFF;
    font-size: 15px;
    visibility: visible;
    font-weight: normal;
}

.social-media-block ul li a.menu-facebook:before{
    content: "\f39e";
}
.social-media-block ul li span.menu-instagram:before{
    content: "\f16d";
    opacity: 0.4;
}
.social-media-block ul li span.menu-youtube:before{
    content: "\f167";
    opacity: 0.4;
}
.social-media-block ul li span.menu-tiktok:before{
    content: "\e07b";
    opacity: 0.4;
}
.social-media-block ul li a[class*="menu-"],
.social-media-block ul li span[class*="menu-"] {
    font-size: 0;
    padding: 1px;
}

/* Edit button */
.views-field-edit-node {
    position: relative;
    z-index: 20;
}

.views-field-edit-node a {
    display: inline-block;
    background: gold;
    color: #000000;
    border-radius: 5px;
    font-size: 12px;
    padding: 1px 10px;
    border: 1px solid gold;
    transition: background 0.3s ease-out, border-color 0.2s ease-out;
}

.views-field-edit-node a:hover {
    background: #FFFFFF;
    border-color: #000000;
    color: #000000;
}

/* Pager */
ul.pagination {
    text-align: center;
    display: flex;
    justify-content: center;
    /* display: inline-block !important; */
    /* float: right; */
}

ul.pagination li {
    display: inline-block;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

ul.pagination li a {
    color: #333333;
    font-size: 11px;
    transition: background 0.3s ease-out;
}

ul.pagination li:hover a {
    color: #333333;
}

ul.pagination .page-item.active .page-link {
    background: #979797 !important;
    border: 1px solid #979797;
    color: #FFFFFF;
    font-size: 11px;
}

/* Breadcrumb */
.block-system-breadcrumb-block{
    display: none;
}
ol.breadcrumb {
    justify-content: center;
    margin-left: 12px;
    margin: 20px 0 20px 10px;
    padding: 20px 15%;
    font-size: 13px;
    color: #FFFFFF;
}

ol.breadcrumb li {
    margin: 0;
    padding: 0;
    color: rgba(255,255,255,0.9) !important;
    font-weight: 600;
}

ol.breadcrumb li a {
    color: #FFFFFF;
    font-size: 13px;
}

.breadcrumb-item+.breadcrumb-item::before {
    padding: 0 10px !important;
    font-family: 'Font Awesome 5 Pro';
    content: "\f105";
    color: #FFFFFF;
}

/* View grouping */
.view .view-grouping .view-grouping-header {
    font-size: 27px;
    font-weight: bold;
    text-align: right;
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 15px;
    margin-bottom: 30px;
}

.view .view-grouping .view-grouping-content h3 {
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 30px 0;
    position: relative;
    font-weight: bold;
}

/* CAPTCHA */
#edit-captcha-response {
    width: 200px;
    flex: unset;
}

/* Text editor styling */
a.button-dark-blue{
    background: #022a5d;
    color: #FFFFFF;
    padding: 10px 20px;
    border-radius: 7px;
    border: 1px solid #022a5d;
}
a.button-green{
    background: #38ada9;
    color: #FFFFFF;
    padding: 10px 20px;
    border-radius: 7px;
    border: 1px solid #38ada9;
}
a.button-purple{
    background: #46286e;
    color: #FFFFFF;
    padding: 10px 20px;
    border-radius: 7px;
    border: 1px solid #46286e;
    transition: background 0.3s ease-out, color 0.15s ease-out, border-color 0.2s ease-out;
}
a.button-dark-blue:hover,
a.button-green:hover,
a.button-purple:hover{
    background: #FFFFFF;
    color: #000000;
    border: 1px solid #000000;
}
a.button-arrow-right:after{
    content: "\f061";
    font-family: 'Font Awesome 5 Pro';
    font-weight: normal;
    font-size: 12px;
    margin-left: 10px;

}
a.button-arrow-left:before{
    content: "\f060";
    font-family: 'Font Awesome 5 Pro';
    font-weight: normal;
    font-size: 12px;
    margin-right: 10px;
}
a.button-curve{
    border-radius: 10px;
}

span.text-small {
    font-size: 12px;
}

span.text-medium {
    font-size: 17px;
}

span.text-large {
    font-size: 22px;
}

span.text-xlarge {
    font-size: 27px;
}

p.no-margin {
    margin: 0;
}


/* Curvy image */
img.curve-edge{
    border-radius: 7px;
}

/* Drop shadow */
img.drop-shadow{
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}

/* Align right image */
img.align-right{
    margin: 0 0 20px 30px;
}

/* Align left image */
img.align-left{
    margin: 0 30px 20px 0;
}

/* Quote */
span.quote-medium{
    font-weight: bold;
    font-size: 20px;
    padding: 50px 0;
    display: block;
    line-height: 24px;
}
span.quote-large{
    font-weight: bold;
    font-size: 30px;
    padding: 50px 0;
    display: block;
    line-height: 34px;
}
span.quote-medium:before{
    content: "\f10d";
    font-family: 'Font Awesome 5 Pro';
    font-size: 20px;
    vertical-align: top;
    margin-right: 10px;
    font-weight: bold;
    transform: translateY(0px) translateX(-32px);
    display: inline-block;
    width: 100%;
    height: auto;
    text-align: left;
}
span.quote-large:before{
    content: "\f10d";
    font-family: 'Font Awesome 5 Pro';
    font-size: 30px;
    vertical-align: top;
    margin-right: 10px;
    font-weight: bold;
    transform: translateY(0px) translateX(-32px);
    display: inline-block;
    width: 100%;
    height: auto;
    text-align: left;
}
span.quote-medium:after{
    content: "\f10e";
    font-family: 'Font Awesome 5 Pro';
    font-size: 20px;
    vertical-align: bottom;
    margin-left: 10px;
    font-weight: bold;
    transform: translateY(0px) translateX(22px);
    display: inline-block;
    width: 100%;
    height: auto;
    text-align: right;
}
span.quote-large:after{
    content: "\f10e";
    font-family: 'Font Awesome 5 Pro';
    font-size: 30px;
    vertical-align: bottom;
    margin-left: 10px;
    font-weight: bold;
    transform: translateY(0px) translateX(22px);
    display: inline-block;
    width: 100%;
    height: auto;
    text-align: right;
}

/* UL Flexbox */
ul.flex-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 0;
    gap: 5px;
    margin: 0 0 30px 0;
    list-style: none;
}
ul.flex-box li{
    padding: 0;
    margin: 0;
}
ul.flex-box li a{
    border: 1px solid #CCCCCC;
    display: block;
    padding: 10px 15px;
    border-radius: 7px;
}

/* Swiper paging */
.swiper-pagination-bullet-active{
    background: #FFFFFF;
}

/* Swiper arrows */
.swiper-button-next, 
.swiper-button-prev{
    color: #222222;
    aspect-ratio: 1 / 1;
    background: #FFFFFF;
    padding: 12px;
    border-radius: 7px;
    border: 1px solid #CCCCCC;
    transition: border-color 0.3s ease-out, background 0.3s ease-out, color 0.2s ease-out;
}
.swiper-button-next:hover, 
.swiper-button-prev:hover{
    background: #222222;
    color: #FFFFFF;
    border-color: #222222; 
}

/* Back button */
.back-button{
    background: #EEEEEE;
    display: inline-block;
    border-radius: 10px;
    overflow: hidden;
}
.back-button a{
    border-radius: 10px;
    color: #000000;
    font-size: 13px;
    position: relative;
    padding: 10px 15px;
    display: block;
}
.back-button svg{
    font-size: 12px;
    margin-right: 10px;
    position: relative;
    z-index: 2;
}
.back-button a:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #CCCCCC;
    transition: width 0.3s ease-out;
    z-index: 1;
}
.back-button:hover a:after{
    width: 100%;
}
.back-button a span{
    position: relative;
    z-index: 2;
}

/* Bantuan */
.view-bantuan-jpka h2{
    font-weight: 600;
    margin: 0 0 20px 0;
    font-size: 15px;
}
.view-bantuan-jpka .mohon-button{

}
.view-bantuan-jpka .mohon-button a{
    display: inline-block;
    padding: 5px 10px;
    background: #CCCCCC;
    border-radius: 7px;
}

/* CKEditor Styles */
ul.horiziontal-list-box{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
}
ul.horiziontal-list-box li{
    margin: 5px;
    padding: 0;
}
ul.horiziontal-list-box li a{
    background: #38ada9;
    display: block;
    padding: 10px 15px;
    color: #FFFFFF;
    transition: background 0.3s ease-out;
}
ul.horiziontal-list-box li a:hover{
    background: #022a5d;
}

/* Visitor counter */
.visitor-counter-block svg{

}

/* Apps icon */
.apps-icon{
    width: 70px;
    height: 70px;
    background: linear-gradient(145deg, #38ada9 0%, #0d54ac 100%);
    border: 3px solid rgba(255,255,255,0.9);
    position: fixed;
    bottom: 95px;
    left: 15px;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(2,42,93,0.35), inset 0 1px 0 rgba(255,255,255,0.35);
    isolation: isolate;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.apps-icon:before{
    content: "";
    position: absolute;
    inset: -8px;
    z-index: -1;
    border: 2px solid transparent;
    border-top-color: #f6b93b;
    border-right-color: rgba(246,185,59,0.35);
    border-radius: 50%;
    opacity: 0;
    transform: scale(0.75);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.apps-icon:after{
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    pointer-events: none;
}
.apps-icon a{
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: inherit;
    color: inherit;
}
.apps-icon a:after{
    content: "Portal Aplikasi";
    position: absolute;
    top: 50%;
    left: calc(100% + 14px);
    padding: 5px 12px;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 7px;
    background: rgba(2,42,93,0.95);
    box-shadow: 0 6px 16px rgba(2,42,93,0.3);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.5px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(-8px) scale(0.8);
    transform-origin: left center;
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.apps-icon i,
.apps-icon svg{
    position: relative;
    z-index: 1;
    font-size: 24px;
    color: #FFFFFF;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.2));
    transition: transform 0.3s ease, filter 0.3s ease;
}
.apps-icon:hover,
.apps-icon:focus-within{
    transform: translateY(-4px) scale(1.06);
    box-shadow: 0 14px 28px rgba(2,42,93,0.4), inset 0 1px 0 rgba(255,255,255,0.45);
}
.apps-icon:hover a:after,
.apps-icon:focus-within a:after{
    opacity: 1;
    transform: translateY(-50%) translateX(0) scale(1);
}
.apps-icon:hover:before,
.apps-icon:focus-within:before{
    opacity: 1;
    transform: scale(1);
    animation: apps-icon-orbit 1.2s linear infinite;
}
.apps-icon:hover i,
.apps-icon:hover svg,
.apps-icon:focus-within i,
.apps-icon:focus-within svg{
    transform: scale(1.15);
    filter: drop-shadow(0 3px 3px rgba(0,0,0,0.3));
}

@keyframes apps-icon-orbit{
    0% {
        opacity: 0.45;
        transform: scale(1) rotate(0deg);
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0.45;
        transform: scale(1) rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce){
    .apps-icon,
    .apps-icon:before,
    .apps-icon a:after,
    .apps-icon i,
    .apps-icon svg{
        transition: none;
        animation: none;
    }
}