/* 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 - <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%;
}

a.menulinks:link {color:white; text-decoration: none;}
a.menulinks:visited {color:white; text-decoration: none;}
a.menulinks:hover {color: #E2C4D8; 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{
        height: auto;
        width: 100%;
        max-width: 100%;
        border-style: solid;
        border-radius: 25px;
        padding: 25px;
        margin-bottom: 10px;
        font-size: 85%;
        background-color: #E2C4D8c2;
        text-align: center;
    }

    .rightcontent_top{
        font-size: 250%;
    }

    .rightcontent_notice{
        display: none;
        font-size: 150%;
        color: rgb(218, 59, 59);
        border-color: #000000;
        padding: 5px;
}      


     

.cover{
        height: 100%;
        width: 100%;

        text-align: center;
    }

    .header{
        width: 100%;
        margin: 15px;
        font-size: 400%;
    }

    .row{
        display: flex;
        flex-wrap: wrap;
    }

    .column1, .column2, .column3{
        flex: 32%;
        max-width: 32%;
        margin: 0.5%;


    }

    .item1, .item2, .item3{
        border-radius: 25px;
    
        flex: 100%;
        max-width: 100%;
        height: auto;    
    
        margin-bottom: 15px;
    
        background-color: rgba(255, 255, 255, 0.50);
    
        padding: 5px; 
    
        border: solid;

        font-size: 200%;
    }
    
    .item1 img, .item2 img, .item3 img{
        width: 94%;
        border-radius: 25px;

        margin: 3%;

        transition: transform .2s;
    }
    
    .item1 img:hover, .item2 img:hover, .item3 img:hover{
        transform: scale(1.05);
    }
    
    .item1 video, .item2 video, .item3 video{
        width: 94%;
        border-radius: 25px;
        margin: 3%;
    }

    .rowitem,
    .group{
        border-radius: 25px;
    
        width: 98%;
        height: auto;    
        margin-left: 1%;
    
        margin-bottom: 15px;
    
        background-color: rgba(255, 255, 255, 0.50);
    
        padding: 5px; 
    
        border: solid;

        font-size: 200%;
    }

    .group{
        background-color: #0eb3e64c;
    }
    
    .rowitem img{
        padding: 5px;
        max-width: 100%;
    
        border-radius: 25px;
        transition: transform .2s;
    }
    
    .rowitem img:hover{
        transform: scale(1.01);
    }
    
    .rowitem video{
        padding: 5px;
        width: 100%;
        border-radius: 25px;
}


/* The Spans in the B707 Gallery */
span.extrainfo{
    font-size: 125%;
}


a.gallerylink:link {color:rgb(0, 0, 0); text-decoration: underline;}
a.gallerylink:visited {color:rgb(0, 0, 0); text-decoration: underline;}
a.gallerylink:hover {color: red; text-decoration: underline;}


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%;
    }



    .column1, .column2{
        flex:  49%;
        max-width: 49%;
        margin: 0.5%;
        }
        .item1, .item2{
            flex: 98;
            max-width: 98%;
    }

    .column3{
        flex: 99%;
        max-width: 99%;
        margin: 0.5%;

        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        }
        .item3{
            flex: 49%;
            max-width: 49%;

            margin-left: 0.5%;
    }


    /* The Spans in the B707 Gallery */
    span.extrainfo{
        font-size: 100%;
    }
}



@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%;
    }


    .collapsiblenav {
        font-family:'Sofia Sans', Times New Roman; 
        font-size: 135%;
        color: rgb(0, 0, 0);
        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;
    }


    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%;
    }

    .column1, .column2, .column3{
        flex:  99%;
        max-width: 99%;
        margin: 0.5%;   
        flex-direction: column;
        flex-wrap: nowrap;
        }
        .item1, .item2, .item3{
            flex: 98;
            max-width: 98%;
    }
}

@media (max-width: 600px){
    .main{
        top: 40px;
    }

    .navmobile{
        top: 40px;
    }
}

@media (max-width: 400px){
    .main{
        top: 35px;
    }

    .navmobile{
        top: 35px;
        font-size: 125%;
    }
}