/* Makes the way the boxes are sized more intuitive */
* {box-sizing:border-box}

/* Insert Sofia Sans Font */
@font-face {
    font-family: 'Sofia Sans';
    src: url('files/fonts/Sofia_Sans_Condensed/SofiaSansCondensed-VariableFont_wght.ttf') format('truetype');
}



body {
    font-weight: bold;
  
    background-image: url(files/background/Lynx-medium.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
  
    text-align: center;
  
    font-family:'Sofia Sans', Times New Roman;
}




/* Mobile Menu Bar - <800px (functional CSS in the 800px media query) */
.navmobile{
    display: none;
}



iframe.navbar{
    width: 100%;
    height: 70px;  
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background-color: #c3111100;
    border-style: none;
}



.main{
    position: absolute;
    top: 70px;
    left: 0;

    margin: 15px;
    border-radius: 25px;

    height: auto;
    
    /* I do not know why, I do not know how but for some reason without this .main does not span the whole page if the screen width is high enough */
    /* width = 100% - 2 * margin .main */
    width: calc(100% - 2 * 20px);
    
    padding: 15px;

    background-color: #D6C5C9a4;
    }
    .mainflex{
    display: flex;
    flex-direction: row;
}
  

.left{
    flex: 17.5%;
    max-width: 17.5%;

    border-radius: 25px;

    color: rgb(255, 255, 255);

    height: 100%;

    padding: 5px;
    padding-bottom: 10px; 
    background-color: #6D76A7;

    text-align: center;
    }

    .menuimages{
        width: 100%;
        height: auto;
        text-align: center;
    }

    img.menubutterfly{
        max-width: 95%;
        margin-top: 5px;
    }

    img.menuvista{
        max-width: 95%;
        margin-top: 5px;
    }

    .menu{
        width: 100%;
        height: auto;
    }
    
    .collapsiblemenu {
        font-family:'Sofia Sans', Times New Roman; 
        font-size: 135%;
        color: rgb(255, 255, 255);
        text-align: center;
        margin: 5px;
        border-radius: 25px;
    
        background-color: #6D76A7;
        cursor: pointer;
        padding: 18px;
        width: 100%;
        border: none;
        text-align: left;
        font-size: 175%;
    }
    
    .collapsiblemenu:after {
        content: '\2228';
        color: rgb(255, 255, 255);
        float: right;
        margin-left: 5px;
        background-color: #6D76A7;
    }

    .activemenu{
        background-color: #bbb;
    }

    .activemenu:after {
        content: "\2227";
        background-color: #bbb;
    }
    
    .contentmenu {
        font-family:'Sofia Sans', Times New Roman;
        padding: 0 18px;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.2s ease-out;
        background-color: #6D76A7;
        font-size: 150%;
}

a.menulinks:link {color:white; text-decoration: none;}
a.menulinks:visited {color:white; text-decoration: none;}
a.menulinks:hover {color: #E2C4D8; text-decoration: none;}

a.menulinksdarker:link {color:rgba(255, 255, 255, 0.63); text-decoration: none;}
a.menulinksdarker:visited {color:rgba(255, 255, 255, 0.63); text-decoration: none;}
a.menulinksdarker:hover {color: white; text-decoration: none;}



.centerhidden{
    flex: 57.5%;
    max-width: 57.5%;
    height: auto;
    }

    .centervisible{
    border-radius: 25px;
    margin-left: 1%;
    margin-right: 1%;
    height: auto;
    width: 98%;
    padding: 2.5%;
    background-color: #ebd9dd44;
    font-size: 100%;
}



.collapsiblecenter {
    font-family:'Sofia Sans', Times New Roman; 
    font-size: 100%;
    color: white;
    text-align: center;
    margin: 5px;
    border-radius: 25px;
  
    background-color: #B598CC;
    cursor: pointer;
    padding: 18px;
    width: 98%;
    border: none;
    text-align: left;
    }
  
    .collapsiblecenter:after {
      content: '\2228';
      color: white;
      float: right;
      margin-left: 5px;
    }
  
    .activecenter:after {
      content: "\2227";
    }
  
    .contentcenter {
      font-family:'Sofia Sans', Times New Roman;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.2s ease-out;
      background-color: #ff003300;
      border-radius: 25px;
      border: none;
}

a.middlelinks:link {color:#551A8B; text-decoration: none;}
a.middlelinks:visited {color:#551A8B; text-decoration: none;}
a.middlelinks:hover {color: #c484e4; text-decoration: none;}

a.noticelink:link {color:rgb(218, 59, 59); text-decoration: underline;}
a.noticelink:visited {color:rgb(218, 59, 59); text-decoration: none;}
a.noticelink:hover {color:rgb(232, 255, 25); text-decoration: none;}



.warning,
.about,
.jellyfin,
.calendar,
.schedule{
    border-radius: 25px;
    width: 100%;
    height: auto;    
    margin-bottom: 15px;
    background-color: #E2C4D8c2;
    padding: 5px; 
    border: solid;
}

.pdfnotice{
    display: none;
}
img.jellyfinimg{
    float: right;
    height: 300px;
    padding: 5px;
}
iframe.library{
    border-radius: 25px;
    height: 750px;
    width: 100%;
}
iframe.icalendar{
    border-radius: 25px;
    height: 750px;
    width: 95%;
    padding: 5px; 
    border: solid;
    display: inline;
}

.nextcloud,
.theory,
.hangar,
.exams,
.manuals,
.simulators,
.qrcodes,
.supplies,
.referencemanuals,
.code,
.itsetup{
    display: flex;
    flex-direction: row;

    border-radius: 25px;
    width: 100%;
    height: auto;    
    margin-bottom: 15px;
    background-color: #E2C4D8c2;
    padding: 5px; 
    border: solid;
}

.nextcloudleft,         .nextcloudright,
.theoryleft,            .theoryright,
.hangarleft,            .hangarright,
.examsleft,             .examsright,
.manualsleft,           .manualsright,
.simulatorsleft,        .simulatorsright,
.suppliesleft,          .suppliesright,
.referencemanualsleft,  .referencemanualsright,
.codeleft,              .coderight,
.itsetupleft,           .itsetupright{
    flex: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.nextcloudleft{
    flex: 60%;
}
.nextcloudright{
    flex: 40%;
}

.qrcodes1,  
.qrcodes2,
.qrcodes3,
.qrcodes4{
    flex: 25%;
}
.qrcodes2,
.qrcodes3,
.qrcodes4{
    border-style: none none none dashed;
}
img.qrcodesimg{
    max-width: 75%;
    border-radius: 25px;
}

img.simimg{
    width: 95%;
    border-radius: 25px;
    padding: 5px;
}









.right{
    flex: 27.5%;
    max-width: 27.5%;
    height: 100%; 
    background-color: #ebd9dd44;;
    padding: 10px;
    border-radius: 35px;

}

.rightcolumn{
    padding: 10px;
    border-radius: 35px;
    background-color: #D6C5C9a4;

    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    }
    span.rightcolumnnotice{
        font-size: 300%;
        text-align: center;
        margin: 10px;
        width: 100%;
        max-width: 100%;
    }
    .rightcolumn1, .rightcolumn2, .rightcolumn3{
        flex: 100%;
        max-width: 100%;
}


a.rightlinks:link {color:rgb(0, 0, 0); text-decoration: underline;}
a.rightlinks:visited {color:rgb(0, 0, 0); text-decoration: underline;}
a.rightlinks:hover {color: #EBD9DD; text-decoration: underline;}


.amc{
    border-radius: 25px;
    width: 100%;
    height: auto;
    padding-top: 10px;
    background-color: rgb(77, 141, 179);
    margin-bottom: 15px;
    border-style: solid;    
    }
    img.amc66{
        max-width: 95%;
        border-radius: 25px;
        border-style: solid; 
        border-color: black;
}

/*AMC Notices*/
.amcnotice1, .amcnotice2{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-color: #4D8DB3;
    margin-bottom: 15px;
    border-style: solid;
    }
    img.amcnotice{
        max-width: 95%;
        border-radius: 25px;
        margin: 10px;
        border-style: solid;
        border-color: black;
}

/* Vista - ACC relevant Notices*/
/*
.newyear, .breakfest{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-image: linear-gradient(to right, #ec644a, #448cd0);
    margin-bottom: 15px;
    border-style: solid;
}
*/

/* Vista Notices*/
.elective, .orientationvista, .mijnvista, .openday{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-color: #ec644a;
    margin-bottom: 15px;
    border-style: solid;
    }
    img.vistanotice{
        max-width: 95%;
        border-radius: 25px;
        margin: 10px;
        border-style: solid;
        border-color: black;
}


/*ACC Notices*/
.door, .orientationacc, .news{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-color: #448cd0;
    margin-bottom: 15px;
    border-style: solid;
    }
    img.accnotice{
        max-width: 95%;
        border-radius: 25px;
        margin: 10px;
        border-style: solid;
        border-color: black;
}

    
/*Swag Aviation Notices*/
.updatenotice, .helpnotice, .lynxoverview{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-color: #B598CC;
    margin-bottom: 15px;
    border-style: solid;
    overflow-x: hidden;
}


/*Student Council Notice*/
.studentcouncil{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-color: #EBC464;
    margin-bottom: 15px;
    border-style: solid;
    overflow-x: hidden;
    }
    img.studentcouncilnotice{
        max-width: 95%;
        border-radius: 25px;
        margin: 10px;
        border-style: solid;
        border-color: black;
}

/*
.openevening{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-color: #ec644a;
    margin-bottom: 15px;
    border-style: solid;
}

.skills{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-color: #B598CC;
    margin-bottom: 15px;
    border-style: solid;
}

.openday{
    flex: 100%;
    max-width: 100%;
    border-radius: 25px;
    height: auto;
    padding: 5px;
    background-color: #ec644a;
    margin-bottom: 15px;
    border-style: solid;
}
*/


iframe.bottominfo{
    border-radius: 25px;
    border-style: none;
    margin-top: 1%;
    width: 100%;
    height: auto;   
    padding: 5px; 
    background-color: rgba(255, 255, 255, 0.63);
}


/* > 1080P */
@media (min-width: 2200px){
    body{
        font-size: 125%;
    }

    .collapsiblemenu {
        font-size: 190%;
    }

    .contentmenu {
        font-size: 160%;
    }
}


/* < 1080P */
@media (max-width: 1200px){
    .mainflex{
        flex-direction: row;
        flex-wrap: wrap;
    }
        
    .left{
        flex: 25%;
        max-width: 25%;
    }
 
    .centerhidden{
        flex: 75%;
        max-width: 75%;
        margin-bottom: 5px;
    }

    .right{
    flex: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    }
        
    .rightcolumn1, .rightcolumn2, .rightcolumn3{
        flex: 32%;
        max-width: 32%;
        height: 100%;
        margin-right: 0.66%;
        margin-left: 0.66%;
    }
}


@media (max-width: 900px){
    .main{
        margin: 10px;
        width: calc(100% - 2 * 10px);

        padding: 10px;
        
        top: 55px;
    }

    .nextcloud,
    .theory,
    .hangar,
    .exams,
    .manuals,
    .simulators,
    .supplies,
    .referencemanuals{
        flex-direction: column;
    }
    
    .nextcloudleft,         .nextcloudright,
    .theoryleft,            .theoryright,
    .hangarleft,            .hangarright,
    .examsleft,             .examsright,
    .manualsleft,           .manualsright,
    .simulatorsleft,        .simulatorsright,
    .suppliesleft,          .suppliesright,
    .referencemanualsleft,  .referencemanualsright{
        flex:100%;
        padding-top: 0%;
    }

    .nextcloudright img{display: none;}


    /* Jellyfin Div Properties */
    img.jellyfinimg{
        float: none;
        text-align: center;
        padding: 5px;
    }
    iframe.library{
        display: none;
    }



    .qrcodes{
        flex-wrap: wrap;
    }

    .qrcodes1, 
    .qrcodes2, 
    .qrcodes3,
    .qrcodes4{
        flex: 50%;
    }

    .qrcodes2{
        border-style: none none none dashed;
    }
    .qrcodes3{
        border-style: dashed none none none;
    }
    .qrcodes4{
        border-style: dashed none none dashed;
    }

    img.qrcodesimg{
        width: 75%;
    }
}


@media (max-width: 700px){
    body {
        font-size: 75%;
    }

    .navmobile{
        display: none;

        z-index: 4;

        position: fixed;
        top: 55px;
        left: 0;

        /* I do not know how or why it needs to be -35px but I guess we're going with it... */
        height: calc(100% - 35px);
        width: 100%;
        
        background-color: #2d2d2d;
    
        text-align: center;
    
        color: white;
        font-size: 150%;
        font-weight: 400;
        font-family:'Sofia Sans', Times New Roman;

        overflow-y: scroll;
        overflow-x: hidden;
        }
        .navmobile::-webkit-scrollbar{
            display: none;
    }

    /* For mobile scaling it somehow needs to be 49% or it overflows on the right. */
    .navleft{
        flex: 49%;
        max-width: 49%;
        padding: 0.5%;
    }
    .navright{
        flex: 49%;
        max-width: 49%;
        padding: 0.5%;
    }

    .collapsiblenav {
        font-family:'Sofia Sans', Times New Roman; 
        font-size: 135%;
        color: rgb(0, 0, 0);
        text-align: center;
        margin: 5px;
        border-radius: 25px;
    
        background-color: #7ACBF5;
        cursor: pointer;
        padding: 18px;
        width: 100%;
        border: none;
        text-align: left;
        font-size: 175%;
        }
        .collapsiblenav:after {
            content: '\2228';
            color: rgb(0, 0, 0);
            float: right;
            margin-left: 5px;
            background-color: #7ACBF5;
        }
        .activenav{
            background-color: #EAACB8;
        }
        .activenav:after {
            content: "\2227";
            background-color: #EAACB8;
        }
        .contentnav {
            font-family:'Sofia Sans', Times New Roman;
            padding: 0 18px;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.2s ease-out;
            background-color: #2d2d2d;
            font-size: 150%;
            font-weight: bold;
    }

    a.link-blue:link,
    a.link-pink:link,
    a.link-white:link{
        padding: 0.5%;
        cursor: pointer;
        text-decoration: none;
    }

    a.link-blue:link{color: #7ACBF5;}
    a.link-blue:visited{color: #7ACBF5;}
    a.link-blue:hover {color: white;}

    a.link-pink:link{color: #EAACB8;}
    a.link-pink:visited{color: #EAACB8;}
    a.link-pink:hover {color: white;}

    a.link-white:link{color: white;}
    a.link-white:visited{color: white;}
    a.link-white:hover {color: rgb(221, 221, 221);}


    .main{
        margin: 5px;
        width: calc(100% - 2 * 5px);

        padding: 5px;
        
        top: 55px;
        }
        .mainflex{
            display: flex;
            flex-direction: column;
    }

    .left{
        display: none;
    }

    .centerhidden{
        flex: 100%;
        max-width: 100%;
        margin-bottom: 5px;
        }
        .collapsiblecenter {
            font-size: 75%;
        }
        .contentcenter {
            font-size: 90%;
    }


    .code,
    .itsetup{
        flex-direction: column;
    }
    

    .codeleft,              .coderight,
    .itsetupleft,           .itsetupright{
        flex:100%;
        padding-top: 0%;
    }


    /* Jellyfin Div Properties */
    .pdfnotice{
        display: contents;
        width: 100%;
        color: rgb(218, 59, 59);
    }
    img.jellyfinimg{
        float: none;
        text-align: center;
        padding: 5px;
    }
    iframe.library{
        display: none;
    }

    .qrcodes1, 
    .qrcodes2, 
    .qrcodes3,
    .qrcodes4{
        flex: 100%;
    }
    .qrcodes2,
    .qrcodes3,
    .qrcodes4{
        border-style: dashed none none none;
    }
    img.qrcodesimg{
        width: 75%;
    }


    iframe.icalendar{
        height: 400px;
    }


    .rightcolumn{
        max-width: 100%;
    }

    .right{
        flex: 100%;
        max-width: 100%;

        display: flex;
        flex-direction: column;
        }
        .rightcolumn1, .rightcolumn2, .rightcolumn3{
            flex: 100%;
            max-width: 100%;
    }
}

@media (max-width: 600px){
    .main{
        top: 40px;
    }

    .navmobile{
        top: 40px;
    }
}

@media (max-width: 400px){
    .main{
        top: 35px;
    }

    .navmobile{
        top: 35px;
        font-size: 125%;
    }
}