/* Styles for mobile web (linear layout) */
@media (max-width: 767px) {
    /* Show menu icon on mobile */
    .menu-icon {
        display: block;
    }

    .logo {
        text-align: center;
        flex-grow: 1; /* Ensures the logo stays centered */
    }

    .desktop-profile {
        display: none;
    }

    .desktop-menu {
        display: none;
    }

    /* Initially, the mobile menu is off-screen */
    .mobile-menu {
        position: absolute;
        top: 0;
        left: -500px; /* Off-screen to the left */
        width: 100%;
        background-color: var(--secondary-color);
        transition: left 0.3s ease; /* Smooth transition for sliding in */
        display: flex;
        flex-direction: column; /* Stack items vertically */
        gap: 10px;
        padding: 10px;
        height: auto;
        z-index: 10; /* Ensure it's above other content */
    }

    /* When the mobile menu is visible (sliding in) */
    .mobile-menu.visible {
        left: 0; /* Slide the menu into the view */
    }

    /* Ensure the <ul> takes up the full height */
    .mobile-menu ul {
        flex-direction: column; /* Ensure list items are stacked vertically */
        display: flex;
        flex-grow: 1; /* Ensure the list fills the available height */
        list-style-type: none; /* Remove bullets */
        margin: 48px 0 0 0;
        padding: 84px;
    }

    /* Ensure the <li> items are block level, filling the width */
    .mobile-menu li {
        width: 100%;
    }

    /* Mobile menu links */
    .mobile-menu a {
        color: white;
        text-decoration: none;
        padding: 15px 10px;
        display: block; /* Ensure the links take up full width */
        text-align: left;
        width: 100%; /* Ensure links fill the list items */
    }
    .benefits .card {
        width: 100%;
    }
    .video {
        width:100%;
        height: auto;
    }
    #programTree {
        margin-left: 0;
        width: 100%;
    }
    .footer-row {
        flex-wrap: wrap;
    }

    .footer-column {
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }

    .footer-left,
    .footer-right {
        text-align: center;
    }
    .leftContainer {
      display: block;
    }

    .leftContainer label {
        margin: 0px;
    }

    .leftContainer .previewContainer {
      flex: 0.5;
      width: 50%;
    }
    .subject_material {
        margin: 0;
        width: 100%;
    }
    .features {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .feature-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .feature-row.reverse {
        flex-direction: column; /* Ensure reverse rows also stack vertically */
    }

    .feature-row img {
        margin: 16px;
        width: 100%;
        max-width: 420px; /* Optional: limit max width for better appearance on small screens */
        height: auto;
        border-radius: 10px;
    }
    .feature-text {
        width: 100%;
    }

    .printable {
        position: relative;
        width: 100%;
        padding-left: 8px;
    }
    .column {
        padding: 16px;
        background-color: #f2f2f2;
        border: 1px solid #ccc;
        margin-left: 2%;
        width: 96%;
        border-radius: 10px; /* Add round border with a 10px radius */
    }
    .section {
        position: relative;
        border: 1px solid #ccc;
        border-radius: 5px;
        width: 100%;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .section:not(:has(.section)) {
        padding-left: 20px; /* Specify your desired padding-left value */
    }
    .section-header {
        cursor: pointer;
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 16px;
    }

    .section-header .itemNumber {
        flex-shrink: 0; /* Prevents the itemNumber from shrinking */
    }
    .section-header::after {
        padding: 4px;
        content: '\25BC'; /* Down arrow */
        font-size: 12px;
    }
    .section-header .pageNavigation {
        display: flex;
        right: 100%;
        gap: 8px; /* Space between buttons */
        margin-left: auto; /* Align to the far right */
    }
    .section-header.collapsed::after {
        padding: 4px;
        content: '\25B6'; /* Right arrow */
    }
    .section-content {
        display: none;
        border-top: 1px solid #ccc;
    }
    .section-content h1, .section-content h2, .section-content h3, .section-content h4, .section-content h5, .section-content h6 {
        text-align: left;
    }
    .feature-row {
        display: flex;
        align-items: center;
        justify-content: flex-start; /* Ensures text and checkbox are aligned to the left */
    }
    /* Breadcrumbs container */
    .unitNavigator .breadcrumbs {
        display: flex;
        flex-wrap: wrap; /* Allow wrapping onto the next line */
        margin-bottom: 10px;
        justify-content: flex-start; /* Align breadcrumbs to the left */
    }

    /* Individual breadcrumb items */
    .unitNavigator .breadcrumb-item {
        font-size: 14px; /* Slightly smaller text for mobile */
        margin-right: 3px; /* Reduce space between breadcrumbs */
        word-break: break-word; /* Break long words if necessary */
    }

    /* Hover effect (no changes, but keeping it consistent) */
    .unitNavigator .breadcrumb-item:hover {
        color: #0056b3;
        text-decoration: underline;
    }

    /* Active breadcrumb item */
    .unitNavigator .breadcrumb-item.active {
        font-weight: bold;
        color: #495057;
    }

    /* Separator between breadcrumb items */
    .unitNavigator .breadcrumb-separator {
        margin-right: 3px; /* Reduce separator margin */
        color: #6c757d;
    }
    /* Breadcrumbs container */
    .unitNavigator .breadcrumbs {
        display: flex;
        flex-wrap: wrap; /* Allow wrapping onto the next line */
        margin-bottom: 10px;
        justify-content: flex-start; /* Align breadcrumbs to the left */
    }
    .unitNavigator .unit-item .summary .percentage {
        display: flex;
        flex-direction: column; /* Stack items vertically */
        align-items: center;
        width: 100%;
        margin-top: 10px;
        order: 3;
    }

    .unitNavigator .unit-item .summary .percentage .circular-progress {
        width: 256px;
        height: 256px;
        border-radius: 50%;
        background: conic-gradient(#006699 0% 0%, #d3d3d3 0% 100%);
        position: relative;
        margin-bottom: 20px;  /* Add space below the circle */
    }

    .unitNavigator .unit-item .summary .percentage .inner-circle {
        width: 224px;
        height: 224px;
        background-color: white;
        border-radius: 50%;
        position: relative;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .unitNavigator .unit-item .summary .percentage ul.progress-legend {
        list-style-type: none;
        padding: 0;
        margin: 15px 0;  /* Add space between each <ul> */
        width: 100%;  /* Ensure the <ul> takes full width */
        text-align: left;  /* Align the text to the left */
    }

    .unitNavigator .unit-item .summary .percentage ul.progress-legend li {
        font-size: 14px;
        margin-bottom: 5px;
    }

    .unitNavigator .unit-item .summary .percentage ul.progress-legend li span.legend-color {
        display: inline-block;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        margin-right: 5px;
    }
    select, input[type=text], input[type=email], input[type=password], input[type=date], textarea {
        width: 100%;
        position: relative;
        left: 0%;
        transform: translateX(0%); /* Shift left by half of the element's width */
    }

    /* Course Tabs */
    #courseTabs .tabs,
    #featureTabs .tabs,
    .featureTabs .tabs {
        display: flex;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch; /* For smooth scrolling on iOS */
        border-bottom: 1px solid #ccc;
        padding: 0;
        margin: 0;
    }

    #courseTabs .tabs .tab,
    #featureTabs .tabs .tab,
    .featureTabs .tabs .tab {
        flex: none;
        display: inline-block;
        padding: 10px 15px;
        font-size: 14px;
        white-space: nowrap;
    }

    #courseTabs .tabs::-webkit-scrollbar,
    #featureTabs .tabs::-webkit-scrollbar,
    .featureTabs .tabs::-webkit-scrollbar {
        display: none; /* Hide scrollbar for better UX */
    }

    .width_256px {
        max-width: 100%;
    }
    .schedulingForm {
        padding: 16px;
    }

    /* Style for Syllabus */
    .syllabus {
        font-family: Arial, sans-serif;
        line-height: 1.6;
        padding: 20px;
    }

    .syllabus .printable-1 {
        font-size: 1.2em;
        font-weight: bold;
        color: #333;
    }

    .syllabus .printable-2 {
        font-size: 1.1em;
        font-weight: bold;
        color: #555;
    }

    .syllabus .printable-3 {
        font-size: 1em;
        font-weight: 600;
        color: #666;
    }

    .syllabus .printable-4 {
        font-size: 0.95em;
        font-weight: 500;
        color: #777;
    }

    .syllabus .printable-5 {
        font-size: 0.9em;
        font-weight: 400;
        color: #888;
    }
    .syllabus .materialType {
        font-weight: bold;
    }
    table.desktopGradeScale {
        display: none;
    }
.mobileGradeScale {
    display: flex;
    flex-direction: column; /* Stack the child divs vertically */
    gap: 10px; /* Optional: Add spacing between divs */
    width: 100%; /* Ensure the container spans the full width */
}

.mobileGradeScale > div {
    display: flex; /* Enable flexbox for the spans */
    justify-content: space-between; /* Evenly space the spans within the div */
    align-items: center; /* Align spans vertically in the center */
    width: 100%; /* Ensure the div spans the full width */
}

.mobileGradeScale > div > span {
    flex: 1; /* Ensure equal spacing for each span */
    text-align: center; /* Center the content within each span */
}
    .schedule-modal {
        max-width: 100%;
        background: white;
        padding: 20px;
        border-radius: 10px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        position: fixed;
        top: 5%;
        left: 10%;
        transform: translate(-5%, -5%);
        display: none;
    }
    .schedule-container {
        max-width: 100%;
    }


    /* Add more styles for additional levels if needed */
}
