/*
* demo.css
* File include item demo only specific css only
******************************************************************************/
.custom-yellow-bg {
    background-color: #26a0da !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}

#vrm_search::placeholder {
    color: #fff !important;
    /* darker text for contrast */
}

.light-style .menu .app-brand.demo {
    height: 64px;
}

.dark-style .menu .app-brand.demo {
    height: 64px;
}

.app-brand-logo.demo {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -ms-flexbox;
    display: flex;
    width: 50px;
    height: 50px;
}

.app-brand-logo.demo-auth {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -ms-flexbox;
    display: flex;
    width: 128px;
    height: 128px;
}

.app-brand-text.demo {
    font-size: 1.375rem;
}

/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
    padding-top: 64px !important;
}

.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
    padding-top: 78px !important;
}

/* Navbar page z-index issue solution */
.content-wrapper .navbar {
    z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks>* {
    display: block !important;
}

.demo-inline-spacing>* {
    margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing>* {
    margin-top: 1rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.demo-vertical-spacing-lg>* {
    margin-top: 1.875rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing-lg.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.demo-vertical-spacing-xl>* {
    margin-top: 5rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing-xl.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.rtl-only {
    display: none !important;
    text-align: left !important;
    direction: ltr !important;
}

[dir="rtl"] .rtl-only {
    display: block !important;
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 1rem;
}

.layout-demo-placeholder img {
    width: 900px;
}

.layout-demo-info {
    text-align: center;
    margin-top: 1rem;
}

body.swal2-shown>[aria-hidden="true"] {
    transition: 0.1s filter;
    filter: blur(10px);
}

.colored-toast.swal2-icon-success {
    background-color: #26a0da !important;
}

.colored-toast.swal2-icon-error {
    background-color: #d34c4d !important;
}

.colored-toast.swal2-icon-warning {
    background-color: #e68f3c !important;
}

.colored-toast.swal2-icon-info {
    background-color: #00bad1 !important;
}

.colored-toast.swal2-icon-question {
    background-color: #97999d !important;
}

.colored-toast .swal2-title {
    color: white !important;
}

.colored-toast .swal2-close {
    color: white !important;
}

.colored-toast .swal2-html-container {
    color: white !important;
}

.swal2-popup.swal2-toast {
    padding: 10px !important;
}

.swal2-toast .swal2-title {
    font-size: 1em !important;
    margin: 0.5em !important;
}

.datepicker,
.datepicker-dropdown {
    z-index: 1080 !important;
}

/* .dropdown-menu.show {
     width: 100% !important;
} */

.datatable-img {
    height: 31px;
}

.job-gallery {
    height: 93px;
    object-fit: contain;
}

@media print {
    body {
        background-color: transparent !important;
    }

    .fs-h4 {
        font-size: 14px !important;
        margin-bottom: 5px;
        color: black !important;
    }

    .fs-h5 {
        font-size: 13px !important;
        margin-bottom: 5px;
        color: black !important;
    }

    .fs-p {
        color: black !important;
        font-size: 9px !important;
        margin-bottom: 5px;
    }

    .table th {
        padding: 5px !important;
        font-size: 11px !important;
        color: black !important;
    }

    .table td {
        padding: 5px !important;
        font-size: 9px !important;
        color: black !important;
    }

    .sale-table thead th {
        font-size: 9px !important;
        font-weight: bold !important;
        padding: 3px !important;
        color: black !important;
    }

    .sale-table tbody td {
        font-size: 7px !important;
        padding: 3px !important;
        color: black !important;
    }

    .sale-table tfoot td {
        font-size: 7px !important;
        padding: 3px !important;
        color: black !important;
    }
}

/* Custom Light Theme Color Scheme Overrides */
/* Font: Outfit */
body,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
.btn,
.form-control {
    font-family: 'Outfit', sans-serif !important;
}

/* Primary Color: #26a0da, Gradient: #314755 -> #26a0da -> #314755 */

:root {
    --bs-primary: #26a0da;
    --bs-primary-rgb: 38, 160, 218;
}

.text-primary {
    color: #26a0da !important;
}

.bg-primary {
    background-color: #26a0da !important;
}

/* Primary Button with Gradient Hover */
.btn-primary {
    background-image: linear-gradient(to right, #314755 0%, #26a0da 51%, #314755 100%) !important;
    background-size: 200% auto !important;
    border-color: transparent !important;
    transition: 0.5s;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-position: right center !important;
    /* shift the gradient */
    color: #fff !important;
    text-decoration: none !important;
    border-color: transparent !important;
    box-shadow: 0 0.25rem 1rem rgba(38, 160, 218, 0.4) !important;
}

/* Outline Buttons */
.btn-outline-primary {
    color: #26a0da !important;
    border-color: #26a0da !important;
}

.btn-outline-primary:hover {
    background-color: #26a0da !important;
    color: #fff !important;
    box-shadow: 0 0.25rem 1rem rgba(38, 160, 218, 0.4) !important;
}

/* Active Menu Item with Gradient */
.bg-menu-theme.menu-vertical .menu-item.active>.menu-link:not(.menu-toggle) {
    background-image: linear-gradient(to right, #314755 0%, #26a0da 51%, #314755 100%) !important;
    background-size: 200% auto !important;
    color: #fff !important;
    box-shadow: 0 4px 6px -1px rgba(38, 160, 218, 0.5) !important;
    transition: 0.5s;
}

.bg-menu-theme.menu-vertical .menu-item.active>.menu-link:not(.menu-toggle):hover {
    background-position: right center !important;
}

/* Pagination */
.page-item.active .page-link {
    background-color: #26a0da !important;
    border-color: #26a0da !important;
}

.page-item .page-link:hover {
    background-color: #e8f4fc !important;
    color: #26a0da !important;
    border-color: #26a0da !important;
}

.page-item.active .page-link:hover {
    background-color: #26a0da !important;
    color: #fff !important;
}

/* Form Controls */
.form-control:focus,
.form-select:focus,
.input-group:focus-within .form-control,
.input-group:focus-within .input-group-text {
    border-color: #26a0da !important;
    box-shadow: 0 0 0 0.25rem rgba(38, 160, 218, 0.25) !important;
}

.form-check-input:checked {
    background-color: #26a0da !important;
    border-color: #26a0da !important;
}

.form-check-input[type=checkbox]:indeterminate {
    background-color: #26a0da !important;
    border-color: #26a0da !important;
}

/* Nav Pills/Tabs */
.nav-pills .nav-link.active,
.nav-pills .nav-link.active:hover,
.nav-pills .nav-link.active:focus {
    background-color: #26a0da !important;
    box-shadow: 0 2px 4px 0 rgba(38, 160, 218, 0.4) !important;
}

/* Switches */
.switch-input:checked~.switch-toggle-slider {
    background: #26a0da !important;
}

.switch-primary.switch .switch-input:checked~.switch-toggle-slider {
    background: #26a0da !important;
}

/* Dropdowns */
.dropdown-item:not(.disabled).active,
.dropdown-item:not(.disabled):active {
    background-color: #26a0da !important;
}

/* Links */
a {
    color: #26a0da;
}

a:hover {
    color: #1a82b8;
    /* slightly darker for hover */
}

/* Success Color Overrides - Replacing Green with Primary Blue */

/* Buttons */
.btn-success {
    background-color: #26a0da !important;
    border-color: #26a0da !important;
    color: #fff !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
    background-color: #1a82b8 !important;
    /* Slightly darker */
    border-color: #1a82b8 !important;
    color: #fff !important;
    box-shadow: 0 0.25rem 1rem rgba(38, 160, 218, 0.4) !important;
}

.btn-outline-success {
    color: #26a0da !important;
    border-color: #26a0da !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-outline-success.active {
    background-color: #26a0da !important;
    color: #fff !important;
    box-shadow: 0 0.25rem 1rem rgba(38, 160, 218, 0.4) !important;
}

/* Alerts */
.alert-success {
    background-color: #e8f4fc !important;
    /* Light blue background */
    border-color: #26a0da !important;
    color: #26a0da !important;
}

/* Badges / Labels */
.badge-success,
.bg-label-success,
.badge-info,
.bg-label-info {
    background-color: #e8f4fc !important;
    color: #26a0da !important;
}

.badge-secondary,
.bg-label-secondary {
    background-color: #f1f3f4 !important;
    color: #314755 !important;
}

/* Text */
.text-success {
    color: #26a0da !important;
}

/* Backgrounds */
.bg-success {
    background-color: #26a0da !important;
}

/* SweetAlert2 Success Icon */
.swal2-icon.swal2-success {
    border-color: #26a0da !important;
    color: #26a0da !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
    border: .25em solid rgba(38, 160, 218, 0.3) !important;
}

.swal2-icon.swal2-success [class^='swal2-success-line'] {
    background-color: #26a0da !important;
}

.colored-toast.swal2-icon-success {
    background-color: #26a0da !important;
}

/* Dropdown active items */
.dropdown-item.active,
.dropdown-item:active {
    background-color: #26a0da !important;
}

/* Form Valid/Success States */
.form-control.is-valid,
.was-validated .form-control:valid {
    border-color: #26a0da !important;
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
    border-color: #26a0da !important;
    box-shadow: 0 0 0 0.25rem rgba(38, 160, 218, 0.25) !important;
}

/* Dashboard Widget Glass Effect */
.glass-widget {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
    border-radius: 15px;
    color: #fff !important;
    transition: all 0.3s ease;
    overflow: hidden;
    position: relative;
    height: 100%;
}

.glass-widget:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.25);
}

/* Shine effect on hover */
.glass-widget::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
    transform: skewX(-25deg);
    transition: 0.5s;
    pointer-events: none;
    z-index: 2;
}

.glass-widget:hover::before {
    left: 125%;
}

/* Unique Gradients for each card type */
.glass-widget-primary {
    /* Deep Ocean Blue */
    background: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
}

.glass-widget-warning {
    /* Burning Orange */
    background: linear-gradient(135deg, #FF416C 0%, #FF4B2B 100%);
}

.glass-widget-info {
    /* Royal Blue / Purple */
    background: linear-gradient(135deg, #654ea3 0%, #eaafc8 100%);
}

.glass-widget-success {
    /* Electric Blue */
    background: linear-gradient(135deg, #26a0da 0%, #314755 100%);
}

.glass-widget .card-header,
.glass-widget .card-body {
    background: transparent !important;
    position: relative;
    z-index: 1;
}

.glass-widget .avatar-initial {
    background: rgba(255, 255, 255, 0.25) !important;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.glass-widget p,
.glass-widget h4,
.glass-widget i {
    color: #fff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.glass-widget .dropdown-toggle::after {
    color: #fff;
}

/* Portal Navigation Revamp */
.portal-sidebar {
    border-right: 1px solid var(--bs-border-color-translucent);
    background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .08) 0%, rgba(var(--bs-primary-rgb), .02) 35%, rgba(255, 255, 255, 0) 100%);
}

.portal-sidebar-brand {
    padding: .9rem .85rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    margin-bottom: .25rem;
}

.portal-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.portal-brand-subtitle {
    color: var(--bs-secondary-color);
    font-size: .68rem;
    letter-spacing: .11em;
    text-transform: uppercase;
    font-weight: 600;
}

.portal-menu-label {
    color: var(--bs-secondary-color);
    font-size: .66rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 600;
    margin: .9rem 1.05rem .5rem;
}

.portal-menu-inner .menu-link {
    margin: .16rem .65rem;
    border-radius: .8rem;
    padding: .62rem .78rem;
    border: 1px solid transparent;
    transition: all .2s ease;
}

.portal-menu-inner .menu-link:hover {
    border-color: var(--bs-border-color-translucent);
    background: rgba(var(--bs-primary-rgb), .06);
}

.portal-menu-icon {
    width: 1.65rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.portal-menu-text {
    font-weight: 500;
    letter-spacing: .01em;
}

.portal-menu-inner .menu-item.open > .menu-link,
.portal-menu-inner .menu-item.active > .menu-link {
    border-color: rgba(var(--bs-primary-rgb), .22);
    background: linear-gradient(120deg, rgba(var(--bs-primary-rgb), .15), rgba(var(--bs-primary-rgb), .07));
    box-shadow: 0 .35rem .9rem rgba(34, 48, 62, .06);
}

.portal-menu-inner .menu-sub .menu-link {
    margin-left: .35rem;
    margin-right: .35rem;
    border-left: 2px solid transparent;
    border-radius: .6rem;
    padding-top: .45rem;
    padding-bottom: .45rem;
}

.portal-menu-inner .menu-sub .menu-item.active > .menu-link {
    border-left-color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), .08);
}

.portal-topbar {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    padding: .55rem .95rem;
    background: rgba(255, 255, 255, .88);
    backdrop-filter: blur(8px);
    box-shadow: 0 .35rem .9rem rgba(34, 48, 62, .05);
}

.portal-topbar-title h5 {
    font-size: .98rem;
    font-weight: 700;
}

.portal-topbar-title small {
    color: var(--bs-secondary-color);
    font-size: .78rem;
}

.portal-topbar-btn {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .2s ease;
}

.portal-topbar-btn:hover {
    background: rgba(var(--bs-primary-rgb), .1);
    border-color: rgba(var(--bs-primary-rgb), .28);
}

.portal-user-toggle {
    display: flex !important;
    align-items: center;
    gap: .65rem;
    padding: .34rem .62rem !important;
    transition: all .2s ease;
}

.portal-user-toggle:hover {
    border-color: rgba(var(--bs-primary-rgb), .28);
    background: rgba(var(--bs-primary-rgb), .09);
}

.portal-user-meta {
    flex-direction: column;
    line-height: 1.1;
}

.portal-user-name {
    font-size: .82rem;
    font-weight: 600;
    color: var(--bs-heading-color);
}

.portal-user-role {
    font-size: .72rem;
    color: var(--bs-secondary-color);
}

.portal-topbar-dropdown {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: .9rem;
    box-shadow: 0 .5rem 1.4rem rgba(34, 48, 62, .08);
}

@media (max-width: 1199px) {
    .portal-topbar {
        border-radius: .85rem;
    }

    .portal-user-toggle {
        padding: .28rem .5rem !important;
    }
}