html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

.list-group-item {
    border: none !important;
    font-size: 1.5rem !important;
    font-weight: 500;
}

.contents-container {
    border: 1px solid rgba(4, 30, 73, 0.3);
    background-color: white;
}

.popover-body {
    width: 600px;
}

.popover {
    max-width: none;
}

.list-disc {
    list-style-type: disc; /* Use disc bullets */
    padding-left: 1.5rem; /* Add padding to align bullets */
}

.breadcrumb-item + .breadcrumb-item::before {
    content: var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}

body {
    background-color: #f8f9fa !important;
    font-family: 'Plus Jakarta Sans' !important;
    margin-bottom: 60px;
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Full viewport height */
    margin: 0;
    padding: 0;
}

    body .middle-content {
        margin: 0 auto;
        /*  padding: 20px;*/
        background-color: #ffffff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        font-size: 16px;
        line-height: 1.6;
        color: #333333;
    }

.list-group-numbered {
    counter-reset: list-counter; /* Initialize the counter */
}

    .list-group-numbered .list-group-item::before {
        counter-increment: list-counter; /* Increment the counter */
        content: counter(list-counter) ". "; /* Display the counter */
        font-weight: bold; /* Optional: Make the number bold */
        margin-right: 0.5rem; /* Space between number and item */
    }

.m-left {
    margin-left: 40px;
}

a {
    color: #0069c2;
}

.navbar-light .navbar-brand {
    color: #0069c2;
}

.main-content-ul {
    list-style: none;
    padding-top: 20px;
}

    .main-content-ul li {
        border: 1px solid #dadce0;
        padding-top: 10px;
        padding-bottom: 10px;
        border-left: none;
        border-right: none;
        border-bottom: none;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        padding-left: 20px;
    }

.sub-content-ul {
    list-style: none;
}

    .sub-content-ul li {
        align-items: center;
        justify-content: space-between;
        border: none;
        padding-top: 4px;
        padding-bottom: 4px;
    }

        .sub-content-ul li:hover {
            background-color: #f1f3f4;
        }

        .sub-content-ul li a {
            text-decoration: none;
            padding-top: 4px;
            padding-bottom: 4px;
        }

            .sub-content-ul li a:hover {
                text-decoration: none;
                background-color: #f1f3f4;
            }

.icon-middle {
    vertical-align: middle;
    float: right;
}

.content-title {
    font: 400 32px/40px Google Sans,Noto Sans,Noto Sans JP,Noto Sans KR,Noto Naskh Arabic,Noto Sans Thai,Noto Sans Hebrew,Noto Sans Bengali,sans-serif;
    color: rgb(32, 33, 36);
    margin: 48px 0px 24px;
}

.dgp-planner-logo {
    width: 900px;
    height: 900px;
}

.div-dgp-planner-logo {
}

.navbar-light .navbar-nav .nav-link.active {
    border: 4px solid #0069c2;
    border-top: none;
    border-left: none;
    border-right: none;
}

.navbar {
    padding: .5rem 1rem;
}

.profile-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #000000;
    color: white;
    font-size: 16px;
    cursor: pointer;
    font-weight: bold;
}

.dropdown-item {
    margin-right: 10px;
    vertical-align: middle;
    font-size: 14px !important;
    color: #004F88 !important;
    display: flex !important;
    align-items: center;
    gap: 10px;
}
/* CSS for custom loading spinner */
.loading {
    display: none; /* Initially hide the loading spinner */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000; /* Ensure it's on top of other content */
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-left-color: #6d8ec4; /* Color of the spinner */
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite; /* Animation for spinning */
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.highlighte-selected {
    color: #0069c2;
    font-weight: bold;
}

.badge {
    color: #fff;
    background-color: #6c757d;
    font-size: large;
    vertical-align: middle;
}

.btn-danger {
    color: #fff !important;
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
}

#form-document-rows .row {
    border: 3px solid #0069c2;
    border-top: none;
    border-right: none;
    border-bottom: none;
    margin-top: 10px;
}

ol, ul {
    padding-left: 0px;
}

.center-content {
    display: flex;
    justify-content: center;
    align-items: center;
}

.textbox {
    color: black;
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    word-wrap: break-word;
    border: none;
    width: 100%;
    outline: none;
    align-self: stretch;
    height: 40px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: #F5F5F5;
    border-bottom: 1px #BDBDBD solid;
    justify-content: flex-start;
    align-items: center;
    display: inline-flex
}

.span {
    color: #1E1E1E;
    font-size: 14px;
    font-weight: 600;
    line-height: 14px;
    word-wrap: break-word
}

.span-error {
    color: #D0240D;
    font-size: 14px;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 14px;
    word-wrap: break-word
}

.textbox-wrapper {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex
}

.checkbox {
    width: 18px;
    height: 18px;
    position: relative;
    outline: none;
}

.label-remember-me {
    flex: 1 1 0;
    opacity: 0.75;
    color: #1E1E1E;
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    word-wrap: break-word;
    cursor: pointer;
}

.div-forgot-password {
    opacity: 0.75;
    text-align: right;
    color: #1E1E1E;
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    word-wrap: break-word
}

.submit-btn {
    color: white;
    font-size: 16px;
    font-weight: 600;
    background: #004F88;
    border: none;
    padding: 0;
    width: 100%;
    height: 40px;
    padding: 10px;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    display: inline-flex;
    flex: 1 1 0;
}

form {
    align-self: stretch;
}

.text-danger {
    font-size: 14px;
    font-weight: 600;
}

.alert-danger {
    color: #842029;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    word-wrap: break-word;
    border: none;
    width: 100%;
    outline: none;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: #f8d7da;
    border-bottom: 1px #BDBDBD solid;
    justify-content: flex-start;
    align-items: center;
    display: inline-flex;
    height: 40px;
}

.swiper {
    width: 500px;
    height: 350px;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    /* align-items: center; */
    background: #004F88;
}

    .swiper-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    font-size: 12px;
    color: #000;
    opacity: 1;
    background: #FFFFFF;
    border-radius: 0px;
}

.swiper-pagination-bullet-active {
    color: #fff;
    background: rgba(0, 0, 0, 0.2);
}

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

.div {
    align-self: stretch;
}

.dropdown-divider {
    margin: 5px 0;
}

.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* Ensures header is always on top */
    background-color: #f8f9fa;
}

table.dataTable thead th {
    background-color: #FAFAFA !important;
    font-size: 14px;
    padding: .75rem !important;
}

table.dataTable tbody td {
    background-color: white !important;
    box-shadow: none !important;
    color: black;
    font-size: 14px;
    font-weight: 500;
    word-wrap: break-word;
    padding: .75rem !important;
    border-bottom: none !important;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
    font-weight: 500 !important;
    font-size: 14px !important;
}

.select-data-filter {
    background-color: white;
    cursor: pointer;
}
.grid-view {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 40px;
}

.div-document-grid-view {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    max-width: 100%;
    box-sizing: border-box;
}

.table-view {
    width: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: inline-flex;
    background: white;
}

.file-icon-wrapper {
    width: 38px;
    height: 38px;
    justify-content: center;
    align-items: center;
    gap: 4px;
    display: flex;
}

.table-view-col-50 {
    flex: 1 1 0;
    height: 50px;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: flex;
    width: 40%;
}

.table-view-col-50-no-flex {
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: flex;
    width: 40%;
}

.table-view-col-10 {
    flex: 1 1 0;
    height: 50px;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: flex;
    width: 10%;
}

.text-opacity-50 {
    opacity: 0.5;
}

.table-view-col-text {
    color: black;
    font-size: 14px;
    font-weight: 600;
    word-wrap: break-word;
    width: 100%;
}

.width-500px {
    width: 500px !important;
}

table.dataTable thead th, table.dataTable thead td {
    border-bottom: none !important;
}

table.dataTable.no-footer {
    border-bottom: 1px #E5E5E5 !important;
}

.table-bordered td, .table-bordered th {
    border-right: none !important;
}

