/* Document Version: 20260619090200 | Last Author: CA-I */
/* CE : CA-I 20260430052400 */

/* TEMP OVERRIDE PORTAL BLOCKERS */
/*#mobileMsg {
    display: none !important;
}*/

#mainContent {
    display: block !important;
}

:root {
    --rsp-space-1: 0.25rem;
    --rsp-space-2: 0.5rem;
    --rsp-space-3: 0.75rem;
    --rsp-space-4: 1rem;
    --rsp-space-5: 1.25rem;
}

.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* CE : CA-I 20260618090500 - Avoid iOS/tablet backdrop-filter tiling/repeat artifacts behind SweetAlert/dialog modals. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
    /* CE : CA-I 20260619090200 - Keep AJAX/postback wait overlay covering the visual viewport on mobile/tablet. */
    body.please_wait .postback_loading_icon,
    body.server-processing-postback .postback_loading_icon,
    body.server-processing-ajax .postback_loading_icon {
        position: fixed !important;
        inset: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100vh !important;
        min-height: 100vh !important;
        height: 100svh !important;
        min-height: 100svh !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        overflow: hidden !important;
        background-color: rgba(255, 255, 255, 0.6) !important;
        z-index: 20000 !important;
    }

    body.please_wait .postback_loading_icon div[id*="UpdateProgress"],
    body.server-processing-postback .postback_loading_icon div[id*="UpdateProgress"],
    body.server-processing-ajax .postback_loading_icon div[id*="UpdateProgress"] {
        position: fixed !important;
        left: 8px !important;
        bottom: 8px !important;
        top: auto !important;
    }

    .swal2-container.swal2-backdrop-show {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        min-height: 100dvh;
        overflow: hidden !important;
        background: rgba(0, 0, 0, 0.5) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .cls-confirm-dialog::backdrop {
        background-color: rgba(0, 0, 0, 0.5) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

@media (max-width: 900px) {
    
    
    body[class*="dashboard-"] .lp-content-item [class*="-title"]{
        font-size:16px !important;
            line-height:20px

    }

    

    .session-info-row span{
        font-size:15px !important;
        
    }

    body[class*="dashboard-"] .session-description-expanded,
    body[class*="dashboard-"] .session-description-collapsed,
    body[class*="dashboard-"] .session-description-expanded session-description-row .description-full,
    body[class*="dashboard-"] .session-description-collapsed  session-description-row .description-full{
        padding-left:0px !important;
    }
    

    body[class*="dashboard-"] [class*="session-description-row"] span *{
        font-size:13px !important;
    }
    body[class*="dashboard-"] [class*="session-description-row"] span[class*="description"]{
        font-size:16px !important;
        width: 92%;
    }
    body[class*="dashboard-"] [class*="session-description-row"] span[class*="description"] p{
        text-align:left  !important;
    }
    
    .lp-content-item .video-content video
    {
        min-width:220px !important;
        width:95% !important;
        height:auto !important;
    }
    
    /* CE : CA-I 20260430052400 - Restore natural page scrolling on mobile */
    html,
    body#clsportal_body {
        height: auto !important;
        min-height: 100% !important;
        max-height: none !important;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body#clsportal_body form#form1,
    body#clsportal_body #container,
    body#clsportal_body #mainContent {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    body#clsportal_body.dashboard-coursedetail #mainContent
    .dashboard-container{
        padding-top:20px !important;
    }
    

    body#clsportal_body #container,
    body#clsportal_body #mainContent {
        overflow: visible !important;
    }

    body#clsportal_body .lock_down_cover:not([style*="display: block"]) {
        pointer-events: none;
    }

    /* CE : CA-I 20260430052400 - Dashboard fit quick pass */
    html,
    body,
    #container,
    #content,
    #mainContent,
    .dashboard-container {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    /* #mainContent {
        padding-left: 10px;
        padding-right: 10px;
    } */

    .dashboard-container {
        margin: 0;
        padding: 0;
    }

    .page-title {
        font-size: 2rem;
        line-height: 1.1;
        margin: 0 0 12px 0;
    }

    #courseListPanel {
        width: 95%;
        margin: 0;
        padding: 0;
    }

    #courseListPanel .course-header,
    #courseListPanel .course-card,
    #courseListPanel .course-item,
    #courseListPanel .lp-course-item {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 14px 12px;
        margin: 0 0 10px 0;
        border-radius: 12px;
        padding-bottom:23px;
        padding-top:0px;
    }

    .dashboard-container .course-list-panel .course-card {
        padding-top:8px !important;
    }
    
    #courseListPanel .course-header img,
    #courseListPanel .course-item img,
    #courseListPanel .lp-course-item img,
    #courseListPanel .course-card-img-top {
        width: 68px;
        min-width: 68px;
        height: auto;
        object-fit: contain;
        margin: 0;
    }

    #courseListPanel .course-header h1,
    #courseListPanel .course-item h1,
    #courseListPanel .course-item h2,
    #courseListPanel .course-item h3,
    #courseListPanel .lp-course-item h1,
    #courseListPanel .lp-course-item h2,
    #courseListPanel .lp-course-item h3 {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-size: 1.9rem;
        line-height: 1.2;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .admin-buttons-container,
    .admin-bulk-operations-container {
        display: none;
    }

    #courseListPanel .course-header,
    #courseListPanel .course-item,
    #courseListPanel .lp-course-item {
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    }

    .course-header *[onclick*="backToCourseList"] {
        top: -35px !important;
    }

    .course-header {
        margin-top: 20px !important;
    }

    .lp-section-child {
        margin: 20px 2px !important;
        box-shadow:1px 6px 10px rgba(0,0,0,0.05);
    }

    .lp-content-item-button,
    .lp-content-item-button * {
        white-space: nowrap;
    }

    .lp-section-child-content {
        /* padding: 8px 6px !important; */
        padding:3px 2px !important;
    }

    .lp-content-item > :nth-child(3),
    .lp-content-item > :nth-child(4) {
        grid-column: 2;
        grid-row: 2;
    }

    .lp-content-item div[class*="-button"] {
        text-align: right !important;
        justify-content: end;
        padding: 0 !important;
    }

    .lp-section-child .lp-content-item.lp-content-type-externallink.required-false,
    .lp-section-child.active .lp-content-item.lp-content-type-externallink.required-false {
        grid-template-columns: 26px 1fr 8px !important;
    }

    .lp-section-child-content,
    .lp-section-parent-content.expanded {
        max-height: none !important;
        height: auto !important;
    }
    .lp-section-parent-content{
        margin-top:0px;
    }

    .lp-section-child-content .lp-content-item,
    .lp-content-type-scorm-cloud,
    .lp-section-child-content:after {
        content: " ";
        display: block;
        clear: left !important;
        float: none;
        min-height: 20px !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* CE : CA-I 20260430065700 - Menu rules moved to portal-menu-responsive.css */

    /* CE : CA-I 20260528150000 - Login / Forgot Password: explicit mobile actions (do not rely on admin responsive CSS) */
    body#clsportal_body #content .loginbox a.form_button,
    body#clsportal_body #content .loginbox input.form_button,
    body#clsportal_body #content .loginbox input[type=submit].form_button,
    body#clsportal_body #content .loginbox input[type=button].form_button,
    body#clsportal_body #content .loginbox .FloatLeft,
    body#clsportal_body #content .loginbox .FloatRight {
        float: none !important;
        clear: both !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        margin: 8px 0 !important;
        text-align: center !important;
    }
}

