@charset "utf-8";
body {
	font-family: "Fredoka", sans-serif;
	font-size: medium;
	color: #FFF;
	background-color: #000;
	margin: 1em;
	padding: 0px;
}
.floatleft, .floatright{
	text-align: center;
	margin: 0 .5em .5em;
	float: none;
}
img, video, audio {
	width: 100%;
	height: auto;
}
.smaller {
	font-size: .8em;
	line-height: 1.3em;
}
.larger {
	font-size: 1.25em;
}
.cursive {
	font-weight: 400 !important;
	font-family: "Hurricane", cursive;
}
.big {
	font-size: 3em;
}
h1 {
	display: none;
}
h2 {
	font: 400 3em/1em "Hurricane", cursive;
	margin: 0;
}
ul + h2 {
	margin-top: 1em;
}
h3 {
	font-size: 1.3em;
	color: #006600;
	font-weight: 700;
	margin: .8em 0 .5em;
}
h4 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	font-weight: normal;
	margin-top: 4px;
}
.headline {
	text-align: center;
	margin: 1em 0;
}
hr {
	margin: 1em 4px;
}
a, a:link, a:visited{
	color: #006600;
}
a:hover, a:visited:hover {
	color: #0066FF;
	text-decoration: underline;
	cursor: pointer;
}
blockquote {
  border-left: 3px solid #ff6d01;
  color: #515151;
  font-family: Helvetica, Arial, Clean, Sans-serif;
  margin: 22px 0;
}
b, strong, .bold {
	font-weight: 600;
}
p {
	line-height: 1.1em;
	margin-bottom: .6em;
}
ul, ol {
	margin: .5em 0 .5em .5em;
	padding-left: 24px;
	list-style-position: outside;
	line-height: 1.1em;
}
ol li, ul li {
	margin-bottom: .5em;
}
.center ul {
	margin: .5em auto;
	padding: 0;
}
ul.cursive {
	list-style: none;
	font-size: 1.5em;
	text-align: center;
	padding: 0;
	margin: .5em auto;
}
ul.cursive a, ul.cursive a:link, ul.cursive a:visited, ul.cursive a:hover, ul.cursive a:visited:hover {
	color: #000;
	text-decoration: none;
}
ul.biglogos {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-flow: row nowrap;
	padding: 0;
	margin: .5em auto;
	width: 100%;
}
ul.biglogos li {
	margin: .5em;
}
.original {
	display: none;
}
#fullwidth {
	box-sizing: border-box;
	padding: 0;
	background-color: #FFF;
	color: #000;
}
#header {
	padding: 0;
	text-align: right;
	border-bottom: 4px solid #000;
}
#header a, #header a:link, #header a:visited {
	color: #000;
	text-decoration: none;
}
.photoback {
	box-sizing: border-box;
	background-color: #FFF;
	background-image: url(elements/jim-corner-photo.jpg);
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: left top;
	padding: .75em 3.5em 1em 36%;
	position: relative;
	height: 10em;
}
.pagename {
	font-weight: 400;
	font-size: 1.5em;
}
.sitename {
	font: 400 3em/1em "Hurricane", cursive;
	position: absolute;
	bottom: 4px;
	right: 1rem;
}
.splash {
	background-image:url(elements/splash.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 3em;
	height: 2em;
	position: absolute;
	top: .75em;
	right: 4px;
}
#main {
	border-top: 6px solid #BC22FF;
	border-bottom: 6px solid #BC22FF;
	box-sizing: border-box;
	background-color: #FFF;
	margin: 0 auto;
	position: relative;
	padding: 1em 2em;
}
.page {
	padding: 0;
	max-width: 40em;
	margin: 0 auto;
}
.page.notop {
	margin-top: -1em;
}
#footer {
	background-color: #000;
	color: #314FFD;
	font-size: smaller;
	text-align: center;
	padding: 1em 0;
}
#navbar {
	border-top: 10px solid #000;
	border-bottom: 10px solid #000;
	background-color: #BC22FF;
}
#navbar > ul {
	box-sizing: border-box;
	font-size: .9em;
	line-height: 1.5em;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center; 
	width: 100%;
	padding: 0;
	margin: 0 auto;
	list-style: none;
}
#navbar li{
	margin: 0;
	padding: 0;
}
#navbar > ul > li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	position: relative;
}
#navbar a {
	display: block;
	padding: .3em 1em;
}
#navbar a, #navbar a:link, #navbar a:visited {
	color: #FFF;
	text-decoration: none;
}
#navbar a:hover, #navbar a:visited:hover {
	color: #FFF;
	background-color: #314FFD;
}
#navbar .nav.on a {
	color: #FFF;
}
#navbar ul ul li {
	text-transform: none;
}	
#navbar ul ul {
	border-top: 2px solid #A6A6A6;
	margin: 0;
	padding: 0;
	position: absolute;
	z-index: 500;
	display: none;
	text-align: center;
	list-style: none;
	font-size: .9em;
	background-color: #1276B5;
	background-color: rgba(0,118,192,.85);
	width: 100%;
}
#navbar ul ul a, #navbar ul ul a:link, #navbar ul ul a:visited {
	color: #FFF;
	padding: .3em .5em;
	border-bottom: 2px solid #A6A6A6;
}
#navbar ul ul a:hover, #navbar ul ul a:visited:hover {
	color: #0076C0;
	background-color: #000;
}
#navbar ul ul .on a, #navbar ul ul .on a:link, #navbar ul ul .on a:visited {
	color: #F9DFA2;
}

