body {
    background-color: #AB0303;
    color: black;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 14px;
}

h2 {
    font-size: 1.4em;
    margin-top: 0px;
}

h3 {
    font-size: 1.1em;
    margin: 0px 0px 6px 0px;
}

h4 {
    font-size: 0.8em;
}

a {
    color: #0000FF;
}

a:visited {
    color: #800080;
}

.caption {
    font-size: 0.8em;
    font-style: italic;
}

.credit {
    font-size: 0.6em;
}

img {
    max-width: 100%;
}

#heading {
    margin: 0px;
    padding: 10px;
    text-align: center;
}

#menu, #article {
    border: 1px solid black;
    background-color: #ffffbf;
    margin: 8px;
    padding: 8px;
}

#menu li a {
    display: block;
}

#menu ul {
    list-style-type: none;
    padding-left: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
}

#menu li:not(:last-child) {
  margin-bottom: 0.5em;
}

#menu li.active {
    border: 1px solid black;
}

#menu li {
    border: 1px solid transparent;
    transition: border-color 0.2s;
}

#menu li:hover {
    border: 1px solid #666666;
    box-shadow: 4px 4px 8px rgba(128, 128, 128, 0.5);
}

#main {
    margin: 8px;
    
    display: grid;
    grid-template-columns: 22% 1fr; /* menu | article */
}

/* Collapse to 1 column on small screens */
@media (max-width: 550px) {
    #main {
        grid-template-columns: 1fr; /* single column */
    }
    
    #menu {
        text-align: center;
    }
    
    #menu ul {
    }
    
    #menu li {
        display: inline-block;
        max-width: 45%;     /* Causes two per line */
    }
    
    #menu img {
        max-width: 90%;
    }
}

img.shadow {
    border: 1px solid #000;
    box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.2);
}

.inset {
    margin: 20px;
    padding: 6px;
    border: 1px solid #777;
    border-radius: 4px;
    background-color: #FFFFD4;
    box-shadow: 4px 4px 8px rgba(128, 128, 128, 0.5);   
}

#article {
}

#article ul {
    list-style-type: square;
    padding-left: 1em;
}

#article li {
    margin-bottom: 0.5em;
}

span.photocount {
    font-size: 0.8em;
    color: #aaa;
    margin-left: 2em;
    white-space: nowrap;
}

/* Gallery pages */

/* Disable hover on phones */

@media (pointer: coarse) {
    #gallery img:hover {
        transform: none;
        z-index: auto;
    }
}

div#gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 2em;
}

.photo {
    width: 180px;
    height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: visible;
    margin: 0px 0px 20px 0px;
}

.photo div {
    font-size: 0.7em;
    font-style: italic;
    margin-top: 6px;
}

@media (max-width: 600px) {
    .photo {
        width: 95%;                /* fit single column */
        height: auto;              /* remove forced vertical space */
        justify-content: center;   /* keep contents centered */
    }
}

div#gallery img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border: 1px solid black;
    box-shadow: 4px 4px 8px rgba(128, 128, 128, 0.5);   
    transition: transform .15s;
}

@media (hover: hover) and (pointer: fine) {
    #gallery img:hover {
        transform: scale(2.0) translate(0, -10px);
        z-index: 1;
    }
}