@media (max-width: 576px) {

    
    body#clsportal_body #content{
        max-width:99%;
    }

    body#clsportal_body #content .LeftEditor *[style*="400px"]{
        width:330px !important;
    }
    
    body#clsportal_body #content .sefu-file-controls input[type=file]{
        width:330px !important;
    }

    .register-option-row{
     margin-top:10px !important;
    border-bottom:1px solid silver;
        padding-bottom:10px;
        margin-bottom:8px;
    }
    .register-options-panel .register-option-label:before{
        margin:0 !important;
        margin-right:5px !Important;
    }
        
    body#clsportal_body #container{
        box-shadow:none;
        /* background:red; */
        margin:0;
        width:100% !important;
        max-width:100%;        
    }
    
    /* C 20260618074616 */
    body#clsportal_body[data-theme="cls-slo-br1"] 
    #content .user-legal-acceptance-controls 
    div:first-child,
    body#clsportal_body[data-theme="cls-slo-br1"] 
    #content .user-legal-acceptance-controls div{
    width:99%;    
    }
.accept-agreement-wrapper{
    padding:2px !important;
}
    
    
    #mainContent {
        padding-left: 0px;
        padding-right: 0px;
    }
    .dashboard-container{
        padding:0px !important;
    }
    #courseListPanel {
        width: 99%;        
    }

    .page-title {
        font-size: 1.75rem;
    }

    #courseListPanel .course-header,
    #courseListPanel .course-item,
    #courseListPanel .lp-course-item {
        gap: 10px;
        padding: 12px 10px;
        /* border:3px solid red; */
        /* min-height:160px; */
    }

    #courseListPanel .course-header img,
    #courseListPanel .course-item img,
    #courseListPanel .lp-course-item img,
    #courseListPanel .course-card-img-top {
        width: 56px;
        min-width: 56px;
    }

    #courseListPanel .course-header h1,
    #courseListPanel .course-item h1,
    #courseListPanel .course-item h2,
    #courseListPanel .course-item h3,
    #courseListPanel .lp-course-item h1,
    #courseListPanel .lp-course-item h2,
    #courseListPanel .lp-course-item h3 {
        font-size: 1.5rem;
    }
}

