body.dashboard {
    background: #e4e4e4;
}

.dashboard-header {
    margin-top: 8px;
    margin-bottom: 8px;
}

.dashboard-header span {
    color: #7A2A90;
}

ul.dashboard-menu {
    list-style-type: none;
    margin-top: 30px;
}

ul.dashboard-menu li {
    margin-bottom: 12px;
    font-size: 16px;
    padding: 8px 20px;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}

ul.dashboard-menu li.active,
ul.dashboard-menu li:hover {
    background: #efefef;
    margin-right: -15px;
}

ul.dashboard-menu li a:link,
ul.dashboard-menu li a:visited {
    color: #000;
    text-decoration: none;
}

ul.dashboard-menu li i.fa-solid {
    width: 30px;
}

.dashboard-content {
    background: #efefef;
    border-top-left-radius: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
}

.dataTables_wrapper {
    font-size: 14px;
}

.datatable .actions .fa-solid {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 16px;
    color: #FD6807;
}

.dashboard-header .d-title {
    font-size: 26px;
    font-weight: 500;
}

.dashboard-content .d-subtitle {
    box-shadow: 0px 3px 6px #0000000F;
    height: 50px;
}

.dashboard-content .d-subtitle a:link,
.dashboard-content .d-subtitle a:active,
.dashboard-content .d-subtitle a:visited,
.dashboard-content .d-subtitle a:hover {
    color: #33394D;
    text-decoration: none;
    padding-bottom: 10px;
    font-size: 18px;
    font-weight: 500;
}

.dashboard-content .d-subtitle a.active:link,
.dashboard-content .d-subtitle a.active:active,
.dashboard-content .d-subtitle a.active:visited,
.dashboard-content .d-subtitle a.active:hover {
    border-bottom: 3px solid #7A2A90;
}

.d-switch-box {
    background: #FAFAFC 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 6px #0000000D;
    border-radius: 25px;
    display: inline-block;
    padding: 5px;
    margin-top: 15px;
}

.d-switch {
    display: inline-block;
    padding: 5px 25px;
}

.d-switch.active {
    background: #E4E4E4 0% 0% no-repeat padding-box;
    border-radius: 25px;
}

.d-switch a:link,
.d-switch a:active,
.d-switch a:visited,
.d-switch a:hover {
    text-decoration: none;
    font-size: 14px;
    color: #33394D;
}

.d-switch.active a:link,
.d-switch.active a:active,
.d-switch.active a:visited,
.d-switch.active a:hover {
    color: #FD6807;
}

.teachings-box,
.profit-box {
    margin-top: 30px;
}

.teaching-box,
.profit-box {
    position: relative;
    background: #FAFAFC 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 6px #0000000D;
    border-radius: 25px;
    margin-bottom: 30px;
    padding: 25px;
}

.teaching-user {
    color: #33394D;
    font-size: 26px;
    font-weight: 500;
}

.user-name {
    color: #33394D;
    font-size: 20px;
    display: flex;
    align-items: center;
}

.user-name a:link,
.user-name a:visited {
    color: #33394D;
    text-decoration: none;
}

.user-name a:active,
.user-name a:hover {
    text-decoration: underline;
}

#studentInfoModal .modal-body {
    font-size: 16px;
}

.teaching-user i.fa-solid {
    margin-right: 5px;
    font-size: 20px;
}

.teaching-lesson > div {
    background: #7A2A90 0% 0% no-repeat padding-box;
    border-radius: 25px;
    margin-top: 15px;
    margin-bottom: 15px;
    color: #fff;
    font-size: 16px;
    padding: 5px 25px;
    display: inline-block;
}

.teaching-info {
    display: inline-block;
    padding-right: 15px;
    font-size: 12px;
    color: #08090C;
}

.teaching-info .i-title {
    color: #657199;
    font-weight: 500;
}

.dashboard-content label {
    font-weight: 500;
}

.dashboard-content .btn.btn-primary {
    background: #7A2A90 0% 0% no-repeat padding-box;
    border-radius: 25px;
    padding: 5px 25px;
    border-color: #7A2A90;
}