.table-bordered {
    border: none !important;
}

.comp-doc-title {
    flex: 1 1 0;
    color: black;
    font-size: 14px;
    font-weight: 600;
    word-wrap: break-word;
    display: flex;
    align-items: center;
    gap: 10px;
}

.doc-grid-view-last-modified {
    display: flex;
    justify-content: space-between;
    align-self: stretch;
    opacity: 0.75;
    color: black;
    font-size: 14px;
    font-weight: 400;
    word-wrap: break-word
}

.modal-header-title {
    align-self: stretch;
    color: black;
    font-size: 16px;
    font-weight: 600;
    line-height: 25.60px;
    word-wrap: break-word;
    width: 100%;
}

.breadcrumb-link {
    color: #0477B0;
    font-size: 14px;
    font-weight: 600;
    word-wrap: break-word;
    text-decoration: none !important
}

.header-row {
    width: 100%;
    padding-left: 20px;
    padding-right: 20.33px;
    background: white;
    border-bottom: 1px #E5E5E5 solid;
    display: inline-flex;
}

    .header-row .header-row-col-1 {
        align-self: stretch;
        justify-content: flex-start;
        align-items: center;
        gap: 26px;
        display: inline-flex;
        width: 50%
    }

        .header-row .header-row-col-1 .menu-placeholder {
            width: 32px;
            height: 32px;
            position: relative
        }

        .header-row .header-row-col-1 .img-espsg-logo {
            width: 187px;
            height: 31px;
            mix-blend-mode: multiply
        }

        .header-row .header-row-col-1 .img-dgp-logo {
            width: 250px;
            height: 28px
        }

    .header-row .header-row-col-2 {
        align-self: stretch;
        justify-content: flex-end;
        align-items: center;
        gap: 20px;
        display: inline-flex;
        width: 50%
    }

        .header-row .header-row-col-2 .create-btn {
            padding-left: 20px;
            padding-right: 20px;
            padding-top: 12px;
            padding-bottom: 12px;
            background: #004F88;
            box-shadow: 0px 2px 0px rgba(13.99, 48.03, 65.85, 0.10);
            justify-content: center;
            align-items: center;
            gap: 10px;
            display: flex
        }

            .header-row .header-row-col-2 .create-btn span {
                color: white;
                height: 20px;
                width: 15px;
            }

            .header-row .header-row-col-2 .create-btn div {
                color: white;
                font-size: 14px;
                font-weight: 600;
                line-height: 14px;
                word-wrap: break-word
            }

        .header-row .header-row-col-2 .placeholder-notifications {
            width: 38px;
            height: 38px;
            background: white;
            justify-content: center;
            align-items: center;
            gap: 4px;
            display: flex
        }

        .header-row .header-row-col-2 .navbar-wrapper {
            justify-content: flex-end;
            align-items: center;
            display: flex
        }

.name-role-wrapper {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 6px;
    display: inline-flex
}

.name-wrapper {
    align-self: stretch;
    color: black;
    font-size: 14px;
    font-weight: 500;
    line-height: 14px;
    word-wrap: break-word
}

.role-wrapper {
    align-self: stretch;
    opacity: 0.75;
    color: black;
    font-size: 12px;
    font-weight: 400;
    line-height: 12px;
    word-wrap: break-word
}

.keyboard_arrow_down-wrapper {
    width: 38px;
    height: 38px;
    padding: 3px;
    justify-content: center;
    align-items: center;
    display: flex
}

.dropdown-toggle-content {
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    display: flex
}

.pad-top-75px {
    padding-top: 75px;
}

.dropdown-item:focus, .dropdown-item:hover {
    color: #1e2125;
    background-color: #e9ecef !important;
}

.main-container {
    flex-grow: 1;
    padding-bottom: 10px;
}

    .main-container .container {
        background: #F7F9FC
    }

        .main-container .container .container-col-1 {
            background: #F7F9FC;
            justify-content: center;
            align-items: flex-start;
            display: inline-flex;
            padding-right: 0px;
        }

            .main-container .container .container-col-1 .login-container {
                width: 100%;
                height: 100%;
                padding-top: 56px;
                /*padding-bottom: 180px;*/
                padding-left: 50px;
                padding-right: 50px;
                background: white;
                border-right: 1px #E2E8F0 solid;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                gap: 93.50px;
                display: inline-flex
            }

            .main-container .container .container-col-1 .logos-container {
                align-self: stretch;
                justify-content: flex-start;
                align-items: center;
                gap: 30px;
                display: inline-flex
            }

.logos-container img {
    width: 250px;
}

.main-container .container .container-col-1 .login-content {
    align-self: stretch;
    height: 459.50px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 30px;
    display: inline-flex
}

    .main-container .container .container-col-1 .login-content .title-wrapper {
        align-self: stretch;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 10px;
        display: flex
    }

        .main-container .container .container-col-1 .login-content .title-wrapper .welcome-title {
            align-self: stretch;
            color: black;
            font-size: 32px;
            font-weight: 700;
            word-wrap: break-word
        }

        .main-container .container .container-col-1 .login-content .title-wrapper .login-title {
            opacity: 0.70;
            color: black;
            font-size: 16px;
            font-weight: 500;
            word-wrap: break-word;
            display: flex;
            align-items: center;
            gap: 10px;
            opacity: 1;
        }

            .main-container .container .container-col-1 .login-content .title-wrapper .login-title a {
                cursor: pointer;
                padding: 8px 12px;
                background: #004F88;
                display: flex;
                align-items: center;
                text-decoration: none;
                color: white;
                font-weight: 600;
            }

.organization-form .input-wrapper {
    align-self: stretch;
    height: 319.50px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    display: flex
}

.organization-form .sign-up-container {
    align-self: stretch;
    /* height: 781px;*/
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 21px;
    display: flex
}

.organization-form .two-cols-wrapper {
    align-self: stretch;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    display: inline-flex
}

.organization-form .forgot-password-wrapper {
    align-self: stretch;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: inline-flex;
    width: 100%
}

.organization-form .chk-forgot-password-wrapper {
    flex: 1 1 0;
    height: 18px;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
    display: flex
}

.organization-form .chk-forgot-password {
    width: 18px;
    height: 18px;
    position: relative;
    cursor: pointer;
}

.organization-form .new-account-wrapper {
    width: 100%;
    display: inline-flex;
    background: #F7F9FC;
    border-left: 3px solid #004F88;
}

    .organization-form .new-account-wrapper .new-account-wrapper-col-1 {
        width: 100%;
        height: 100%;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 16px;
        display: inline-flex;
        padding-left: 12px;
        padding-top: 25px;
        padding-bottom: 25px;
    }

        .organization-form .new-account-wrapper .new-account-wrapper-col-1 .title-account {
            color: #004F88;
            font-size: 16px;
            font-family: Plus Jakarta Sans;
            font-weight: 400;
            word-wrap: break-word
        }

        .organization-form .new-account-wrapper .new-account-wrapper-col-1 .sign-up-wrapper {
            justify-content: flex-start;
            align-items: center;
            gap: 8px;
            display: inline-flex
        }

            .organization-form .new-account-wrapper .new-account-wrapper-col-1 .sign-up-wrapper a {
                text-align: center;
                color: #004F88;
                font-size: 20px;
                font-weight: 700;
                word-wrap: break-word;
                display: inline-flex;
                align-items: center;
                text-decoration: none;
            }

.main-container .container .container-col-2 {
    position: relative;
    background: #004F88;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: inline-flex;
    padding-top: 56px;
}

.organization-form .new-account-wrapper .new-account-wrapper-col-2 {
    width: 100%;
    height: 100%;
    position: relative;
    opacity: 0.10
}

    .organization-form .new-account-wrapper .new-account-wrapper-col-2 .empty-placeholder {
        width: 107.04px;
        height: 107.04px;
        left: 174px;
        top: 30px;
        position: absolute;
        background: #004F88;
        border-radius: 9999px;
        overflow: scroll;
    }

