/* =========================================================
   HERO
========================================================= */

.struktur-hero {
    position: relative;

    overflow: hidden;

    padding: 70px 0 72px;

    background:
        linear-gradient(
            135deg,
            #102044 0%,
            #153b60 55%,
            #079DB9 100%
        );
}

.struktur-hero::before {
    content: "";

    position: absolute;

    width: 460px;
    height: 460px;

    top: -240px;
    right: -100px;

    border-radius: 50%;

    background: rgba(255,255,255,.06);
}

.struktur-hero::after {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    bottom: -180px;
    left: 12%;

    border-radius: 50%;

    background: rgba(255,255,255,.04);
}

.struktur-hero-content {
    position: relative;
    z-index: 2;

    max-width: 820px;
}

.struktur-hero-label {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 14px;

    color: #ffffff;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;
    text-transform: uppercase;
}

.struktur-hero-label::after {
    content: "";

    width: 28px;
    height: 3px;

    border-radius: 10px;

    background: #FF7A1A;
}

.struktur-hero h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(34px, 5vw, 56px);

    line-height: 1.08;

    font-weight: 800;

    letter-spacing: -1.5px;
}

.struktur-hero h1 span {
    display: block;

    color: #8de3ed;
}

.struktur-hero p {
    max-width: 720px;

    margin: 18px 0 0;

    color: rgba(255,255,255,.82);

    font-size: 15px;

    line-height: 1.8;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.struktur-breadcrumb-wrapper {
    background: #ffffff;

    border-bottom: 1px solid #e8edf2;
}

.struktur-breadcrumb {
    display: flex;
    align-items: center;

    gap: 9px;

    min-height: 50px;

    color: #667085;

    font-size: 12px;
}

.struktur-breadcrumb a {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: #079DB9;

    text-decoration: none;

    font-weight: 600;
}

.struktur-breadcrumb > i {
    color: #98A2B3;

    font-size: 9px;
}


/* =========================================================
   MAIN
========================================================= */

.struktur-main-section {
    padding: 48px 0 80px;

    background: #ffffff;
}

.struktur-section {
    margin-bottom: 58px;
}

.struktur-subsection {
    margin-bottom: 50px;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.struktur-section-heading,
.struktur-subsection-heading {
    display: flex;
    align-items: flex-start;

    gap: 12px;

    margin-bottom: 24px;
}

.struktur-section-line,
.struktur-subsection-line {
    width: 4px;
    min-width: 4px;

    height: 52px;

    border-radius: 10px;

    background: #FF7A1A;
}

.struktur-section-label {
    margin-bottom: 4px;

    color: #079DB9;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.2px;

    text-transform: uppercase;
}

.struktur-section-heading h2,
.struktur-subsection-heading h2 {
    margin: 0;

    color: #102044;

    font-size: 26px;

    line-height: 1.3;

    font-weight: 800;
}


/* =========================================================
   LEADERS
========================================================= */

.struktur-leaders {
    display: flex;

    justify-content: center;

    gap: 22px;

    flex-wrap: wrap;
}


/* =========================================================
   PERSON CARD
========================================================= */

.struktur-person-card {
    width: 100%;

    display: flex;
    flex-direction: column;

    position: relative;

    height: 100%;

    padding: 20px;

    text-align: left;

    font: inherit;

    color: inherit;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    border: 1px solid #e2e9ed;

    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 7px 22px rgba(16, 32, 68, .04);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.struktur-person-card:hover {
    transform: translateY(-4px);

    border-color: #cde2e8;

    box-shadow:
        0 14px 32px rgba(16, 32, 68, .08);
}

.struktur-person-card:focus-visible {
    outline: 3px solid rgba(7, 157, 185, .18);

    outline-offset: 3px;
}


/* =========================================================
   LEADER CARD
========================================================= */

.struktur-person-card-leader {
    width: min(100%, 760px);

    flex-direction: row;

    align-items: center;

    gap: 28px;

    padding: 28px;

    border-color: #dce7ec;

    border-radius: 18px;

    box-shadow:
        0 12px 35px rgba(16, 32, 68, .07);
}

.struktur-person-card-leader:hover {
    transform: translateY(-4px);

    border-color: #cddfe5;

    box-shadow:
        0 18px 42px rgba(16, 32, 68, .11);
}


/* =========================================================
   GRID
========================================================= */

.struktur-person-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.struktur-person-wrapper {
    min-width: 0;
}


/* =========================================================
   PHOTO
========================================================= */

.struktur-person-photo-wrapper {
    margin-bottom: 16px;
}

.struktur-person-photo,
.struktur-person-placeholder {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 245px;

    border-radius: 12px;
}

.struktur-person-photo {
    display: block;

    object-fit: cover;

    background: #f3f7f9;
}

.struktur-person-placeholder {
    background:
        linear-gradient(
            135deg,
            #edf9fb,
            #f5fafb
        );

    color: #079DB9;

    font-size: 48px;
}


/* LEADER PHOTO */

.struktur-person-card-leader .struktur-person-photo-wrapper {
    margin-bottom: 0;

    flex-shrink: 0;
}

.struktur-person-photo-leader {
    width: 150px;
    height: 150px;

    border-radius: 16px;

    flex-shrink: 0;
}


/* =========================================================
   CONTENT
========================================================= */

.struktur-person-content {
    min-width: 0;
}

.struktur-person-card-leader .struktur-person-content {
    flex: 1;
}

.struktur-jabatan {
    margin-bottom: 4px;

    color: #079DB9;

    font-size: 12px;

    line-height: 1.45;

    font-weight: 750;
}

.struktur-person-content h3 {
    margin: 5px 0;

    color: #102044;

    font-size: 20px;

    line-height: 1.35;

    font-weight: 800;
}

.struktur-person-card-leader .struktur-person-content h3 {
    font-size: 25px;
}

.struktur-nip {
    color: #98A2B3;

    font-size: 10px;
}


/* =========================================================
   DETAIL HINT
========================================================= */

.struktur-detail-hint {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    margin-top: 14px;

    color: #079DB9;

    font-size: 10px;

    font-weight: 700;
}

.struktur-detail-hint i {
    font-size: 12px;
}


/* =========================================================
   MODAL
========================================================= */

.struktur-modal .modal-dialog {
    max-width: 900px;
}

.struktur-modal .modal-content {
    overflow: hidden;

    border: 0;

    border-radius: 18px;

    box-shadow:
        0 24px 70px rgba(16, 32, 68, .18);
}

.struktur-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 20px 24px;

    border-bottom: 1px solid #e9eef1;

    background: #ffffff;
}

.struktur-modal-heading {
    display: flex;
    align-items: center;

    gap: 12px;

    min-width: 0;
}

.struktur-modal-heading-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 10px;

    background: #edf9fb;

    color: #079DB9;

    font-size: 18px;
}

.struktur-modal-label {
    margin-bottom: 3px;

    color: #079DB9;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.struktur-modal-title {
    margin: 0;

    color: #102044;

    font-size: 20px;

    line-height: 1.3;

    font-weight: 800;
}

.struktur-modal .btn-close {
    margin: 0;
}


/* =========================================================
   MODAL BODY
========================================================= */

.struktur-modal .modal-body {
    padding: 28px 24px;
}

.struktur-modal-photo-wrapper {
    overflow: hidden;

    border-radius: 14px;

    background: #f3f7f9;
}

.struktur-modal-photo {
    display: block;

    width: 100%;
    min-height: 280px;
    max-height: 380px;

    object-fit: cover;
}

.struktur-modal-placeholder {
    width: 100%;
    min-height: 280px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #edf9fb,
            #f5fafb
        );

    color: #079DB9;

    font-size: 64px;
}


