/* ========================================================
   MOBILE FIRST APPROACH - MAX-WIDTH 767px
======================================================== */
@media only screen and (max-width: 767px) {

    * {
        box-sizing: border-box;
    }

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        overflow-x: hidden !important;
        font-family: Arial, Helvetica, sans-serif;
        background: #ffffff;
    }

    img {
        max-width: 100% !important;
        height: auto !important;
        border: 0 !important;
    }

        /* Exception: Graduate Testimonials icon should be 60px height */
        img[alt="ExcelCEO Graduate Testimonials"],
        img[src*="icon_testimonials"] {
            height: 60px !important;
        }

    /* Ensure product tables fit within the viewport and wrap header text */
    #producttable {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        overflow: hidden !important;
    }

        #producttable th,
        #producttable td {
            word-break: break-word !important;
            white-space: normal !important; /* override any nowrap attributes in markup */
            padding: 6px 8px !important;
        }

            /* Make the Add to Cart column narrow and center its contents */
            #producttable th:nth-child(3),
            #producttable td:nth-child(3) {
                width: 60px !important;
                text-align: center !important;
                vertical-align: middle !important;
            }

    .checkout-scroll-message {
        display: block;
        margin: 10px 0 0 0;
        padding: 8px 10px;
        font-weight: bold;
        text-align: center;
        color: #333333;
        background-color: #eeece1;
        border: 1px solid #d1cbb8;
    }

    /* Adjust information table columns for proper value display */
    #studentInfoDiv #producttable td:nth-child(1),
    #shippingInfoDiv #producttable td:nth-child(1),
    #billingInfoDiv #producttable td:nth-child(1) {
        width: 45% !important;
        word-wrap: break-word !important;
    }

    #studentInfoDiv #producttable td:nth-child(2),
    #shippingInfoDiv #producttable td:nth-child(2),
    #billingInfoDiv #producttable td:nth-child(2) {
        width: 55% !important;
        word-wrap: break-word !important;
    }

    /* =====================================================
       MOBILE COLLAPSIBLE SECTIONS
    ===================================================== */

    .read-more-btn {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        margin: 15px 0 !important;
        padding: 0 !important;
        background: none !important;
        color: #056fa5 !important;
        border: none !important;
        border-radius: 0 !important;
        font-size: 13px !important;
        font-weight: normal !important;
        cursor: pointer !important;
        text-align: left !important;
        text-decoration: underline !important;
    }

        .read-more-btn:hover {
            background: none !important;
            text-decoration: underline !important;
            color: #0571a7 !important;
        }

        .read-more-btn.active {
            background: none !important;
            color: #056fa5 !important;
        }

    .hidden-bio {
        display: none !important;
    }

    .footer-toggle {
        display: block;
        width: 100%;
        text-align: left;
        padding: 12px 15px;
        margin: 0;
        background: transparent;
        border: none;
        font-size: 16px;
        font-weight: bold;
        color: #ffffff;
        cursor: pointer;
    }

    .footer-content.hidden {
        display: none !important;
    }

    .footer-content:not(.hidden) {
        display: block !important;
    }

    /* =====================================================
       MAIN CONTAINER STRUCTURE
    ===================================================== */

    #main_container,
    #main_container_inner,
    #centercolumn,
    #top,
    #header,
    #content,
    #maincontent,
    #main,
    #side,
    #padding_content,
    #introtext,
    #footer,
    #bottom_container {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both !important;
        overflow: visible !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* =====================================================
       TOP SECTION & LOGO AREA
    ===================================================== */
    #top {
        height: auto !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
    }

    #logo {
        width: 100% !important;
        overflow: hidden !important;
        padding: 8px !important;
        height: auto !important;
        background: #ffffff !important;
        float: none !important;
        margin: 0 !important;
    }

    #pad_logo {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        flex-wrap: wrap !important;
    }

        #pad_logo span {
            margin: 0 !important;
            padding: 0 !important;
            float: none !important;
            display: inline-block !important;
        }

            #pad_logo span:first-child {
                width: 40% !important;
                text-align: center !important;
            }

                #pad_logo span:first-child img {
                    max-width: 90px !important;
                    width: 100% !important;
                }

                #pad_logo span:first-child img[src*="badge.png"],
                #pad_logo span:first-child img.home-buy-badge {
                    max-width: 122px !important;
                }

            #pad_logo span:last-child {
                width: 50% !important;
                text-align: center !important;
            }

                #pad_logo span:last-child img {
                    max-width: 160px !important;
                    width: 100% !important;
                    height: auto !important;
                }

        #logo br,
        #pad_logo br {
            display: none !important;
        }

    #slides_container {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        background-image: url(../images/bg_slides_container.png) !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: contain !important;
        float: none !important;
        margin: 0 auto 30px auto !important;
        padding: 15px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .pics {
        width: 90vw !important;
        max-width: calc(100% - 30px) !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 auto !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        aspect-ratio: 364/272 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .pics img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        display: block !important;
    }

    /* =====================================================
       LOGIN/CONTACT AREA - MOBILE STYLE
    ===================================================== */

    #contact {
        display: block !important;
        width: 100% !important;
        background: #ffffff !important;
        padding: 10px 8px !important;
        margin: 0 !important;
        text-align: center !important;
        overflow: visible !important;
        clear: both !important;
        height: auto !important;
        float: none !important;
    }

        #contact span {
            float: none !important;
            width: 100% !important;
            display: block !important;
        }

        #contact form {
            display: block !important;
            margin: 0 auto !important;
            padding: 0 !important;
            text-align: center !important;
            float: none !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #contact table {
            display: table !important;
            width: 100% !important;
            margin: 0 auto !important;
            border-collapse: collapse !important;
            background: transparent !important;
            table-layout: fixed !important;
            border-spacing: 0 !important;
        }

        #contact tr {
            display: table-row !important;
            width: 100% !important;
        }

        #contact td {
            display: table-cell !important;
            vertical-align: middle !important;
            padding: 5px 0 !important;
            text-align: left !important;
            border: 0 !important;
        }

            #contact td:first-child {
                width: 80px !important;
                text-align: right !important;
                font-weight: bold !important;
                font-size: 12px !important;
                color: #333333 !important;
                white-space: nowrap !important;
                padding-right: 3px !important;
                box-sizing: border-box !important;
            }

            #contact td:last-child {
                text-align: left !important;
                padding: 5px 3px !important;
                box-sizing: border-box !important;
            }

        #contact input[type="text"],
        #contact input[type="password"] {
            width: 100% !important;
            height: 28px !important;
            padding: 4px 6px !important;
            font-size: 12px !important;
            border: 1px solid #b5b5b5 !important;
            border-radius: 2px !important;
            box-sizing: border-box !important;
            display: block !important;
            margin: 2px 0 !important;
            max-width: 100% !important;
        }

        #contact tr:last-child td {
            padding: 8px 3px !important;
        }

            #contact tr:last-child td:last-child {
                display: flex !important;
                justify-content: space-between !important;
                align-items: center !important;
                gap: 5px !important;
                flex-wrap: wrap !important;
            }

        #contact input[type="submit"],
        #contact button,
        .back-next-btn {
            display: inline-block !important;
            width: auto !important;
            min-width: 70px !important;
            height: 32px !important;
            padding: 0 10px !important;
            background: #25aae1 !important;
            color: #ffffff !important;
            font-weight: normal !important;
            font-size: 13px !important;
            border: none !important;
            border-radius: 4px !important;
            cursor: pointer !important;
            float: none !important;
            margin: 0 !important;
        }

        #contact a {
            font-size: 11px !important;
            color: #056fa5 !important;
            text-decoration: underline !important;
            display: inline-block !important;
            white-space: nowrap !important;
            float: none !important;
            margin: 0 !important;
        }

    /* =====================================================
       NAVIGATION BAR - MOBILE
    ===================================================== */

    #topmenu {
        width: 100% !important;
        background: #056fa5 !important;
        overflow: hidden !important;
        margin: -5px 0 0 0 !important;
        padding: 0 !important;
        position: relative !important;
        z-index: 1 !important;
        clear: both !important;
        float: none !important;
        height: auto !important;
    }

    #nav {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

        #nav ul {
            width: 100% !important;
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            overflow-x: auto !important;
            overflow-y: hidden !important;
            white-space: nowrap !important;
            -webkit-overflow-scrolling: touch !important;
            margin: 0 !important;
            padding: 0 !important;
            list-style: none !important;
        }

        #nav li {
            display: inline-block !important;
            float: none !important;
            flex: 0 0 auto !important;
            border: none !important;
            list-style: none !important;
            padding: 0 !important;
            margin: 0 !important;
        }

            #nav li.current {
                background-image: none !important;
            }

            #nav li a,
            #nav li a:visited {
                display: block !important;
                color: #fff !important;
                white-space: nowrap !important;
                padding: 10px 12px !important;
                font-size: 12px !important;
                line-height: 16px !important;
                text-decoration: none !important;
                text-transform: uppercase !important;
                font-weight: bold !important;
                text-align: center !important;
            }

                #nav li a:hover {
                    background-image: none !important;
                    background-color: rgba(0,0,0,0.2) !important;
                }

    .descmenu {
        display: none !important;
    }

    /* =====================================================
       CONTENT AREA - MOBILE
    ===================================================== */

    #content {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
    }

    #padding_content {
        padding: 15px 0 15px 0 !important;
        float: none !important;
        width: 100% !important;
    }

    #maincontent {
        padding: 0 !important;
        width: 100% !important;
        display: block !important;
    }

    #main {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        float: none !important;
    }

    #maintext {
        width: 100% !important;
        padding: 12px 12px !important;
        overflow: hidden !important;
    }

        #maintext h2 {
            font-size: 22px !important;
            line-height: 26px !important;
            margin-bottom: 12px !important;
        }

        #maintext h3 {
            font-size: 18px !important;
            line-height: 22px !important;
        }

        #maintext p,
        #maintext li {
            font-size: 13px !important;
            line-height: 20px !important;
            word-break: break-word !important;
            margin-bottom: 12px !important;
        }

        #maintext br {
            line-height: 1.2 !important;
            margin: 8px 0 !important;
        }

        #maintext hr {
            margin: 15px 0 !important;
        }

        #maintext i,
        #maintext u,
        #maintext b {
            display: inline !important;
        }

    #bio-preview {
        display: block !important;
    }

    /* =====================================================
       SIDEBAR - MOBILE
    ===================================================== */

    #side {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: center !important;
        overflow: visible !important;
        float: none !important;
        background: #f5f5f5 !important;
    }

    .sidebox {
        width: 100% !important;
        margin: 0 !important;
        padding: 15px 10px !important;
        overflow: visible !important;
        text-align: center !important;
        border-bottom: 1px solid #e0e0e0 !important;
    }

        .sidebox:last-child {
            border-bottom: none !important;
        }

    .sidetext {
        padding: 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

        .sidetext h2 {
            font-size: 18px !important;
            line-height: 22px !important;
            margin-bottom: 10px !important;
            text-align: center !important;
        }

        .sidetext p {
            margin: 0 !important;
            padding: 0 !important;
        }

        .sidetext img {
            max-width: 200px !important;
            width: 100% !important;
            height: auto !important;
            margin: 0 auto !important;
            display: block !important;
        }

    .side_bg {
        background-image: none !important;
        background-repeat: none !important;
        background-position: none !important;
        background-color: transparent !important;
        height: auto !important;
        padding: 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

        .side_bg img {
            max-width: 80px !important;
            width: auto !important;
            height: auto !important;
            margin: 0 auto 10px auto !important;
            display: block !important;
        }

        .side_bg p {
            font-size: 12px !important;
            line-height: 18px !important;
            margin: 8px 0 !important;
            padding: 0 5px !important;
            text-align: center !important;
        }

        .side_bg strong {
            display: block !important;
            margin-top: 6px !important;
            margin-bottom: 3px !important;
        }

        .side_bg a {
            color: #056fa5 !important;
            text-decoration: none !important;
        }

            .side_bg a:hover {
                text-decoration: underline !important;
            }

    /* =====================================================
       FOOTER SECTION - MOBILE COLLAPSIBLE
    ===================================================== */

    #bottom_container {
        width: 100% !important;
        background: #0571a7 !important;
        overflow: hidden !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #footer {
        width: 100% !important;
        background: #0571a7 !important;
        color: #ffffff !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #content_bottom {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        overflow: visible !important;
    }

    .box_bottom {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
        border-bottom: 1px solid rgba(255,255,255,0.2) !important;
    }

        .box_bottom.first {
            border-top: none !important;
        }

        .box_bottom:last-of-type {
            border-bottom: none !important;
        }

        .box_bottom h3 {
            font-size: 16px !important;
            line-height: 20px !important;
            margin: 0 !important;
            padding: 12px 15px !important;
            color: #ffffff !important;
            text-align: left !important;
            background: transparent !important;
            border: none !important;
            cursor: pointer !important;
            user-select: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
        }

            .box_bottom h3:hover {
                background: rgba(0,0,0,0.1) !important;
            }

    .footer-content {
        display: none;
        padding: 12px 15px;
        text-align: left;
    }

        .footer-content.hidden {
            display: none !important;
        }

    /* Mobile: Override "Our Contact Info" footer for centered professional layout */
    .box_bottom:last-of-type .footer-content {
        text-align: center !important;
        padding: 15px !important;
    }

    .box_bottom:last-of-type .footer-content p {
        text-align: center !important;
        line-height: 1.8 !important;
        margin: 0 !important;
    }

    .box_bottom:last-of-type .footer-content strong {
        display: block !important;
        margin: 0 0 3px 0 !important;
        font-weight: bold !important;
    }

    .box_bottom:last-of-type .footer-content br {
        display: block !important;
        content: "" !important;
        margin: 10px 0 !important;
        height: 0 !important;
    }

    .box_bottom:last-of-type .footer-content a {
        display: inline !important;
        margin: 0 !important;
        color: #ffffff !important;
        text-decoration: underline !important;
    }

    .box_bottom p {
        font-size: 12px !important;
        line-height: 18px !important;
        margin: 0 !important;
        color: #ffffff !important;
        text-align: left !important;
        overflow: auto !important;
    }

        .box_bottom p img {
            max-width: 50px !important;
            width: 50px !important;
            height: auto !important;
            margin: 0 10px 10px 0 !important;
            padding: 0 !important;
            float: left !important;
        }

    .imgleft {
        float: left !important;
        margin: 0 10px 10px 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .separator_box {
        display: none !important;
    }

    #footer table {
        width: 100% !important;
        border-collapse: collapse !important;
        margin: 10px 0 !important;
    }

    #footer tr {
        width: 100% !important;
        display: block !important;
    }

    #footer td {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 8px 5px !important;
        background: #0571a7 !important;
        color: #ffffff !important;
    }

    .founder-info-table {
        width: 100% !important;
        border-collapse: collapse !important;
        margin: 0 !important;
    }

        .founder-info-table tr {
            display: table-row !important;
            width: 100% !important;
        }

        .founder-info-table td {
            display: table-cell !important;
            text-align: left !important;
            padding: 3px 0 !important;
            white-space: normal !important;
        }

            .founder-info-table td:first-child {
                font-weight: bold !important;
                width: auto !important;
                padding-right: 5px !important;
                white-space: nowrap !important;
            }

            .founder-info-table td:last-child {
                width: auto !important;
                word-break: break-word !important;
            }

    #footer td a {
        margin: 0 5px !important;
        display: inline-block !important;
    }

    #footer a,
    #footer a:visited {
        color: #ffffff !important;
        text-decoration: none !important;
    }

        #footer a:hover {
            text-decoration: underline !important;
        }

    #footer img {
        width: 40px !important;
        height: auto !important;
        margin: 5px 3px !important;
        display: inline-block !important;
    }

    #foot_copyright {
        background: #045b92 !important;
        padding: 10px 8px !important;
        font-size: 10px !important;
        line-height: 16px !important;
        word-break: break-word !important;
        text-align: center !important;
        color: #ffffff !important;
    }

        #foot_copyright a {
            color: #ffffff !important;
            margin: 0 2px !important;
            text-decoration: none !important;
        }

            #foot_copyright a:hover {
                text-decoration: underline !important;
            }

        #foot_copyright span {
            display: inline !important;
            margin: 0 3px !important;
        }

    /* =====================================================
       GENERAL UTILITIES
    ===================================================== */

    ul {
        padding-left: 20px !important;
    }

    .boxtop {
        width: 100% !important;
        margin: 15px 0 !important;
        padding: 0 10px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

        .boxtop p {
            margin: 0 !important;
            padding: 0 !important;
        }

        .boxtop img {
            max-width: 100% !important;
            width: 100% !important;
            height: auto !important;
            display: block !important;
        }

    .clr {
        clear: both !important;
        display: block !important;
    }

    .imgleft {
        float: left;
        padding-right: 1px;
    }

    .imgright {
        float: none !important;
        padding-left: 0 !important;
    }

    center {
        display: block !important;
        text-align: center !important;
    }

    /* =====================================================
       FANCYBOX MODAL - MOBILE
    ===================================================== */

    /* Override fancybox dimensions for mobile */
    .fancybox-wrap {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 1000 !important;
    }

    .fancybox-outer {
        width: 95vw !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 90vh !important;
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        border-radius: 4px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
        overflow: visible !important;
    }

    .fancybox-inner {
        width: 100% !important;
        height: auto !important;
        max-height: calc(90vh - 60px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .fancybox-close {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        width: 32px !important;
        height: 32px !important;
        cursor: pointer !important;
        z-index: 1001 !important;
        background: #000 !important;
        color: #fff !important;
        border: none !important;
        border-radius: 4px !important;
        font-size: 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .fancybox-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(0,0,0,0.8) !important;
        z-index: 999 !important;
    }

    /* Form styling inside fancybox modal */
    .fancybox-inner #form_container {
        width: 100% !important;
        margin: 0 !important;
        padding: 20px 15px !important;
        border: none !important;
    }

    .fancybox-inner form {
        margin: 0 !important;
        padding: 0 !important;
    }

        .fancybox-inner form li {
            padding: 8px 0 !important;
            margin: 0 0 12px 0 !important;
        }

    .fancybox-inner input[type="text"],
    .fancybox-inner input[type="email"],
    .fancybox-inner input[type="password"] {
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        font-size: 16px !important;
        border: 1px solid #ccc !important;
        border-radius: 4px !important;
        box-sizing: border-box !important;
    }

    .fancybox-inner input[type="submit"],
    .fancybox-inner button {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        font-size: 16px !important;
        margin: 10px 0 !important;
    }

    .fancybox-inner label {
        display: block !important;
        margin-bottom: 6px !important;
        font-weight: bold !important;
        font-size: 14px !important;
    }

    .fancybox-inner em {
        color: red !important;
        font-weight: bold !important;
    }

    /* Address fields - stack vertically on mobile */
    form.appnitro li div.left,
    form.appnitro li div.right {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin-bottom: 10px !important;
        display: block !important;
    }

        form.appnitro li div.left input,
        form.appnitro li div.right input {
            width: 100% !important;
            box-sizing: border-box !important;
        }

        form.appnitro li div.left::after {
            content: "" !important;
            display: none !important;
        }

    /* Full-width address fields on mobile */
    form.appnitro li div input[type="text"] {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        display: block !important;
        margin-bottom: 4px !important;
    }

    /* Form select dropdowns - full width on mobile */
    select.select {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 16px !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
        background-image: url('data:image/svg+xml;utf8,<svg fill="black" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
        background-repeat: no-repeat !important;
        background-position: right 8px center !important;
        background-size: 24px !important;
        padding-right: 32px !important;
    }

    select.small {
        width: 100% !important;
    }

    select.medium {
        width: 100% !important;
    }

    select.large {
        width: 100% !important;
    }

    /* Card Type field - full width on mobile */
    #cardType {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 16px !important;
        padding: 8px 32px 8px 8px !important;
        box-sizing: border-box !important;
    }

    /* Expiration date fields - stack on mobile */
    #li_6 {
        width: 100% !important;
    }

        #li_6 div {
            width: 100% !important;
            display: flex !important;
            flex-direction: column !important;
            gap: 8px !important;
        }

    #expireMonth,
    #expireYear {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 16px !important;
        padding: 8px 32px 8px 8px !important;
        box-sizing: border-box !important;
        display: block !important;
    }

    /* Form labels and descriptions */
    form.appnitro b {
        display: block !important;
        margin-bottom: 8px !important;
        font-size: 14px !important;
    }

    em {
        font-weight: bold !important;
        padding-right: 4px !important;
        vertical-align: top !important;
        font-size: 14px !important;
    }

    /* Ensure all input fields are readable */
    input.text,
    input[type="text"] {
        font-size: 16px !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }

    input[type="password"] {
        font-size: 16px !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }

    input[type="submit"],
    input[type="button"],
    .back-next-btn {
        font-size: 14px !important;
        padding: 10px 15px !important;
        min-width: 80px !important;
    }
}

