
*, *::before, *::after {
	box-sizing: border-box;
}

BODY {
	display: flex;
	flex-direction: column;
	background-color: #fafafa;
	margin: auto;
	max-width: 1920px;
	font-family: system-ui, sans-serif;
	min-height: 100vh;
  	min-height: 100svh;
}

BODY > HEADER {
	background: white;
}

BODY > FOOTER {
	min-height: 20px;
	background-color: white;
	margin-top: auto;
	color: #7da198;
	font-size: 0.625rem;
	line-height: 1.4;
}

BODY > FOOTER .copy {
	margin-left: auto;
}

BODY > FOOTER .copy::before  { 
	content: '\00A9'
}

#top {
	font-size: 1rem;
	line-height: 1.5;
	background: #e1e8e6;
	padding: 8px 8px;
	color: #7da198;
}

#top NAV {
	font-size: 0.75rem;
	line-height: 24px;
}

#top A {
	text-decoration: none;
}

.container {
	display: block;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 8px;
	padding-right: 8px;
}

.main-menu {
	background-color: white;
}
.main-menu-content {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
}
.main-menu-content .banner { width: auto; }

.main-menu-nav { 
	flex: 1; 
	padding-top: 8px;
	padding-bottom: 8px;
}


.banner {
	display: none;
	align-items: center;
	width: 100%;
	height: 90px;
	padding-top: 8px;
	padding-bottom: 9px;
	font-size: 16px;
	font-weight: bold;
/*	text-transform: uppercase; */
}
.banner IMG {
	display: none;
	height: 100%;
	margin-right: 8px;
}
.banner DIV {
}

.banner-text-1 { font-size: 0.75rem; display: block;}
.banner-text-2 { font-size: 1.25rem; display: block; }

.primary-nav, .secondary-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	justify-content: flex-start;
	padding: 8px 0px;
}

.primary-nav A {
	font-size: 0.75rem;
	text-transform: uppercase;
	font-weight: bold;
	text-decoration: none;
	color: black;
}
.secondary-nav A {
	font-size: 0.625rem;
	text-transform: uppercase;
	font-weight: normal;
	text-decoration: none;
	color: black;
}

.secondary-nav .active,
.primary-nav .active {
	border-bottom: 2px solid #fca82b;
}

@media (min-width: 576px)  { .container { max-width: 540px;  padding-left: 0; padding-right: 0; } }
@media (min-width: 768px)  { .container { max-width: 720px;  } .banner { display: flex; } .primary-nav, .secondary-nav { justify-content: flex-end; padding: 8px 0; } #top { padding: 8px 0; } }
@media (min-width: 992px)  { .container { max-width: 960px;  } .banner > IMG { display: block; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }

@media print {
	#top, BODY > HEADER, BODY > FOOTER { display: none; }
	BODY { background-color: white; }
}

.full-width { 
	padding-inline: 8px;
	margin-inline: auto; 
}

@media (min-width: 576px)  { .full-width { max-width: 540px;  padding-inline: 0; } }
@media (min-width: 768px)  { .full-width { max-width: 720px;  } }
@media (min-width: 992px)  { .full-width { max-width: 960px;  } }
@media (min-width: 1200px) { .full-width { max-width: 1140px; } }
@media print {               .full-width { max-width: unset;  padding-inline: 1rem; } }

#top .user {
	position: relative;
	color: black; 
}

#top .user-menu { 
	position: absolute; 
	left:-16px; 
	display: none; 
	background-color: #e1e8e6; 
	padding: 0 8px; 
	min-width: 10rem; 
}

#top .user-menu A { 
	display: block; 
	font-size: 0.75rem; 
	text-decoration: none; 
	color: black; 
	padding: 8px;
}

#top .user INPUT { 
	display: none; 
}

#top .user INPUT:checked ~ .user-menu { 
	display: block; 
}

#top .user LABEL::after { 
	content: ""; 
	display: inline-block; 
	visibility: hidden; 
	border-left: 1.4px solid black;
	border-top: 1.4px solid black;
	border-radius: .7px;
	margin: 0 1.2ex;
	width: .6ex;
	height: .6ex;
	transform: rotate(225deg);
	vertical-align: .4ex;
	transition: transform .15s ease-in-out;
}

#top .user INPUT:checked ~ LABEL::after {  
	visibility: visible; 
	transform: rotate(45deg);
}

#top .user LABEL:hover::after { 
	visibility: visible; 
}

.three-way {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 1rem;
}

.three-way > .left   { grid-column: 1 / 2; }
.three-way > .middle { grid-column: 2 / 3; }
.three-way > .right  { grid-column: 3 / 4; }


#top > NAV > .right  { 
	display: flex; 
	justify-content: flex-end; 
	gap: 8px;
}

#top .login { color: black; }

SECTION > HEADER {
	margin-block: 1.2rem;
}

SECTION > HEADER > H1 {
	margin-block: 0rem;
}


TABLE {
	background-color: #fafafa;
	width: 100%;
	border-collapse:  collapse;
	border-spacing:   0px;
	margin-bottom: 30px;
}

TH {
	background-color: #e1e8e6;
color: #000000;
	
}

