/* SEMANTIC ELEMENTS */
    :root {
      --bgColour: #fff;
      --txtColour: #000;
      --font:"Lexend",serif;
    }

    /* Layout */
        main{
            min-height:68vh;
        }
    
        body{
            font-family:var(--font);
            font-size:20pt;
            
            width:1500px;
            max-width:100%;
            overflow-x:hidden;
            margin:auto;
            
            background-color:#99c1f1;
            line-height:1.5;
            word-spacing:0.16;
            letter-spacing: 0.12;
        }

        header{
            padding-top:12vh;
            text-align:center;
        }

        section{
            display:flex;
            justify-content:space-around;
        }
        
        section, form, article{
            max-width:1032px;
            margin:10px auto 10px auto;
            background-color:var(--bgColour);
            color: var(--txtColour);
            border:2px solid black;
            border-radius:10px;
            padding:10px;
        }
        
        /* Focus indicator */
        *:focus {
        	/* inner indicator */
        	outline: 2px solid white;
        	outline-offset: -2px;
        	
        	/* outer indicator */
        	box-shadow: 0 0 0 4px #193146;
        }
        
        .mainNav a:focus{
            outline:2px solid black;
            outline-offset:-5px;
        }
        
        a:focus, .glossary:focus{
            outline-offset:0;
        }
        
        
    
    /* Text */
        h1{
            text-align:center;
            text-overflow: ellipsis;
            overflow:hidden;
            padding-top:5px;
        }
        
    /* Form attributes */
        input{
            margin-bottom:20px; 
            font-size:100%; 
            font-family: var(--font);
            padding:4px 0px;
                    }
        
        input[type="checkbox"]{
            width:2rem;
            height:2rem;
            grid-column: 1;
            
            justify-self: center;
            align-self: center;
        }
        
        select, option{
            font-size:100%;
            font-family: var(--font);
            max-width: 100%;
            padding:4px 1px;
        }
        
        button{
            background-color:#133089;
            border:2px solid black;
            border-radius:10px;
            padding:10px;
            margin:auto;
            color:white;
            font-size:18pt;
            display:block;
            margin-top:10px;
            
            font-family: var(--font);
            cursor:pointer;
        }
        
