/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

:root {
    --themeColor: #155dfc;
    --textColor: #ffffff;
    --borderColor: #dddddd;
}
.box-hover-blue {
    border-radius: 8px;
    transition: all 0.3s ease;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hover-blue:not(.locked):hover {
    background-color: #0d6efd0f !important;
    color: #0d6efd !important;
}

.hover-blue:not(.locked):hover img {
    filter: brightness(0) saturate(100%) invert(29%) sepia(98%) saturate(7469%)
        hue-rotate(210deg) brightness(99%) contrast(104%);
}
body {
    background-color: #fafafa;
}
.bg-theme-color {
    background-color: var(--themeColor);
    color: var(--textColor);
}
.bg-theme-color2 {
    background: linear-gradient(to right, #2462ea 0%, #1d4fd9 100%);
    color: var(--textColor);
}
.text-theme {
    color: var(--themeColor);
}
.text-red {
    color: #ff0d00;
}
.lh-01 {
    line-height: 0.1 !important;
}
.lh-02 {
    line-height: 0.2 !important;
}
.lh-03 {
    line-height: 0.3 !important;
}
.lh-04 {
    line-height: 0.4 !important;
}
.lh-05 {
    line-height: 0.5 !important;
}
.lh-06 {
    line-height: 0.6 !important;
}
.fz-24 {
    font-size: 24px;
}
.fz-18 {
    font-size: 18px;
}
.fz-16 {
    font-size: 16px;
}
.fz-14 {
    font-size: 14px;
}
.fz-12 {
    font-size: 12px;
}
.fz-10 {
    font-size: 10px;
}
.btn-outline-theme {
    border-color: var(--themeColor);
    color: var(--themeColor);
    background-color: #fff;
}
.btn-outline-theme:hover,
.btn-outline-theme:focus {
    border-color: var(--themeColor);
    color: var(--themeColor);
    background-color: #fff;
}
.cursor-pointer {
    cursor: pointer;
}
::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f5f5f5;
}

::-webkit-scrollbar-thumb {
    background-color: #0d6efd;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #2178fa;
}

* {
    scrollbar-width: thin;
    scrollbar-color: #0d6efd #f5f5f5;
}

.box-icon {
    aspect-ratio: 1 / 1;
    width: 18px;
    height: 18px;
}

.btn-hover-dpa:hover {
    background: rgba(200, 200, 200, 0.2);
    backdrop-filter: blur(10px);
}
a,
p,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ul,
ol {
    font-family: "open sans", sans-serif !important;
}

input[readonly] {
    background-color: #e9ecef !important;
    color: #495057 !important;
    cursor: default !important;
}

.dropdown-menu-end {
    width: inherit;
}
.btn-back {
    cursor: pointer;
}

.toastWrapper {
    position: fixed;
    top: 80px;
    right: 20px;
    bottom: auto;
    left: auto;
    z-index: 1100;
}
#successToast {
    font-size: 1.2rem;
    min-width: 220px !important;
    max-width: 90vw !important;
    border-radius: 8px !important;
}
a.text-dark:hover {
    color: var(--themeColor) !important;
}
.icon-hover:hover {
    color: var(--themeColor) !important;
}
#btn-close-search,
#btn-open-search,
.accept-search {
    cursor: pointer;
}
.offcanvas.offcanvas-end {
    width: 550px;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}
#search-header {
    z-index: 1031;
}
.footer-telkom {
    background-color: #f9fafb;
}

.select2-custom .select2-container--default .select2-selection--multiple {
    min-height: calc(3rem + 2px); /* sama kayak form-select */
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
}
.select2-custom .select2-container--default .select2-selection--single {
    height: calc(2.25rem + 2px); /* sama kayak form-select */
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
}

.select2-custom
    .select2-container--default
    .select2-selection--single
    .select2-selection__rendered,
.select2-custom
    .select2-container--default
    .select2-selection--multiple
    .select2-selection__rendered {
    line-height: 1.5;
}

.select2-custom
    .select2-container--default
    .select2-selection--single
    .select2-selection__arrow,
.select2-custom
    .select2-container--default
    .select2-selection--multiple
    .select2-selection__arrow {
    height: 100%;
    right: 0.75rem;
}
div.dataTables_wrapper div.dataTables_processing {
    top: calc(50% - 40px) !important;
    z-index: 999 !important;
}

@media (max-width: 576px) {
    .toastWrapper {
        bottom: 70px;
        left: 50%;
        transform: translateX(-50%);
        top: auto;
        right: auto;
    }

    #successToast {
        font-size: 0.9rem;
        min-width: 220px !important;
        max-width: 90vw !important;
        border-radius: 8px !important;
    }
    .offcanvas.offcanvas-end {
        width: 250px;
        border-top-left-radius: 15px;
        border-bottom-left-radius: 15px;
    }
    .footer-telkom {
        margin-bottom: 60px;
        background-color: #f9fafb;
        display: none;
    }
    .fz-24 {
        font-size: 18px;
    }
    .fz-16 {
        font-size: 14px;
    }
}

@media (min-width: 577px) {
    .fz-14 {
        font-size: 18px;
    }
    .fz-12 {
        font-size: 16px;
    }
    .dropdown-menu-end {
        width: 200px;
    }
    .fz-10 {
        font-size: 12px;
    }
}