.btn-start-lesson,
.btn-show-eval,
.btn-edit-lesson,
.btn-delete-lesson,
.btn-create-lesson,
.btn-refund-lesson,
.btn-reprogram,
.btn-show-obj {
    background: #EFEFEF 0% 0% no-repeat padding-box;
    border-radius: 25px;
    padding: 15px 35px;
    max-width: 100%;
    font-size: 16px;
    color: #FD6807;
    font-weight: 500;
    border: 0px;
    display: block;
    text-align: center;
    word-wrap: break-word;
}

.btn-start-lesson i.fa-solid,
.btn-create-lesson i.fa-solid {
    font-size: 50px;
}

.d-navigation > div {
    display: inline-block;
}

.d-navigation .prv {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    margin-right: 1px;
    padding: 5px 10px;
}

.d-navigation .nxt {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
    padding: 5px 10px;
}

.d-navigation a:link,
.d-navigation a:visited,
.d-navigation a:active,
.d-navigation a:hover {
    color: #33394D;
}

.d-navigation .week {
    color: #33394D;
    font-size: 18px;
    font-weight: 500;
}

.d-calendar table {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 6px #0000000D;
    border-radius: 25px;
    border-spacing: 15px;
    width: 100%;
    font-size: 12px;
}
.d-calendar table tr {
    border-bottom: 1px solid #f5f5f5;
}
.d-calendar table th,
.d-calendar table td {
    padding: 10px;
    text-align: center;
    border-right: 1px solid #f5f5f5;
    text-wrap: nowrap;
}
.hour-slot.has-lesson {
    background: #FD6807;
    color: #fff;
}
.hour-slot.available {
    background: #7A2A90;
    color: #fff;
}

.dashboard-top-menu {
    text-align: end;
    display: flex;
    align-items: center;
    justify-content: end;
    height: 100%;
}

.dashboard-top-menu > div {
    display: flex;
    align-items: center;
}

.dashboard-top-menu .dropdown-menu.show {
    padding: 0px;
    border-radius: 5px;
}

.dashboard-top-menu .btn-secondary,
.btn.show, .btn:first-child:active {
    background: transparent;
    border: 0px;
    color: #33394D;
    display: flex;
    align-items: center;
}

.d-sidebar {
    background: #fff;
    padding: 15px;
}

.advise-title {
    font-size: 16px;
    font-weight: 500;
    color: #33394D;
}

.advise-item {
    font-size: 14px;
    color: #33394D;
    padding-bottom: 15px;
}

a.btn-add-availability:link,
a.btn-add-availability:visited,
a.btn-add-availability:active,
a.btn-add-availability:hover {
    background: #7A2A90 0% 0% no-repeat padding-box;
    border-radius: 25px;
    color: #fff;
    font-size: 14px;
    display: block;
    padding: 15px;
}

.table-container {
    overflow-y: auto;
    max-height: 600px;
    border: 1px solid #ddd;
    font-size: 14px;
}
.table-container table {
    width: 100%;
    border-collapse: collapse;
}
.table-container th, td {
    padding: 8px 12px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}
.table-container th {
    background-color: #f4f4f4;
    position: sticky;
    top: 0;
    z-index: 2;
}
.table-container tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

.eval_box label,
.obj_box label {
    font-size: 12px;
}

#teachers_wrapper,
#students_wrapper {
    background: white;
    padding: 15px;
    border-radius: 5px;
}

.woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: 100%;
}

.toggle-dashboard-menu-btn {
    padding: 6px 0px;
}

.d-calendar {
    overflow: auto;
}

.teaching-box .badge {
    position: absolute;
    left: -4em;
    top: 40px;
    height: 20px;
    width: 60px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    transform: rotate(-90deg);
    background-color: #FD6807;
    color: rgb(255, 255, 255);
    font-size: 0.62rem;
    font-weight: bold;
    box-sizing: border-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
}

.fw-lbold {
    font-weight: 500 !important;
}

.profit-price {
    font-weight: 900;
    line-height: 34px;
    font-size: 1.75rem;
}

