/*------------------*/
/*	Base Structure	*/
/*------------------*/
/* All styling inititates ready for small screen sizes. */

html {
	background-image: linear-gradient(to bottom, #5191D3, #B8C15A);
	/*background-image: linear-gradient(to top, #5191D3, #FFC1D6);*/ /*Pink Tractor Theme*/
	background-repeat: no-repeat;
	font-family: Arial, Georgia, Times, sans-serif;
}
body {
	display: grid;
	grid-template-rows: auto 1fr auto; /*Three sections, header, main, footer */
	margin: 0;
	color: #000000;
	min-height: 100vh;
	text-align: center;
	text-shadow: none;
}

/*----------*/
/*	Header	*/
/*----------*/

header {
	background-color: #00000099; /*60% opacity black header*/
	color: #000;
	display: grid;
	place-items: center;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 72px auto;
	grid-column-gap: 0px;
	grid-row-gap: 12px;
	padding: 12px 0px 0;
}
#logo-head, #logo-link {
	grid-area: 1 / 2 / 2 / 3;
	height: 72px;
}

/*----------*/
/*	Footer	*/
/*----------*/

footer {
	display: grid;
	place-items: center;
	grid-template-columns: subgrid;
	color: #000000;
	padding: 0 12px;
	background-color: #FFFFFF7F;
}
footer address, footer p, footer b {
	line-height: 20px;
	margin: 10px 0;
}
footer a {
	color: #5191D3;
}
footer a:hover, footer a:focus {
	color: #FFF;
}
footer a:active {
	color: #B8C15A;
}

/*--------------*/
/*	Navigation	*/
/*--------------*/

nav {
	display: flex;
	grid-area: 2 / 1 / 3 / 4;
	flex-wrap: wrap;
	flex-direction: column;
	width: 100%;
}
nav a, nav details {
	color: #000;
	flex: 1;
	min-width: 144px;
	text-decoration: none;
}
nav a, nav summary {
	background-color: #B8C15A;
	border: 2px solid #FFFFFF1F;
	box-sizing: border-box;
	font-weight: bold;
	height: 30px;
	line-height: 26px;
	transition: 0.2s linear;
}
nav details[open] {
	max-height: 30px;
	z-index: 1;
}
nav details a {
	display: block;
	height: auto;
}
nav a:hover, nav a:focus, nav summary:hover, nav summary:focus, nav details[open] summary {
	background-color: #5191D3;
	color: #FFF;
	transition: 0.2s linear;
}
nav .pink {
	background-color: #FFC1D6;
}
nav .pink:hover, nav .pink:focus {
	background-color: #FFC1D6;
	color: #FFF;
}

/* Back-end Navigation */
#navcontain {
	align-self: start;
	display: none;
	justify-self: left;
	position: absolute;
	top: 128px;
	z-index: 2;
}
#accountcontain {
	align-self: start;
	display: none;
	justify-self: right;
	position: absolute;
	top: 128px;
	z-index: 2;
}
#navmenu, #accountmenu {
	background-color: #212121;
	display: block;
	font-weight: normal;
	height: 100%;
	overflow: hidden;
	width: 100vw;
}
#navmenu li, #accountmenu li {
	background: #212121;
	height: 48px;
	padding: 0;
}
#accountmenu li {
	direction: rtl;
}
#navmenu li a, #accountmenu li a {
	color: #999;
	display: table;
	height: 40px;
	padding: 4px 0;
	table-layout: fixed;
	text-decoration: none;
	transition: all 0.2s linear;
}
#accountmenu li a {
	direction: ltr;
}
#navmenu li a:hover, #accountmenu li a:hover, #navmenu li a:focus, #accountmenu li a:focus  {
	background-color: #424242;
	transition: all 0.2s linear;
}
#navmenu li a i, #accountmenu li a i {
	vertical-align: middle;
	min-width: 60px;
	width: 60px;
}

