:root {
    --header-height: 11vh;
    --footer-height: 3.6vh;
    --mobile-header-padding-x: 2px;
    --cursor: none;
    /* set to auto to re-enable the cursor */
    --cursor: auto;
    /* set to auto to re-enable the cursor */

}

.iframecontainer {
    width: 100%;
    max-width: 100%;
    height: 100vh;
    position: fixed;
    inset: 0;
    overflow: hidden;
}

/*.frame{
width: 100%;
height: 100%;
}
*/
#iframeoverlay {
    /* Critical: Disables native browser scrolling/zooming on this element */
    touch-action: none;

    /* Ensure it actually captures the pointer */
    pointer-events: auto;

    /* Visual debug (optional) to ensure it's actually where you think it is */
    background: rgba(0, 0, 0, 0);
    z-index: 99;
}

.iframeoverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100vh;
}

html,
body {
    width: 100%;
    max-width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: hidden;
    cursor: var(--cursor);
}

* {
    cursor: var(--cursor) !important;
}

body {
    margin: 0;
}

document,
window {
    cursor: var(--cursor);
}

.scaled-frame {
    cursor: none;
    position: fixed;
    top: var(--header-height);
    left: 0px;
    bottom: auto;
    right: 0px;
    width: 100%;
    max-width: 100%;
    height: calc(100vh - var(--header-height) - var(--footer-height));
    min-height: 0;
    border: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    z-index: 1;
    /*
-ms-zoom: 0.9;
-moz-transform: scale(0.9);
-moz-transform-origin: 0 0;
-o-transform: scale(0.9);
-o-transform-origin: 0 0;
-webkit-transform: scale(0.9);
-webkit-transform-origin: 0 0;
*/
}

div#currentlecture {
    margin: 0;
    width: 100%;
    max-height: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0.4vh 0.6vw;
}

div#currentlecturelink {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-height);
    display: block;
    z-index: 2;
    text-decoration: none;
}

div#headercontent div#currentlecture {
    color: #ffffff;
    text-align: left;
    font-size: 3vh;
    line-height: 1.12;
    overflow: hidden;
    word-break: break-word;
}

div#headercontent div#currentlecture .lecture-link {
    font-size: 0.64em;
    line-height: 1.1;
    opacity: 0.82;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* div#currentlecture p#timeloc {
    text-align: right;
    float: right;
    right: 1vh;
    margin-right: 1vw;
    z-index: 2;
} */

div#footer {
    /*   float: right;*/
    width: 100%;

    margin: auto;

    height: var(--footer-height);
    /*   padding-right: 0.5vw;*/
    /*   background: rgba(8, 8, 8, 0.4);*/
    background: #15191B;
    color: #ffffff;
    padding-bottom: 0.5vw;
    /* padding-top: 0.6vh; */
    box-sizing: border-box;
    /*   padding-right: 2vw;*/
    position: fixed;
    left: 0;
    right: 0;
    /*   right: 0.5vw;*/
    bottom: 0;
    border-top: 0.2vh solid rgba(0, 0, 0, 0.6);
    -webkit-box-shadow: 0px 0px 1vw 0.5vw rgba(0, 0, 0, 0.6);
    -moz-box-shadow: 0px 0px 1vw 0.5vw rgba(0, 0, 0, 0.6);
    box-shadow: 0px 0px 1vw 0.5vw rgba(0, 0, 0, 0.6);
    text-shadow: 0 0 0.5vw #000000, 0 0 0.5vw rgba(255, 255, 255, 0.88);
    font-size: 3vh;

    z-index: 2;
}

div#header {
    /*   float: right;*/
    width: 100%;
    margin: 0;
    height: var(--header-height);
    /*   padding-right: 0.5vw;*/
    /*   background: rgba(8, 8, 8, 0.4);*/
    background: #15191B;
    color: #ffffff;
    padding-top: 0;
    /* padding-top: 0.6vh; */
    box-sizing: border-box;
    /*   padding-right: 2vw;*/
    position: fixed;
    left: 0;
    right: 0;
    /*   right: 0.5vw;*/
    top: 0;
    /* border-top: 0.2vh solid rgba(0, 0, 0, 0.6); */
    border-bottom: 0.2vh solid #a5d7d2cc;
    -webkit-box-shadow: 0px 0px 1vw 0.5vw rgba(0, 0, 0, 0.6);
    -moz-box-shadow: 0px 0px 1vw 0.5vw rgba(0, 0, 0, 0.6);
    box-shadow: 0px 0px 1vw 0.5vw rgba(0, 0, 0, 0.6);
    text-shadow: 0 0 0.5vw #000000, 0 0 0.5vw rgba(255, 255, 255, 0.88);
    font-size: 3vh;
    z-index: 2;
    border-bottom: 1px solid #000000;
    box-shadow: 0px 0px 1.5vw 0.25vw #a5d7d2cc, 0px 0px 3.5vw .25vw #000000cc;
    -webkit-box-shadow: 0px 0px 1.5vw 0.25vw #a5d7d2cc, 0px 0px 3.5vw .25vw #000000cc;

}

