:root {
    box-sizing: border-box;
/*
    font-size: min(calc(0.4em + 1vw), 1.1em);

*/
    font-size: min(calc(0.78em + 1vw), 1.5em);
}
/*
@media(min-width: 600px){
    :root {
	font-size: min(calc(1em + 1vw), 1.5em);
    }
}
*/
*,
::before,
::after {
    box-sizing: inherit;
}
    
body {
    font-family: Helvetica, Arial, sans-serif;
}

body * + * {
    margin-top: 1em;
}

.serif {
    font-family: Times, "Times New Roman", Georgia, serif;
}

.underline {
    text-decoration: underline;
}

.line-break-before::before {
    content: "\a";
    white-space: pre;
}


.centered {
    text-align: center;
}

.container {
    max-width: 1080px;
    margin: 1em auto;
    background-color: bisque;
}
.container footer, .container main {
    margin: 1rem;
}
.container main h1 {
    padding-top: 1rem;
}

.footnotes {
    border-top: 2px solid black;
    padding-bottom: 1rem;
}

.flex-list-vert {
    display: flex;
    list-style-type: none;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    padding: 0;
    margin: 0;
}
.flex-list-vert > li {
    margin: 0;
}

.flex-list-horiz {
    display: flex;
    list-style-type: none;
    flex-direction: row;
    justify-content: space-between;
    text-align: center;
    padding: 0;
    margin: 0;
}
.flex-list-horiz > li {
    margin: 0;
}


.smallc {
    font-variant: small-caps;
}

/*
  grids containing multiple panels
*/


.one-plus-two-grid,
.two-by-two-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /*grid-template-rows: repeat(2, 1fr);*/
    grid-gap: 0.1rem;
}

div.one-plus-two-grid .panel:first-child {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    border-bottom: 1px solid black;
}
div.one-plus-two-grid .panel:nth-of-type(2) {
    border-right: 1px solid black;
    padding-right: 1px;
}
div.one-plus-two-grid .panel:last-child {
}
/* 2 by 2 grid */
div.two-by-two-grid .panel:nth-child(odd) {
    border-right: 1px solid black;
    padding-right: 1px;
}
div.two-by-two-grid .panel:first-child,
div.two-by-two-grid .panel:nth-child(2) {
    border-bottom: 1px solid black;
}

.panel {
    padding-top: 1rem;
}

.panel p {
    margin: 0;
}
/****************************
** 3- and 4-panel grids
****************************/
.four-panel-grid {
    display: flex;
    flex-direction: column;
    margin-top: 0;
}
.four-panel-grid p {
    margin: 0;
}
.double-panel,
.single-panel {
    flex: auto;
}

/* borders for panels */
.double-panel, .single-panel {
    border-bottom: 1px solid black;
}
.single-panel:last-child {
    border-bottom: none;
}

/* formatting of panels */
.double-panel, .single-panel {
    padding-top: 1rem;
}
.double-panel p, single-panel p {
    margin: 0;
}

@media(min-width: 550px){
    .four-panel-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(2, auto);
	grid-gap: 0.1rem;
    }
    /* positioning of panels */
    .double-panel {
	grid-column: 1 / 3
    }
    /* borders for panels */
    /* NB :nth-of-type doesn't work for classes */
    .left-panel {
	grid-column: 1 / 2;
	border-right: 1px solid black;
	padding-right: 1px;
    }
    .right-panel {
	grid-column: 2 / 3;
    }	
    .single-panel:nth-last-of-type(2){
	border-bottom: none;
    }
    .top-panel.single-panel.right-panel {
	border-bottom: 1px solid black;
    }
    
}


.spread-word {
    text-align-last: justify;
    text-justify: inter-character;
}

.spread-line {
    text-align-last: justify;
}

.spread-para {
    text-align: justify;
}

.ralign {
    text-align: right;
}

.dual-col {
    margin-top: 0;
    display: flex;
    /*width: inherit;*/
}
.left-col, .right-col {
    flex: 1;
}

/* Footer navigation */
.footer-nav::before {
    content: ' ';
    display: block;
    border-top: 3px double black;
    width: 100%;
    padding-top: 5px;
}
    
.footer-nav-item a {
    color: black;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.75rem;
}
.footer-nav-item {
    border: 1px solid black;
    padding: 1px 5px;
    background-color: white;
}