/* CLASSES */
    /* General */
    .card{
        display:grid;
        justify-content:center;
        padding:20px;
        margin-top:20px;
        margin:5px;
        border:2px solid black;
        border-radius:10px;
        text-align:center;
        width:250px;
        background-color:white;
        color:var(--txtColour);
    }
    
    .card:hover{
        background-color:lightgrey;
    }
    
    .buttonStyle{
        background-color:#133089;
        border:2px solid black;
        border-radius:10px;
        padding:10px;
        margin:auto;
        color:white;
        font-size:18pt;
        display:block;
        margin-top:10px;
        cursor:pointer;
    }
    
    .redButton {
        background-color: #7F0707;
        color: white;
        padding: 9px;
        border-radius: 10px;
        border: 2px solid black;
        text-decoration: none;
    }
    
    .notice{
        font-size:30pt;
        text-align:center;
        padding:20vh;
    }
    
    .symbolButton{
        width:12.5rem;
        max-width:90%;
        border:2px solid white;
        display: flex;
        flex-direction: column;
    }
    
    .symbolButton img{
        background-color:white;
        border-radius:50%;
        width:75%;
        height:75%;
        margin:auto;
        margin-top:10px;
        padding: 0px 4px 0px 4px;

    }
    
    /* */
    .fill{
        width:99%;
    }
    
    .centerDesign{
        display:block;
        text-align:center;
        padding-bottom:30px;
    }
    
    .centerDesign button{
        margin:20px auto 20px auto;
        padding:10px;
    }
    
    .centerDesign h2{
        text-align: center;
        padding-top:3vh;
    }
    
    .lowContrastLink{
        background-color: #99c1f1;
    }
    
    /* Navbar */
    nav{
        background-color:#213163;
        padding:10px;
        border-radius:10px;
        margin:10px;
        margin-top:20px;
        border:2px solid #99c1f1;
    }
    
    .mainNav a{
        background-color:var(--bgColour);
        color:var(--txtColour);
        padding:0px 10px 0px 10px;
        border-radius:10px;
        text-decoration:none;
        border:2px solid white;
        
        width:fit-content;
        min-width:7rem;
    }
    
    .mainNav a p{
        align-self: center;
    }
    
    .mainNav{
        display:flex;
        justify-content:space-around;
    }
    
    nav a img{
        max-height:4rem;
        min-width:4rem;
        object-fit:cover;
        display:block;
        margin:auto;
        
        width:4rem;
        height:4rem
    }
    
    nav a p{
        text-align:center;
        line-height:0;
        display:inline;
    }
    
    nav a:hover{
        text-decoration:underline;
    }
    
    #scrollButton{
        display:none;
    }
    
    .extraLinkBanner{
        display:block;
    }
    
    .extraLinks{
        color:white;
        padding:10px;
    }
    
    
    @media only screen and (max-width: 800px) {
        .mainNav{
            flex-direction:column !important;
        }
        
        .mainNav a{
            width:90%;
            margin:10px;
            display:flex;
        }
        
        nav a img{
            max-width:50px;
            margin:0;
            padding-right:10px;
        }
        
        #scrollButton{
            display:block;
        }
        
    }
    
    /* Slideshow */
    #slideshow-container{
        position:relative;
        margin: auto;
    }
    
    .swiper-slide{
        display:none;
        gap:20px;
        
        border:3px solid black;
        border-radius: 10px;
        background-color:var(--bgColour);
        color:var(--txtColour);
        
        overflow-x:hidden;
        max-width:1000px;
        margin:auto;
        padding:10px;
        
        min-height:70vh;
    }
    
    .swiper-slide img{
        display:block;
        max-width:60%;
        border:2px solid black;
        margin:auto;
        
        max-height:70vh;
        object-fit: cover;
    }

    .swiper-slide a, article a, section a, form a{
        background-color: #DAEAFC;
    }
    
    .slideText{
        height:fit-content;
        align-self: center;
    }


    #prev, #next {
        cursor: pointer;
        font-weight: bold;
        font-size:3em;
        border-radius: 0 3px 3px 0;
        user-select: none;
        position:absolute;
        
        color:white;
        background-color:#133089;
        padding:10px;
        top:50vh;
    }
    
    #next {
        right: 0;
        display:inline-block;
    }
    
    #prev{
        display:none;
    }
    
    #printButton{
        display:block;
    }
            
    
    .outsideBoxText{
        text-align:right;
        max-width: 1000px;
        margin:0px auto;
        display: block;
    }
    
    /* Glossary */
    .glossary{
        cursor:help;
        text-decoration:underline dashed;
    }
    
    .definition{
        z-index:1;
        border:2px solid black;
    
        background-color:var(--bgColour);
        color:var(--txtColour);
        display:none;
        font-size:18pt;
        padding:10px;
        max-width:30rem;
        
        position:absolute;
    }

    .definitionPic{
        max-width:90%;
        width:200px;
    }
    
    /* colour mode */
    .colour-mode{
        background-color:#c1d6f2;
    }
    
    .colour-mode nav, .colour-mode button, .colour-mode .buttonStyle, .colour-mode #deleteButton{
        background-color:#313e63;
    }
    
    .colour-mode img{
        filter:saturate(50%);
    }
    
    .colour-mode .redButton{
        background-color:#7f3f3f;
    }
    
    .colour-mode a:link{ /* unvisited links */
      color: #4949a3;
    }
    
    .colour-mode nav a:link{
        color:white;
    }
    
    
    /* Folders */
    #wideSection {          /* Its not wide anymore but oh well. */
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        column-gap: 20px;
        row-gap: 0;
    }
    
    #deleteButton{
        background-color:#133089; 
        color:white;    
        border-radius:10px;
    }

    #deleteButton:before{
        display:none;
    }

    .folder {
        width: 13rem;
        height:auto;
        min-height: 13rem;
        margin: 0 auto;
        padding:0;
        margin-top: 3.125rem; /* 50px / 16 */
        position: relative;
        background-color: #FFD97D;
        border-radius: 0 0.375rem 0.375rem 0.375rem; /* 6px / 16 */
        color: black;
        text-align: center;
        display: block;
        border:2px solid black;
        
        font-size:18pt;
    }

    .folder:before {
        content: '';
        width: 50%;
        height: 1rem;
        border-radius: 0 1.25rem 0 0; /* 20px / 16 */
        background-color: #FFD97D;
        position: absolute;
        top: -1.15rem; /* -12px / 16 */
        left: -2px;
        
        border-top:2px solid black;
        border-left:2px solid black;
        border-right:2px solid black;
    }
    
    .folder:hover{
        text-decoration:underline;
        cursor:pointer;
    }

    .folder img{
        height:50%;
        display:block;
    }
    
    /* Menu */
    .cover{
        border:2px solid black;
        border-radius:10px;
        width:20rem;
        
        height:fit-content;
        min-height:15rem;
            
        text-align:center;
        margin:10px;
        color:var(--txtColour);
        background-color: var(--bgColour);

        display:block;
    }

    .coverPic{
        width:80%;
        max-height:10rem;
        height:80%;
        object-fit: cover;
        max-width:50%;
        margin:auto;
        display: block;
    }
    
    .collection{ /* from explore page */
        display:flex;
        flex-wrap:wrap;
    }
     
    /* Extra form stuff */
    .spacedInput{
        font-size:18pt;
        border:none;
        border-bottom:2px solid black;
        width:500px;
        max-width:100%;

        background-color: var(--bgColour);
        color:var(--txtColour);
        padding:4px 0px;
    }
        
    .formStyle2{
        display:flex;
    }
    
    .checkboxLabel{
        vertical-align:top;
        grid-column: 2;
    }
    
    /* Trix */
    .trix-button.trix-button--icon.trix-button--icon-quote, .trix-button.trix-button--icon.trix-button--icon-code, .trix-button-group.trix-button-group--file-tools, .trix-button.trix-button--icon.trix-button--icon-strike {
        display:none;   /* yes, you could technically still access them. It really doesn't make a difference to me! */
    }
            
    /* slightly easier to use on phone */
    trix-toolbar .trix-button-row{
        flex-wrap:wrap;
    }
    
    .trix-button-row{
        display:flex;
        flex-wrap:wrap;
        column-gap:10px;
    }
    
    trix-toolbar .trix-button{
        min-width:44px; /* 44px is the magic number (according to the WCAG) */
    }
    
    .trix-button{
        background-color: white !important; /* for when desaturate is turned on - there are better ways to do this! */
    }


    