#navmenu li a span {
	display: table-cell;
	text-align: left;
	overflow: hidden;
	vertical-align: middle;
	white-space: nowrap;
	width: 100%;
}

#accountmenu li a span {
	display: table-cell;
	text-align: right;
	vertical-align: middle;
	width: 100%;
	white-space: nowrap;
}

#navmenu li a .fa, #accountmenu li a .fa { /*Font Awesome style override for navigation*/
	display: table-cell;
}

/*--- Header ---*/
/* Front-end Exclusive */
#login-head {
	grid-area: 1 / 3 / 2 / 4;
	align-self: start;
	justify-self: end;
	background-color: #B8C15A;
	color: #000;
	border: none;
	font-size: 10pt;
	font-weight: 1000;
	margin: 0 12px;
  	outline: none;
	padding: 4px;
	text-decoration: none;
}
#login-head:hover, #login-head:focus {
	background-color: #5191D3;
	color: #FFF;
}

/* Back-end Exclusive */
#menu { /* Navigation Sidebar button */
	align-self: start;
	border: none;
	background: #00000000;
	color: #FFF;
	cursor: pointer;
	font-size: 1em;
	grid-area: 1 / 1 / 2 / 2;
	justify-self: start;
	margin: 0 12px;
	padding: 4px 6px;
	transition: all 0.2s linear;
}
#account { /* Account Sidebar button */
	align-self: start;
	border: none;
	background: #00000000;
	color: #FFF;
	cursor: pointer;
	grid-area: 1 / 3 / 2 / 4;
	justify-self: end;
	margin: 0 12px;
	padding: 4px;
	transition: all 0.2s linear;
}
#menu:hover, #menu:focus, #account:hover, #account:focus {
	border-radius: 8px;
	box-shadow: inset #00000055 0 0 2px 10px;
}
#displayname {
	grid-area: 2 / 1 / 2 / 4;
	color: white;
	font-weight: bold;
	justify-self: right;
	line-height: 1.5em;
	margin: 0 12px;
	padding: 4px;
}

/*--- Footer ---*/
footer ul {
	align-items: center;
	background-color: black;
	color: white;
	display: flex;
	flex-wrap: wrap;
	font-family: Georgia;
	justify-content: space-between;
	line-height: 26px;
	width: 100%;
	margin: 0;
	padding: 0 12px;
}
footer ul li {
	min-width: 144px;
	list-style-type: none;
	flex: auto;
}
footer ul li a, footer ul li a:hover {
	color: #fff;
	padding: 0 6px;
}

@media (min-width: 480px) { /* Header/Footer adjustments for larger screens. */
	header {
		grid-template-rows: 96px auto;
	}
	#logo-head, #logo-link {
		height: 96px;
	}
	#login-head {
		font-size: 14pt;
		padding: 8px;
	}
	#displayname {
		padding: 8px;
	}
	
	footer {
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: 96px 30px auto;
	}
	#footcopy {
		grid-area: 2 / 1 / 3 / 4;
	}
	footer ul {
		grid-area: 3 / 1 / 4 / 4;
	}
	
	nav {
		flex-direction: row;
	}
}

@media (min-height: 628px) and (min-width: 766px) { /* Devices with dimensions larger than these specs get a side popout navigation menu instead of a top floating menu.*/
	#navcontain, #accountcontain {
		top: 160px;
	}
	#accountmenu {
		float: right;
	}
	#navmenu, #accountmenu {
		width: 60px;
	}
	#navmenu:hover, #accountmenu:hover, #navmenu:focus-within, #accountmenu:focus-within {
		width: 256px;
		overflow: visible;
	}
}

@media (hover: none) and (min-height: 628px) and (min-width: 766px) { /*This rule is an exception for tablets, so you can see the wording on the links*/
	#navmenu, #accountmenu {
		width: 256px;
	}
}

/***********/
/* Content */
/***********/