.section-wrapper {
    flex-grow: 1;
}

    .section-wrapper .column-flex {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 20px;
    }

    .section-wrapper .section-title {
        align-self: stretch;
        color: white;
        font-size: 40px;
        font-weight: 700;
        word-wrap: break-word;
        text-align: center;
    }

    .section-wrapper .section-description {
        align-self: stretch;
        color: white;
        font-size: 16px;
        font-weight: 400;
        word-wrap: break-word;
        padding-left: 70px;
        padding-right: 60px;
    }

    .section-wrapper .text-block {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 8px;
    }

    .section-wrapper .column-title {
        width: 255px;
        color: white;
        font-size: 14px;
        font-weight: 600;
        word-wrap: break-word;
        text-align: center;
    }

    .section-wrapper .column-description {
        width: 255px;
        color: white;
        font-size: 12px;
        font-weight: 400;
        word-wrap: break-word;
        text-align: center;
    }

    .section-wrapper .chevron-icon {
        color: white;
    }

        .section-wrapper .chevron-icon span {
            font-size: 120px;
            height: 100%;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            display: inline-flex;
        }

    .section-wrapper .video-thumbnail-wrapper {
        position: relative;
        width: 100%;
        max-width: 640px;
        margin: 0 auto;
    }

    .section-wrapper .video-thumbnail {
        background-size: cover;
        background-position: center;
        padding-top: 56.25%;
        cursor: pointer;
    }

    .section-wrapper .play-button span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 60px;
        color: white;
        border-radius: 50%;
        padding: 10px;
        transition: background-color 0.3s ease;
    }

.footer-logos {
    display: flex;
    width: 100%;
    margin-top: 30px;
    margin-bottom: 10px;
}

    .footer-logos .col {
        display: flex;
        justify-content: center;
        align-items: center;
    }

.footer-logo img {
    height: 60px;
}

.footer-logo-large img {
    height: 65px;
}

.footer-logo-wide img {
    width: 125px;
}

.dh-66px {
    height: 66px !important;
}

.dh-75px {
    height: 75px !important;
}

.dh-80px {
    height: 80px !important;
}

.dh-96px {
    height: 66px !important;
}

.dw-50p {
    width: 50% !important;
}

.dh-20p {
    height: 20% !important;
}

.div-selected-file-wrapper {
    align-self: stretch;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    display: inline-flex
}

    .div-selected-file-wrapper div {
        justify-content: center;
        align-items: center;
        display: flex;
    }

.div-upload-file {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 8px;
    padding-right: 12px;
    background: white;
    box-shadow: 0px 2px 0px rgba(13.99, 48.03, 65.85, 0.10);
    border: 1px #004F88 solid;
    justify-content: center;
    align-items: center;
    gap: 10px;
    display: flex;
    cursor: pointer;
    float: left;
}

    .div-upload-file div {
        color: #004F88;
        font-size: 14px;
        word-wrap: break-word;
        justify-content: center;
        align-items: center;
        display: flex;
    }

.have-questions-wrapper {
    align-self: stretch;
    height: 24px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    display: flex
}

    .have-questions-wrapper .have-questions-content {
        align-self: stretch;
        justify-content: center;
        align-items: center;
        gap: 6px;
        display: inline-flex
    }

        .have-questions-wrapper .have-questions-content .have-questions-text {
            opacity: 0.75;
            color: black;
            font-size: 14px;
            font-weight: 400;
            line-height: 21px;
            word-wrap: break-word
        }

        .have-questions-wrapper .have-questions-content .have-questions-link {
            color: #004F88;
            font-size: 16px;
            font-weight: 700;
            line-height: 24px;
            word-wrap: break-word;
            text-decoration: none;
        }

#TaxExemptionCertificate-error {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 8px;
    padding-right: 12px;
    float: left;
}

.gap-0px {
    gap: 0px !important;
}

.forgot-password-content {
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 30px;
    display: inline-flex
}

    .forgot-password-content .title-wrapper {
        align-self: stretch;
        height: 40px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 10px;
        display: flex
    }

    .forgot-password-content .title {
        align-self: stretch;
        color: black;
        font-size: 32px;
        font-weight: 700;
        word-wrap: break-word
    }

.forgot-password-form .input-wrapper {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    display: flex
}

.back-link {
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    gap: 6px;
    display: inline-flex;
    text-decoration: none;
}

.back-icon-wrapper {
    width: 20px;
    height: 20px;
    position: relative;
}

.back-icon {
    width: 20px;
    height: 20px;
    left: 0;
    top: 0;
    position: absolute;
}

.back-text {
    opacity: 0.75;
    color: black;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    word-wrap: break-word;
}

.dw-100p {
    width: 100% !important;
}

.reset-password-container {
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 30px;
    display: inline-flex
}

.reset-password-header {
    align-self: stretch;
    height: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    display: flex;
}

.reset-password-title {
    align-self: stretch;
    color: black;
    font-size: 32px;
    font-weight: 700;
    word-wrap: break-word;
}

.reset-password-container .input-wrapper {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    display: flex
}

.password-reset-container {
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 31px;
    display: inline-flex;
}

    .password-reset-container .icon-wrapper {
        padding: 24px;
        border-radius: 99px;
        overflow: hidden;
        border: 1px solid #CBD5E1;
        justify-content: flex-start;
        align-items: center;
        gap: 4px;
        display: inline-flex;
    }

    .password-reset-container .icon-background {
        width: 64px;
        height: 64px;
        position: absolute;
        opacity: 0.5;
    }

    .password-reset-container .icon-check {
        width: 50.67px;
        height: 50.67px;
    }

        .password-reset-container .icon-check .material-symbols-outlined {
            font-size: 50px;
            color: #004F88;
        }

    .password-reset-container .password-reset-content {
        align-self: stretch;
        height: 158px;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 38px;
        display: flex;
    }

    .password-reset-container .password-reset-messages {
        align-self: stretch;
        height: 80px;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
        display: flex;
    }

    .password-reset-container .password-reset-success {
        align-self: stretch;
        text-align: center;
        color: black;
        font-size: 32px;
        font-weight: 700;
        word-wrap: break-word;
    }

    .password-reset-container .password-reset-description {
        align-self: stretch;
        opacity: 0.75;
        text-align: center;
        color: black;
        font-size: 16px;
        font-weight: 500;
        line-height: 20px;
        word-wrap: break-word;
    }

    .password-reset-container .login-button {
        align-self: stretch;
        height: 40px;
        padding: 12px;
        background: #004F88;
        justify-content: center;
        align-items: center;
        gap: 8px;
        display: inline-flex;
        text-decoration: none;
    }

    .password-reset-container .login-button-text {
        color: white;
        font-size: 16px;
        font-weight: 600;
        line-height: 16px;
        word-wrap: break-word;
    }

.upload-document-form .form-row {
    display: inline-flex;
    width: 100%;
    height: 80px;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
}

.upload-document-form .textbox-wrapper {
    width: 100%;
}

.upload-document-form .div-upload-file {
    padding: 8px;
    background: white;
    border: 1px solid #004F88;
    cursor: pointer;
}

.upload-document-form .upload-file-label {
    color: #004F88;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.upload-document-form .selected-file {
    padding-top: 8px;
    display: flex;
}

.progress-icon {
    animation: spin 1s linear infinite;
}

.submit-btn {
    justify-content: center;
}

.pe-none {
    pointer-events: none;
}

.min-height-100vh {
    min-height: 100vh;
}

.height-auto-imp {
    height: auto !important;
}