CAPTION {
	color: #094738;
	text-align: left;
	font-size: 16px;
	padding: 8px 0;
	font-weight: bold;
}

TR:hover TD { background: white;  }
TABLE.highlight TR:hover TD {   border-bottom: 1px solid #fea92a; }

TD, TH {
  padding: 5px;
  border: 1px solid #ccc;
  font-size: 14px;
}


A { color: #3f7467; }


TABLE TD.btn A { 
	color: white;
	background: #3f7467;
	text-decoration: none;
	padding: 3px 8px; 
}



TABLE.list TH { text-align: left; }

TABLE.list TH,
TABLE.list TD {
	border-left: none;
	border-right: none;
	
}



/*  FORM  */

.controlls {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 1rem;
	margin-block: 1rem;
}

MAIN BUTTON, 
MAIN INPUT[type='button'], 
MAIN INPUT[type='submit'] {
	color: white;
	background-color: #3f7467;
	padding: 8px 16px;
	min-width: 136px;
	font-size: 0.75rem;
	line-height: 1.33;
	text-transform: uppercase;
	transition: background-color 0.2s;
	border: unset;
	cursor: pointer;
}


MAIN BUTTON.next, 
MAIN INPUT[type='button'].next, 
MAIN INPUT[type='submit'].next {
	display: inline-flex;
}

MAIN BUTTON.next::after, 
MAIN INPUT[type='button'].next::after, 
MAIN INPUT[type='submit'].next::after {
	content: '\2192';
	color: #fca82b;
	font-weight: bold;
	margin-left: auto;
	padding-left: 1ex;
} 

MAIN  BUTTON:hover {
	background-color: #7da198;
}

MAIN LABEL {
	box-sizing: border-box;
	display: block; 
   	line-height: 28px;
   	margin: 10px 0;
}

MAIN LABEL SUP {
	vertical-align: baseline;
	color: #ab0707;
	padding: 0 0 0 2px;
	font-size: inherit;
}

MAIN LABEL.item {
	font-weight: normal;
   	margin: 2px 0;
}

MAIN TEXTAREA, 
MAIN SELECT,
MAIN LABEL.item,
MAIN INPUT:not([type]),
MAIN INPUT[type='password'],
MAIN INPUT[type='text'] {
   	box-sizing: border-box;
	display: inline-block; 
   	padding: 6px 16px;
	width: 100%;
   	height: 40px;
   	font-size: 14px;
}

MAIN TEXTAREA, 
MAIN SELECT,
MAIN INPUT:not([type]),
MAIN INPUT[type='password'],
MAIN INPUT[type='text'] {
   	margin: 10px 0;
    background: #ffffff;
   	color: black;
	border: 1px solid #3f7467;
}

MAIN BUTTON:focus-visible,
MAIN TEXTAREA:focus-visible, 
MAIN SELECT:focus-visible,
MAIN INPUT:not([type]):focus-visible,
MAIN INPUT[type='password']:focus-visible,
MAIN INPUT[type='text']:focus-visible {
   	outline: #000000 2px solid;
}
   
MAIN TEXTAREA { 
   	height: 150px;
   	resize: vertical;
}

MAIN LEGEND {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
    font-size: 21px;
    line-height: inherit;
    color: #333;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
}

MAIN .input-row {
	display: flex;
	gap: 1rem;
	align-items: baseline;
}

MAIN .input-row SELECT,
MAIN .input-row INPUT:not([type]),
MAIN .input-row INPUT[type='password'],
MAIN .input-row INPUT[type='text'] {
	width: auto;
}

MAIN FORM P { margin-left: 24px; }

MAIN LABEL {
	position: relative;
}

MAIN LABEL INPUT[type='checkbox'] { 
	display: inline-block; 
	width: 0px; 
	visibility: hidden; 
	position: absolute;
}

MAIN LABEL INPUT[type='checkbox'] + SPAN { 
	user-select: none; 	
}

MAIN LABEL INPUT[type='checkbox'] + SPAN:before {
	color: #3f7467;
}

MAIN LABEL INPUT[type='checkbox']:checked + SPAN:before {
	display: inline-block;
	font-family: ionicons;
	content:'\F2B8';
	font-size: 20px;
	padding: 0 5px;
}

MAIN LABEL INPUT[type='checkbox']:not(checked) + SPAN:before {
	display: inline-block;
	font-family: ionicons;
	content:'\F380';
	font-size: 20px;
	padding: 0 5px;
}

MAIN LABEL INPUT[type='checkbox']:checked:hover + SPAN:before {
	content:'\F2B9';
	color: #888;
}

MAIN LABEL INPUT[type='checkbox']:not(checked):hover + SPAN:before {
	content:'\F381';
	color: #888;
}

MAIN SELECT[readonly='readonly'],
MAIN INPUT:not([type])[readonly='readonly'],
MAIN INPUT[type='password'][readonly='readonly'], 
MAIN INPUT[type='text'][readonly='readonly'],
MAIN TEXTAREA[readonly='readonly'] {
	color: #777777;
}

TD LABEL {
	margin: unset;
	line-height: unset;
}

.preview {
  background-color: white;
  padding: 1rem;
  border: 1px solid lightgray;
}
