*
{
	box-sizing: border-box;
}
body
{
	color: #444;
	font: 14px/21px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	margin: auto;
	max-width: 1280px;
	padding: 0 5vw 5em 5vw;
	width: 100%;
}
h1,h2,h3,h4,h5,h6,p.site-name,.subtitle {
	font-family: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
}
h1,
h2,
h3,
h4,
h5,
h6
{
	color: #181818;
	font-weight: 400;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a
{
	font-weight: inherit;
}
p.site-name
{
	font-size: 46px;
	line-height: 50px;
	margin: 0;
}
h1
{
	font-size: 46px;
	line-height: 50px;
	margin: 0;
}
h2
{
	font-size: 30px;
	line-height: 30px;
}
h1.subtitle,
p.subtitle
{
	font-size: 17px;
	line-height: 24px;
	margin: 0;
}
h3
{
	font-size: 28px;
	line-height: 34px;
	margin: 8px 0;
}
h4
{
	font-size: 21px;
	line-height: 30px;
	margin: 4px 0;
}
h5
{
	font-size: 17px;
	line-height: 24px;
	margin: 0;
}
h6
{
	font-size: 14px;
	line-height: 21px;
}
label,
legend
{
	font-weight: 700;
}
label span,
legend span
{
	color: #444;
	font-size: 13px;
	font-style: italic;
	font-weight: 400;
}
legend
{
	padding: 0 8px;
	text-align: center;
}
label
{
	display: block;
}
.header-blurb
{
	font-size: 110%;
	font-style: oblique;
	margin: 1em auto;
	text-align: center;
	width: 80%;
}
a,
a:visited
{
	color: #111;
	outline: 0;
	text-decoration: underline;
}
a:focus,
a:hover
{
	color: #000;
}
p a,
p a:visited
{
	line-height: inherit;
}
.header-links a
{
	white-space: nowrap;
}
pre
{
	white-space: normal;
}
img.preview
{
	box-shadow: 0 0 3px 0 #000;
	margin: 10px;
	width: 120px;
	height: auto;
	opacity: .5;
	pointer-events: none;
	position: absolute;
	right: 0;
	background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAAK0lEQVQ4y2P8//8/A25w7949PLJMDBSAUc0jQzML/jSkpKQ0GmCjminRDADJNQjBr5nbigAAAABJRU5ErkJggg==');
	background-repeat: round;
}
table
{
	width: 100%;
}
table td
{
	padding: 5px;
	vertical-align: middle;
}
table th
{
	font-weight: 700;
	padding: 5px;
}
[disabled]
{
	opacity: .3;
	pointer-events: none;
}
input[type=number]
{
	border: 1px solid #ccc6;
	margin-bottom: 10px;
	margin-right: 4px;
	max-width: 5em;
	width: min-content;
}
select
{
	display: block;
	width: auto;
}
input[type=color]
{
	margin-bottom: 16px;
}
.preview_iframe
{
	border-radius: .5em;
	box-shadow: 0 0 1em;
	margin-bottom: 1em;
	transition: all 500ms;
}
.preview_iframe.highlight {
	box-shadow: 0 0 1em 1em green;
}
fieldset
{
	border: 0;
	margin: 0;
	padding: 0;
}
.hide
{
	display: none !important;
	overflow: hidden !important;
}
fieldset:not(.no-border)
{
	border: 1px solid #ccc;
	padding: 8px;
}
legend
{
	padding: 0 8px;
	text-align: center;
}
.btn-save
{
	font-size: 115%;
	height: 2.75em;
	margin: .5em 1em;
}
.btn-save.cancel
{
	color: red;
}
.btn-save.confirm
{
	color: green;
}
img.resp
{
	max-width: 100%;
}
p.header-links
{
	margin: 0;
	text-align: center;
}
.error,
.info,
.success,
.validation,
.warning
{
	background-position: 10px center;
	background-repeat: no-repeat;
	border: 1px solid;
	margin: 10px 0;
	padding: 15px 10px 15px 50px;
	display: inline-block;
}
.info
{
	background-color: #bde5f8;
	background-image: url(/images/info.png);
	color: #00529b;
}
.success
{
	background-color: #dff2bf;
	background-image: url(/images/success.png);
	color: #4f8a10;
}
.warning
{
	background-color: #feefb3;
	background-image: url(/images/warning.png);
	color: #9f6000;
}
.error
{
	background-color: #ffbaba;
	background-image: url(/images/error.png);
	color: #d8000c;
}
.header-links a.current
{
	text-decoration-style: double;
}
.button
{
	background: #eee linear-gradient(rgba(255, 255, 255, .2) 0, rgba(0, 0, 0, .2));
	border: 1px solid #aaa;
	border-left: 1px solid #ccc;
	border-radius: 10px;
	border-top: 1px solid #ccc;
	color: #444;
	cursor: pointer;
	display: inline-block;
	font-size: 11px;
	font-size: 125%;
	font-weight: 700;
	line-height: normal;
	height: auto;
	margin-bottom: 20px;
	padding: 4px 12px;
	padding: 8px 10px;
	text-align: center;
	text-decoration: none;
	text-shadow: 0 1px rgba(255, 255, 255, .75);
}
.button.small
{
	border-radius: 5px;
	font-size: 100%;
	padding: 3px 10px;
}
.button:hover
{
	background: #ddd linear-gradient(rgba(255, 255, 255, .3) 0, rgba(0, 0, 0, .3));
	border: 1px solid #888;
	border-left: 1px solid #aaa;
	border-top: 1px solid #aaa;
	color: #222;
}
.button.wide
{
	width: 100%;
}
.button.blue
{
	box-shadow: 0 0 10px #00f;
	color: #00f;
}
.button.green
{
	box-shadow: 0 0 10px green;
	color: green;
}
input[type=email],
input[type=number],
input[type=text],
input[type=password],
select,
textarea
{
	background: #fffb;
	border: 1px solid #ccc;
	border-radius: 2px;
	color: #111;
	display: inline;
	font: 13px HelveticaNeue, "Helvetica Neue", Helvetica, Arial, sans-serif;
	margin: 0 0 10px 0;
	max-width: 100%;
	outline: 0;
	padding: 4px;
}
input[type=email]
{
	border: 1px solid #00f;
	min-width: 250px;
}
input[type=email]:active,
input[type=email]:focus
{
	box-shadow: inset 0 0 3px 1px #00f;
}
table
{
	border: #111;
	border-collapse: collapse;
}
thead
{
	text-align: left;
}
.columns
{
	margin: 12px 0;
	width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 10px;
}
.columns.two-cols {
	grid-template-columns: 1fr 1fr;
}
@media screen and (max-width:900px) {
	.columns {
		grid-template-columns: 1fr !important;
	}
}
.center
{
	text-align: center;
}
.relative
{
	position: relative;
}
.accordian
{
	cursor: pointer;
	font-weight: 700;
	margin-bottom: 0;
}
.accordian::after
{
	content: ' ▶';
	display: inline-block;
	font-family: "Segoe UI Symbol", serif;
	margin-left: 4px;
	transition: all .25s;
}
.accordian.open::after
{
	transform: rotate(90deg);
}
.zoom-20
{
	zoom: 1.2;
}
@media screen and (max-width:380px)
{
	h1
	{
		font-size: 10vw;
		line-height: 10vw;
	}
}
textarea.drop
{
	background: url(/images/drop.svg) center center/100px no-repeat rgba(189, 30, 255, .21);
}
hr
{
	background-color: #80808080;
	border: 0;
	height: 2px;
}
.login
{
	line-height: 1em;
	margin: 0;
	padding: 0;
	position: relative;
	right: 0;
	text-align: right;
	top: 0;
}
span.login-email
{
	font-style: italic;
}
#countdown-timer
{
	font-family: monospace;
	font-weight: 700;
}
.monospace
{
	font-family: monospace;
}
textarea#codes
{
	min-height: 300px;
	resize: vertical;
	width: 100%;
}
.clickable
{
	cursor: pointer;
}
.inline
{
	display: inline;
}
.standalone-form {
	width: 300px;
	margin: 0 auto;
	border-radius: 5px;
	border: 2px solid lightgrey;
	padding: 8px 4px;
	text-align: center;
}
.standalone-form-inner {
	width: fit-content;
	margin: 0 auto;
}