/* I have no idea where these things came from */
section img{
    max-width:50%;
    margin:auto;
}
 
.backButton{
    color:#3F3F3F;
    text-decoration:none;
    
    display: block;
    width: fit-content;
    padding:auto 2px;
}

.responsive{
    display:flex;
    flex-wrap:wrap;
}

.desktopOnly{
    display:inline;
}


/* MEDIA QUERIES */
@media only screen and (max-width: 800px) {
    #question{font-size:1.5em;}
            
    .card{
        width:70vw;
        margin-left:auto;
        margin-right:auto;
    }
    
    .formStyle{margin-top:10px;}
    
    .cover{
        width:90%;
        margin:auto;
    }
    
    .coverPic{
        max-height:60%;
        display:block;
    }
    
    .swiper-slide img{
        max-width: 99%;
    }

    .desktopOnly{
        display:none;
    }
    
    header{
        padding-top:0;    
    }
    
    #prev,#next{
        position:relative;
        top:0;
        font-size:2em;
    }
    
    #next{
        float:right;
    }
    
    .swiper-slide{
        flex-wrap:wrap;
    }
    
    #create, #explore, #home, #folders, #account, #settings{
        border-top:none !important;
        border-left:none !important;
        border-right:none !important;
    }
    #printButton{
        display: initial;
    }
    
}

@media only screen and (max-width: 400px){
    .folder{
        width:90%;
    }   
    
    .responsive, .definition{
        flex-direction:column;
    }
}

@media (prefers-color-scheme: dark) {
  body {
    background-color: #333;
    color: white;
  }
  
  .colour-mode{
    background-color: #333;
    color: #D0D0D0;      

  }
}

@media print {
    nav, #prev, #next, button{
        display:none !important;
    }
    
    .slideshow{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
    }
    
    .swiper-slide{
        display:flex !important;
        min-height:0px;
        
        margin:auto;
        margin-bottom:50px;
        max-width:90%;
        padding:10px;
        
        break-inside: avoid;
        page-break-inside: avoid; /* For older browsers */
    }
    
    .swiper-slide img{
        max-width:300px;
        margin-right:20px;
    }
    
    body{
        background-color: unset !important;
        overflow-x:visible !important;
    }
}
