body {
	background: #FFF;
}

body.slideNav {
	overflow: hidden;
}

/* HEADINGS ------------------------------ */
h1 {
	font-size: 1.5em;
}

h2 {
	font-size: 1.45em
}

h3 {
	font-size: 1.3em
}

h4, th {
	font-size: 1.2em
}

h5 {
	font-size: 1.1em
}

h6 {
	font-size: 1.0em
}

.intro {
	font-size: 1.25em;
}



/* HEADER ------------------------------ */
body>header {
	background: #FFF;
	display: contents;
	position: relative;
	z-index: 1;
}
body > header .header-top {
    padding: 0.5rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    gap:0.75em;
}
body > header .header-top .logo {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
}
body > header .header-top .logo img {
    max-width: 100%;
}
body > header .header-top .account-links a {
    font-size: .8em;
    margin: 0;
    float: none;
}

body > header nav {
    border-bottom: 1px solid #fff;
    position: sticky;
    top: 0;
    z-index: 10;
}

body > header nav a:is(:hover, :focus-visible) {
    background: none;
    color: inherit;
}



/* MAIN ------------------------------ */
main {
    min-height: 75vh;
    padding: 0 var(--gutter) 3em;
}

.photoright {
	margin: 0 0 .75em 1em;
}

.photoleft {
	margin: 0 1em .75em 0;
}

.twoCol, .threeCol, .resCol {
	columns: auto;
	column-rule: 1px outset rgba(0,0,0,.15);
	column-width: 13em;
}

.formTable, .formTable table {
	display: block;
	width: 100%;
}

.formTable tbody {
	display: block;
}

.formTable tr {
	display: block;
}

.formTable td {
	display: block;
	padding: 0;
	width: 100%;
}

.formTable :is(input:is([type="text"], [type="password"], [type="tel"], [type="number"], [type="email"], [type="url"]), textarea) {
	margin-bottom: 1em
}

.formTable table td + td {
	padding-left: 0 !important;
}


/* Contact Form - table removed ----- */
.form-flex :where(.half, .third) {
	width: 100%;
}

.form-flex .quarter {
    width: calc(50% - .5em);
}

.form-flex .form-flex > *:last-child {
    margin-bottom: 0;
}

table.listTable tbody tr {
    font-size: 1em;
}

.mobileTable :is(thead, th) {
    display: none;
}

.mobileTable tr,
table.alternate tbody tr:nth-child(2n+1) {
    background: #fff;
    border-radius: var(--border-radius);
    display: block;
    margin-bottom: 0.625em;
    padding: 1em;
}

.mobileTable td,
table.mobileTable tbody tr :is(td, td:first-child) {
    display: block;
    padding:0;
    text-align: left;
    width: 100%;
}

.mobileTable td:before {
    content: attr(data-attribute);
    display: block;
    font-size: 0.75em;
    font-style: italic;
    line-height: 1em;
}

.mobileTable td:not(:first-child):before {
    margin-top: 0.75em;
}

.mobileTable :is(td) a {
    display: block;
    text-align: left;
}

.white-block {
    padding: 1.5em 1em;
}

.white-block.margin-bottom {
    margin-bottom: 1.5em;
}

.flex.mobileColumn {
    flex-direction: column;
    gap:0;
}

.flex.mobile-gap-10 {
    gap:0.625rem;
}

.agree div + div {
    margin-top: 1em;
}

.agree div :is(label, input[type=text]){
    width: 100%;
}



/* FOOTER ------------------------------ */
body > footer {
    padding: 1em;
    text-align: left;
    font-size: 0.75em;
}