div#header div#headercontent {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    padding: 0 0 0 calc(10% + .1vw);
    gap: 0;
}

a#lectureqrlink {
    position: absolute;
    top: 0.25vw;
    left: 0.25vw;
    width: 10% !important;
    min-width: 10%;
    max-width: 10%;
    height: calc(100% - 0.2vw) !important;
    min-height: 0;
    max-height: none;
    margin: 0;
    flex: none;
}

a#currentlecturelink {
    position: relative;
    height: 100%;
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: stretch;
    z-index: 2;
    text-decoration: none;
    container-type: size;
}

div#footer div#now {
    text-align: right;
    /* position: fixed; */
    /*   right: 0.5vw;*/
    bottom: 0;
}

div#footer span#timezone {
    margin-right: 1vw;
    font-size: 2vh;
    text-align: left;
}

div#linktext {
    /*   float: right;*/
    text-align: left;
    margin-left: 12vh;
    /* width: 20vh; */
    position: fixed;
    font-size: 2vh;
    /*   right: 0.5vw;*/
    bottom: 0;
}

div#iframestatus {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    height: var(--footer-height);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.8vh;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 0 2.5vw #a5d7d2cc;
    pointer-events: none;
    z-index: 2;
    white-space: nowrap;
    min-width: 26ch;
}


.ongoing,
.future,
.past {
    color: rgba(255, 255, 255, 0.5);
    z-index: 2;
}

.future {
    text-shadow: 0 0 0.5vw #a5d7d2;
    text-shadow: 0 0 1px rgba(255, 255, 255, 1);
    color: rgba(51, 153, 255, 0.8);
}

.ongoing {
    text-shadow: 0 0 0.5vw rgba(15, 126, 1, 1);
    text-shadow: 0 0 1px rgba(255, 255, 255, 1);
    color: rgba(15, 126, 1, 0.8);
}

.past {
    text-shadow: 0 0 0.5vw rgba(134, 7, 7, 1);
    text-shadow: 0 0 1px rgba(255, 255, 255, 1);
    color: rgba(134, 7, 7, 0.8);
}

span#qrcodethispage {
    float: right;
    position: fixed;
    bottom: 1.5vh;
    left: 0.5vh;
    z-index: 3;
    width: 10vh;
    min-width: 10vh;
    max-width: 10vh;
    /*   right: 50vh;*/
    /*   width: 4vh;*/
    /*   height: 4vh;*/
    margin-top: 0.1vh;
    margin-right: 0.1vh;
    border: 4px solid #ffffff;
}

span#qrcodethispage img {
    z-index: 3;
    width: 10vh;
    min-width: 10vh;
    max-width: 10vh;
}

a#lectureqrlink {
    /* float: right; */
    /* position: fixed; */
    top: 0.5vh;
    left: 0.5vh;
    z-index: 3;
    /*   right: 50vh;*/
    /*   width: 4vh;*/
    /*   height: 4vh;*/
    margin-top: 0.1vh;
    margin-right: 0.1vh;
    width: 15vh;
    height: 15vh;
    max-width: 15vh;
    min-width: 15vh;
    max-height: 15vh;
    min-height: 15vh;

    display: block;
    box-sizing: border-box;
    text-decoration: none;
    border: 4px solid #ffffff;
    background: #ffffff;
    overflow: hidden;
}

span#qrcode {
    display: block;
    width: 100%;
    height: 100%;
}

a#lectureqrlink img {
    z-index: 3;
    width: 100%;
    height: 100%;
    display: block;
}

a#lectureqrlink canvas {
    width: 100%;
    height: 100%;
    display: block;
}

body {
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif
}

.branding_container {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
}

.branding_container img {
vertical-align: middle;
}

@media only screen and (max-width: 768px),
(min-device-width: 768px) and (max-device-width: 1024px) {

    :root {
        --mobile-header-padding-x: 8px;
    }

    div#headercontent div#currentlecture {
        font-size: initial;
    }

    a#lectureqrlink {
        display: none;
    }

    div#header div#headercontent {
        padding-left: 0;
    }

    a#currentlecturelink {
        flex-basis: 100%;
        width: 100%;
        max-width: 100%;
        container-type: size;
    }

    div#currentlecture {
        padding: 0 var(--mobile-header-padding-x);
        font-size: 22cqh;
        line-height: 1.1;
    }

    /*    do not show the qr code on the mobile page*/
    #qrcodethispage,
    #qrcode,
    #linktext,
    #iframestatus,
    #now,
    #timezone {
        display: none;
    }
}