main { /* Wrapper for all page content */
	background-color: #FFFFFF2F;
	color: #000000;
	display: grid;
	grid-template-columns: 1fr;
	margin: 0;
}
main article details {
	background-color: #5191D37F;
	border: 2px solid black;
	line-height: 1.5em;
	margin: 5px 0;
	text-align: left;
}
main article summary {
	background-color: rgba(184, 193, 90, 0.8);
	cursor: pointer;
	display: flex;
	list-style-type: none;
	padding: 5px;
	transition: 0.1s linear;
}
main article summary:hover, main article summary:focus {
	background-color: #7E872D;
	transition: 0.1s linear;
}
main article details summary::before {
	content: '+';
	width: 1em;
}
main article details[open] summary::before {
	content: '-';
	width: 1em;
}
main article details p {
	padding: 10px 20px;
	text-align: left;
}
a {
	color: #5191D3;
	transition: 0.3s;
}
a:hover, a:focus {
	color: #B8C15A;
	transition: 0.3s;
}
a:active {
	color: #B8C15A;
}
abbr {
	color: #5191D3;
	font-style: italic;
}

/*	Button Styling	*/
/* For buttons that submit forms */
form button, dialog button { 
	box-shadow: inset 0px 1px 12px 0px #7ABDFF;
	background-color: #5191D3;
	border-radius: 4px;
	border: 2px solid #265787;
	cursor: pointer;
	color: #FFFFFF;
	font-size: 12pt;
	font-weight: bold;
	margin: 3px auto;
	padding: 12px 24px;
	text-decoration: none;
	transition: 0.3s;
}
form button:hover, dialog button:hover {
	background-color: #7ABDFF;
	transition: 0.3s;
}
form button:disabled, dialog button:disabled {
	box-shadow: inset 0px 1px 12px 0px #888888;
	background-color: #A8A9AB;
	border: 2px solid #000000;
	cursor: not-allowed;
}
.green:enabled:hover {
	box-shadow:inset 0px 1px 36px 0px #B8C15A;
	background-color: #62D446;
	border: 2px solid #7E872D;
}
.red:enabled:hover {
	box-shadow:inset 0px 1px 24px 4px #D46D66;
	background-color: #DD0000;
	border: 2px solid #A1562D;
}
.smallbutton {
	box-shadow: inset 0px 1px 6px 0px #7ABDFF;
	font-size: 10pt;
	font-weight: bold;
	padding: 4px 8px;
	transition: 0.3s;
}

