/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root { scroll-behavior: smooth; }
body { font-family: "Open Sans", sans-serif; background: #f6f9ff; color: #444444; }
a { color: #4154f1; text-decoration: none; }
a:hover { color: #717ff5; text-decoration: none; }
h1, h2, h3, h4, h5, h6 { font-family: "Nunito", sans-serif; }
/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
#main { margin-top: 70px; padding: 0; transition: all 0.3s; }
#main .pagetitle, #main > section { padding: 0 5px; }
.toggle-sidebar .header { margin-left: 0; }
/*--------------------------------------------------------------
# Page Title
--------------------------------------------------------------*/
.pagetitle { margin-bottom: 10px; }
.pagetitle h1 { font-size: 24px; margin-bottom: 0; font-weight: 600; color: #012970; }
/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top { position: fixed; visibility: hidden; opacity: 0; right: 15px; bottom: 15px; z-index: 99999; background: #4154f1; width: 40px; height: 40px; border-radius: 4px; transition: all 0.4s; }
.back-to-top i { font-size: 24px; color: #fff; line-height: 0; }
.back-to-top:hover { background: #6776f4; color: #fff; }
.back-to-top.active { visibility: visible; opacity: 1; }
/*--------------------------------------------------------------
# Override some default Bootstrap stylings
--------------------------------------------------------------*/
/* Dropdown menus */
.dropdown-menu { border-radius: 4px; padding: 10px 0; animation-name: dropdown-animate; animation-duration: 0.2s; animation-fill-mode: both; border: 0; box-shadow: 0 5px 30px 0 rgba(82, 63, 105, 0.2); }
.dropdown-menu .dropdown-header, .dropdown-menu .dropdown-footer { text-align: center; font-size: 15px; padding: 10px 25px; }
.dropdown-menu .dropdown-footer a { color: #444444; text-decoration: underline; }
.dropdown-menu .dropdown-footer a:hover { text-decoration: none; }
.dropdown-menu .dropdown-divider { color: #a5c5fe; margin: 0; }
.dropdown-menu .dropdown-item { font-size: 14px; padding: 10px 15px; transition: 0.3s; }
.dropdown-menu .dropdown-item i { margin-right: 10px; font-size: 18px; line-height: 0; }
.dropdown-menu .dropdown-item:hover { background-color: #f6f9ff; }
@media (min-width: 768px) {
.dropdown-menu-arrow::before { content: ""; width: 13px; height: 13px; background: #fff; position: absolute; top: -7px; right: 20px; transform: rotate(45deg); border-top: 1px solid #eaedf1; border-left: 1px solid #eaedf1; }
}
@keyframes dropdown-animate {  0% {
 opacity: 0;
}
 100% {
 opacity: 1;
}
 0% {
 opacity: 0;
}
}
.btn, .btn:hover { border-radius: 10px !important; }
.btn-info { background: #6481f5 !important; color: #fff; border: 1px solid #6481f5; }
.btn-info:hover { background: #5374fa !important; color: #fff; border: 1px solid #5374fa; }
/* Light Backgrounds */
.bg-primary-light { background-color: #cfe2ff; border-color: #cfe2ff; }
.bg-secondary-light { background-color: #e2e3e5; border-color: #e2e3e5; }
.bg-success-light { background-color: #d1e7dd; border-color: #d1e7dd; }
.bg-danger-light { background-color: #f8d7da; border-color: #f8d7da; }
.bg-warning-light { background-color: #fff3cd; border-color: #fff3cd; }
.bg-info-light { background-color: #cff4fc; border-color: #cff4fc; }
.bg-dark-light { background-color: #d3d3d4; border-color: #d3d3d4; }
/* Card */
.card { border: none; border-radius: 10px; box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1); border: 1px solid #deebfd; padding: 10px; }
.card-header, .card-footer { border-color: #ebeef4; background-color: #fff; color: #798eb3; padding: 15px; }
.card-title { padding: 20px 0 15px 0; font-size: 18px; font-weight: 500; color: #012970; font-family: "Poppins", sans-serif; }
.card-title span { color: #899bbd; font-size: 14px; font-weight: 400; }
.card-body { padding: 0 20px 20px 20px; }
.card-img-overlay { background-color: rgba(255, 255, 255, 0.6); }
/* Alerts */
.alert-heading { font-weight: 500; font-family: "Poppins", sans-serif; font-size: 20px; }
/* Close Button */
.btn-close { background-size: 25%; }
.btn-close:focus { outline: 0; box-shadow: none; }
/* Accordion */
.accordion-item { border: none; margin: 10px 0; text-align: left; }
.accordion-button { background: #f0f4f7; border-radius: 10px !important; font-weight: 600; font-size: 18px; }
.accordion-button:focus { outline: 0; box-shadow: none; }
.accordion-button:not(.collapsed) { color: #012970; background-color: #f6f9ff; border: 1px solid #ccc; }
.accordion-flush .accordion-button { padding: 15px 0; background: none; border: 0; }
.accordion-flush .accordion-button:not(.collapsed) { box-shadow: none; color: #4154f1; }
.accordion-flush .accordion-body { padding: 0 0 15px 0; color: #3e4f6f; font-size: 15px; }
/* Breadcrumbs */
.breadcrumb { font-size: 14px; font-family: "Nunito", sans-serif; color: #9a9a9a; font-weight: 600; }
.breadcrumb a { color: #9a9a9a; transition: 0.3s; }
.breadcrumb a:hover { color: #51678f; }
.breadcrumb .breadcrumb-item::before { color: #899bbd; }
.breadcrumb .active { color: #012970; font-weight: 700; font-size: 16px; }
/* Bordered Tabs */
.nav-tabs-bordered { border-bottom: 2px solid #ebeef4; }
.nav-tabs-bordered .nav-link { margin-bottom: -2px; border: none; color: #2c384e; }
.nav-tabs-bordered .nav-link:hover, .nav-tabs-bordered .nav-link:focus { color: #4154f1; }
.nav-tabs-bordered .nav-link.active { background-color: #fff; color: #4154f1; border-bottom: 2px solid #4154f1; }
/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.logo { line-height: 1; }
.logo span { font-size: 26px; font-weight: 700; color: #012970; font-family: "Nunito", sans-serif; }
.header { transition: all 0.5s; z-index: 997; height: 60px; box-shadow: 0px 2px 20px rgba(1, 41, 112, 0.1); background-color: #fff; padding-left: 20px; margin-left: 300px; /* Toggle Sidebar Button *//* Search Bar */
}
.header .toggle-sidebar-btn { font-size: 32px; cursor: pointer; color: #012970; }
.header .search-bar { min-width: 360px; padding: 0 20px; }
@media (max-width: 1199px) {
.header .search-bar { position: fixed; top: 50px; left: 0; right: 0; padding: 20px; box-shadow: 0px 0px 15px 0px rgba(1, 41, 112, 0.1); background: white; z-index: 9999; transition: 0.3s; visibility: hidden; opacity: 0; }
.header .search-bar-show { top: 60px; visibility: visible; opacity: 1; }
}
.header .search-form { width: 100%; }
.header .search-form input { border: 0; font-size: 14px; color: #012970; border: 1px solid rgba(1, 41, 112, 0.2); padding: 7px 38px 7px 8px; border-radius: 3px; transition: 0.3s; width: 100%; }
.header .search-form input:focus, .header .search-form input:hover { outline: none; box-shadow: 0 0 10px 0 rgba(1, 41, 112, 0.15); border: 1px solid rgba(1, 41, 112, 0.3); }
.header .search-form button { border: 0; padding: 0; margin-left: -30px; background: none; }
.header .search-form button i { color: #012970; }
/*--------------------------------------------------------------
# Header Nav
--------------------------------------------------------------*/
.header-nav ul { list-style: none; }
.header-nav > ul { margin: 0; padding: 0; }
.header-nav .nav-icon { font-size: 22px; color: #012970; margin-right: 25px; position: relative; }
.header-nav .nav-profile { color: #012970; }
.header-nav .nav-profile img { max-height: 36px; }
.header-nav .nav-profile span { font-size: 14px; font-weight: 600; }
.header-nav .badge-number { position: absolute; inset: -2px -5px auto auto; font-weight: normal; font-size: 12px; padding: 3px 6px; }
.header-nav .notifications { inset: 8px -15px auto auto !important; }
.header-nav .notifications .notification-item { display: flex; align-items: center; padding: 15px 10px; transition: 0.3s; }
.header-nav .notifications .notification-item i { margin: 0 20px 0 10px; font-size: 24px; }
.header-nav .notifications .notification-item h4 { font-size: 16px; font-weight: 600; margin-bottom: 5px; }
.header-nav .notifications .notification-item p { font-size: 13px; margin-bottom: 3px; color: #919191; }
.header-nav .notifications .notification-item:hover { background-color: #f6f9ff; }
.header-nav .messages { inset: 8px -15px auto auto !important; }
.header-nav .messages .message-item { padding: 15px 10px; transition: 0.3s; }
.header-nav .messages .message-item a { display: flex; }
.header-nav .messages .message-item img { margin: 0 20px 0 10px; max-height: 40px; }
.header-nav .messages .message-item h4 { font-size: 16px; font-weight: 600; margin-bottom: 5px; color: #444444; }
.header-nav .messages .message-item p { font-size: 13px; margin-bottom: 3px; color: #919191; }
.header-nav .messages .message-item:hover { background-color: #f6f9ff; }
.header-nav .profile { min-width: 240px; padding-bottom: 0; top: 8px !important; }
.header-nav .profile .dropdown-header h6 { font-size: 18px; margin-bottom: 0; font-weight: 600; color: #444444; }
.header-nav .profile .dropdown-header span { font-size: 14px; }
.header-nav .profile .dropdown-item { font-size: 14px; padding: 10px 15px; transition: 0.3s; }
.header-nav .profile .dropdown-item i { margin-right: 10px; font-size: 18px; line-height: 0; }
.header-nav .profile .dropdown-item:hover { background-color: #f6f9ff; }
/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: 300px; z-index: 1000; transition: all 0.3s; padding: 15px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #aab7cf transparent; box-shadow: 0px 0px 20px rgba(1, 41, 112, 0.1); background-color: #fff; }
.sidebar .sidebar-logo-block { text-align: center; }
.sidebar .sidebar-logo-block img { margin-bottom: 10px; }
.sidebar .logo { display: block; text-align: center; margin-bottom: 30px; }
@media (max-width: 1199px) {
.sidebar { left: -300px; }
.header { margin-left: 0; }
.toggle-sidebar .sidebar { left: 0; }
.toggle-sidebar header { margin-left: 300px !important; }
#main { margin-left: 0; }
.toggle-sidebar #main { margin-left: 300px; }
}
.sidebar::-webkit-scrollbar {
 width: 5px;
 height: 8px;
 background-color: #fff;
}
.sidebar::-webkit-scrollbar-thumb {
 background-color: #aab7cf;
}
@media (min-width: 1200px) {
#main { margin-left: 300px; }
.toggle-sidebar #main { margin-left: 0; }
.toggle-sidebar .sidebar { left: -300px; }
}
@media (max-width: 991.98px) {
.toggle-sidebar .page-content,  .toggle-sidebar footer { filter: blur(2px); }
.toggle-sidebar #main { margin-left: 0; }
}
.sidebar-nav { padding: 0; margin: 0; list-style: none; }
.sidebar-nav li { padding: 0; margin: 0; list-style: none; }
.sidebar-nav .nav-item { margin-bottom: 5px; }
.sidebar-nav .nav-heading { font-size: 11px; text-transform: uppercase; color: #899bbd; font-weight: 600; margin: 10px 0 5px 15px; }
.sidebar-nav .nav-link { display: flex; align-items: center; font-size: 15px; font-weight: 600; color: #fff; transition: 0.3; padding: 10px 15px; }
.sidebar-nav .nav-item.active-link, .sidebar-nav .nav-item:hover { background: linear-gradient(to left, #8b22bc, #6481f5); border-radius: 10px; }
.sidebar-nav .nav-item.active-link a, .sidebar-nav .nav-item:hover a, .sidebar-nav .nav-item:hover .nav-link i { color: #fff; }
/* .sidebar-nav .nav-item .nav-link.collapsed { background: linear-gradient(to left, #8B22BC, #6481F5);  } */

.sidebar-nav .nav-link:not(.collapsed) { background: linear-gradient(to left, #8b22bc, #6481f5); border-radius: 10px 10px 0 0; }
.sidebar-nav .nav-item .nav-content.show { background: linear-gradient(to left, #8b22bc, #6481f5); border-radius: 0 0 10px 10px; padding-bottom: 10px; }
.sidebar-nav .nav-item .nav-content.show li a, .sidebar-nav .nav-item .nav-content.show li a i { color: #fff; }
.sidebar-nav .nav-item.single-link a { border-radius: 10px; }
.sidebar-nav .nav-link i { font-size: 18px; margin-right: 10px; color: #fff; }
.sidebar-nav .nav-link.collapsed { color: #012970; }
.sidebar-nav .nav-link.collapsed i { color: #8c75eb; }
/* .sidebar-nav .nav-link:hover { color: #fff; background: linear-gradient(to left, #8B22BC, #6481F5);border-radius: 10px; }
.sidebar-nav .nav-link:hover i { color: #fff; } */
.sidebar-nav .nav-link .bi-chevron-down { margin-right: 0; transition: transform 0.2s ease-in-out; }
.sidebar-nav .nav-link:not(.collapsed) .bi-chevron-down { transform: rotate(180deg); }
.sidebar-nav .nav-content { padding: 5px 0 0 0; margin: 0; list-style: none; }
.sidebar-nav .nav-content a { display: flex; align-items: center; font-size: 14px; font-weight: 600; color: #012970; transition: 0.3; padding: 12px 15px 12px 20px; transition: 0.3s; }
.sidebar-nav .nav-content a i { font-size: 18px; margin-right: 8px; line-height: 0; border-radius: 50%; }
.sidebar-nav .nav-content a:hover, .sidebar-nav .nav-content a.active { color: #4154f1; }
/* .sidebar-nav .nav-content a.active i { background-color: #4154f1; } */

.sidebar-nav .nav-content a.sub-url-link { padding: 10px 10px 10px 20px; }
.sidebar-nav .nav-content a.sub-url-link i { font-size: 13px; margin-right: 7px; }
.sidebar-nav .nav-content a.sub-url-link:hover, .sidebar-nav .nav-content a.sub-url-link.active { background: #647ff4; }
.sidebar-nav .nav-content .nav-content li a { padding-left: 40px; }
/* 
.sidebar-nav .nav-content .nav-content a i {font-size: 13px;margin-right: 5px;} */

/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/
/* Filter dropdown */
.dashboard .filter { position: absolute; right: 0px; top: 15px; }
.dashboard .filter .icon { color: #aab7cf; padding-right: 20px; padding-bottom: 5px; transition: 0.3s; font-size: 16px; }
.dashboard .filter .icon:hover, .dashboard .filter .icon:focus { color: #4154f1; }
.dashboard .filter .dropdown-header { padding: 8px 15px; }
.dashboard .filter .dropdown-header h6 { text-transform: uppercase; font-size: 14px; font-weight: 600; letter-spacing: 1px; color: #aab7cf; margin-bottom: 0; padding: 0; }
.dashboard .filter .dropdown-item { padding: 8px 15px; }
/* Info Cards */
.dashboard .info-card { padding-bottom: 10px; }
.dashboard .info-card h6 { font-size: 28px; color: #012970; font-weight: 700; margin: 0; padding: 0; }
.dashboard .card-icon { font-size: 32px; line-height: 0; width: 64px; height: 64px; flex-shrink: 0; flex-grow: 0; }
.dashboard .sales-card .card-icon { color: #4154f1; background: #f6f6fe; }
.dashboard .revenue-card .card-icon { color: #2eca6a; background: #e0f8e9; }
.dashboard .customers-card .card-icon { color: #ff771d; background: #ffecdf; }
/* Activity */
.dashboard .activity { font-size: 14px; }
.dashboard .activity .activity-item .activite-label { color: #888; position: relative; flex-shrink: 0; flex-grow: 0; min-width: 64px; }
.dashboard .activity .activity-item .activite-label::before { content: ""; position: absolute; right: -11px; width: 4px; top: 0; bottom: 0; background-color: #eceefe; }
.dashboard .activity .activity-item .activity-badge { margin-top: 3px; z-index: 1; font-size: 11px; line-height: 0; border-radius: 50%; flex-shrink: 0; border: 3px solid #fff; flex-grow: 0; }
.dashboard .activity .activity-item .activity-content { padding-left: 10px; padding-bottom: 20px; }
.dashboard .activity .activity-item:first-child .activite-label::before { top: 5px; }
.dashboard .activity .activity-item:last-child .activity-content { padding-bottom: 0; }
/* News & Updates */
.dashboard .news .post-item + .post-item { margin-top: 15px; }
.dashboard .news img { width: 80px; float: left; border-radius: 5px; }
.dashboard .news h4 { font-size: 15px; margin-left: 95px; font-weight: bold; margin-bottom: 5px; }
.dashboard .news h4 a { color: #012970; transition: 0.3s; }
.dashboard .news h4 a:hover { color: #4154f1; }
.dashboard .news p { font-size: 14px; color: #777777; margin-left: 95px; }
/* Recent Sales */
.dashboard .recent-sales { font-size: 14px; }
.dashboard .recent-sales .table thead { background: #f6f6fe; }
.dashboard .recent-sales .table thead th { border: 0; }
.dashboard .recent-sales .dataTable-top { padding: 0 0 10px 0; }
.dashboard .recent-sales .dataTable-bottom { padding: 10px 0 0 0; }
/* Top Selling */
.dashboard .top-selling { font-size: 14px; }
.dashboard .top-selling .table thead { background: #f6f6fe; }
.dashboard .top-selling .table thead th { border: 0; }
.dashboard .top-selling .table tbody td { vertical-align: middle; }
.dashboard .top-selling img { border-radius: 5px; max-width: 60px; }
/*--------------------------------------------------------------
# Icons list page
--------------------------------------------------------------*/
.iconslist { display: grid; max-width: 100%; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1.25rem; padding-top: 15px; }
.iconslist .icon { background-color: #fff; border-radius: 0.25rem; text-align: center; color: #012970; padding: 15px 0; }
.iconslist i { margin: 0.25rem; font-size: 2.5rem; }
.iconslist .label { font-family: var(--bs-font-monospace); display: inline-block; width: 100%; overflow: hidden; padding: 0.25rem; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; color: #666; }
/*--------------------------------------------------------------
# Profie Page
--------------------------------------------------------------*/
.profile .profile-card img { max-width: 120px; }
.profile .profile-card h2 { font-size: 24px; font-weight: 700; color: #2c384e; margin: 10px 0 0 0; }
.profile .profile-card h3 { font-size: 18px; }
.profile .profile-card .social-links a { font-size: 20px; display: inline-block; color: rgba(1, 41, 112, 0.5); line-height: 0; margin-right: 10px; transition: 0.3s; }
.profile .profile-card .social-links a:hover { color: #012970; }
.profile .profile-overview .row { margin-bottom: 20px; font-size: 15px; }
.profile .profile-overview .card-title { color: #012970; }
.profile .profile-overview .label { font-weight: 600; color: rgba(1, 41, 112, 0.6); }
.profile .profile-edit label { font-weight: 600; color: rgba(1, 41, 112, 0.6); }
.profile .profile-edit img { max-width: 120px; }
/*--------------------------------------------------------------
# F.A.Q Page
--------------------------------------------------------------*/
.faq .basic h6 { font-size: 18px; font-weight: 600; color: #4154f1; }
.faq .basic p { color: #6980aa; }
/*--------------------------------------------------------------
# Admin theme override (dark sidebar)
--------------------------------------------------------------*/
:root {
    --adm-sidebar-bg: #13322c;
    --adm-accent: #d68a4c;
    --adm-text: #eef2f0;
}
.sidebar { background: var(--adm-sidebar-bg); }
.sidebar .sidebar-logo-block h5 { color: #fff; font-weight: 700; letter-spacing: .01em; margin-bottom: 2px; }
.sidebar .sidebar-logo-block small { color: rgba(238, 242, 240, .55); text-transform: uppercase; letter-spacing: .08em; font-size: 10.5px; }
.sidebar hr { border-color: rgba(238, 242, 240, .12); opacity: 1; }
.sidebar-nav .nav-link { color: rgba(238, 242, 240, .85); border-left: 3px solid transparent; border-radius: 8px; }
.sidebar-nav .nav-link i { color: rgba(238, 242, 240, .55); }
.sidebar-nav .nav-item:hover { background: rgba(238, 242, 240, .07); border-radius: 8px; }
.sidebar-nav .nav-item:hover .nav-link { color: #fff; }
.sidebar-nav .nav-item:hover .nav-link i { color: #fff; }
.sidebar-nav .nav-link.active { background: rgba(238, 242, 240, .07); border-left: 3px solid var(--adm-accent); color: #fff; font-weight: 700; }
.sidebar-nav .nav-link.active i { color: #fff; }
.sidebar-nav .nav-link:not(.collapsed) { background: rgba(238, 242, 240, .07) !important; border-radius: 8px; color: #fff; }
.sidebar-nav .nav-link:not(.collapsed) i { color: #fff; }
.sidebar-nav .nav-item .nav-content.show { background: rgba(0, 0, 0, .18) !important; border-radius: 0 0 8px 8px; padding-bottom: 6px; }
.sidebar-nav .nav-item .nav-content.show li a, .sidebar-nav .nav-item .nav-content.show li a i { color: rgba(238, 242, 240, .8) !important; }
.sidebar-nav .nav-content a:hover, .sidebar-nav .nav-content a.active { color: #fff !important; }
.sidebar-nav .nav-link.collapsed { color: rgba(238, 242, 240, .85); }
.sidebar-nav .nav-link.collapsed i { color: rgba(238, 242, 240, .55); }
.sidebar-footer-block { margin-top: 20px; padding: 14px 15px 4px; border-top: 1px solid rgba(238, 242, 240, .12); font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: rgba(238, 242, 240, .5); }
.sidebar-footer-block strong { display: block; margin-top: 3px; font-size: 13px; text-transform: none; letter-spacing: normal; color: #fff; }
.header { background: #fff; box-shadow: 0 2px 16px rgba(19, 50, 44, .08); }
.admin-avatar { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--adm-sidebar-bg); color: #fff; font-weight: 700; font-size: 13px; margin-right: 8px; flex-shrink: 0; }
.header-nav .nav-profile { display: flex; align-items: center; }
.header-nav .nav-profile span.dropdown-toggle { font-weight: 600; color: var(--adm-sidebar-bg); }
/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info-box { padding: 28px 30px; }
.contact .info-box i { font-size: 38px; line-height: 0; color: #4154f1; }
.contact .info-box h3 { font-size: 20px; color: #012970; font-weight: 700; margin: 20px 0 10px 0; }
.contact .info-box p { padding: 0; line-height: 24px; font-size: 14px; margin-bottom: 0; }
.contact .php-email-form .error-message { display: none; color: #fff; background: #ed3c0d; text-align: left; padding: 15px; margin-bottom: 24px; font-weight: 600; }
.contact .php-email-form .sent-message { display: none; color: #fff; background: #18d26e; text-align: center; padding: 15px; margin-bottom: 24px; font-weight: 600; }
.contact .php-email-form .loading { display: none; background: #fff; text-align: center; padding: 15px; margin-bottom: 24px; }
.contact .php-email-form .loading:before { content: ""; display: inline-block; border-radius: 50%; width: 24px; height: 24px; margin: 0 10px -6px 0; border: 3px solid #18d26e; border-top-color: #eee; animation: animate-loading 1s linear infinite; }
.contact .php-email-form input, .contact .php-email-form textarea { border-radius: 0; box-shadow: none; font-size: 14px; border-radius: 0; }
.contact .php-email-form input:focus, .contact .php-email-form textarea:focus { border-color: #4154f1; }
.contact .php-email-form input { padding: 10px 15px; }
.contact .php-email-form textarea { padding: 12px 15px; }
.contact .php-email-form button[type="submit"] { background: #4154f1; border: 0; padding: 10px 30px; color: #fff; transition: 0.4s; border-radius: 4px; }
.contact .php-email-form button[type="submit"]:hover { background: #5969f3; }
@keyframes animate-loading {  0% {
 transform: rotate(0deg);
}
 100% {
 transform: rotate(360deg);
}
}
/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.error-404 { padding: 30px; }
.error-404 h1 { font-size: 180px; font-weight: 700; color: #4154f1; margin-bottom: 0; line-height: 150px; }
.error-404 h2 { font-size: 24px; font-weight: 700; color: #012970; margin-bottom: 30px; }
.error-404 .btn { background: #51678f; color: #fff; padding: 8px 30px; }
.error-404 .btn:hover { background: #3e4f6f; }
@media (min-width: 992px) {
.error-404 img { max-width: 50%; }
}
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer { padding: 20px 0; font-size: 14px; transition: all 0.3s; border-top: 1px solid #cddfff; background: #6481f5; }
.footer .copyright { text-align: center; color: #fff; }
.footer .credits { padding-top: 5px; text-align: center; font-size: 13px; color: #012970; }
.form-control, .form-select { border-radius: 15px; }
main#main { display: flex; min-height: calc(100vh - 70px); flex-direction: column; }
.page-content { flex: 1; padding: 0 15px; }
.pagetitle { display: flex; justify-content: space-between; }
.pagetitle nav { line-height: 40px; }
.pagetitle .breadcrumb { margin-bottom: 0; }
.listing-page section.list-section .card-body { padding: 10px 0; }
.add-record-btn { float: right; background: #0e9cff; border-radius: 10px; border: 1px solid #0e9cff; }
.add-record-btn i { font-size: 18px; -webkit-text-stroke: 0.1px; }
.listing-page .table-bottom-functions, .listing-page .table-top-functions { display: flex; padding: 10px 15px; align-items: center; }
.listing-page .table-bottom-functions p, .listing-page .table-top-functions p { margin-bottom: 0; color: #787878; }
.listing-page .table-top-functions .count-filter p { display: flex; align-items: center; }
.listing-page .table-top-functions select { display: inline-block; margin-left: 10px; }
.listing-page .table-bottom-functions nav, .listing-page .table-top-functions .count-filter { margin-left: auto; }
.listing-page .table-bottom-functions nav ul { margin-bottom: 0; }
.listing-page .search-section .card-body { padding: 10px !important; }
.listing-page .search-section .card-body > div { padding: 5px 1px; display: inline-block; width: 160px; }
.listing-page .search-section .card-body label { display: none; }
.listing-page .search-section .card-body .form-control, .listing-page .search-section .card-body .form-select { color: #848a9c; border: 1px solid #e0e0e0; border-radius: 15px; padding: 8px; min-width: 150px; }
.listing-page .search-section .card-body button { border-radius: 15px; background: #6481f5; border: none; padding: 7px 20px; }
.listing-page .card-body table thead tr th { background: #e8e8e8; font-weight: 600; font-size: 15px; }
.table {  --bs-table-border-color: #d9d9d9;
}
.table > tbody > tr:nth-child(odd) > td, .table > tbody > tr:nth-child(odd) > th { background-color: #fff; font-size: 14px; font-weight: 500; }
.table > tbody > tr:nth-child(even) > td, .table > tbody > tr:nth-child(even) > th { background-color: #eff3f6; font-size: 14px; font-weight: 500; }
.listing-page section.list-section .card-body nav .pagination li { margin: 0 3px; }
.listing-page section.list-section .card-body nav .pagination li a { color: #000; border: 1px solid #b9b9b9; border-radius: 5px; min-width: 40px; text-align: center; }
.listing-page section.list-section .card-body nav .pagination li.active a { background: #6481f5; color: #fff; }
.listing-page section.list-section .card-body nav .pagination li.disable a { color: #b9b9b9; cursor: not-allowed; background: #e9ecef; }
.admin-btn { font-size: 15px; padding: 5px 8px; margin: 0 5px; color: #333; }
.action-icons { font-size: 15px; padding: 5px 8px; margin: 0 5px; }
.action-icons:hover { color: #fff !important; background: #6481f5; border-radius: 5px; }
.action-icons.view-icon { color: #1f35ff; }
.action-icons.edit-icon { color: #818181; }
.action-icons.delete-icon { color: #cd1818; }
.btn-close { border: 1px solid #ccc; border-radius: 20px; width: 22px; height: 22px; padding: 10px; background-size: 50%; box-sizing: border-box; position: absolute; right: 15px; top: 20px; }
.popup-heading { font-size: 20px; color: #000; margin-top: 30px; margin-bottom: 30px; }
#delete-popup .modal-body { padding: 50px 20px; }
#delete-popup .btn { min-width: 60px; margin: 0 5px; }
#view-popup .accordion, .location-add-form .accordion { margin-top: 50px; }
#view-popup .accordion-body > div { width: 24%; display: inline-block; text-align: left; margin: 12px 0; }
.location-add-form .accordion-body > div { display: inline-block; text-align: left; margin: 10px 0; }
.location-add-form .accordion-body.width-2blocks > div { width: 49%; }
#view-popup .accordion-body > div h5, .location-add-form .accordion-body > div h5 { font-size: 16px; margin: 0; color: #444444; font-weight: 600; }
#view-popup .accordion-body > div span, .location-add-form .accordion-body > div span { font-size: 15px; color: #848a9c; }
.w100p { width: 100% !important; }
#view-popup .btn { padding: 7px 30px; margin: 5px; }
.gallery-images > div { width: 280px; display: inline-block; margin: 0 10px; }
.add-gallery-page .search-section .text-center > div { display: flex; align-items: center; justify-content: center; }
.add-gallery-page .search-section .text-center > div * { margin: 0 5px; font-weight: 600; font-size: 14px; }
.add-gallery-page .search-section .text-center h3 { margin-top: 15px; font-size: 22px; margin-bottom: 20px; border-bottom: 1px solid #e7e7e7; padding-bottom: 10px; }
.add-gallery-page .search-section .text-center h3 span { font-weight: bold; }
.add-gallery-page .search-section .text-center > div input { max-width: 450px; }
.add-gallery-page .gallery-images > div img { margin-bottom: 15px; }
.add-gallery-page .gallery-images > div .form-check { text-align: left; }
.add-gallery-page .text-center .gallery-images-actions select { width: 150px; }
.add-gallery-page .text-center .gallery-images-actions { display: flex; align-items: center; justify-content: center; margin-bottom: 20px; margin-top: 20px; }
.add-gallery-page .text-center .gallery-images-actions > * { margin: 0 5px; }
.add-gallery-page .text-center .gallery-images-actions .btn { color: #fff; }
.add-gallery-page .text-center .gallery-images-actions h5 { font-size: 18px; font-weight: 600; color: #222; }
.btn-group a { margin: 0 5px; }
.edit-timings .timings-block > * { display: inline-block; }
.edit-timings .timings-block .btn { line-height: 20px; font-weight: 600; font-size: 14px; }
.edit-timings input.timings { width: 110px; max-width: 110px; font-size: 13px; font-weight: 600; }
.edit-timings table td { vertical-align: middle; }
.edit-timings td span { padding: 0 10px; font-size: 15px; line-height: 40px; }
.edit-timings tr td:first-child { font-weight: 600 !important; }
 @media only screen and (min-width: 1200px) {
#view-popup .modal-xl {  --bs-modal-width: 85%;
}
}
@media only screen and (max-width: 1440px) and (min-width: 1200px) {
.add-gallery-page .search-section .text-center > div input { max-width: 280px; }
.add-gallery-page .search-section .text-center > div * { margin: 0 3px; }
}
@media only screen and (max-width: 1199px) and (min-width: 993px) {
#view-popup .modal-dialog { max-width: 95%; }
#view-popup .accordion-body > div { width: 32%; }
.add-gallery-page .search-section .text-center > div input { max-width: 350px; }
}
@media only screen and (max-width: 992px) and (min-width: 768px) {
#view-popup .modal-dialog { max-width: 95%; }
#view-popup .accordion-body > div { width: 32%; }
.add-gallery-page .search-section .text-center > div input { max-width: 300px; }
.add-gallery-page .search-section .card-body { padding: 0; padding-bottom: 20px; }
.edit-timings td span { padding: 0 2px; }
}
@media only screen and (max-width: 767px) and (min-width: 576px) {
#view-popup .modal-dialog { max-width: 95%; }
#view-popup .accordion-body > div { width: 49%; }
.add-gallery-page .content-section .card-body { padding: 0 10px; }
.add-gallery-page .content-section .gallery-images-actions > * { margin: 0 2px; }
.add-gallery-page .content-section .gallery-images-actions h5 { font-size: 15px; }
.add-gallery-page .content-section .gallery-images-actions select { width: 125px; }
.add-gallery-page .search-section .text-center > div { display: block; }
.add-gallery-page .search-section .text-center > div span { display: block; margin: 5px 0 15px 0; }
.add-gallery-page .search-section .text-center > div input { display: inline-block; width: 330px; }
.edit-timings tr td:not(:first-child) { display: flex; }
 .edit-timings tr th:not(:first-child):not(:nth-child(2)) {
 display: none;
}
}
@media only screen and (max-width: 575.98px) and (min-width: 480px) {
.edit-timings tr td:not(:first-child) { display: flex; }
 .edit-timings tr th:not(:first-child):not(:nth-child(2)) {
 display: none;
}
}
 @media only screen and (max-width: 575px) {
#view-popup .accordion-body > div { width: 100%; }
.add-gallery-page .search-section .text-center > div { display: block; }
.add-gallery-page .search-section .text-center > div * { margin: 5px; }
.add-gallery-page .search-section .text-center > div span { display: block; margin: 5px 0 15px 0; }
.add-gallery-page .search-section .text-center > div input { display: inline-block; width: 250px; }
.add-gallery-page .text-center .gallery-images-actions { display: block; }
.add-gallery-page .content-section .card-body { padding: 0 10px; }
.add-gallery-page .content-section .gallery-images-actions > * { margin: 2px; }
.add-gallery-page .content-section .gallery-images-actions h5 { font-size: 15px; display: inline-block; }
.add-gallery-page .content-section .gallery-images-actions select { margin-bottom: 15px; margin-top: 10px; display: inline-block; }
}
 @media only screen and (max-width: 479.98px) {
.edit-timings tr td:not(:first-child) { display: flex; }
 .edit-timings tr th:not(:first-child):not(:nth-child(2)) {
 display: none;
}
.edit-timings input.timings { width: 100px; }
.edit-timings .timings-block { display: block !important; padding: 5px; }
.edit-timings td span { padding: 0 2px; }
}
.custom-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); }
.modal-content { background: #fff; margin: 5% auto; padding: 20px; border-radius: 8px; }
/* Form Container */
/* .card-body form {
    max-width: 700px;padding: 0 20px;
} */

/* Labels */
.mtop10 { margin-top: 10px; }
.mtop20 { margin-top: 20px; }
.card-body form label { display: block; font-weight: 600; margin-top: 5px; margin-bottom: 5px; color: #333; }
/* Inputs & Textareas */
.card-body form input, .card-body form select, .card-body form textarea { width: 100%; padding: 10px 12px; border: 1px solid #dcdcdc; border-radius: 6px; font-size: 14px; transition: all 0.2s ease; }
.card-body form input[type="checkbox"] { width: auto; }
/* Focus State */
.card-body form input:focus, .card-body form select:focus, .card-body form textarea:focus { border-color: #5b6df9; outline: none; box-shadow: 0 0 0 2px rgba(91, 109, 249, 0.1); }
/* Textarea */
.card-body form textarea { min-height: 90px; resize: vertical; }
/* Button */
.card-body form button:not(.btn) { background: #5b6df9; color: #fff; border: none; padding: 10px 18px; border-radius: 6px; font-size: 14px; cursor: pointer; transition: 0.2s ease; }
.card-body form button:not(.btn):hover { background: #4a5ae0; }
/* Section spacing */
.card-body form hr { margin: 25px 0; }
/* Inline info (hospital name) */
.card-body form strong { color: #555; }
.w150 { width: 150px; }
.form-container { margin: 0 auto; /* center align */ padding: 10px 20px; }
.card-body { padding: 25px; /* fix no padding issue */ }
.form-control { width: 100%; padding: 10px; }
label { margin-top: 15px; display: block; font-weight: 500; }
/* textarea full width */
textarea.form-control { width: 100%; min-height: 100px; }
/* optional: reduce full screen stretch */

.search-section input, .search-section select, .search-section button { max-width: 150px; margin-right: 10px; padding: 8px 5px; }
.student-card { display: flex; justify-content: space-between; align-items: center; padding: 15px; background: #fff; border-radius: 10px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); }
.student-img { width: 150px; height: 150px; border-radius: 5px; object-fit: cover; }
.badges span { padding: 3px 8px; border-radius: 5px; font-size: 12px; margin-right: 5px; }
.badge.class { background: #0093ff; }
.badge.status { background: #009b10; }
.fee-summary { display: flex; gap: 20px; }
.tab-content .card-box { padding: 10px; background: #f5f5f5; border-radius: 6px; text-align: center; min-width: 200px; }
.sibling-card { padding: 10px; border-bottom: 1px solid #eee; }
.actions { position: sticky; top: 10px; }
.mini-stats { display: flex; gap: 20px; }
.mini-stats div { background: #f5f5f5; padding: 10px; border-radius: 6px; text-align: center; }
.id-card { background: #eef; padding: 10px; border-radius: 6px; }
.small-card { padding: 10px !important; }
.small-card h4 { margin: 0; font-size: 18px; }
.small-card small { font-size: 11px; color: #777; }
.calendar-table { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.cal-header { font-weight: bold; text-align: center; padding: 6px; background: #f5f5f5; border-radius: 6px; font-size: 13px; }
.cal-cell { height: 90px; border: 1px solid #ddd; border-radius: 8px; padding: 6px; position: relative; background: #fff; cursor: pointer; }
.cal-cell:hover { background: #f9f9f9; }
.cal-cell.empty { background: transparent; border: none; cursor: default; }
.date { font-size: 12px; font-weight: bold; color: #555; margin-bottom: 4px; }
/* EVENT STYLE (LIKE IMAGE) */
.event { font-size: 11px; padding: 3px 6px; border-radius: 4px; color: #fff; margin-top: 4px; }
/* COLORS */
.high { background: #28a745; }
.medium { background: #ffc107; color: #000; }
.low { background: #dc3545; }
.holiday { background: #6c757d; }
.kpi-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.kpi-card { background: #fff; padding: 10px; border-radius: 8px; text-align: center; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); }
.kpi-card h5 { margin: 5px 0 0; font-size: 16px; }
.small-alert { font-size: 13px; padding: 6px 10px; }

/* Responsive */
@media (max-width: 992px) {
.kpi-row { grid-template-columns: repeat(3, 1fr); }
}
 @media (max-width: 576px) {
.kpi-row { grid-template-columns: repeat(2, 1fr); }
}
.role-checkbox-lable { margin-right: 15px; width: 200px; display: inline-block; }
.card { border-radius: 12px; }
.progress { border-radius: 10px; }
/* FULLSCREEN LOADER */

.page-loader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.75); backdrop-filter: blur(4px); z-index: 9999; display: none; align-items: center; justify-content: center; flex-direction: column; }
.page-loader.active { display: flex; }
.loader-spinner { width: 55px; height: 55px; border: 5px solid #ddd; border-top: 5px solid #5a35ff; border-radius: 50%; animation: spin 0.8s linear infinite; }
.loader-text { margin-top: 15px; font-size: 15px; color: #333; font-weight: 600; }
 @keyframes spin {  100% {
 transform: rotate(360deg);
}
}
.status-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
/* STATUS COLORS */

.status-new { background: #dc3545; }
.status-contacted { background: #ffc107; }
.status-interested { background: #0d6efd; }
.status-follow_up { background: #6f42c1; }
.status-converted { background: #198754; }
.status-not_interested { background: #6c757d; }
.w100 { width: 100px; }

.timing-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-top:3px solid #4154f1;
    border-radius:12px;
    padding:0;
    height:100%;
    overflow:hidden;
    box-shadow:0 1px 3px rgba(16,24,40,.06);
    transition:box-shadow .2s ease, transform .2s ease;
}

.timing-card:hover{
    box-shadow:0 10px 28px rgba(65,84,241,.14);
    transform:translateY(-2px);
}

.timing-card-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    background:linear-gradient(135deg,#f5f7ff,#edf0fe);
    font-size:18px;
    font-weight:700;
    color:#1e3a8a;
    padding:14px 20px;
    border-bottom:1px solid #e5e7eb;
}

.timing-day i{
    color:#4154f1;
    margin-right:6px;
}

.timing-card-body{
    padding:20px;
}

.timing-badge-open{
    background:#eef1fe;
    color:#4154f1;
}

/* state accents: red when closed, green when open 24 hours */
.timing-card.is-closed{ border-top-color:#dc3545; }
.timing-card.is-closed .timing-card-header{
    background:linear-gradient(135deg,#fff5f5,#fdecec);
    color:#842029;
}
.timing-card.is-closed .timing-day i{ color:#dc3545; }

.timing-card.is-24h{ border-top-color:#198754; }
.timing-card.is-24h .timing-card-header{
    background:linear-gradient(135deg,#f0faf4,#e6f6ed);
    color:#0f5132;
}
.timing-card.is-24h .timing-day i{ color:#198754; }

.timing-card .form-label{
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.4px;
    color:#6b7280;
    margin-bottom:6px;
}

.timing-row{
    display:flex;
    align-items:center;
    gap:10px;
    background:#f8f9fc;
    border:1px solid #eef0f6;
    border-radius:8px;
    padding:8px 10px;
}

.timing-row .form-control{
    background:#fff;
}

.timing-row span{
    color:#9ca3af;
    font-size:13px;
    font-weight:600;
    text-transform:uppercase;
}

.timing-options{
    margin-top:15px;
    padding-top:15px;
    border-top:1px dashed #e5e7eb;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px 24px;
}

.timing-options input[type="checkbox"]{
    width:17px;
    height:17px;
    accent-color:#4154f1;
    cursor:pointer;
}

.timings-form .timing-options label{
    display:flex;
    align-items:center;
    gap:6px;
    margin:0;
    font-weight:500;
}

.timings-form .form-label{
    font-weight:600;
    margin-bottom:8px;
}
/*--------------------------------------------------------------
# LocalMasjid overrides (pages render content directly in .section)
--------------------------------------------------------------*/
#main .section { padding: 0 20px 20px; }