.last-month-profit,
.profit-bar-colors {
    font-size: 0.755rem;
}

.profit-info {
    font-size: 16px;
}

.mov-square {
    width: 10px;
    height: 10px;
    border-radius: 1.5px;
    margin-right: 3px;
    align-self: center;
    background-color: #7A2A90;
}

.orange-square {
    width: 10px;
    height: 10px;
    border-radius: 1.5px;
    margin-right: 3px;
    align-self: center;
    background-color: #FD6807;
}

.profit-bar-colors {
    display: flex;
    flex-flow: row;
}

.profit-bar {
    height: 20px;
    display: flex;
}

.single-bar-color {
    background-color: #7A2A90;
}

.group-bar-color {
    background-color: green;
}

.demo-bar-color {
    background-color: #FD6807;
}

.profit-info {
    font-size: 14px;
}

.my-students .teaching-lesson > div,
#studentInfoModal .teaching-lesson > div {
    background: #7A2A90 0% 0% no-repeat padding-box;
    border-radius: 25px;
    margin-top: 5px;
    margin-bottom: 0px;
    color: #fff;
    font-size: 14px;
    padding: 5px 15px;
    display: inline-block;
}

.my-students-info {
    padding-bottom: 15px;
    border-bottom: 1px solid lightgrey;
}

.my-last-lesson {
    font-size: 14px;
}

.btn-download {
    border-radius: 5px;
    background: #7A2A90;
    color: #fff;
    padding: 5px 15px;
    text-decoration: none;
}

.new-lesson-form .btn-check:checked + .btn {
    background-color: #7A2A90;
    border-color: #7A2A90;
}

.new-lesson-form .btn-check:checked + .btn img {
    opacity: 0.7;
}

.new-lesson-form .lesson-icon-label {
    font-size: 12px;
    border: 0px;
    color: #08090C;
}

.ui-datepicker-inline {
    width: 100%;
    border-radius: 5px;
}

.ui-datepicker-calendar .ui-state-default {
    border-radius: 5px;
}

.ui-datepicker td.is-active a {
    position: relative;
    padding-left: 15px; /* Adjust padding if needed */
}

.ui-datepicker td.is-active a::before {
    content: "";
    position: absolute;
    top: 5px;   /* Position at the top */
    left: 5px;  /* Position on the left */
    width: 8px; /* Circle width */
    height: 8px; /* Circle height */
    background-color: blue; /* Blue color */
    border-radius: 50%; /* Make it a circle */
}

/* Container for the legend */
.legend-row {
    display: flex;
    align-items: center;
    margin-top: 10px; /* Space between the calendar and the legend */
}

/* Each legend item */
.legend-item {
    display: flex;
    align-items: center;
    margin-right: 15px; /* Space between multiple legend items if needed */
}

/* The small blue circle */
.legend-circle {
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: blue; /* Blue color */
    border-radius: 50%; /* Make it a circle */
    margin-right: 5px; /* Space between the circle and the text */
}

/* The text next to the circle */
.legend-text {
    font-size: 14px; /* Adjust the text size */
}

.time-slots {
    padding: 10px;
    background-color: #fff;
    border: 1px solid #c5c5c5;
    border-radius: 5px;
}

/* Styling for each time slot */
.time-slot {
    padding: 10px;
    background-color: #fff;
    border-radius: 5px;
    font-size: 14px;
    display: inline-block;
    margin: 5px;
    border: 1px solid #c5c5c5;
}

.time-slot:hover {
    background-color: #f5f5f5;
    cursor: pointer;
}

.time-slot.selected-slot {
    background-color: #7A2A90; /* Change background to blue */
    color: white; /* Change text color to white */
}

.form-control,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 10px;
    background-color: #fff;
    border: 1px solid #c5c5c5;
    border-radius: 5px;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
    border: 1px solid #7A2A90;
    background: #7A2A90;
    color: #fff;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    height: 42px;
}

.select2-container .select2-selection--single {
    height: auto;
}