/* ========================================================
   TABLET VIEW (768px - 1024px)
======================================================== */
@media only screen and (min-width:768px) and (max-width:1024px) {

    * {
        box-sizing: border-box;
    }

    html,
    body {
        width: 100%;
        overflow-x: hidden;
    }

    /* ----------------------------------
       Main Layout
    ---------------------------------- */
    #header,
    #centercolumn,
    #top,
    #content,
    #footer,
    #content_bottom,
    #topmenu,
    #bottom_container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    #centercolumn {
        margin: 0 auto !important;
        width: 100% !important;
    }

    #header {
        background-size: 100% 100%;
    }

    /* ----------------------------------
       Header
    ---------------------------------- */

    #top {
        height: auto;
        overflow: hidden;
        clear: both !important;
        display: block !important;
        width: 100% !important;
    }

    #logo {
        width: 55%;
        float: left;
        height: 120px !important;
    }

    #pad_logo {
        margin: 0 !important;
        padding: 10px;
    }

        #pad_logo img {
            max-width: 100%;
            height: auto;
        }

        #pad_logo span:first-child img {
            width: 120px;
            height: auto;
        }

    #contact {
        width: 40%;
        float: right;
        margin-top: 10px;
    }

        #contact table {
            width: 100%;
        }

        #contact input[type=text],
        #contact input[type=password] {
            width: 140px;
        }