.dgp-footer {
    padding-bottom: 20px;
}

    .dgp-footer .footer-row {
        margin-top: 10px;
        margin-right: 0px !important;
    }

    .dgp-footer .footer-left {
        display: inline-flex;
        justify-content: flex-start;
        align-items: center;
        gap: 16px;
    }

    .dgp-footer .footer-logo {
        width: 187px;
        height: 31px;
        mix-blend-mode: multiply;
    }

    .dgp-footer .footer-divider {
        width: 0px;
        height: 10.5px;
        opacity: 0.10;
        border: 1px solid black;
    }

    .dgp-footer .footer-links {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
    }

    .dgp-footer .footer-link {
        color: black !important;
        font-size: 14px;
        font-weight: 500;
        word-wrap: break-word;
        text-decoration: none !important;
    }

    .dgp-footer .footer-right {
        display: inline-flex;
        justify-content: flex-end;
        align-items: center;
        gap: 16px;
        padding-right: 100px;
    }

    .dgp-footer .footer-copyright {
        color: black;
        font-size: 14px;
        font-weight: 500;
        word-wrap: break-word;
    }

.col-bla-imp {
    color: black !important;
}

.about-col-1 {
    background: #F7F9FC;
    justify-content: center;
    align-items: flex-start;
    display: inline-flex;
    padding-right: 0px;
}

    .about-col-1 .about-content {
        padding: 52px 50px 33.25px 50px;
        background: white;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 10px;
        width: 100%;
        height: 100%;
    }

    .about-col-1 .about-info-container {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 30px;
        width: 100%;
    }

.logos-container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.espsg-logo, .dgp-logo {
    width: 250px;
}

.about-col-1 .about-info-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
}

.about-col-1 .about-heading {
    color: black;
    font-size: 32px;
    font-weight: 700;
    word-wrap: break-word;
}

.about-col-1 .about-info-content ul {
    padding-left: 20px;
    list-style-type: disc;
}

.about-col-2 {
    position: relative;
    background: #004F88;
    flex-direction: column;
    align-items: flex-start;
    display: inline-flex;
    padding-top: 56px;
}

    .about-col-2 .get-in-touch-section {
        margin-top: 100px;
        align-items: flex-start;
    }

    .about-col-2 .flex-column-center {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 5px;
        display: inline-flex;
    }

    .about-col-2 .section-title {
        color: white;
        font-size: 22px;
        font-weight: 400;
        word-wrap: break-word;
        padding-left: 70px;
        padding-right: 60px;
    }

    .about-col-2 .section-item {
        color: white;
        font-size: 15px;
        font-weight: 400;
        word-wrap: break-word;
        padding-left: 70px;
        padding-right: 60px;
    }

    .about-col-2 .social-link {
        text-decoration: none;
        color: white;
    }

    .about-col-2 .icon-padding {
        padding-right: 10px;
    }

    .about-col-2 .margin-top-large {
        margin-top: 80px;
    }

.contact-content {
    width: 100%;
    height: 100%;
    padding-top: 52px;
    padding-bottom: 33.25px;
    padding-left: 50px;
    padding-right: 50px;
    background: white;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 100px;
    display: inline-flex
}

.contact-container {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 30px;
    display: inline-flex;
}

    .contact-container .contact-header {
        align-self: stretch;
        height: 70px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 10px;
        display: flex;
    }

    .contact-container .contact-title {
        color: black;
        font-size: 32px;
        font-weight: 700;
        word-wrap: break-word;
    }

    .contact-container .contact-subtitle {
        opacity: 0.75;
        color: black;
        font-size: 16px;
        font-weight: 500;
        word-wrap: break-word;
    }

    .contact-container .contact-form {
        align-self: stretch;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 21px;
        display: flex;
    }

    .contact-container .form-row {
        align-self: stretch;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 20px;
        display: inline-flex;
    }

    .contact-container .textbox-wrapper {
        width: 100%;
    }

        .contact-container .textbox-wrapper.half-width {
            width: 50%;
        }

    .contact-container .span {
        font-size: 14px;
        font-weight: 600;
        color: black;
    }

    .contact-container .span-error {
        margin-left: 5px;
    }

.activation-content {
    width: 100%;
    height: 100%;
    padding-top: 52px;
    padding-bottom: 277px;
    padding-left: 50px;
    padding-right: 50px;
    background: white;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 119px;
    display: inline-flex
}

.success-container {
    align-self: stretch;
    height: 341px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 31px;
    display: inline-flex;
}

    .success-container .icon-wrapper {
        padding: 24px;
        border-radius: 99px;
        overflow: hidden;
        border: 1px #CBD5E1 solid;
        justify-content: flex-start;
        align-items: center;
        gap: 4px;
        display: inline-flex;
    }

    .success-container .icon-background {
        width: 64px;
        height: 64px;
        position: relative;
    }

    .success-container .icon-overlay {
        width: 64px;
        height: 64px;
        position: absolute;
        background: white;
        opacity: 0.5;
    }

    .success-container .icon-inner {
        width: 50.67px;
        height: 50.67px;
        left: 6.67px;
        top: 6.67px;
        position: absolute;
    }

    .success-container .icon {
        font-size: 50px;
        color: #004F88;
    }

    .success-container .success-message-container {
        align-self: stretch;
        height: 198px;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 38px;
        display: flex;
    }

    .success-container .success-message-content {
        align-self: stretch;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
        display: flex;
    }

    .success-container .success-title {
        align-self: stretch;
        text-align: center;
        color: black;
        font-size: 32px;
        font-weight: 700;
        word-wrap: break-word;
    }

    .success-container .success-description {
        align-self: stretch;
        opacity: 0.75;
        text-align: center;
        color: black;
        font-size: 16px;
        font-weight: 400;
        line-height: 20px;
        word-wrap: break-word;
    }

    .success-container .email-underline {
        text-decoration: underline;
        font-family: 'Plus Jakarta Sans';
    }

    .success-container .cta-button {
        align-self: stretch;
        height: 40px;
        padding: 12px;
        background: #004F88;
        justify-content: center;
        align-items: center;
        gap: 8px;
        display: inline-flex;
        text-decoration: none;
        color: white;
        font-size: 16px;
        font-weight: 600;
        line-height: 16px;
    }

.agency-information .container-xxl {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
    background: #F7F9FC;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.agency-information .successMessage {
    display: none;
    color: blue;
    text-align: center;
}

.agency-information .failureMessage {
    display: none;
    color: red;
    text-align: center;
}

.view-field {
    padding: 8px;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%;
    display: block;
}

.agency-information .profile-title-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
}

.agency-information .profile-title-header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.agency-information .profile-title {
    color: #0477B0;
    font-size: 28px;
    font-weight: 700;
    word-wrap: break-word;
}

.agency-information-dc {
    width: 100%;
    height: 100%;
    padding: 24px;
    background: white;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    display: inline-flex;
    padding-top: 10px;
    padding-bottom: 10px;
}

.agency-information-dc-header {
    align-self: stretch;
    color: #0477B0;
    font-size: 16px;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 25.60px;
    word-wrap: break-word;
    padding-bottom: 10px;
}

.agency-information-dc-body {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
    display: flex
}

.agency-information-dc-body-row {
    align-self: stretch;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    display: inline-flex
}

.agency-information-dc-body .profile-flex-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}

.agency-information-dc-body .profile-flex-inner {
    display: flex;
    align-items: center;
    gap: 10px;
}

.agency-information-dc-body .profile-logo-preview {
    width: 64px;
    height: 64px;
}

.agency-information-dc-body .profile-upload-logo {
    cursor: pointer;
    padding: 8px 12px;
    background: white;
    box-shadow: 0px 2px 0px rgba(14, 48, 66, 0.10);
    border: 1px solid #004F88;
    display: flex;
    align-items: center;
    gap: 10px;
}

.agency-information-dc-body .profile-add-photo-icon {
    color: #004F88;
}

.agency-information-dc-body .profile-upload-text {
    color: #004F88;
    font-size: 14px;
    font-weight: 400;
}

.basic-information .container-xxl {
    padding-top: 5px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
    background: #F7F9FC;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.basic-information .profile-container {
    width: 100%;
    height: 100%;
    padding: 24px;
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    padding-top: 10px;
}

.basic-information .profile-header {
    align-self: stretch;
    color: #0477B0;
    font-size: 16px;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 25.60px;
    padding-bottom: 10px;
    word-wrap: break-word;
}

