/*
    Merlin Cross, 2025
*/

@font-face {
    font-family: YoungSerifRegular;
    src: url("/fonts/youngserifregular.ttf");
}

@font-face {
    font-family: CrimsonRoman;
    src: url("/fonts/crimsonroman.ttf");
}

body {
    background: hsl(98, 100%, 75%); 
    color: hsl(98, 22%, 29%);
    font-family: "CrimsonRoman";
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

body h1, h2, h3 {
    font-family: "YoungSerifRegular"; 
    font-size: 2em;
    margin-block-start: 0;
    margin-block-end: 10pt;
}

h1, span.InlineHeading
{
    font-family: "YoungSerifRegular"; 
    font-size: 2em;
    font-weight: bold;
}

.PopupHeader {
    padding-left: 10pt;
}

body p, ul {
    font-size: 16pt;
    font-weight: normal;
    margin-block-start: 0;
    margin-block-end: 10pt;
}

td {
    word-wrap: break-word;
    white-space: prewrap;
}

.Nav {
    list-style: none;
    padding-inline-start: 0pt;
}

.Nav li {
    margin-top: 8pt;
    margin-bottom: 8pt;
}

.Nav li a:hover {
    color: hsl(98, 50%, 10%);
    text-decoration: underline;
    font-family: "YoungSerifRegular";
}

.Nav li a {
    font-size: 14pt;  
    line-height: 0.5; 
    color: hsl(98, 22%, 29%);
    text-decoration: none;
    font-family: "YoungSerifRegular";    
}

.Nav li.Sel a {
    color: hsl(98, 50%, 10%); 
}

.Nav a +ul {
    margin-left: 10pt;
    max-height:0;
    overflow:hidden;
    transition:0.5s linear;
    }

.Nav a:focus + ul {
    max-height:15em;
    }

a[href=""]:focus {
    pointer-events: none;
  }

@media print {
    body { color: black; }
}

td, th {
    padding: 6pt 10pt 6pt 10pt;
    text-align: start;
    vertical-align: top;
}

@media(max-width: 600pt) {
    .MenuBar {
        position: relative;
        width: calc(100vw - 40pt);
        margin: 10pt 20pt 10pt 20pt;
    } 

    .MainContent {
        position: relative;
        width: calc(100vw - 40pt);
        margin: 10pt 20pt 10pt 20pt;
        display: flex;
        flex-direction: column;
    } 
    
    .MainContentFull {
        position: relative;
        height: calc(100vh - 20pt);
        width: calc(100vw - 40pt);
        margin: 10pt 20pt 10pt 20pt;
        min-width: 240pt;
        display: flex;
        flex-direction: column;
    }   
    
    .hamburger {
        width: 30pt;
        cursor: pointer;
        margin: 0;
    }
     
    .hamburger span {
        display: block;
        height: 3px;
        background: hsl(98, 22%, 29%);
        margin: 6px 0;
        transition: 0.3s;
    }

    #NavRoot {display: none;}
    #NavRoot.open {display: block;}

    .Nav li.txt::before {
        content: '\25b6'; 
        color: hsl(98, 22%, 29%);
        margin-right: 8px;
    }

}

@media(min-width: 600pt) {
    .MenuBar {
        z-index: 200;
        position: fixed;
        top: 0;
        left: 0;    
        height: 100vh;
        width: 200pt;
        margin: 10pt 0pt 10pt 20pt;
    }

    .MainContent {
        z-index: 200;
        position: absolute;
        left: 200pt;
        width: calc(100vw - 240pt);
        margin: 10pt 0pt 10pt 20pt;
        min-width: 320pt;
        display: flex;
        flex-direction: column;
    }

    .MainContentFull {
        z-index: 200;
        position: absolute;
        left: 200pt;
        height: calc(100vh - 20pt);
        width: calc(100vw - 250pt);
        margin: 10pt 0pt 10pt 20pt;
        min-width: 320pt;
        display: flex;
        flex-direction: column;
    }

    #NavMenu {display: none;}
}

.Hidden {
    display: none;
}

.Popup {
    z-index: 300;
    display: none;
    position: absolute;
    left: 0pt;
    top: 0px;
    padding-top: 10pt;
    width: calc(100vw - 11pt);
    min-height: calc(100vh - 11pt);
    background-color: hsl(98, 100%, 75%);
    overflow-y: auto;
    overflow-x: hidden;    
}

#popup.open {
    display: block; 
}

img.border {
    border: 1px solid hsl(98, 75%, 20%);
}

img.FullWidth {
    width: calc(100% - 40pt); 
    text-align: left;
    height: fit-content;
    object-fit: contain;
    border: 1px solid hsl(98, 75%, 20%);
    margin: 10pt;
    cursor: pointer;
}

img.FitScaleDown {
    display: block;
    max-width: calc(100% - 40pt);
    text-align: left;
    height: fit-content;
    object-fit: scale-down;
    border: 1px solid hsl(98, 75%, 20%);
    margin: 10pt;
    cursor: pointer;
}

img.BorderImage {
    max-width: calc(100% - 8pt);
    max-height: calc(100vh - 110pt);
    height: fit-content;
    width: auto;
    text-align: left;
    object-fit: scale-down;
    border: 1px solid hsl(98, 75%, 20%);
    cursor: pointer;
}

img.FitImage {   
    max-width: calc(100% - 8pt);
    max-height: calc(100vh - 110pt);  
    width: fit-content;
    text-align: left;
    object-fit: scale-down;
    border: 1px solid hsl(98, 75%, 20%);
    margin-block-end: 10pt;
}

div.CentreBlock {
    width: 100%;
    text-align: center;
}

@media print {
    .MenuBar {display: none;}
    .MainContent {
        position: relative;
        left: 0;
        width: 100%;
        padding: none;
        margin: 20pt;
    }
}

.FlexContainer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: centre;
}

.FlexThumbnail {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 8pt 8pt 0;
    cursor: pointer;
    border: 1px solid hsl(98, 75%, 20%);
}

.FlexLeft {
    display: flex;
    justify-content: left;
    max-width: (100vw - 16pt);
    align-items: left;
    margin: 0 8pt 8pt 0;
    cursor: pointer;
}

.BlockText {
    display: block;
    margin-top: 10pt;
}

span {
    vertical-align: top;
}

.details {
    display: inline-block;
    border-left: 1px solid hsl(98, 22%, 29%);
    margin: 0pt 8pt 8pt 0pt;
    padding-left: 8pt;
}

.detailsBlock {
}

.button {
    margin: 0pt 8pt 8pt 0pt;
    padding: 8pt;
    font-size: 10pt;
    cursor: pointer;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
}

.button:hover {
    background-color: #0c4077;
}

.CloseButton {
    position: fixed;
    top: 30pt;
    left: 20pt;
    padding: 4pt 8px 4pt 8pt;
    font-size: 24pt;
    cursor: pointer;
    background-color: transparent;
    color: white;
    border: 2pt solid white;
    border-radius: 5px;
}

.CloseButton:hover {
    color: #007bff;
    border: 2pt solid #007bff;
}

.button:disabled {
    display:inline-block;    
    background-color: #cccccc;
}