/* For buttons that link to other pages/documents */
a button, a.smallbutton {
	box-shadow: none !important; 
	background: linear-gradient(to bottom, #7ABDFF 5%, #5191D3 100%);
	background-color: #7ABDFF;
	border-radius: 8px;
	border: 2px solid #7ABDFF;
	cursor: pointer;
	color: #FFFFFF;
	font-size: 12pt;
	font-weight: bold;
	padding: 12px 16px;
	text-decoration: none;
	transition: none !important;
}
a button:hover, a.smallbutton:hover {
	background: linear-gradient(to bottom, #B8C15A 5%, #7E872D 100%);
	background-color: #B8C15A;
	border: 2px solid #B8C15A;
	transition: none !important;
}
/*Tooltip styles*/
.toolover { /* span element for legend tooltip overlay */
	height: 1.5em;
	padding: 1px;
	bottom: 32px;
	margin-bottom: -16px;
	display: block;
}
.tooltip {
	position: relative;
	width: 100%;
}
.tooltip::before {
	position: absolute;
	bottom: calc(100% + 1px);
	left: 0;
	right: 0;
	margin-inline: auto;
	z-index: 3;
	width: fit-content;
	max-width: min(calc(100vw - 8px), 420px);
	background: black;
	color: white;
	padding: 4px;
	content: attr(tool-text);
	opacity: 0;
	pointer-events: none;
}
.tooltip:hover::before {
	opacity: 1;
	transition-delay: 0.5s;
}
.tooltip:active::before {
	opacity: 1;
	transition-delay: 0.5s;
}

/* Toggletips (Currently Experimental) */
.togglecontainer { /* Container for positioning the tooltip near the element toggle */
	position: relative;
}
.togglewrap { /* Wrapper for the label and button to align with each other */
	display: flex;
	width: fit-content;
	margin: auto;
}
.togglectl { /* Interactive button that toggles the dialog element */
	background-color: #FFFFFF;
	border: none;
	box-shadow: none;
	color: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 20px;
	margin: 0;
	padding: 0;
	width: 20px;
}
.togglectl:hover, .togglectl:focus {
	background-color: #DDDEE0;
}
.toggletip { /* The dialog element with the text. */
	position: absolute;
	bottom: 100%;
}

/*Column Style definitions*/
.cwrap {
	display: flex;
	margin: auto;
	flex-wrap: wrap;
}
.column {
	flex: 100%;
	padding-top: 8px;
	position: relative;
}
fieldset.column {
	margin: 5px;
	min-width: 280px;
}

/* Dialogs */
dialog {
	background: #7ABDFF;
	border: 4px outset #5191D3;
	border-radius: 16px;
	box-sizing: border-box;
	max-width: 320px;
	padding: 16px;
}
#spinner {
	animation: spinner 1.5s linear infinite;
	border: 3px solid #DDDEE0;
	border-radius: 50%;
	border-top-color: #265687;
	box-sizing: border-box;
	content: "";
	height: 64px;
	margin: auto;
	width: 64px;
}
#spintext {
	white-space: pre-line;
}
@keyframes spinner {
	to {
		transform: rotate(360deg);
	}
}

