/* 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 {
    overflow-y: scroll;

    font-weight: bold;
  
    background-image: url(files/background/Lynx-medium.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
  
    text-align: center;
    justify-content: center;
  
    font-family:'Sofia Sans', Times New Roman;
}



/* Mobile Menu Bar - <700px (functional CSS in the 700px 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: white;

    height: 100%;

    padding: 5px;
    padding-bottom: 10px; 
    background-color: #6D76A7;
    }

    .menuimages{
        width: 100%;
        height: auto;
    }

    img.menubutterfly{
        max-width: 95%;
        margin-top: 5px;
    }

    img.menuvista{
        max-width: 95%;
        margin-top: 5px;
    }

    .menu{
        width: 100%;
        height: auto;
        font-size: 115%;
}

button.menubutton{
    font-family:'Sofia Sans', Times New Roman;
    background-color: #6D76A7;
    border-style: none;
    font-size: 100%;
    font-weight: bold;
    color: white;
    cursor: pointer;
}

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.middlelinks:link {color:#551A8B; text-decoration: none;}
a.middlelinks:visited {color:#551A8B; text-decoration: none;}
a.middlelinks:hover {color: #c484e4; text-decoration: none;}



.right{
    flex: 81.5%;
    max-width: 81.5%;
    margin-left: 1%;
    height: 100%; 
    background-color: #ebd9dd44;
    padding: 10px;
    border-radius: 35px;
    }


    .rightcontent,
    .rightcontent_top,
    .rightcontent_notice,
    .rightcontent_flex,
    .rightcontent_flex1,
    .rightcontent_flex2,
    .rightcontent_flex3,
    .rightcontent_flex4{
        height: auto;
        width: 100%;
        max-width: 100%;
        border-style: solid;
        border-radius: 25px;
        padding: 25px;
        margin-bottom: 10px;
        text-align: left;
        font-size: 85%;
        background-color: #E2C4D8c2;
        text-align: center;
    }

    .rightcontent_top{
        font-size: 250%;
    }

    .rightcontent_notice{
        display: none;
        color: #ee463a;
        border-color: black;
    }

    .rightcontent_flex,
    .rightcontent_flex1,
    .rightcontent_flex2,
    .rightcontent_flex3,
    .rightcontent_flex4{
        display: flex;
        flex-direction: row;
        padding: 5px;
    }

    .flex_left{
        flex: 30%;
        max-width: 30%;
        padding: 10px;
        padding-bottom: 1%;
    }

    .flex_right{
        flex: 70%;
        max-width: 70%;
        padding: 10px;
}
     

iframe.text,
iframe.text1,
iframe.text2,
iframe.text3,
iframe.text4{
    border-radius: 25px;
    border-style: none;
    background-color: rgba(255, 255, 255, 0.63);

    width: 100%;
    height: 100%;
    /* height = 100% & 100% = height of iframe.manuals */
}

iframe.manuals,
iframe.manuals1,
iframe.manuals2,
iframe.manuals3,
iframe.manuals4{
    border-radius: 25px;
    border-style: none;
    background-color: rgba(255, 255, 255, 0.63);

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;

    width: 100%;
    aspect-ratio: 1 / 0.85;
    /* The aspect ratio (width:height) of A4 paper is 1:1.4142 (1:√2) */
}

iframe.manuals{
    background-image: url(files/background/kittyandshark.jpg);
} 
/*
iframe.manuals1{
    background-image: url(files/background/throbber.gif);
}  
*/
iframe.manuals2{
    background-image: url(files/background/demons.gif);
}  
iframe.manuals3{
    background-image: url(files/background/pilot.png);
} 
iframe.manuals4{
    background-image: url(files/background/casual.png);
}  

img.qrcodesimg{
    max-width: 75%;
    border-radius: 25px;
}


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: 115%;
    }

    .menu {
        font-size: 115%;
    }
}


/* < 1080P */
@media (max-width: 1200px){
    .left{
        flex: 25%;
        max-width: 25%;
    }
 
    .right{
        flex: 74%;
        max-width: 74%;
    }
}


@media (max-width: 900px){
    .main{
        margin: 10px;
        width: calc(100% - 2 * 10px);

        padding: 10px;
        
        top: 55px;
    }
}


@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: auto;
        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;
    }

    .navleft{
        flex: 50%;
        padding: 1%;
    }

    .navright{
        flex: 50%;
        padding: 1%;
    }

    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;
    }

    .right{
        flex: 100%;
        max-width: 100%;
    }

    .rightcontent_notice{
        display: block;
    }

    .rightcontent_flex,
    .rightcontent_flex1,
    .rightcontent_flex2,
    .rightcontent_flex3,
    .rightcontent_flex4{
        display: none;
    }
}




@media (max-width: 600px){
    .main{
        top: 40px;
    }

    .navmobile{
        top: 40px;
    }
}

@media (max-width: 400px){
    .main{
        top: 35px;
    }

    .navmobile{
        top: 35px;
        font-size: 125%;
    }
}