/* =========================================================
   MODAL INFO
========================================================= */

.struktur-modal-jabatan {
    margin-bottom: 5px;

    color: #079DB9;

    font-size: 12px;

    font-weight: 750;
}

.struktur-modal-name {
    margin: 0 0 8px;

    color: #102044;

    font-size: 25px;

    line-height: 1.3;

    font-weight: 800;
}

.struktur-modal-nip {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 20px;

    color: #667085;

    font-size: 11px;
}

.struktur-modal-nip i {
    color: #98A2B3;
}

.struktur-modal-description-title {
    margin-bottom: 9px;

    padding-bottom: 8px;

    border-bottom: 1px solid #e9eef1;

    color: #102044;

    font-size: 13px;

    font-weight: 750;
}


/* =========================================================
   RICH TEXT / TINYMCE
========================================================= */

.struktur-description {
    margin-top: 0;

    color: #475467;

    font-size: 13px;

    line-height: 1.8;
}

.struktur-description p {
    margin: 0 0 14px;
}

.struktur-description p:last-child {
    margin-bottom: 0;
}

.struktur-description h1,
.struktur-description h2,
.struktur-description h3,
.struktur-description h4,
.struktur-description h5,
.struktur-description h6 {
    margin-top: 20px;
    margin-bottom: 10px;

    color: #102044;

    line-height: 1.35;

    font-weight: 750;
}

.struktur-description h1:first-child,
.struktur-description h2:first-child,
.struktur-description h3:first-child,
.struktur-description h4:first-child,
.struktur-description h5:first-child,
.struktur-description h6:first-child {
    margin-top: 0;
}