/* Note Styles */
#communications { /*The div used to contain claim note history.*/
	background-color: #5191D3BA;
	border-radius: 12px;
	margin: auto;
	padding: 12px 0;
	width: calc(80% + 16px);
}
.comment {
	width: calc(95% - 40px);
	margin: 8px auto;
	background-color: #DDDEE0BA;
	border-radius: 8px;
}
.comment h4, .comment h5, .comment p {
	text-align: left;
}
.comment address, .comment time {
	display: inline;
}
.comment span {
	text-transform: capitalize;
}
.reps {
	background-color: #B8C15ABA;
}
.followup {
	width: calc(95% - 40px);
	margin: 8px auto;
	background-color: #d49b3b;
	border-radius: 8px;
	display: inline-block;
}
/* Resource Pages and blog styling */
article {
	background-color: #FFFFFFC8;
	grid-column: 2 / 3;
	padding: 0 20px;
}
article h1, article h2, article h3, article h4, article h5, article h6, article p, article b, article ul, article ol, article dl {
	line-height: 1.5em;
}
article h1, article h2, article h3, article h4, article h5, article h6, article p {
	margin: 0;
	padding: 10px 0;
}
article p, article b {
	text-align: justify;
}
article ul, article ol, article dl {
	text-align: left;
}
article em {
	font-size: 11pt;
}
article table {
	margin: auto;
	border-collapse: collapse;
}
article table td, article table th {
	border-bottom: 1px solid black;
	padding: .25em .5em;
}
dt {
	font-weight: bold;
}
figure {
	display: grid;
	justify-content: center;
}
figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
figcaption, caption {
	background-color: #000B;
	color: #FFF;
	font-family: Times;
	padding: 5px;
}
.list-left-centered {
	width: fit-content;
	margin: auto;
	text-align: left;
}
#schedule { /* iframe container */
	grid-column: 1 / 4;
	height: 100%;
	min-height: 480px;
	width: 100%;
}
/*Table Page Stylings*/
#fullpage {
	background-color: #FFFFFFC8;
	grid-column: 1 / 4;
}
menu {
	background-color: #B8C159;
	display: flex;
	flex-wrap: wrap;
	font-weight: bold;
	list-style-type: none;
	margin: 0;
	padding: 0;
	transition: 0.2s;
}
menu li {
	flex: 1;
	list-style-type: none;
	padding: 4px;
	min-height: 36px;
}
menu li:hover {
	background-color: #7ABDFF;
	transition: 0.2s;
	cursor: pointer;
}
menu .active {
	background-color: #5191D3;
	color: #FFFFFF;
}
.badge {
	background-color: white;
	color: red;
	border-radius: 10px;
	padding: 1px 4px;
	font-weight: bold;
}
section {
	margin: auto;
	max-width: 100%;
	width: fit-content;
}
search { /* content above/below the table */
	background-color: #26568780;
	display: flex;
	padding: 5px 0;
}
/* Search Table Header Content */
search label {
	margin: auto;
}
search select, search input[type="search"] {
	border: 2px solid #265687AF;
	border-radius: 5px;
	font-size: 12pt;
	padding: 5px;
}
search select {
	background: url("../../images/selectArrow.svg") right 6px center / 18px no-repeat #f6f6ff;
	min-width: 64px;
	-webkit-appearance: none;
}
search input[type="search"] {
	background: url("../../images/search.svg") right 8px center / 18px no-repeat #f6f6ff;
}
/* Table Page Listings */
search ul {
	list-style-type: none;
	margin: 0 auto;
	padding: 0;
}
search ul li {
	background-color: #FFFFFF;
	border: 2px solid #DDDEE0;
	border-radius: 4px;
	color: #000000;
	display: inline-block;
	margin: 0 2px;
	transition: all 0.1s linear;
}
search ul li:hover:not(.disabled, .active) {
	background-color: #7ABDFF;
	border-color: #5191D3;
	color: #FFFFFF;
	transition: all 0.1s linear;
}
search ul li a {
	color: inherit !important;
	cursor: pointer;
	display: block;
	font-weight: bold;
	padding: 6px 10px;
	text-decoration: none;
}
search ul .active {
	background-color: #5191D3;
	border-color: #265687;
	color: #FFFFFF;
}
search ul .active a, search ul .disabled a {
	color: inherit;
	cursor: default;
}
/* Tables */
.tablestabilizer { /* Secondary Wrapper to prevent width of parent container expanding off screen if needed. */
	display: grid;
	width: 100%;
}
.tablescroll { /* Wrapper to contain wide tables that need to scroll */
	width: auto;
	overflow-x: auto;
}
table {
	border-spacing: 0;
	margin: auto;
}
th div {
	display: grid;
	grid-template-columns: auto 12px;
	align-items: center;
	grid-gap: 4px;
}
th div i {
	cursor: pointer;
}
th p {
	margin: 0;
}
th, td {
	min-width: 120px;
	text-align: left;
	height: 30px;
	border: 1px solid #C8C8C8;
	background-clip: padding-box;
	padding: 4px;
	justify-content: space-between;
}
td a {
	font-weight: bold;
}
/* Searchable Tables */
.tablescroll th:first-child, .tablescroll td:first-child {
	position: sticky;
	left: 0;
	background-color: #FFFFFF;
	z-index: 1;
}
.tablescroll tr:nth-child(odd) {
	background-color: #FFFFFF;
}
.tablescroll tr:nth-child(even), .tablescroll tr:nth-child(even) td:first-child {
	background-color: #EEEEEE;
}
/*Information tables (non-lists)*/
.info {
	margin: 10px auto 20px;
	color: black;
	border-collapse: collapse;
}
.info caption {
	background-color: #DDDEE0;
	border: 1px solid #A8A9AB;
	border-bottom: none;
	color: #000;
	font-family: Arial;
	font-size: 16pt;
	font-weight: bold;
}
.info thead {
	font-size: 16pt;
	background-color: #DDDEE0;
}
.info tbody {
	background-color: #F0F0F0;
}
.info thead th {
	border: 1px solid #A8A9AB;
	border-bottom-width: 2px;
	height: 2em;
	text-align: center;
}
.info tbody th, .info tbody td {
	border: 1px solid #A8A9AB;
	height: 30px;
	padding: 0 5px;
}
.info tbody th {
	min-width: 140px;
	text-align: right;
}
.info tbody td {
	text-align: left;
	word-break: break-word;
}
/*Form styling*/
form {
	background-color: #FFFFFF;
	grid-column: 2 / 3;
}
form a {
	cursor: pointer;
	text-decoration: underline;
}
form details {
	border: 1px solid #CDCDCD;
	background-color: white;
	text-align: center;
}
form summary {
	padding-left: 10px;
	font-weight: bold;
	font-size: 16pt;
	cursor: pointer;
	text-align: left;
	background-color: #CDCDCD;
	border: 1px solid #CDCDCD;
	transition: 0.2s linear;
}
form summary:hover, form summary:focus {
	transition: 0.2s linear;
	background-color: #AAAAAA;
}
form label {
	display: block;
}
form fieldset {
	width: 90%;
	margin: auto;
	border: 2px groove #A8A9AB;
}
form fieldset p {
	text-align: center;
}
form fieldset legend {
	align-items: center;
	border: 2px groove #A8A9AB;
	border-bottom: none;
	background-color: #EFEFEF;
	display: flex;
	height: 1.5em;
	margin: 5px auto 0;
	padding: 0 5px;
}
/* Type-ahead search results box. */
.typeahead {
	background-color: #DDDEE0;
	box-shadow: inset 0 0 0 2px #5191D3;
	display: none;
	list-style: none;
	padding: 0;
	width: 80%;
	position: absolute;
	top: 67px;
	left: 0 !important; /*using important here to make sure whatever js is being used is not affecting this.*/
	right: 0 !important; /*using important here to make sure whatever js is being used is not affecting this.*/
	margin: auto;
	z-index: 2;
	max-height: 360px;
	overflow-y: scroll;
	/*Scrollbar styling*/
	scrollbar-width: none; /*This is firefox's scrollbar styling method. Hides the scrollbar for a clean list.*/
}
.typeahead::-webkit-scrollbar { /*This hides the scrollbar for edge, chrome, and opera browsers.*/
	width: 0;
}
.typeahead li {
	padding: 5px;
}
.typeahead li:hover {
	background-color: #5191d3;
	color: #ffffff;
	cursor: pointer;
}

