html
{
	margin: 0;
	padding: 0;
	min-height: 100%;
	position: relative;
	font-family: 'Nunito', sans-serif;
}

body
{
	margin: 0 auto;
	padding: 0;
	height: 100%;
	margin-bottom: 2em;
	background: url('/1/page-background.png');
}

body>header:first-child
{
	margin: 1em auto;
	position: relative;
}

body>header:first-child>div
{
	border: 2px solid #000;
	border-radius: 0.4em;
	box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.3), inset 0.4em 0.4em 0.5em -0.5em rgba(0, 0, 0, 1), inset -0.4em -0.4em 0.6em -0.5em rgba(0, 0, 0, 1);
	background: linear-gradient(180deg, #248, #124);
	background: linear-gradient(180deg, #FFF, #DDF);
	z-index: 0;
}

body>header:first-child>div:first-child
{
	text-align: center;
	font-weight: bold;
}

body>header:first-child>div:first-child>a
{
	font-size: 400%;
	margin: 0;
	color: #248;
	text-shadow: -1px 0px 0px #48F, 0px 1px 0px #124, 5px 5px 5px rgba(0, 0, 0, 0.3);
}

body>header:first-child>div:first-child>a:hover
{
	color: #248;
	text-shadow: -1px 0px 0px #48F, 0px 1px 0px #124, 5px 5px 5px rgba(0, 0, 0, 0.3);
}

body>header:first-child>div:first-child>a:active
{
	color: #248;
	text-shadow: -1px 0px 0px #48F, 0px 1px 0px #124, 5px 5px 5px rgba(0, 0, 0, 0.3);
}

body>header:first-child>nav
{
	position: relative;
	margin: 0em 0.5em;
	padding: 0;
	background-color: #FFF;
	background: url('/1/block-background.png');
	overflow: visible;
	z-index: 1;
	border: 1px solid #000;
	border-top: none;
	border-bottom-left-radius: 0.4em;
	border-bottom-right-radius: 0.4em;
}

body>header:first-child>nav>.nav-menu
{
	display: block;
	position: relative;
	list-style-type: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	height: 2.5em;
}

body>header:first-child>nav>.nav-menu>.nav-item
{
	position: relative;
	display: block;
	float: left;
	list-style-type: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	height: 2em;
	line-height: 2em;
	border-right: 1px solid rgba(0, 0, 0, 0.3);
	font-size: 125%;
	font-weight: bold;
	color: #000;
	text-shadow: -0.05em 0 0 #888, 0.1em 0.1em 0.15em rgba(0, 0, 0, 0.4);
}

body>header:first-child>nav>.nav-menu>.nav-item:first-child>a
{
	border-bottom-left-radius: 0.4em;
}

body>header:first-child>nav .sub-nav
{
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	line-height: normal;
	cursor: default;
	visibility: hidden;
	left: -1px;
	top: -9999em;
	max-height: 0px;
	overflow: hidden;
	opacity: 0;
	transition: opacity 250ms ease 250ms, max-height 500ms ease, visibility 0s linear 500ms, top 0s linear 500ms;
	border: 1px solid #000;
	border-top: none;
	border-bottom-left-radius: 0.4em;
	border-bottom-right-radius: 0.4em;
	background-color: #FFF;
	background: url('/1/block-background.png');
	font-weight: normal;
}

body>header:first-child>nav .sub-nav.open
{
	visibility: visible;
	top: calc(2em + 1px);
	max-height: 20em;
	opacity: 1;
	z-index: 1001;
	transition: opacity 250ms ease, max-height 500ms ease, visibility 0s linear 0s, top 0s linear 0s;
}

body>header:first-child>nav .sub-nav-group
{
	display: block;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body>header:first-child>nav .sub-nav-group>li
{
	position: relative;
	list-style-type: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body>header:first-child>nav li>a,
body>header:first-child>nav li>span
{
	display: block;
	padding-left: 1em;
	padding-right: 1em;
}

body>header:first-child>nav li>span
{
	cursor: default;
}

body>header:first-child>nav li>a:hover,
body>header:first-child>nav li>a:focus,
body>header:first-child>nav li>a.open,
body>header:first-child>nav li>span:hover,
body>header:first-child>nav li>span:focus,
body>header:first-child>nav li>span.open
{
	background: linear-gradient(180deg, #FFF, #DDF);
}

body>header:first-child>nav .sub-nav li>a
{
	padding-top: 1px;
	padding-bottom: 1px;
}

body>header:first-child>nav .sub-nav li>a:hover,
body>header:first-child>nav .sub-nav li>a:focus,
body>header:first-child>nav .sub-nav li>a.open
{
	background: linear-gradient(180deg, #FFF, #DDF);
	border-top: 1px solid rgba(0, 0, 0, 0.3);
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
	padding-top: 0;
	padding-bottom: 0;
}

body>header:first-child>nav .sub-nav li:first-child>a:hover,
body>header:first-child>nav .sub-nav li:first-child>a:focus,
body>header:first-child>nav .sub-nav li:first-child>a.open
{
	border-top: none;
	padding-top: 1px;
}

body>header:first-child>nav .sub-nav li:last-child>a:hover,
body>header:first-child>nav .sub-nav li:last-child>a:focus,
body>header:first-child>nav .sub-nav li:last-child>a.open
{
	border-bottom: none;
	padding-bottom: 1px;
}

body>header:first-child a
{
	color: #000;
	text-decoration: none;
}

body>header:first-child a:hover
{
	color: #248;
}

body>header:first-child a:active
{
	color: #36C;
}

body>header:first-child>nav ul.external
{
	position: absolute;
	top: -1em;
	right: 0;
	width: auto;
	height: 2.5em;
	list-style-type: none;
	line-height: 2.5em;
}

body>header:first-child>nav ul.external>li
{
	display: inline-block;
	margin: 0;
	padding: 0;
	border-left: 1px solid rgba(0, 0, 0, 0.3);
}

body>header:first-child>nav ul.external>li>a
{
	display: inline-block;
	margin: 0;
	padding: 0 0.5em;
	font-size: 125%;
	font-weight: bold;
	color: #000;
	text-shadow: -0.05em 0 0 #888, 0.1em 0.1em 0.15em rgba(0, 0, 0, 0.4);
}

body>header:first-child>nav ul.external>li:last-child>a
{
	border-bottom-right-radius: 0.4em;
}

body>header:first-child>nav ul.external>li>a>img
{
	display: inline-block;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

/*
body>header:first-child>nav.internal
{
	font-size: 150%;
	font-weight: bold;
	color: #000;
	text-shadow: -1px 0px 0px #888, 2px 2px 3px rgba(0, 0, 0, 0.3);
}

body>header:first-child>nav.internal a:hover
{
	text-shadow: -1px 0px 0px #48F, 2px 2px 3px rgba(0, 0, 0, 0.3);
}

body>header:first-child>nav.internal a:active
{
	text-shadow: -1px 0px 0px #6CF, 2px 2px 3px rgba(0, 0, 0, 0.3);
}

body>header:first-child>nav.internal>ul
{
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

body>header:first-child>nav.internal>ul>li
{
	display: block;
	float: left;
	margin: 0;
	padding: 0;
	text-align: center;
}
*/
main
{
	clear: both;
	display: block;
	margin-top: 2em;
}

/*body h1
{
	color: #248;
	text-shadow: -1px 0px 0px #48F, 0px 1px 0px #124, 3px 3px 3px rgba(0, 0, 0, 0.3);
}*/

main *.block
{
	margin-bottom: 2em;
}

main *.block>header a, main *.block>footer a
{
	color: #000;
}

main *.block>header a:active, main *.block>footer a:active
{
	color: #248;
}

main *.block>header a:hover, main *.block>footer a:hover
{
	color: #36C;
}

main *.block>header
{
	width: 100%;
	border: 1px solid #000;
	border-radius: 0.4em;
	box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.3);
	padding: 0.5em 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	background: linear-gradient(180deg, #FFF, #DDF);
}

main *.block>header a { color: #36C; }
main *.block>header a:visited { color: #248; }
main *.block>header a:hover { color: #48F; }
main *.block>header a:active { color: #6CF; }

main *.block>header h1
{
	display: inline;
	white-space: nowrap;
	font-size: 150%;
	font-weight: bold;
	color: #000;
	text-shadow: -1px 0px 0px #888, 0.1em 0.1em 0.15em rgba(0, 0, 0, 0.4);
}

main *.block>header h1 a
{
	text-shadow: 0.1em 0.1em 0.15em rgba(0, 0, 0, 0.25);
}

main *.block>header h1+span
{
	margin-left: 2em;
	font-size: 90%;
	font-weight: bold;
	color: #000;
	text-shadow: none;
}

main *.block>section
{
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	margin: 0em 0.5em;
	padding: 1em 2em;
	background-color: #FFF;
	background: url('/1/block-background.png');
	overflow: hidden;
}

main *.block>section:first-child
{
	border-top: 1px solid #000;
	border-top-left-radius: 0.4em;
	border-top-right-radius: 0.4em;
}

main *.block>section:last-child
{
	border-bottom: 1px solid #000;
	border-bottom-left-radius: 0.4em;
	border-bottom-right-radius: 0.4em;
}

main *.block section>*
{
	margin: 0;
	margin-bottom: 2em;
}

main *.block>section a { color: #36C; }
main *.block>section a:visited { color: #248; }
main *.block>section a:hover { color: #48F; }
main *.block>section a:active { color: #6CF; }

main *.block>section h2
{
	margin-bottom: calc(0.5em / 1.25);
	font-size: 125%;
	font-weight: bold;
	color: #000;
	text-shadow: -0.05em 0 0 #888, 0.1em 0.1em 0.15em rgba(0, 0, 0, 0.4);
}

main *.block>section h3
{
	margin-bottom: calc(0.5em / 1.25);
	font-size: 100%;
	font-weight: bold;
	color: #000;
	text-shadow: -0.05em 0 0 #888, 0.1em 0.1em 0.15em rgba(0, 0, 0, 0.4);
}

main *.block section>p
{
	margin: 0;
	padding: 0;
	margin-bottom: calc(1.5em / 0.9);
	font-family: 'Noto Sans', sans-serif;
	font-size: 90%;
	text-align: justify;
}

main *.block section>ul,
main *.block section>ol
{
	margin: 0;
	padding: 0;
	margin-bottom: calc(1.5em / 0.9);
	font-family: 'Noto Sans', sans-serif;
	font-size: 90%;
	text-align: justify;
	list-style-position: inside;
}

main *.block section>ul>li
{
	margin-bottom: calc(0.5em / 0.9);
}

main *.block section>dl
{
	margin: 0;
	padding: 0;
	margin-bottom: calc(1.5em / 0.9);
	font-size: 90%;
}

main *.block section>dl>dt
{
	font-weight: bold;
}

main *.block section>dl>dd
{
	margin-bottom: calc(0.5em / 0.9);
	font-family: 'Noto Sans', sans-serif;
	text-align: justify;
}

main *.block section>dl>dd:last-child
{
	margin-bottom: 0;
}

main *.block section>nav
{
	margin: 0;
	padding: 0;
	margin-bottom: 1.5em;
}

main *.block section>p:last-child,
main *.block section>ul:last-child,
main *.block section>ol:last-child,
main *.block section>dl:last-child,
main *.block section>nav:last-child,
main *.block section>div:last-child
{
	margin-bottom: 0;
}

main *.block section>nav>ol
{
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans', sans-serif;
	font-size: 90%;
	text-align: justify;
	list-style-position: inside;
}


main *.block>section dl>dd>*:first-child
{
	margin-top: 0;
}

main *.block>section blockquote
{
	margin-left: 2em;
	margin-right: 2em;
	padding: 2em;
	background-color: rgba(255, 255, 255, 0.25);
	border-radius: 0.5em;
	box-shadow: 0 0 0.5em 0 rgba(0, 0, 0, 1);
	font-family: 'Paprika', sans-serif;
}

main *.block section blockquote>p
{
	margin: 0;
	padding: 0;
	margin-bottom: calc(1.5em / 0.75);
	font-size: 75%;
	line-height: 1.75em;
	text-align: justify;
}

main *.block section blockquote>p:last-child
{
	margin-bottom: 0;
}

main *.block>section cite
{
	font-style: italic;
}

main *.block>section span.footnote-flag
{
	vertical-align: baseline;
	position: relative;
	top: calc(-0.33em / 0.8);
	font-size: 80%;
}

main *.block>section p.footnote
{
	text-align: left;
	margin-bottom: 0;
}

main *.block>section p.footnote:after
{
	content: "";
	display: block;
	clear: both;
}

main *.block>section p.footnote>span.flag
{
	display: block;
	float: left;
	margin-right: 0.5em;
	font-weight: bold;
}

main *.block>section p.footnote>span.reference
{
	display: block;
	overflow: hidden;
}

main *.block>footer
{
	width: 100%;
	border: 1px solid #000;
	border-radius: 0.4em;
	box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.3);
	padding: 0.5em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	background: linear-gradient(180deg, #FFF, #DDF);
}

nav.block.blog.pagination
{
	border: 1px solid #000;
	border-radius: 0.4em;
	margin: 0em 0.5em 2em 0.5em;
	padding: 0 2em;
	background-color: #FFF;
	background: url('/1/block-background.png');
	font-family: 'Noto Sans', sans-serif;
	font-size: 90%;
}

nav.block.blog.pagination ol
{
	list-style-type: none;
	margin: 0;
	padding: 4px 0;
	overflow: hidden;
}

nav.block.blog.pagination ol>li
{
	display: block;
}

nav.block.blog.pagination ol>li.older
{
	float: left;
}

nav.block.blog.pagination ol>li.newer
{
	float: right;
}

nav.block.blog.pagination ol>li.disabled
{
	color: #998877;
}

nav.block.blog.pagination a { color: #36C; }
nav.block.blog.pagination a:visited { color: #248; }
nav.block.blog.pagination a:hover { color: #48F; }
nav.block.blog.pagination a:active { color: #6CF; }

main *.block.blog header .highlight h1
{
	padding: 0;
}

main *.block.blog header .highlight h1>:first-child
{
	display: block;
}

main *.block.blog header .highlight h1>a:first-child:hover
{
}

main *.block.blog header .highlight .metadata
{
	font-size: 75%;
}

main *.block.blog header .highlight .metadata span
{
}

main *.block.blog header .highlight .metadata span:first-child
{
}

main *.block.blog header .classification
{
	float: right;
	text-align: right;
}

main *.block.blog header .category
{
	font-size: 125%;
}

main *.block.blog header .tags
{
	font-size: 75%;
}

main *.block.blog div.wp-caption
{
	margin-bottom: 1.5em;
}

main *.block.blog div.wp-caption img
{
	box-shadow: 0 0 0.5em rgba(0, 0, 0, 1);
}

main *.block.blog p.wp-caption-text
{
	font-size: 80%;
	text-align: center;
	margin: 0;
}

main *.block.blog *.aligncenter
{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

main *.block.blog *.aligncenter>img
{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

main *.block.blog *.alignleft
{
	float: left;
	margin: 0 2em 1em 0;
}

main *.block.blog *.alignright
{
	float: right;
	margin: 0 0 1em 2em;
}

main *.block.blog *.alignleft>img,
main *.block.blog *.alignright>img
{
	box-shadow: 0 0 0.5em rgba(0, 0, 0, 1);
}

main *.block.blog *.alignleft>img.rounded,
main *.block.blog *.alignright>img.rounded
{
	border-radius: 0.4em;
}

main *.block.blog .block.comments
{
}

main *.block.blog .block.comments header
{
	width: 100%;
	border: 1px solid #000;
	border-radius: 0.4em;
	box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.3);
	padding: 0.5em 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	background: linear-gradient(180deg, #FFF, #DDF);
}

main *.block.blog .block.comments header h1
{
	font-size: 125%;
}

main *.block.blog .block.comments header div.extra
{
	float: right;
	font-size: 90%;
	font-weight: bold;
	margin-top: calc((1.25em - 0.9em) / 0.9);
}

main *.block.blog .block.comments header div.extra>span
{
	margin-left: 1em;
}

main *.block.blog .block.comment
{
	width: 100%;
	border: 1px solid #000;
	border-radius: 0.4em;
	box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.3);
	padding: 0.5em 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	background: #FFF;
}

main *.block.blog .block.comment>header
{
	border-left: none;
	border-top: none;
	border-right: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.5);
	margin: -0.5em -1em 1em -1em;
	width: calc(100% + 2em);
	box-shadow: 0.125em 0.125em 0.5em rgba(0, 0, 0, 0.3);
}

main *.block.blog .block.comment header h1
{
	margin: 0;
	font-size: 100%;
}

main *.block.blog .block.comment header h1 img
{
	border-radius: 0.25em;
	box-shadow: -0.1em -0.1em 0.15em rgba(0, 0, 0, 0.5), 0.1em 0.1em 0.15em rgba(255, 255, 255, 1);
	margin: -0.15em 0.5em -0.25em -0.65em;
	vertical-align: calc(25% - 0.8em);
}

main *.block.blog .block.comment>*
{
}

main *.block.blog .block.comment>*:last-child
{
}

main *.block.blog .block.comment>p
{
	font-family: 'Noto Sans', sans-serif;
	text-align: justify;
	font-size: 90%;
}

main *.block.blog .block.comments h2
{
	width: 100%;
	border: 1px solid #000;
	border-radius: calc(0.4em / 1.25);
	box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.3);
	padding: calc(0.5em / 1.25) calc(1em / 1.25);
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	background: linear-gradient(180deg, #FFF, #DDF);
	font-size: 125%;
}

main *.block.blog .block.comments form input[type="text"]
{
	width: 15em;
}

main *.block.blog .block.comments form label
{
	font-size: 75%;
	font-style: italic;
	color: #444;
}

main *.block.blog .block.comments form textarea
{
	width: 100%;
}

body>footer:last-child
{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	padding: 0;
	padding-top: 1em;
	padding-bottom: 1em;
	line-height: 0;
	clear: both;
}

body>footer:last-child ul.image-links
{
	text-align: center;
	margin: 1em 1em;
	padding: 0;
	line-height: 0;
	list-style-type: none;
}

body>footer:last-child ul.image-links>li
{
	display: inline;
	margin-left: 1em;
	margin-right: 1em;
}

body>footer:last-child div.notice
{
	text-align: center;
	font-size: 100%;
	margin: 0;
	padding: 0;
}

/********************************/
/* Default Size                 */
/* Width  between 1024 and 1279 */
/* Height from 840 and above    */
/********************************/

body
{
	max-width: 960px;
}

body>header:first-child
{
	max-width: 960px;
}

body>footer:last-child
{
	max-width: 960px;
}

@media (max-width: 999px) and (min-resolution: 120dpi)
{
	body
	{
		max-width: 96%;
	}
	
	body>header:first-child
	{
		max-width: 100%;
	}

	body>footer:last-child
	{
		max-width: 96%;
	}

	body>header:first-child>div
	{
		border-radius: 0.2em;
	}
	
	main *.block>header
	{
		border-radius: 0.2em;
	}

	body>header:first-child>nav>.nav-menu
	{
		height: 4em;
	}

	body>header:first-child>nav>.nav-menu>.nav-item
	{
		font-size: 200%;
	}

	body>header:first-child>nav ul.external
	{
		height: 4em;
		line-height: 3.6em;
	}

	body>header:first-child>nav ul.external>li>a
	{
		font-size: 200%;
	}

	body>header:first-child>nav ul.external>li>a>img
	{
		transform: scale(1.6);
	}
}