.basic-information .profile-form {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.basic-information .profile-input-row {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 40px;
}

.basic-information .profile-input-section {
    align-self: stretch;
    height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 28px;
}

.basic-information .profile-input-wrapper {
    align-self: stretch;
    height: 148px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
}

.basic-information .inline-flex-row {
    align-self: stretch;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    display: inline-flex;
}

.basic-information .button-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}

.basic-information .change-password-btn, .save-changes-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: white;
    box-shadow: 0px 2px 0px rgba(14, 48, 66, 0.10);
    border: 1px solid #004F88;
    cursor: pointer;
}

    .basic-information .change-password-btn span, .save-changes-btn span {
        color: #004F88;
    }

.basic-information .modal-close-btn {
    opacity: 1;
}

.basic-information .modal-header-content {
    align-self: stretch;
    color: black;
    font-size: 16px;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 25.60px;
    word-wrap: break-word;
    width: 100%;
}

.basic-information .modal-footer {
    display: flex;
    justify-content: end;
    gap: 16px;
}

#changePasswordModal .modal-body .modal-body-row {
    align-self: stretch;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    display: inline-flex;
    width: 100%;
    height: 80px;
}

#changePasswordModal .modal-body .row-footer {
    align-self: stretch;
    justify-content: end;
    gap: 16px;
    display: flex
}

.agency-logo-wrapper {
    display: flex;
    justify-content: center; /* Aligns horizontally */
    align-items: center; /* Aligns vertically */
}

#deleteConfirmationModal .modal-header-title {
    align-self: stretch;
    color: black;
    font-size: 16px;
    font-weight: 600;
    line-height: 25.60px;
    word-wrap: break-word;
    width: 100%;
}

#deleteConfirmationModal .modal-body-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    width: 100%;
}

#deleteConfirmationModal .textbox-wrapper {
    width: 60%;
}

#deleteConfirmationModal .cancel-btn {
    background: white;
    color: #004F88;
    border: 1px solid #004F88;
    padding: 10px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#deleteConfirmationModal .yes-btn {
    background: #004F88;
    color: white;
    padding: 10px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.home-container, .documents-container {
    padding-top: 10px;
    padding-bottom: 28px;
    padding-left: 15px;
    padding-right: 15px;
    background: #F7F9FC;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.breadcrumb-container {
    /*justify-content: center;*/
    align-items: center;
    gap: 2px;
    display: flex;
    line-height: 1;
}
    .breadcrumb-container .material-symbols-outlined {
        font-size: 20px;
    }

.header-container {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 10px;
    display: flex;
    margin-bottom: 30px;
}

.header-subtext {
    align-self: stretch;
    opacity: 0.75;
    color: black;
    font-size: 14px;
    font-weight: 500;
    word-wrap: break-word;
}

.header-content {
    width: 100%;
    /*height: 65px;*/
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
    display: flex;
}

.header-title-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}

.header-title {
    color: #171717;
    font-size: 28px;
    font-weight: 700;
    word-wrap: break-word;
}

.tooltip-icon-container {
    width: 24px;
    height: 24px;
    position: relative;
}

.filter-container {
    align-self: stretch;
    justify-content: space-between;
    align-items: center;
    display: inline-flex;
}

    .filter-container .component-title {
        color: black;
        font-size: 14px;
        font-weight: 500;
        word-wrap: break-word;
    }

    .filter-container .document-title {
        color: black;
        font-size: 14px;
        font-weight: 500;
        word-wrap: break-word;
    }

    .filter-container .controls-container {
        justify-content: flex-start;
        align-items: center;
        gap: 12px;
        display: flex;
    }

    .filter-container .search-container {
        position: relative;
    }

    .filter-container .search-icon {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    .filter-container .text-search-documents {
        padding-left: 35px;
        background: white !important;
    }

    .filter-container .sort-container {
        padding-left: 8px;
        padding-right: 8px;
        padding-top: 4px;
        padding-bottom: 4px;
        justify-content: center;
        align-items: center;
        gap: 8px;
        display: flex;
    }

    .filter-container .icon-container {
        width: 20px;
        height: 20px;
        position: relative;
    }

    .filter-container .sort-label, .filter-container .sort-select {
        color: black;
        font-size: 14px;
        font-weight: 400;
        word-wrap: break-word;
        margin-block: 0px !important;
    }

    .filter-container .view-toggle-container {
        justify-content: flex-start;
        align-items: center;
        display: flex;
    }

    .filter-container .view-icon-wrapper {
        width: 38px;
        height: 38px;
        justify-content: center;
        align-items: center;
        gap: 4px;
        display: flex;
    }

    .filter-container .grid-view-icon {
        cursor: pointer;
        color: #0477B0;
    }

    .filter-container .list-view-icon {
        cursor: pointer;
    }

.div-document-grid-view .preview-wrapper {
    flex: 1 1 0;
    align-self: stretch;
    background: #ECEFF4;
    justify-content: center;
    align-items: center;
    display: inline-flex;
}

    .div-document-grid-view .preview-wrapper a {
        flex: 1 1 0;
        align-self: stretch;
        padding-top: 20px;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        display: inline-flex;
        text-decoration: none;
    }

        .div-document-grid-view .preview-wrapper a img {
            width: 180px;
            height: 160px
        }

.div-document-grid-view .properties-container {
    align-self: stretch;
    height: 150px;
    padding: 12px;
    border: 1px rgba(0, 0, 0, 0.10) solid;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
    display: flex
}

    .div-document-grid-view .properties-container .description-wrapper {
        align-self: stretch;
        justify-content: space-between;
        align-items: center;
        display: inline-flex
    }

        .div-document-grid-view .properties-container .description-wrapper .icon-wrapper {
            width: 20px;
            height: 20px;
            position: relative
        }

            .div-document-grid-view .properties-container .description-wrapper .icon-wrapper .material-symbols-outlined {
                color: #0477B0;
            }

.document-download, .document-archive {
    cursor: pointer;
}

.document-download, .document-edit, .component-edit {
    cursor: pointer;
}

.div-document-grid-view .properties-container .document-name-wrapper {
    align-self: stretch;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    text-decoration: none;
}

    .div-document-grid-view .properties-container .document-name-wrapper div {
        align-self: stretch;
        color: black;
        font-size: 14px;
        font-weight: 600;
        word-wrap: break-word;
        height: 70px;
    }

.div-document-grid-view .properties-container .document-count {
    display: flex;
    justify-content: space-between;
    align-self: stretch;
    opacity: 0.75;
    color: black;
    font-size: 14px;
    font-weight: 400;
    word-wrap: break-word
}

.content-wrapper {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    display: flex
}

.div-document-list-container {
    width: 100%;
}

.div-document-list-view {
    width: 100%;
    align-self: stretch;
    border-bottom: 1px rgba(0, 0, 0, 0.10) solid;
    justify-content: flex-start;
    align-items: center;
    display: inline-flex;
}

.display-name-container {
    flex: 1 1 0;
    /*height: 50px;*/
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: flex;
    text-decoration: none !important;
    color: black !important;
}

.display-name-wrapper {
    flex: 1 1 0;
    /*height: 50px;*/
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: flex
}

.table-view-wrapper {
    width: 100%;
    border-bottom: 1px rgba(0, 0, 0, 0.10) solid;
    justify-content: flex-start;
    align-items: center;
    display: inline-flex
}

.table-header {
    align-self: stretch;
    border-bottom: 1px solid rgba(0, 0, 0, 0.10);
    justify-content: flex-start;
    align-items: center;
    display: inline-flex;
}

    .table-header .header-content {
        flex: 1 1 0;
        height: 50px;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
        display: flex;
    }

    .table-header .file-icon-wrapper {
        width: 20px;
        height: 20px;
        position: relative;
    }

    .table-header .file-name {
        flex: 1 1 0;
        color: black;
        font-size: 14px;
        font-weight: 600;
        word-wrap: break-word;
    }

    .table-header .last-modified-wrapper,
    .table-header .total-documents-wrapper {
        height: 50px;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
        display: flex;
    }

    .table-header .last-modified-wrapper {
        width: 139px;
    }

    .table-header .total-documents-wrapper {
        width: 130px;
    }

    .table-header .last-modified,
    .table-header .total-documents {
        color: black;
        font-size: 14px;
        font-weight: 500;
        word-wrap: break-word;
    }

    .table-header .total-documents {
        text-transform: capitalize;
    }

    .table-header .empty-space {
        width: 38px;
        height: 50px;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
        display: flex;
    }

.div-document-list-view .material-symbols-outlined {
    color: #000000;
}

.table-row-content {
    height: 50px;
    justify-content: flex-start;
    align-items: center;
    gap: 25px;
    display: flex;
}

.table-row-item {
    height: 50px;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: flex;
}

.table-row-item-system {
    width: 139px;
}

.table-row-item-documents {
    width: 130px;
}

.table-row-empty {
    width: 38px;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: flex;
}

.text-content {
    opacity: 0.75;
    color: black;
    font-size: 14px;
    font-weight: 400;
    word-wrap: break-word;
}

.password-container {
    position: relative;
    display: inline-block;
    width: 100%; /* Adjust as per your requirement */
}

.password-field {
    width: 100%;
    padding-right: 40px; /* Add space for the icon on the right */
    padding-left: 10px; /* Regular padding for input */
    box-sizing: border-box;
}

.show-password-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 24px;
    color: #757575; /* Optional: Adjust icon color */
}