@media (max-width: 400px) {


        /* C 20260601093033 */
    body div#cookie-bar {
        height: 200px !important;
        /*  C 20260618123947 */
        width:99% !important;
        padding:0px !important;
    }


    #courseListPanel .course-header img,
    #courseListPanel .course-item img,
    #courseListPanel .lp-course-item img,
    #courseListPanel .course-card-img-top {
        width: 48px;
        min-width: 48px;
    }

    #courseListPanel .course-header h1,
    #courseListPanel .course-item h1,
    #courseListPanel .course-item h2,
    #courseListPanel .course-item h3,
    #courseListPanel .lp-course-item h1,
    #courseListPanel .lp-course-item h2,
    #courseListPanel .lp-course-item h3 {
        font-size: 1.3rem;
    }
}

/* CE : CA-I 20260617153500 - LP detail header small mobile: image/title row, full-width desc row, status/dates row */
@media (max-width: 500px) {

    /* C 20260624110357 */
    .pdf-toggle-btn{
        border-radius:18px !important;
    }    
    
    #clsportal_body #user_messages .user_message {
    left: 0px;
    width: 96% !important;
    max-width: 96% !important;
    min-width: 96% !important;
    right:10px;
}


    .course-header-lp .course-header-grid {
        display: grid !important;
        grid-template-columns: 76px minmax(0, 1fr);
        column-gap: 12px;
        row-gap: 8px;
        align-items: start;
        margin:0px 10px
    }

    .course-header-lp img.course-card-img-top {
        grid-column: 1;
        grid-row: 1;
        height: 64px;
        max-width: 72px;
        padding-top: 0;
        padding-left: 0;
        justify-self: center;
        align-self: start;
    }

    .course-header-lp .course-header-body {
        display: contents;
    }

    .course-header-lp .course-header-body h1 {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        margin: 0 0 2px 0 !important;
        padding-top: 0 !important;
    }

    .course-header-lp .course-description {
        grid-column: 1 / -1;
        grid-row: 2;
        margin: 0 0 6px 0;
    }

    .course-header-lp .course-header-meta {
        grid-column: 1 / -1;
        grid-row: 3;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 10px 12px;
        width: 100%;
    }

    .course-header-lp .course-header-meta .course-status {
        grid-column: 1;
        position: static !important;
        align-self: center;
        max-width: 100%;
        margin-top: 0 !important;
    }

    .course-header-lp .course-header-dates {
        grid-column: 2;
        margin-left: 0;
        flex: none;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 6px;
        min-width: 128px;
        max-width: 58vw;
    }

    .course-header-lp .course-header-dates p[class*="date-"],
    .course-header-lp .course-header-dates .course-live-session-ics-download {
        display: block !important;
        float: none !important;
        width: 100%;
        min-width: 0 !important;
        max-width: 100%;
        margin: 0 !important;
        box-sizing: border-box;
        text-align: left;
    }

    .course-header-lp.live-sessions-true .course-live-session-ics-download {
        display: block !important;
    }
}