/*    #introtext {
        width: 350px !important;
        float: left;
        padding: 10px 0 !important;
    }*/

    #header_content {
        display: flex;
        gap: 20px;
        align-items: flex-start;
    }

    #slides_container {
        float: none !important;
        width: 399px !important;
        flex: 0 0 399px;
    }

    #introtext {
        float: none !important;
        width: auto !important;
        flex: 1;
        min-width: 0;
    }

    /* ----------------------------------
       Navigation
    ---------------------------------- */

    #topmenu {
        height: 45px;
        background: #056fa5 !important;
        overflow: hidden !important;
        position: static !important;
        clear: both !important;
    }

    #nav {
        padding-top: 10px !important;
    }

        #nav ul {
            display: flex;
            justify-content: center;
            flex-wrap: nowrap;
            padding: 0;
            margin: 0;
        }

        #nav li {
            float: none !important;
            margin: 0 10px !important;
        }

        #nav ul li {
            float: none;
            margin: 0;
        }

            #nav ul li a {
                font-size: 13px;
                padding: 12px 10px;
                white-space: nowrap;
            }

        #nav li a,
        #nav li a:visited {
            font-size: 14px !important;
            padding: 15px 0 5px 0 !important;
            white-space: nowrap;
        }

    .descmenu {
        display: none !important;
    }

    /* ----------------------------------
       Content Layout
    ---------------------------------- */

    #padding_content {
        width: 100%;
        float: left;
        padding: 20px 0 !important;
        margin-top: 10px !important;
        background: #ffffff !important;
    }

    #main {
        width: 65% !important;
        float: left !important;
    }

    #maintext {
        padding: 0 20px !important;
    }

    #side {
        width: 35% !important;
        float: left !important;
    }

    .sidebox {
        padding-right: 10px !important;
    }

        .sidebox img,
        .sidetext img {
            max-width: 100% !important;
            height: auto !important;
        }

    .side_bg {
        height: auto !important;
        background-size: contain;
    }

    /* ----------------------------------
       Read More Button
    ---------------------------------- */

    #read-more-btn {
        display: none !important;
    }

    .hidden-bio {
        display: block !important;
    }

    /* ----------------------------------
       Footer
    ---------------------------------- */

    #bottom_container {
        height: auto !important;
        width: 100% !important;
        display: block !important;
        overflow: visible !important;
    }

    #footer {
        width: 100% !important;
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        background: #0571a7 !important;
        color: #ffffff !important;
    }

    #content_bottom {
        display: flex !important;
        justify-content: space-around !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        height: auto !important;
        padding: 20px !important;
        gap: 0 !important;
        width: 100% !important;
        overflow: visible !important;
    }

    .box_bottom {
        width: calc(33.333% - 10px) !important;
        float: none !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        overflow: visible !important;
    }

    .separator_box {
        display: flex !important;
        width: auto !important;
        margin: 0 15px !important;
        padding: 0 !important;
    }

    .box_bottom h3 {
        font-size: 18px !important;
        margin: 0 !important;
        margin-bottom: 10px !important;
        padding: 0 !important;
        color: #fff !important;
    }

    .footer-content {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
    }

        .footer-content.hidden {
            display: block !important;
        }

    .toggle-icon {
        display: none !important;
    }

    /* ----------------------------------
       Social Icons
    ---------------------------------- */

    .social-icons {
        width: 100% !important;
        border-collapse: collapse !important;
    }

        .social-icons td {
            text-align: center !important;
            padding: 10px 5px !important;
            display: flex !important;
            justify-content: center !important;
            align-items: center !important;
            gap: 10px !important;
            flex-wrap: wrap !important;
        }

        .social-icons img,
        ul.listimg img,
        #footer img {
            width: 32px !important;
            height: auto !important;
            margin: 0 !important;
            display: inline-block !important;
        }

    /* ----------------------------------
       Footer Copyright
    ---------------------------------- */

    #foot_copyright {
        width: 100% !important;
        text-align: center !important;
        padding: 15px 10px !important;
        clear: both !important;
        display: block !important;
        font-size: 11px !important;
        line-height: 18px !important;
        word-wrap: break-word !important;
        overflow: visible !important;
        background: #045b92 !important;
        color: #ffffff !important;
        box-sizing: border-box !important;
        position: relative !important;
        z-index: 10 !important;
    }

        #foot_copyright a {
            color: #ffffff !important;
            text-decoration: none !important;
            margin: 0 3px !important;
        }

            #foot_copyright a:hover {
                text-decoration: underline !important;
            }

        #foot_copyright span {
            display: inline !important;
            margin: 0 3px !important;
        }

    /* ----------------------------------
       Images
    ---------------------------------- */

    img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* ----------------------------------
       Clear Floats
    ---------------------------------- */

    .clr {
        clear: both !important;
    }

    .box_bottom p {
        font-size: 12px !important;
        line-height: 18px !important;
        margin: 0 !important;
        color: #ffffff !important;
    }

    #side {
        width: 30%;
    }

    #main {
        width: 65%;
    }

    #side h2 {
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 10px;
    }

    #side img {
        max-width: 100%;
        height: auto;
    }

    /*test*/

    #producttable {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

        #producttable th,
        #producttable td {
            word-break: break-word !important;
            white-space: normal !important;
            padding: 8px 10px !important;
        }

            #producttable th:nth-child(3),
            #producttable td:nth-child(3) {
                width: 70px !important;
                text-align: center !important;
                vertical-align: middle !important;
            }

    /* Adjust information table columns for proper value display */
    #studentInfoDiv #producttable td:nth-child(1),
    #shippingInfoDiv #producttable td:nth-child(1),
    #billingInfoDiv #producttable td:nth-child(1) {
        width: 40% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    #studentInfoDiv #producttable td:nth-child(2),
    #shippingInfoDiv #producttable td:nth-child(2),
    #billingInfoDiv #producttable td:nth-child(2) {
        width: 60% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* ----------------------------------
       NASBA CPE/QAS Box - Responsive
    ---------------------------------- */

    .boxtop {
        width: 100% !important;
        margin: 15px 0 !important;
        padding: 0 10px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

        .boxtop p {
            margin: 0 !important;
            padding: 0 !important;
        }

        .boxtop img {
            max-width: 100% !important;
            width: 100% !important;
            height: auto !important;
            display: block !important;
        }

    /* ----------------------------------
       Form Fields - Tablet View
    ---------------------------------- */

    /* Card Type dropdown - full width on tablet */
    #cardType {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 14px !important;
        padding: 6px 28px 6px 6px !important;
        box-sizing: border-box !important;
    }

    /* Expiration date fields - stack vertically on tablet */
    #li_6 div {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    #expireMonth,
    #expireYear {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 14px !important;
        padding: 6px 28px 6px 6px !important;
        box-sizing: border-box !important;
        display: block !important;
    }

    /* All select dropdowns on tablet */
    select.select {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 14px !important;
        padding: 6px 28px 6px 6px !important;
        box-sizing: border-box !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
        background-image: url('data:image/svg+xml;utf8,<svg fill="black" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
        background-repeat: no-repeat !important;
        background-position: right 6px center !important;
        background-size: 20px !important;
    }

    select.small {
        width: 100% !important;
    }

    select.medium {
        width: 100% !important;
    }

    select.large {
        width: 100% !important;
    }
}

/* ========================================================
   DESKTOP VIEW - MIN-WIDTH 1025px
======================================================== */
@media only screen and (min-width: 1025px) {

    /* ----------------------------------
       Read More Button
    ---------------------------------- */

    #read-more-btn {
        display: none !important;
    }

    .hidden-bio {
        display: block !important;
    }

    /* ----------------------------------
       Footer
    ---------------------------------- */

    .toggle-icon {
        display: none !important;
    }

    /* Adjust information table columns for proper value display */
    #studentInfoDiv #producttable td:nth-child(1),
    #shippingInfoDiv #producttable td:nth-child(1),
    #billingInfoDiv #producttable td:nth-child(1) {
        width: 40% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    #studentInfoDiv #producttable td:nth-child(2),
    #shippingInfoDiv #producttable td:nth-child(2),
    #billingInfoDiv #producttable td:nth-child(2) {
        width: 60% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
}