.document-view-container {
    width: 100%;
    height: 100%;
    padding-top: 10px;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    background: #F7F9FC;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 109.50px;
    display: inline-flex
}

.document-view-inner-container {
    align-self: stretch;
    /* height: 821.50px;*/
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
    display: inline-flex;
}

    .document-view-inner-container .container-flex-column {
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }

        .document-view-inner-container .container-flex-column .inner-container {
            align-self: stretch;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 12px;
        }

        .document-view-inner-container .container-flex-column .content-container {
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 16px;
        }

        .document-view-inner-container .container-flex-column .title-row {
            align-self: stretch;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 8px;
        }

        .document-view-inner-container .container-flex-column .title-text {
            color: #171717;
            font-size: 28px;
            font-weight: 700;
            word-wrap: break-word;
        }
            .document-view-inner-container .container-flex-column .title-text .badge-secondary {
                font-size: 50%;
                vertical-align: middle !important;
            }
        .document-view-inner-container .container-flex-column .info-icon-container {
            width: 24px;
            height: 24px;
            position: relative;
        }

.manage-users-container {
    padding-top: 10px;
    padding-bottom: 28px;
    padding-left: 15px;
    padding-right: 15px;
    background: #F7F9FC;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

    .manage-users-container .manage-users-inner-container {
        align-self: stretch;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        display: flex
    }

.content-wrapper-header {
    align-self: stretch;
    justify-content: space-between;
    align-items: center;
    display: inline-flex;
}

    .content-wrapper-header .header-title {
        color: black;
        font-size: 14px;
        font-weight: 500;
        word-wrap: break-word;
    }

    .content-wrapper-header .action-bar {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 12px;
    }

    .content-wrapper-header #addUserBtn {
        color: white;
        display: flex;
        align-items: center;
        gap: 5px;
    }

    .content-wrapper-header .sort-container {
        padding: 4px 8px;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    .content-wrapper-header .sort-icon {
        width: 20px;
        height: 20px;
        position: relative;
    }

    .content-wrapper-header .sort-text {
        color: black;
        font-size: 14px;
        font-weight: 400;
        word-wrap: break-word;
    }

    .content-wrapper-header .view-buttons {
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .content-wrapper-header .view-button {
        width: 38px;
        height: 38px;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 4px;
    }

    .content-wrapper-header .icon-container {
        width: 20px;
        height: 20px;
        position: relative;
    }

    .content-wrapper-header .grid-view-icon {
        cursor: pointer;
        color: #0477B0;
    }

    .content-wrapper-header .list-view-icon {
        cursor: pointer;
    }

.users-table-container {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 40px;
    display: flex
}

.user-form .column {
    align-self: stretch;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    display: inline-flex;
    width: 100%;
    height: 80px;
}

    .user-form .column .textbox-wrapper {
        width: 100% !important;
    }

.user-form .buttons-container {
    align-self: stretch;
    justify-content: end;
    align-items: flex-start;
    gap: 20px;
    display: inline-flex;
    width: 100%;
}

.add-modal-user-info {
    align-self: stretch;
    color: black;
    font-size: 16px;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 25.60px;
    word-wrap: break-word;
    width: 100%;
    display: flex;
}

.users-table-container .material-symbols-outlined {
    cursor: pointer;
    color: #004F88;
}

.unsaved-message {
    width: 100%;
    opacity: 0.50;
    color: black;
    font-size: 14px;
    font-weight: 400;
    word-wrap: break-word;
    margin-bottom: 20px;
}

#editConfirmationModal .buttons-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    width: 100%;
}

#deleteConfirmationModal .textbox-wrapper {
    width: 60%;
}

#editConfirmationModal .cancel-btn {
    background: white;
    color: #004F88;
    border: 1px solid #004F88;
    padding: 10px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#editConfirmationModal .yes-btn {
    background: #004F88;
    color: white;
    padding: 10px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.width-25pc {
    width: 25% !important;
}

.header-title-container .create-btn {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 12px;
    padding-bottom: 12px;
    background: #004F88;
    box-shadow: 0px 2px 0px rgba(13.99, 48.03, 65.85, 0.10);
    justify-content: center;
    align-items: center;
    gap: 10px;
    display: flex
}

    .header-title-container .create-btn span {
        color: white;
        height: 20px;
        width: 15px;
    }

    .header-title-container .create-btn div {
        color: white;
        font-size: 14px;
        font-weight: 600;
        line-height: 14px;
        word-wrap: break-word
    }

.submit-btn:hover, .create-btn:hover {
    color: white !important;
    text-decoration: none !important;
}

.breadcrumb-link:hover {
    color: #0477B0 !important;
}

#editConfirmationModal .cancel-btn:hover {
    color: #004F88 !important;
    text-decoration: none !important;
}

.dataTables_wrapper {
    width: 100%;
}

.message-box {
    width: 50%;
    padding: 10px 15px;
    border-radius: 5px;
    margin: 10px 0;
    font-size: 14px;
    display: none;
    text-align: left;
    font-weight: 500;
    position: relative;
    top: 0;
    margin-left: 0;
}

.message-success {
    background-color: rgba(144, 238, 144, 0.9);
    color: #155724;
    border: 1px solid #c3e6cb;
}

.message-failure {
    background-color: rgba(255, 99, 71, 0.9);
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.dataTables_wrapper .dataTables_length select {
    margin-right: 2px;
    margin-left: 2px;
}

.search-container #lblSearchTitle {
    display: inline !important;
    align-items: center;
}

#deleteConfirmationModal .cancel-btn:hover {
    color: #004F88 !important;
}

.error-main-container {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 100px;
}

    .error-main-container .container-xxl {
    }

.tax-doc-upload {
    cursor: pointer;
    padding: 8px 12px;
    background: white;
    box-shadow: 0px 2px 0px rgba(14, 48, 66, 0.10);
    border: 1px solid #004F88;
    display: flex;
    align-items: center;
    gap: 10px;
}

.tax-doc-upload-text {
    color: #004F88;
    font-size: 14px;
    font-weight: 400;
}

.tax-doc-upload-icon {
    color: #004F88;
}

.recycle-bin-page .div-document-list-view.col-wrap {
    margin-bottom: 20px;
    padding: 10px 0;
}

.recycle-bin-page .table-view-col-10 {
    padding-right: 30px;
}

.recycle-bin-page .table-view-col-50-no-flex {
    width: 40%;
}

