:root {
    --app-headline: 'Alfa Slab One',Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    --app-body: 'Work Sans', sans-serif;


    --app-container-background: #fff;
    --app-page-background: #EEFBF5;
    --app-content-color: #000;
    --app-header-color: #fff;
    --app-header-background: #344466;
    --app-banner-background: #53917E;
    --app-button-color: #fff;
    --app-button-color-hover: #fff;
    --app-button-background: #B36A5E;
    --app-button-hover: #C97C5D;

    --gap: 2em;
    --content-width: 1200px;
    --margins: calc(calc(100vw - var(--content-width)) / 2);
}

html {
    font-family: var(--app-body);
    /* background-color: var(--app-page-background) */
}

h1,h2,h3,h4,h5 {
    font-weight: 8500;
    font-family: var(--app-headline);
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.75em;
}

h3 {
    font-size: 1.5em;
}

h4 {
    font-size: 1.25em;
}

h5 {
    font-size: 1.15em;
}

aside :is(h1,h2,h3,h4,h5):first-child {
    margin-top: 0;
}
aside :is(h1,h2,h3,h4,h5){
    margin-bottom:0;
}

aside :is(h1,h2,h3,h4,h5) + p{
    margin-top: 0;
}

a, .fake-link {
    /* color:var(--app-banner-background); */
    font-weight: bold;
}

a:hover, .fake-link:hover {
    text-decoration: underline;
}

body {
    margin:0;
    padding:0;
    font-size: 1.2rem;
}

div.splash {
    display: flex;
    height:45vh;
    background-size:cover;
    background-position: center center;
    filter: sepia(80%);
    transition: filter 3s;
    /* z-index: -1; */
    isolation:isolate;
}

div.splash:hover {
    filter: sepia(40%);
}

div.splash[style='background-image:url()'],
div.splash[style=''] {
    display: none;
}

section.main {
    display:flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
}

section.main.wrap {
    flex-wrap: wrap;
}

header {
    /* grid-area: 1 / 1 / 2 / 7; */
    display: flex;
    padding: 10px;
    text-transform: uppercase;
    padding: 0 var(--margins);
}
header #home-button::after {
    content: "";
    display: block;
    width:100px;
}
header img {
    height: 100px;
    position: absolute;
    top: 0;
    z-index: 1;
}

header, header a {
    color: var(--app-header-color);
}

header nav {
    margin-left: auto;
}

header nav, header nav > ul {
    /* width: 100vw; */
    height: 2em;
    font-weight: 700;
    display: flex;
    flex-direction: row;
}

header nav > ul {
    /* width: 100%; */
    margin: 0;
    padding:0;
    align-items: center;
}

header nav a {
    padding:0 .5em;
}

header a.button {
    background-color: #188363;
    padding: 0.3em 0.6em;
}

header a.button:hover {
    background-color: #53917E;
}

.button {
    /* background: var(--app-button-background); */
    /* color: var(--app-button-color); */
    display: flex;
    border-radius: 5px;
    justify-content: center;
    align-items: center;
    font-size: 1.3rem;
    padding: .2rem;
    margin: 5px 0 ;
}

.button:hover {
    /* background: var(--app-button-hover); */
    /* color: var(--app-button-color-hover); */
    text-decoration: none;
}

.bg-splash {
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:50vh;
    background-size: cover;
    background-position: center center;
    box-sizing: border-box;
    margin: 0 var(--gap);
}

main {
    display: flex;
    gap: var(--gap);
    margin: var(--gap) var(--margins);
}

main > content{
    display:flex;
    flex-direction: column;
    width: 80%;
    margin: 0 auto;
    gap: var(--gap);
}

content:only-child {
    width: 100%;
    background: white;
}

aside {
    display: flex;
    flex-direction: column;
    width: 40%;
    gap: var(--gap);
    font-size: 1rem;
}

article, .container {
    padding: 2rem;
    background: white;
}

article p + p, aside p + p {
    margin-top:1rem;
}

img[style*="float:right"] {
    padding-left: .5em;
    padding-bottom: .5em;
}

#main-posts {
    flex-direction: column;
}

#main-posts .cobalt-posts--public-index {
    width: 100%;
    justify-content: center;
}

main > content#museum-content {
    display: block;
    width: 100%;
    padding: 0 0 2rem;
}
#museum-content form {
    text-align: center;
}
#museum-content h1 {
    text-align: center;
    margin: 2rem;
}
#categories {
    display: flex;
    justify-content: center;
    border-bottom: 4px solid lightgray;
}
#categories a {
    display: block;
    padding: 0.2em 0.4em;
    /* margin: 5px 0; */
    color: darkgray;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 1rem;
}
#categories a.current-nav{
    color:black;
    box-shadow: 0 4px 0 currentColor;
}

#museum-content {
    background:white;
}

#museum-gallery {
    display: flex;
    padding: 0 1rem;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
    margin: 2rem 0;
}

#museum-gallery a {
    display: flex;
    width:calc(33% - 1rem);
    aspect-ratio: 1 / 1;
    background-size: cover;
    color: white;
    text-decoration: none;
}

#museum-gallery a .ident-callout {
    width:100%;
    height:100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 25%);
    padding: 10px;
    box-sizing: border-box;
}

#museum-gallery a .ident-callout h2, h3{
    font-size: .9em;
    font-family: var(--project-body-family);
    margin:0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width:90%;
}

#museum-gallery a .ident-callout h3{
    font-weight: normal;
    font-style: italic;
    color: rgba(255,255,255, .6);
    margin-top: .5em;
}

footer {
    justify-content: center;
}

footer .social-media {
    font-size: 2rem;
}

@media only screen and (max-width: 35em) {
    div.splash {
        width: 100vw;
        height: 30vh;
    }
    main {
        flex-direction: column;
        width:100vw;
        box-sizing: border-box;
        margin: 0;
    }

    content > article img[style="*float:right"] {
        float:none;
    }

    main > content, main > aside{
        width:100%;
    }

    #nav-menu-spawn {
        z-index: calc(var(--project-modal-z-index) - 1);
    }

    body > header {
        z-index: calc(var(--project-modal-z-index) - 2);
        flex-direction: column;
    }

    header img {
        position: initial;
        z-index: unset;
    }

    header nav .directory--group li {
        text-align: center;
    }

    header nav, header nav ul {
        /* width: 100vw; */
        height: unset;
        display: flex;
        flex-direction: column;
        margin: 0;
    }

    .splash article.hbox{
        flex-direction: column;
    }

    #categories {
        display: flex;
        flex-direction: column;
    }

    #categories a {
        font-size: 1.2rem;
        padding: 0.75rem;
    }

    #categories a.current-nav {
        box-shadow: unset;
    }

    #museum-gallery {
        flex-direction: column;
    }

    #museum-gallery a {
        width:100%;
    }

    #profile-main #default-image {
        width: 100%;
        object-fit: contain;
    }
}