/* C 20260430090641 | misc mobile adjustments */
@media (max-width: 900px) {

    div[id*="divFAQ"].content_block{
        min-width:300px;        
    }
    div[id*="divFAQ"].content_block *{
     min-width:0px;
        padding:0px;
    }
    div[id*="divFAQ"].content_block .faq_item{
        padding:10px 2px; !important;
    
    }


    /* 
    #clsportal_body #user_messages .user_message{
        left:0px;
        left:10%;
        max-width:92% !Important;
        width:92% !Important;
        min-width:300px !important;
        max-width:300px !important;
    } */
    
    
    
.lp-section-child.active .lp-content-item{
    padding-bottom:5px !important;
}
    .lp-section-child.active .lp-content-item{
        grid-template-columns: 35px 1fr auto auto !important;
        padding-top:12px !important;
    }

    /* body.dashboard-coursedetail 
    .lp-section-child-content.expanded div.lp-content-item:nth-child(2){
        padding-top:0px !important;        
        border:1px solid red !important;
        font-weight:bold !Important;
    } */

    .lp-content-type-icon,
    .lp-content-type-icon:before{
        font-size:28px !important;
    }
    
    .video-content{
        background:transparent !important;
    }
    body .dashboard-container.course-view .course-status{
        float:none !important;
        position:relative !important;
        top:auto;
        left:auto;
    }
    
    #courseListPanel .course-header{
        display:block;
    }
    body#clsportal_body[data-theme="cls-slo-br1"] #container .dashboard-container h1{
        padding-top: 0px !Important;
    }
    #courseListPanel .course-header img, #courseListPanel .course-item img, #courseListPanel .lp-course-item img, #courseListPanel .course-card-img-top {
        width: 58px;
        min-width: 58px;        
        margin-right:10px;
    }

    /* C 20260528080957 */
    #courseListPanel .course-card-header{
        height:auto !important;        
    }    
    #courseListPanel  .course-card-header:after{
        content:' ';
        float:none;
        clear:left;
        display:block;        
    }

    .course-header.live-sessions-true .course-live-session-ics-download, 
    .dashboard-container.course-view .course-header p[class*="date-"],
    #courseListPanel  .course-card-header p[class*="date-"]{
        min-width:160px;
        margin-bottom:0px;
    }


    /* C 20260528123614 */

    .course-header.live-sessions-true .course-live-session-ics-download, 
    .dashboard-container.course-view .course-header p[class*="date-"]{
        /* border:2px solid red; */
        float:none !important;
        display:inline-block !important;
            
    }

    body .dashboard-container.course-view .course-status{
        margin-top:6px;
    }

    /* CE : CA-I 20260617180000 - LP detail header: narrower image column on tablet+mobile */
    .course-header-lp .course-header-grid {
        grid-template-columns: 72px minmax(0, 1fr);
        column-gap: 10px;
    }

    .course-header-lp img.course-card-img-top {
        height: 64px;
        max-width: 72px;
    }

    /* C 20260528151642 */
    #mainContent > div{
        max-width: 96% !important; 
    }
    #mainContent .form_button{
        min-height:31px;
    }
    body.site-rc:after, body.site-test:after, body.site-dev:after{
        top:400px !important;
    }

    body[data-theme="cls-slo-br1"]#clsportal_body #content .loginbox .form_button:not(subtle){
        /* border:2px solid red !Important; */
        width:70% !important;
        max-width:70% !important;
        float:none !important;
        clear:none !important;
    }

    

    /* C 20260601093033 */
    body div#cookie-bar {
        height: 200px !important;
        /*  C 20260618123947 */
        width:99% !important;
        padding:0px !important;
    }

    body[data-theme="cls-slo-br1"]#clsportal_body #content .loginbox .form_button:not(subtle),    
    body[data-theme="cls-slo-br1"]#clsportal_body #content .loginbox .form_button{
        width:99% !important;
        max-width:99% !important;
        padding:7px 0px !important;
        line-height:22px !important;
        font-size:14px !important;
    }
    
    body .loginbox #captchaCode{
        text-decoration:underline !important;
        width:120px !important;
        text-tr
    }
    body[data-theme="cls-slo-br1"] .loginbox p{
        font-size:13px !Important;
    }
    body[data-theme="cls-slo-br1"] .loginbox p:after{
        content:'';
        display:block;
        clear:all;
    }
    .realperson-challenge{
        margin-top:0px;
    }

    /*
    body[data-theme="cls-slo-br1"]#clsportal_body #content .loginbox .form_button.subtle{
        border-style:none !important;
        font-size:12px !important;
        min-height:0px !Important;
        padding:0px !important;
        text-align:right !important;
        width:auto !important;
        min-width:0px !important;
        float:right !important;
        display:inline-block !Important;
        margin-top:0px !important;
    }
    body[data-theme="cls-slo-br1"]#clsportal_body #content .loginbox .form_button.subtle,
    body[data-theme="cls-slo-br1"]#clsportal_body #content .loginbox .form_button.subtle:hover{
        background-color:transparent !Important;
        color:#444 !important;
        padding:7px 0px !important;
    }
    
    */


    .lp-section-parent-header 
    .lp-section-title{
        line-height:30px;
        margin-bottom:20px !important;
    }

    .lp-section-parent-header  i.lp-section-toggle{
        font-size:25px;
        margin-left:20px;
        margin-right:-15px;
        /* background:#3a749e;
        color:#fff;
        border-radius:20px;
        font-size:18px;
        text-align:center !important;
        padding:4px; */
        
    }

    
    
    /* C 20260623125318 */
    body[data-theme="cls-slo-br1"]#clsportal_body
    #mainContent .loginbox span,
    body[data-theme="cls-slo-br1"]#clsportal_body
    #mainContent .loginbox input.form_button,
    body[data-theme="cls-slo-br1"]#clsportal_body
    #mainContent .loginbox a.form_button,
    body[data-theme="cls-slo-br1"]#clsportal_body
    #mainContent .loginbox .label_link{
        font-size:108% !important;
        /* color:red !important; */
    }
    
    body[data-theme="cls-slo-br1"]#clsportal_body
    h1,
    body[data-theme="cls-slo-br1"]#clsportal_body
    h2{
        font-size:25px !important;
    }
    
    body[data-theme="cls-slo-br1"]#clsportal_body
    #mainContent input[type="text"],
    body[data-theme="cls-slo-br1"]#clsportal_body
    #mainContent input[type="email"],
    body[data-theme="cls-slo-br1"]#clsportal_body
    #mainContent input[type="password"]{
        margin-top:10px !important;
    }
    
    body[data-theme="cls-slo-br1"] #header {
        height: 105px;
        min-height: 105px;
        background-size:auto 70px;
        background-position:10px 10px;
    }
    
    body[data-theme="cls-slo-br1"] .footer-module-note,
    body[data-theme="cls-slo-br1"] #footer, 
    body[data-theme="cls-slo-br1"] #footer *, 
    body[data-theme="cls-slo-br1"] #footer a, 
    body[data-theme="cls-slo-br1"] #footer a:visited{
        font-size:12px;
        line-height:15px;
    }
    body[data-theme="cls-slo-br1"] #footer sup{
        line-height:0px;
    }
    
    .swal2-html-container *{
        font-size:102% !important;
    }
    
    body#clsportal_body[data-theme="cls-slo-br1"] 
        #content .course-header-lp .course-header-body h1,
    #content .course-list-panel .course-title, 
    #content .course-header .course-title{
        font-size:22px !important;
        line-height:24px !important;
        margin-bottom:15px !important;
    }
    
    body#clsportal_body[data-theme="cls-slo-br1"] 
        #content .lp-section-parent .lp-section-title sup,
    body#clsportal_body[data-theme="cls-slo-br1"] 
        #content .course-header-lp sup,
    #content .dashboard-container.course-view  sup{
        font-size:12px !important;
        line-height:10px !important;
    }
    
    #content .dashboard-container.course-view  *:not(sup){
        /* color:red !important; */
        font-size:102% !important;
        line-height:inherit !important;
    }

    #content .dashboard-container.course-view  *:not(sup)[class*="title"]{
        font-size:106% !important;
        /* color:green; */
        margin-bottom:15px;
    }
    
    body #content
    .lp-content-item-button button{
        padding:20px !important;    
    }
    
    #content .dashboard-container.course-view .lp-content-item-button button, 
    #content .dashboard-container.course-view .lp-content-item-button button *, 
    body #content .lp-content-item-button button,
    body #content .lp-content-item-button button *, 
    body #content .lp-content-item-button button i, 
    body #content .lp-content-item-button button i:before{
     line-height:0px !Important;   
        font-size:18px;
    }    
    
    .course-header-lp .course-header-grid{
        padding-top:20px;
    }
    
    #content .dashboard-container.course-view  *:not(sup)[class*="description"]{
        /* color:red !important; */
        font-size:100% !important;
        line-height:inherit !important;
    }
    
    
    body#clsportal_body[data-theme="cls-slo-br1"] 
        #content .lp-section-parent .lp-section-title {
            font-size:20px !important;
            line-height:21px !important;
            
        }
    
    #content .lp-section-parent-content .lp-content-item[class*="live-session"] .lp-content-item-title{
        /* color:red; */
        font-size:17px !important;
        line-height:20px !important;
        margin-bottom:10px;
    }
    
    /* survey button push down mobile */
    #content .lp-section-child .lp-section-title{    
        margin-bottom:10px !important;
    }
    
    #content #dashboard-legend span{
        font-size:102% !important;
        margin-bottom:10px !important;
        display:inline-block;
    }
        
    
}