.recycle-bin-page .restore-btn {
    font-size: 30px;
    padding: 10px;
}

.recycle-bin-page .spinner-border {
    margin-left: 5px;
    vertical-align: middle;
}

.empty-message {
    border-color: red;
    border-left: 3px solid #004F88;
    padding-left: 12px;
    font-style: italic;
}

.logos-container a {
    width: 50%;
}

.disabled-btn {
    background: gray
}

#Password-error {
    margin-top: 4px;
    position: absolute;
    top: 100%;
    left: 0;
}

@keyframes spinClockwise {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.spin {
    display: inline-block;
    animation: spinClockwise 1s linear infinite;
}

.dt-length label {
    margin-left: 10px;
}

.dataTable .actions {
    text-align: center;
}

.header-title a {
    color: #0477B0;
    text-decoration: none !important;
}

    .header-title a:hover {
        color: #0477B0;
    }

.wi-100p {
    width: 100%;
}

.fl-no {
    flex: none !important;
}

.fl-1 {
    flex: 1 1 0;
    white-space: normal; /* Enables text wrapping */
    word-break: break-word; /* Prevents overflow of long words */
}

.videos-top-banner {
    width: 100%;
    height: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
    background: white;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: inline-flex;
}

.delete-row, .remove-row {
    color: red;
    cursor: pointer;
}

.txt-description {
    height: 150px !important;
    line-height: 20px !important;
}

.col-green {
    color: green !important;
}

.di-fl-ga-10 {
    display: flex;
    gap: 10px;
}

.di-fl-ga-5 {
    display: flex !important;
    gap: 5px;
}

.options-container {
    background-color: #FFFFFF;
    margin-left: 25px;
    border: 1px solid rgba(4, 30, 73, 0.3);
    color: black;
}

    .options-container .buttons {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 10px;
        gap: 10px;
    }

.components-page .btn {
    background-color: #004F88;
    font-weight: 500;
    color: #FFFFFF;
    box-shadow: none !important;
}

@keyframes wipeBackground {
    from {
        background-position: 100% 0;
    }

    to {
        background-position: 0 0;
    }
}

.animate-background {
    background: linear-gradient(to right, lightgray 50%, white 50%);
    background-size: 200% 100%;
    animation: wipeBackground 2s forwards;
}

.components-page .btn-danger {
    background-color: #bb2d3b !important;
    font-weight: 500;
    color: #FFFFFF;
    box-shadow: none !important;
}

.col-document-do {
    max-width: 7%;
}

.logout-form {
    display: inline;
}

.logout-button {
    border: none;
    background: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    padding: .25rem 1.5rem;
    width: 100%;
}

    .logout-button .material-symbols-outlined {
        margin-right: 8px;
    }

.grid-view {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 20px;
    max-width: 100%;
    box-sizing: border-box;
}
.accesscontrol-container .main-content-ul {
    padding-top: 0px !important;
    background: white;
    border: 1px solid #000;
}

.accesscontrol-container .buttons-container {
    display: inline-grid;
    justify-content: end;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.accesscontrol-container .cancel-btn {
    background: white;
    color: #004F88;
    border: 1px solid #004F88;
    padding: 10px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.accesscontrol-container .submit-btn {
    justify-content: center;
}

.accesscontrol-container .selected-component {
    color: #004F88 !important;
    font-weight: 600;
}

.accesscontrol-container .sub-content-link a {
    color: black;
    text-decoration: none;
}

.accesscontrol-container .cancel-btn:hover {
    color: #004F88 !important;
}

.accesscontrol-container .header-1 th {
    border-bottom: none !important;
    border-top: none !important;
}

.accesscontrol-container .header-2 th {
    border-top: none !important;
}

.accesscontrol-container .sub-content-link a {
    display: flex;
    align-items: center;
    gap: 10px;
}

.accesscontrol-container .sub-content-link .material-symbols-outlined {
    color: #004F88;
}

#upsert-responsemessage {
    height: auto;
    width: 100%;
    font-weight: 600;
}

    #upsert-responsemessage .alert {
        display: flex;
        gap: 5px;
    }

.table-view {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.list-view-components .table-header,
.list-view-components .table-row {
    display: grid;
    grid-template-columns: 1fr 139px 130px 80px;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.list-view-components .cell-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: black;
    text-decoration: none !important;
}

.list-view-components .cell-icon {
    width: 20px;
    height: 20px;
    position: relative;
}

.list-view-components .cell {
    font-size: 14px;
    font-weight: 500;
    color: black;
}

.list-view-components .div-document-list-container {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.list-view-components .table-row .comp-doc-title {
    display: flex;
    align-items: center;
    gap: 5px;
}

.edit-column, .read-column {
    cursor: pointer;
}

.documents-container .message-box {
    width: 60%;
    max-width: 400px;
    padding: 15px 20px;
    border-radius: 8px;
    font-size: 16px;
    text-align: center;
    font-weight: 600;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10000;
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

    .documents-container .message-box.show {
        display: block;
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.05);
    }

.documents-container .message-success {
    background-color: rgba(40, 167, 69, 0.8);
    color: white;
    border: 1px solid #28a745;
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.2);
}

.documents-container .message-failure {
    background-color: rgba(220, 53, 69, 0.8);
    color: white;
    border: 1px solid #dc3545;
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.2);
}
.accesscontrol-container #agencyManageUsers {
    text-decoration: none;
    font-style: italic;
}
.search-results-container {
}
.search-results-filters {
    position: sticky;
    top: calc(var(--header-height) + var(--spacing-6));
    background: var(--dgp-bg);
    border: 1px solid var(--dgp-border);
    border-radius: var(--radius);
    padding: var(--spacing-3);
    max-height: calc(100vh - var(--header-height) - var(--spacing-8));
    overflow-y: auto;
}
.filter-by-components {
    color: #0477B0;
    font-weight: bold;
    font-size: 14px;
    padding-bottom: 10px;
}
    .search-results-filters .filters-section {
    }

    .search-results-filters .filters-list {
    }
        .search-results-filters .filters-list .active {
            background-color: #dee3e9;
        }
.search-results-filters .filters-item:hover {
    background-color: #eef0f3;
}
.search-results-filters .filters-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
    padding: 5px;
    cursor: pointer;
    font-size: var(--fs-sm);
    margin-bottom: 5px;
    text-decoration: none;
}
    .search-results-filters .filters-label {
        flex: 1;
        cursor: pointer;
        color: black;
        font-weight: 500;
    }
.search-results-content {
    min-width: 0;
    max-width: 1100px;
    width: 100%;
    padding: 0;
    margin-left: 15px;
}
    .search-results-content .result-snippet {
        font-size: 14px;
    }
    .search-results-content .result-card {
        background: var(--dgp-bg);
        border: 1px solid var(--dgp-border);
        border-radius: var(--radius);
        padding: 10px 20px;
    }
    .search-results-content .result-title {
        font-size: 16px;
        color: #0477B0;
    }
    .search-results-content .result-link {
        color: #0477B0;
        text-decoration: none;
    }
    .search-results-content .result-breadcrumb-container {
        color: #0477B0;
    }
    .search-results-content .result-breadcrumb-link {
        color: #0477B0;
        font-size: 13px;
        word-wrap: break-word;
        text-decoration: none !important;
    }
    .search-results-content .result-material-symbols-outlined {
        font-size: 16px !important;
        color: #1e8e3e !important;
    }
    .search-results-content .result-card-item {
    }
    .search-results-content .results {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-3);
        width: 100%;
    }
    .search-results-content .results-pagination {
        display: flex;
        padding-left: 0;
        list-style: none;
        justify-content: space-between;
        align-items: center;
        gap: var(--spacing-2);
        width: 100%;
        padding-bottom: 10px;
    }
    .search-results-content .results-pagination-info {
        color: #0477B0;
        font-size: 14px;
        font-weight: bold;
    }
    .search-results-content .results-pagination-link {
        padding: var(--spacing-2) var(--spacing-4);
        color: var(--dgp-accent);
        text-decoration: none;
        font-size: var(--fs-sm);
        min-height: 40px;
        display: flex;
        align-items: center;
        transition: background-color 160ms ease;
        font-weight: 500;
        text-decoration: none;
    }
    .search-results-content .results-pagination-controls {
        display: flex;
        align-self: stretch;
        flex-direction: column;
        align-items: center;
    }
    .search-results-content .results-pagination-per-page {
        color: #0477B0;
        font-size: 14px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: var(--spacing-2);
    }
    .search-results-content .result-pagination-select {
        border: none;
        padding: var(--spacing-1) var(--spacing-2);
        background: var(--dgp-bg);
        color: var(--dgp-text);
        font-size: var(--fs-sm);
    }
    .search-results-content .page-item.active .page-link {
        background-color: #0477B0 !important;
        border-color: #0477B0 !important;
        color:white !important;
    }
    .search-results-content .document-material-symbols-outlined {
        color: #0477B0 !important;
        font-size: 16px !important;
    }
    .search-results-content .component-material-symbols-outlined {
        color: #0477B0 !important;
        font-size: 16px !important;
    }
    .search-results-content .link-disabled {
        display:none;
        cursor: default !important;
    }