#place_order {
    background: #F37024;
    color: #fff;
    text-decoration: none;
    border: 0px;
}

.dropdown.user-menu img {
    border-radius: 50px;
    padding: 5px;
}

.bottom-info {
    display: flex;
    flex-direction: row;
}

.bottom-info .value {
    font-weight: 700;
    font-size: 32px;
}

.bottom-info .txt {
    font-size: 12px;
}

.btn-reprogram {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;  
}

.teaching-box .teaching-id {
    position: absolute;
    font-size: 12px;
    color: #ccc;
    top: 8px;
    right: 16px;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 20px 0;
    padding: 10px 0;
    box-sizing: border-box;
}

.pagination .page-numbers {
    display: inline-block;
    margin: 0 5px; /* Spacing between links */
    padding: 8px 12px;
    color: #33394D; /* WordPress blue */
    text-decoration: none;
    border: 1px solid #ddd; /* Border for links */
    border-radius: 4px; /* Rounded corners */
    background-color: #fff; /* Background color */
    transition: background-color 0.3s, color 0.3s; /* Smooth hover effect */
    font-size: 14px;
}

.pagination .page-numbers.current {
    background-color: #7A2A90; /* Active page background */
    color: #fff; /* Active page text color */
    border-color: #7A2A90;
}

.pagination .page-numbers:hover {
    background-color: #f1f1f1; /* Hover background */
    color: #7A2A90; /* Hover text color */
    border-color: #ccc; /* Hover border */
}

@media (min-width: 1400px) {
    .dashboard .container, .dashboard .container-lg, .dashboard .container-md, .dashboard .container-sm, .dashboard .container-xl, .dashboard .container-xxl {
        /*max-width: 1320px !important;*/
    }
}

@media (min-width: 1280px) {
    .d-sidebar {
        margin-left: -12px;
    }
    .dashboard-header {
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

@media (min-width: 728px) {
    .toggle-dashboard-menu-box {
        display: none;
    }
    .d-subtitle,
    .xtra-pd {
        padding-left: 30px;
        padding-right: 30px;
    }
    .dashboard-top-menu .fa-circle-user,
    .my-students-info .fa-circle-user {
        font-size: 50px;
    }
}

@media (max-width: 576px) {
    .dashboard-menu {
        display: none;
        transform: translateY(-100%);
        transition: transform 0.3s ease;
    }
    .dashboard-menu.show {
        display: block;
        transform: translateY(0);
    }
    .toggle-dashboard-menu-box {
        float: left;
        padding: 6px 0px;
        display: flex;
        align-items: center;
        height: 100%;
    }
    ul.dashboard-menu li.active {
        margin-right: unset;
    }
    ul.dashboard-menu li {
        border-top-left-radius: 0px;
        border-bottom-left-radius: 0px;
    }
    ul.dashboard-menu {
        margin-top: 15px;
    }
    img.dash-logo {
        max-width: 250px;
        padding-right: 8px;
    }
    .dashboard-content .d-subtitle a:link,
    .dashboard-content .d-subtitle a:active,
    .dashboard-content .d-subtitle a:visited,
    .dashboard-content .d-subtitle a:hover {
        padding-bottom: 2px;
    }
    .dashboard-content {
        border-top-left-radius: 0px;
    }
    .dashboard-content .d-subtitle {
        height: 50px;
        overflow-x: scroll;
        white-space: nowrap;
    }
    .dashboard-top-menu .btn-secondary {
        padding-top: 0px;
        padding-bottom: 0px;
    }
    #teachers_wrapper, #students_wrapper {
        overflow-x: scroll;
    }
    .btn-start-lesson,
    .btn-reprogram,
    .btn-show-eval,
    .btn-show-obj {
        width: 100%;
        text-align: center;
    }
}

/* Spinner and dimming overlay */
#ajax-overlay {
    display: none; /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
    z-index: 9999; /* Ensure it is above other elements */
}

#ajax-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 8px solid #f3f3f3; /* Light grey */
    border-top: 8px solid #FD6807; /* Blue */
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 2s linear infinite;
}

/* Spinner animation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}