h1
{
	font-size: 24px;
}
h2
{
	font-size: 22px;
}
h3
{
	font-size: 18px;
}

a.button
{
	padding: 5px 10px 5px 10px;
}

header
{
	position: fixed;
	box-sizing: border-box;
	width: 100%;
	z-index: 99999;
	background-color: #ffffff;
	top: 0;
	left: 0;
}

header.floating
{
	border-bottom: solid 2px #eeeeee;
}

header h1
{
	float: left;

	color: #335930;
	text-decoration: none;

	background: url('/images/header/name-mobile.png') 15px 15px no-repeat;
	text-indent: -9999px;
	z-index: 1;

	padding: 15px;

	width: 200px;
	height: 22px;
}

@media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi)
{
	header h1
	{
		background: url('/images/header/name-mobile-2x.png') 15px 15px no-repeat;
		background-size: 200px 22px;
	}
}

header #links-button
{
	float: right;
	background: url('/images/header/menu-button.png') 0 0 no-repeat;
	margin: 15px 15px 0 0;
	text-indent: -9999px;
	z-index: 1;

	width: 20px;
	height: 20px;

	cursor: default;
}
header #links-button:hover
{
	cursor: pointer;
}

header nav#links ul
{
	clear: both;

    position: absolute;
	top: 50px;
	width: 100%;
	z-index: 99999;
	padding: 10px 15px;

    list-style-type: none;

	box-sizing: border-box;
	background-color: #ffffff;
	border-top: solid 2px #dddddd;
	box-shadow: inset 0 1px 0 #ffffff, 0 8px 10px rgba(0, 0, 0, 0.4);

	font-size: 16px;

	visibility: hidden;
}
header nav#links ul.visible
{
	visibility: visible;
}
header nav#links ul li
{
	margin: 0;
	padding: 2px 0;
}
header nav#links ul li a
{
	text-decoration: none;
	color: #404040;
}

main
{
	margin-top: 65px;
	padding: 0 15px 20px 15px;
}

main.fullwidth
{
	margin-top: 52px;
}

main.fullwidth section
{
	padding: 20px 15px 20px 15px;
}

main.fullwidth section.image
{
	margin: 0;
	padding: 0;
	height: 100px;
}

section#frontpage nav#external
{
	top: 60px;
	left: 15px;
}

section#frontpage nav#external ul li
{
	margin-left: 10px;
}

section#frontpage nav#external ul li a
{
	font-size: 10px;
	padding: 3px 10px;
}

section#frontpage #news
{
	display: none;
}

section p:first-of-type
{
	margin: 0.5em 0 1em 0;
}

footer
{
	padding: 20px 10px;
	font-size: 10px;
}

footer #subscribe
{
	float: left;
	width: 50%;
}
footer #subscribe *
{
	margin-right: 25px;
}

footer #about
{
	float: left;
	width: 50%;
}
footer #about *
{
	margin-left: 25px;
}

footer #copyright
{
	clear: both;
	font-size: 8px;
}

footer #blank
{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: calc(100vh / 2);
    background-color: #e0e0e0;
    z-index: -9999;
}