#text-search-app {
    border-color: #ced4da;
    box-shadow: none;
    cursor:pointer;
}
#text-search-holder {
    max-width: 400px;
    cursor: pointer;
}

#searchModalDialog {
    max-width: 75vw;
    width: 75vw;
    margin: 2vh auto;
}
/* Whole modal bg */
.search-modal-content {
    background: #F7F9FC;
}

#modalSearchInput:focus {
    box-shadow: none;
}

.txt-search-documents {
    border: 1px #BDBDBD solid !important;
}
.list-group-item {
    padding: .5rem .75rem !important;
}

.search-modal-content {
    background: #F7F9FC;
}

#modalSearchInput:focus {
    box-shadow: none;
}

/* Centered overlay while navigating */
.global-blocker {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(255,255,255,.65);
    display: flex;
    align-items: center;
    justify-content: center;
}
.search-results-error {
    min-height: 150px;
    background: white;
    color: black;
    border: none;
}
.filters-badge {
    background: var(--dgp-muted);
    color: var(--dgp-accent-contrast);
    font-size: var(--fs-xs);
    padding: 2px var(--spacing-2);
    border-radius: 10px;
    min-width: 24px;
    text-align: center;
    font-weight: 500;
}
.search-results-container .filters-col {
    flex-direction: column;
    display: flex;
    gap: 0px;
}
.filters-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5);
}
.empty-state-title {
    margin: 0 0 var(--spacing-3) 0;
    font-size: var(--fs-lg);
    color: var(--dgp-text);
}

.empty-state-description {
    margin: 0 0 var(--spacing-4) 0;
    color: black;
    font-size: var(--fs-lg);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--dgp-muted);
}
.empty-state {
    text-align: center;
    padding: var(--spacing-8) var(--spacing-4);
    margin: 0 auto;
}
.empty-state-suggestion .material-symbols-outlined {
    font-size: 36px;
}
.empty-state-suggestion {
    margin-bottom: 10px;
    color: black;
    font-size: var(--fs-sm);
}
    .component-badge {
        padding: var(--spacing-1) var(--spacing-3);
        background: rgba(0, 105, 194, 0.1);
        border: 1px solid rgba(0, 105, 194, 0.3);
        border-radius: var(--radius);
        color: var(--dgp-accent);
        font-size: var(--fs-xs);
        font-weight: 500;
        text-decoration: none;
        white-space: nowrap;
    }

    .component-badge:hover {
        background: rgba(0, 105, 194, 0.15);
        text-decoration: none;
        color: var(--dgp-accent);
    }

    .component-badge:focus {
        outline: 2px solid var(--dgp-focus);
        outline-offset: 2px;
    }
.results {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5);
    width: 100%;
}
:root {
    /* Colors - DGP Theme */
    --dgp-bg: #ffffff;
    --dgp-surface: #f8f9fa;
    --dgp-border: #e0e0e0;
    --dgp-text: #333333;
    --dgp-muted: #6c757d;
    --dgp-accent: #0069c2;
    --dgp-accent-contrast: #ffffff;
    --dgp-focus: rgba(0, 105, 194, 0.3);
    --dgp-error: #dc3545;
    --dgp-success: #28a745;
    --dgp-warning: #ffc107;
    /* Layout */
    --radius: 6px;
    --content-max: 1200px;
    --rail: 300px;
    --header-height: 64px;
    /* Spacing */
    --spacing-1: 4px;
    --spacing-2: 8px;
    --spacing-3: 12px;
    --spacing-4: 16px;
    --spacing-5: 20px;
    --spacing-6: 24px;
    --spacing-8: 32px;
    /* Typography */
    --fs-xs: 12px;
    --fs-sm: 14px;
    --fs-md: 16px;
    --fs-lg: 20px;
    --fs-xl: 24px;
    /* Shadows - DGP Theme */
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 3px 6px rgba(0, 0, 0, 0.1);
}

/* Dark Mode Support */
[data-theme="dark"] {
    --dgp-bg: #0d1117;
    --dgp-surface: #161b22;
    --dgp-border: #30363d;
    --dgp-text: #f0f6fc;
    --dgp-muted: #8b949e;
    --dgp-accent: #1f6feb;
    --dgp-focus: rgba(31, 111, 235, 0.4);
}

/* Base Styles */
* {
    box-sizing: border-box;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-2);
    padding: var(--spacing-2) var(--spacing-3);
    border: 1px solid var(--dgp-border);
    border-radius: var(--radius);
    font-size: var(--fs-sm);
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease;
    min-height: 32px;
}
.header-search-container {
    margin-right: var(--spacing-4);
    flex: 1;
    max-width: 800px;
}
.page-link {
    background-color: #8a88865c !important;
    color:black !important;
}
/* Show/Hide classes for responsive design */

/* Mobile version: show only below 768px */
.show-mobile-until-1157 {
    display: none;
}

@media (max-width: 767px) {
    .show-mobile-until-1157 {
        display: block;
    }
}

/* Medium version: show only between 768px and 1157px */
.show-md-until-1157 {
    display: none;
}

@media (min-width: 768px) and (max-width: 1157px) {
    .show-md-until-1157 {
        display: block;
    }
}

/* Desktop version: show only at 1158px and above */
.hide-until-1158 {
    display: none;
}

@media (min-width: 1158px) {
    .hide-until-1158 {
        display: block;
    }
}
/* GitHub-style Footer */
.dgp-footer {
    padding: 24px 0;
    border-top: 1px solid #d0d7de;
    background-color: #ffffff;
}

.footer-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    font-size: 14px;
}

.footer-logo {
    height: 24px;
    width: auto;
    flex-shrink: 0;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.footer-link {
    white-space: nowrap;
    flex-shrink: 0;
}

.footer-copy {
    color: black !important;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
    margin-left: auto;
    text-align: right;
}

/* Center everything on smaller screens */
@media (max-width: 1200px) {
    .footer-bar {
        justify-content: center;
    }

        .footer-bar > a:first-child {
            width: 100%;
            text-align: center;
        }

    .footer-links {
        width: 100%;
        justify-content: center !important;
    }

    .footer-copy {
        margin-left: 0;
        width: 100%;
        text-align: center !important;
    }
}
.body-pt {
    padding-top: 75px;
}
/* Small devices (landscape phones, 576px to 767px) */
@media (max-width: 767px) and (min-width: 576px) {
    .body-pt {
        padding-top: 120px;
    }
}
@media (min-width: 768px) and (max-width: 1157px) {
    .body-pt {
        padding-top: 120px;
    }
}
@media (max-width: 575px) {
    .body-pt {
        padding-top: 120px;
    }
}
.current-page {
    color: black;
    font-size: 14px;
    font-weight: 600;
    word-wrap: break-word;
    text-decoration: none !important;
}