/* Input styling */
form input, form select {
	position: relative;
	font-size: 16px;
	padding: 10px;
	background: #f6f6ff;
	border: 1px solid #5191d3;
	border-radius: 4px;
	outline: none;
	-webkit-appearance: none; /*Required so browsers don't override with default styles.*/
}
form textarea {
	width: calc(75% + 16px);
	height: 4em;
	margin-bottom: 10px;
	background: #f6f6ff;
	border: 1px solid #5191d3;
}
form input:focus, form select:focus, form textarea:focus {
	border: 1px solid #265687;
	box-shadow: 0 0 5px #7abdffa0;
}
form input:disabled, form select:disabled, form textarea:disabled {
	border: 1px solid #dddee0;
	background: #f8f8f8;
}
form input[type="text"], form input[type="password"], form input[type="date"], form input[type="time"], form input[type="datetime-local"], form input[type="number"], form input[type="email"], form input[type="tel"], form input[type="url"] {
	margin-bottom: 10px;
	width: 75%;
}
form select, form input[type="search"]  {
	margin-bottom: 10px;
	width: calc(75% + 22px);
}
form input[type="color"] {
	padding: 5px;
}
form input[type="range"] { /*resets the styles for consistency in browsers across multiple platforms. */
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	height: 24px;
	background: transparent;
	border: transparent;
	box-shadow: none;
	width: 100%;
}
/*Styles split out because safari doesn't like it combined for some reason.*/
form input[type="range"]::-moz-range-track {
	background: #3071a9;
	border: 0.2px solid #000;
	height: 4px;
}