div#navbar li:hover {
	cursor:pointer;
	z-index:100;
}

div#navbar li:hover ul ul,
div#navbar li li:hover ul ul,
div#navbar li li li:hover ul ul,
div#navbar li li li li:hover ul ul
{display:none;}

div#navbar li:hover ul,
div#navbar li li:hover ul,
div#navbar li li li:hover ul,
div#navbar li li li li:hover ul
{display:block;}

.paidby {
	display: table;
	margin: .5em auto;
	padding: .5em;
	border: 1px solid #FFF;
	background-color: rgba(255,255,255,.1);
}
.forcebreak:after {
	content: " ";
	white-space: pre;
}
.formtable td {
	display: block;
}
input[type="text"], input[type="email"], input[type="tel"], select, textarea {
	box-sizing: border-box;
	width: 100%;
}
.formnorm {
	font-family: "Lato", sans-serif;
	font-size: .9em;
	color: #000099;
	padding: .2em .5em;
}
.granted, .fordesktop {
	display: none;
}
.hatback {
	font-size: 70vw;
	background-image: url(elements/hat.jpg);
	background-size: 100%;
	background-position: center;
	background-repeat: no-repeat;
	height: 1.21em;
	width: 1em;
}
.split > div.hatback {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}
@media only screen and (min-width: 20em) {
/* 320 */
	#debug {
		z-index: 501;
		background-color: rgba(256,256,256,.5);
		border: 1px solid #FFF;
		color: #3300FF;
		padding: 4px;
		position: fixed;
		bottom: 0;
		right: 0;
	}
	.debugnotes {
		font-size: medium;
		line-height: 1.15em;
	}
}
@media only screen and (min-width: 30em) {
/* 480 */
	.original {
		display: initial;
	}
	.photoback {
		background-size: contain;
	}
	.hatback {
		font-size: 300px;
	}
}
@media only screen and (min-width: 41em) {
/* 656 */
	.floatleft {
		max-width: 50%;
		float: left;
		margin: .2em 1em .5em 0;
	}
	.floatright {
		max-width: 50%;
		float: right;
		margin: .2em 0 .5em 1em;
	}
	.formtable td {
		display: table-cell;
	}
	.formtable td table {
		width: calc(100% + 8px);
		margin: -4px;
	}
	.photoback {
		font-size: 1.5em;
	}
	.sitename {
		font-size: 4em;
		right: 2rem;
	}
	ul.cursive {
		font-size: 2em;
	}
	#navbar ul {
		display: table;
		font-size: 1.2em;
		line-height: 1.1em;
	}
}
@media only screen and (min-width: 47.5em) {
/* 760 */
	#navbar ul {
		font-size: 1.4em;
	}
}
@media only screen and (min-width: 50em) {
/* 800 */
	body {
		font-size: 18px;
	}	
	a{
		-webkit-transition: all 200ms cubic-bezier(.5, 0, .5, 1);
		transition: all 200ms cubic-bezier(.5, 0, .5, 1);
	}
	#main {
		padding: 1em 4%;
		box-sizing: border-box;
	}
	.split{
		width: 100%;
		display: table;
		position: relative;
	}
	.split > div{
		display: table-cell;
		vertical-align: top;
	}
	#navbar {
		display: block;
	}
	#navbar ul {
		font-size: 1.3em;
	}
	.original {
		display: inherit;
	}
	.container{
		text-align: right;
	}

	video, audio {
		width: auto;
	}
	.forcebreak:after {
		content: "\A";
		white-space: pre;
	}
	.fordesktop {
		display: initial;
	}
}
@media only screen and (min-width: 64em) {
/* 1024 */
	#fullwidth {
		max-width: 1280px;
		margin: 0 auto;
	}
}
@media only screen and (min-width: 71em) {
/* 1136 */
	.columnize {
		-moz-column-count: 2;
		-moz-column-gap: 3em;
		-moz-column-rule: 1px dashed #000;
		-webkit-column-count: 2;
		-webkit-column-gap: 3em;
		-webkit-column-rule: 1px dashed #000;
		column-count: 2;
		column-gap: 3em;
		column-rule: 1px dashed #000;
	}
}
@media only screen and (min-width: 80em) {
/* 1280 */
	body {
		font-size: 1.25vw;
	}
	#navbar ul {
		font-size: 1.5em;
	}
}