
:root {
  color-scheme: light dark;
}

h1,h2,h3,h4,todays-date {
    text-align: center;
}

h3 > a, 
h3 > a:visited, 
h3 > a:hover, 
h3 > a:focus 
{
    color: light-dark(black, whitesmoke);
    text-decoration: none;
}

todays-date {
    display: block;
    font-size: 1.5em;
    font-weight: bold;
    margin-block: 0.83em;
}

h4 {
    text-align: left;
}

.graphic {
    text-align: center;  
    width: 25px;
    width: 25px;
}

hr {
    border: none;
    border-top: 3px solid light-dark(black, whitesmoke);
}

blockquote {
    padding-left: 1ch;
    /* border-left: solid 3px; */
    margin: 1ch;
    font-style: italic;
}

p {
    text-align: left;  
}

.disclaimer {
    display: inline-flex;
    flex-direction: column;
    font-size: 22pt;
    font-variant: all-small-caps;
    font-weight: bold;
    text-align: center;
    width: 100%;
}

.disclaimer > span {
    margin-top: 1lh;
    font-size: 20pt;
}
.disclaimer > a,
.disclaimer > a:visited, 
.disclaimer > a:hover, 
.disclaimer > a:focus
{
    color: light-dark(black, whitesmoke);
}

body {
    position: relative;
    background: light-dark(whitesmoke, #212327);
}


.body {
    display: grid;
    grid-template-areas: "a d0 b d1 c"
}


.body>:first-child {
    max-width: 465px;
}
.divider {
    border: none;
    margin-left: 3px;
    margin-right: 3px;
    border-left: 3px solid light-dark(black, whitesmoke);
}

img,halftone-img {
    max-width: 320px;
}
halftone-img {
    position: relative;
    z-index: 1;
    display: inline-block;
    float: left;
    margin-right: 1ch;
}

.subheading:has(~ .byline) {
    margin-bottom: 0;
}
.subheading {
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
}
.byline {
    margin-top: 0;
}

.full-width {
    max-width: none;
    margin-right: 0;
    float: none;
}

halftone-img:has(~ .image-text) {
    margin-bottom: 0;
}
halftone-img ~ .image-text {
    margin-top: 0;
}

.me-image {
    position: relative;
    z-index: 1;
    display: inline-flex;
    float: left;
    margin-right: 1ch;
    max-width: 320px;
    flex-direction: column;

    & > div {
        display: inline-flex;
        flex-direction: column;
    }
}

.callout {
    border: 3px solid light-dark(black, whitesmoke);

    > h2 {
        margin: 0;
        border-bottom: 3px solid light-dark(black, whitesmoke);
        display: grid;
        grid-template-areas:
            "bg0 bg1 bg2" 
            "bg0 txt bg2";
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 1lh auto;
    }
    > h2 :nth-child(1) {
        background: repeating-linear-gradient( 45deg, transparent, light-dark(black, whitesmoke) 4px, transparent 4px, transparent 10px);
        grid-area: bg0;
    }
    > h2 :nth-child(2) {
        background: repeating-linear-gradient( 45deg, transparent, light-dark(black, whitesmoke) 4px, transparent 4px, transparent 10px);
        grid-area: bg1;
    }
    > h2 :nth-child(3) {
        grid-area: txt;
        padding: .5ch;
        padding-top: 0;
    }
    > h2 :nth-child(4) {
        background: repeating-linear-gradient( 45deg, transparent, light-dark(black, whitesmoke) 4px, transparent 4px, transparent 10px);
        grid-area: bg2;
    }
}

@media screen and (max-width: 800px) {
    .body {
      grid-template-areas: 
        " a" 
        "d0" 
        " b" 
        "d1" 
        " c";
    }

    .divider {
        border-left: none;
        border-top: 3px solid black;
    }

    halftone-img,.me-image {
        max-width: 232px;
    }

    .subheading:has(~ .byline) {
        margin-bottom: 1ch;
    }

    .subheading {
        text-align: left;
        text-indent: 1ch hanging;
    }
}