form input[type="range"]::-webkit-slider-runnable-track {
	background: #3071a9;
	border: 0.2px solid #000;
	height: 4px;
}
form input[type="range"]:disabled::-moz-range-track {
	background: #dddee0;
	border: 0.2px solid #a8a8ab;
	height: 4px;
}

form input[type="range"]:disabled::-webkit-slider-runnable-track {
	background: #dddee0;
	border: 0.2px solid #a8a8ab;
	height: 4px;
}
form input[type="range"]::-moz-range-thumb {
	width: 12px;
	height: 24px;
	background: #dddee0;
	border: 1px solid #a8a9ab;
	border-radius: 4px;
}
form input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	margin-top: -12px;
	background: #dddee0;
	border: 1px solid #a8a9ab;
	width: 12px;
	height: 24px;
	border-radius: 4px;
}
form input[type="range"]:focus::-moz-range-thumb{
	background: #a8a9ab;
	outline: 1px solid #265687;
}
form input[type="range"]:focus::-webkit-slider-thumb {
	background: #a8a9ab;
	outline: 1px solid #265687;
}

form select {
	background: url("../../images/selectArrow.svg") right 8px center / 18px no-repeat #f6f6ff;
}
form select:disabled {
	background: url("../../images/selectArrow.svg") right 8px center / 18px no-repeat #f8f8f8;
}
form select[multiple] {
	background: #f6f6ff;
	height: 114px;
}
form input[type="search"] {
	background: url("../../images/search.svg") right 8px center / 18px no-repeat #f6f6ff;
}
form input[type="search"]:disabled {
	background: url("../../images/search.svg") right 8px center / 18px no-repeat #f8f8f8;
}
form input[type="date"] { /*For mobile safari*/
	height: 18px;
}
form input[type="checkbox"] {
	width: 20px;
	height: 20px;
	padding: 2px;
	vertical-align: sub;
	margin: 0 4px 0 0;
}
form input[type="checkbox"]:checked {
	background: url("../../images/checkmark.svg") 50% 60% / 80% no-repeat #f6f6ff;
}
form input[type="radio"] {
	width: 20px;
	height: 20px;
	padding: 1px;
	border-radius: 50%;
	vertical-align: sub;
	margin: 0 4px 0 0;
}
form input[type="radio"]:checked {
	background: url("../../images/radio.svg") no-repeat #f6f6ff;
}
form input[type="file"] {
	width: 240px;
}
[data-sub="sub"] input:invalid, [data-sub="sub"] select:invalid, [data-sub="sub"] textarea:invalid {
	border: 1px solid #a1562d;
	box-shadow: 0 0 5px #d46d66a0;
}
form .radiowrap { /* For displaying radio buttons side-by-side */
	display: flex;
	justify-content: center;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
form .radiolist {
	list-style-type: none;
	margin: 5px auto;
	padding: 0;
	text-align: left;
	width: fit-content;
}
form .radiolist li {
	display: flex;
	padding: 2px;
}
.radiowrap label, .radiolist label {
	display: inline-block;
	flex: 1
}
ol, #quickcovopt {
	display: inline-block;
	text-align: left;
}
#passvis { /* Password reveal checkbox.*/
	position: absolute;
	transform: translate(-200%, 50%);
	margin: 0;
}
.hidden { /* used on login page to hide a field meant to catch bots */
	display: none;
}
.centered {
	text-align: center;
}

@media (min-width: 480px) { /* Remaining Styling Adjustments for Larger Screens */
	main {
		grid-template-columns: 10% 1fr 10%;
	}
	main details {
		margin: 5px 5%;
	}
	form details {
		margin: 0;
	}
}
@media (min-width: 766px) {
	.cwrap {
		width: 90%;
	}
	.column {
		flex: 1;
	}
	form details summary {
		font-size: xx-large;
	}
}