.struktur-description ul,
.struktur-description ol {
    margin: 0 0 16px;

    padding-left: 23px;
}

.struktur-description li {
    margin-bottom: 6px;
}

.struktur-description a {
    color: #079DB9;

    text-decoration: underline;

    text-underline-offset: 2px;
}

.struktur-description a:hover {
    color: #102044;
}

.struktur-description blockquote {
    margin: 18px 0;

    padding: 12px 15px;

    border-left: 3px solid #079DB9;

    border-radius: 0 7px 7px 0;

    background: #f5f7fa;

    color: #475467;
}

.struktur-description img {
    max-width: 100%;
    height: auto;

    margin: 10px 0;

    border-radius: 8px;
}

.struktur-description table {
    width: 100%;

    margin: 18px 0;

    border-collapse: collapse;
}

.struktur-description th,
.struktur-description td {
    padding: 8px 10px;

    border: 1px solid #e4e7ec;

    text-align: left;

    vertical-align: top;
}

.struktur-description th {
    background: #f8fafc;

    color: #102044;

    font-weight: 700;
}


/* =========================================================
   MODAL DESCRIPTION
========================================================= */

.struktur-modal .struktur-description {
    max-height: 360px;

    overflow-y: auto;
}


/* =========================================================
   NO DESCRIPTION
========================================================= */

.struktur-modal-no-description {
    display: flex;
    align-items: flex-start;

    gap: 8px;

    padding: 13px 15px;

    border-radius: 8px;

    background: #f8fafc;

    color: #667085;

    font-size: 12px;

    line-height: 1.6;
}

.struktur-modal-no-description i {
    margin-top: 2px;

    color: #079DB9;
}


/* =========================================================
   MODAL FOOTER
========================================================= */

.struktur-modal .modal-footer {
    padding: 15px 24px;

    border-top: 1px solid #e9eef1;

    background: #fafbfc;
}

.struktur-modal-close {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    padding: 8px 14px;

    border: 1px solid #d8e1e5;

    border-radius: 8px;

    background: #ffffff;

    color: #475467;

    font-size: 12px;

    font-weight: 650;
}

.struktur-modal-close:hover {
    border-color: #079DB9;

    color: #079DB9;
}


/* =========================================================
   EMPTY
========================================================= */

.struktur-empty {
    max-width: 600px;

    margin: 50px auto;

    padding: 60px 20px;

    text-align: center;
}

.struktur-empty-icon {
    width: 72px;
    height: 72px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 18px;

    border-radius: 50%;

    background: #edf9fb;

    color: #079DB9;

    font-size: 31px;
}

.struktur-empty h3 {
    margin-bottom: 8px;

    color: #102044;

    font-size: 21px;

    font-weight: 750;
}

.struktur-empty p {
    margin: 0;

    color: #667085;

    font-size: 13px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .struktur-person-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 767.98px) {

    .struktur-hero {
        padding: 52px 0;
    }

    .struktur-hero h1 {
        font-size: 34px;
    }

    .struktur-hero p {
        font-size: 13px;
    }

    .struktur-main-section {
        padding: 35px 0 60px;
    }

    .struktur-section {
        margin-bottom: 45px;
    }

    .struktur-section-heading h2,
    .struktur-subsection-heading h2 {
        font-size: 22px;
    }

    .struktur-person-grid {
        grid-template-columns: 1fr;
    }

    .struktur-person-card {
        padding: 18px;
    }

    .struktur-person-card-leader {
        flex-direction: column;

        align-items: center;

        text-align: center;

        padding: 24px 18px;
    }

    .struktur-person-card-leader .struktur-person-photo-wrapper {
        margin-bottom: 0;
    }

    .struktur-person-photo-leader {
        width: 130px;
        height: 130px;
    }

    .struktur-person-card-leader .struktur-person-content h3 {
        font-size: 21px;
    }

    .struktur-person-photo,
    .struktur-person-placeholder {
        height: 230px;
    }


    /* =====================================================
       MODAL MOBILE
    ====================================================== */

    .struktur-modal .modal-header {
        padding: 16px;
    }

    .struktur-modal .modal-body {
        padding: 20px 16px;
    }

    .struktur-modal .modal-footer {
        padding: 12px 16px;
    }

    .struktur-modal-title {
        font-size: 17px;
    }

    .struktur-modal-photo {
        min-height: 240px;
        max-height: 300px;
    }

    .struktur-modal-placeholder {
        min-height: 240px;
    }

    .struktur-modal-name {
        font-size: 21px;
    }

}