main
	{
	display: flex;
	flex-direction: column;
	color: #555;
	background: #F7F7F7;
	}

main a
	{
	color: #2DCDFD;
	}

main a:hover
	{
	color: #FFAA00;
	}

main h1,
main h2,
main h3,
main h4
	{
	color: black;
	}

main.single article
	{
	margin-top: 1em;
	margin-bottom: 1em;
	}


/* Default summary block */
.summary h1,
.summary h2
	{
	margin: 0em;
	}

.summary time,
.summary .author
	{
	font-size: smaller;
	}

.summary .author:before
	{
	content: "• ";
	}

.summary nav
	{
	font-size: smaller;
	text-transform: uppercase;
	}


/* Brief summary block */
.brief h1,
.brief h2
	{
	margin: 0em;
	font-size: inherit;
	}

.brief time,
.brief .author
	{
	font-size: smaller;
	}

.brief .author:before
	{
	content: "• ";
	}


/* Abstract summary block */
.abstract
	{
	padding-top: 1em;
	padding-bottom: 1em;
	color: #DDD;
	background: #0F0F0F;
	}

.abstract h1,
.abstract h2
	{
	margin: 0em;
	color: inherit;
	}

.abstract time,
.abstract .author
	{
	color: #777;
	font-size: smaller;
	}

.abstract .author:before
	{
	content: "• ";
	}


/* Feature summary block */
.feature
	{
   padding: 1em;
   font-family: DEAK-Software-Feature, sans-serif;
	text-align: center;
	color: black;
	background: #e3e7e9;
	background: radial-gradient(ellipse, #FFF, #e3e7e9);
	}

.feature .blockAnchor
	{
	display: inline-block;
	margin: 0em;
	padding: 0em;
	width: 100%;
	height: 100%;
	color: inherit;
	}

.feature .blockAnchor:hover h1,
.feature .blockAnchor:hover h2
	{
	color: #FFAA00;
	}

.feature h1,
.feature h2
	{
	margin: 0em;
	color: inherit;
   font-size: 2.25em;
	}


/* Miscellaneous content sections */
.divider h1,
.divider h2
	{
	margin: 0em;
	text-align: center;
	}



/* Default summary list */
.summaryList
	{
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 0.5em;
	background: white;
	border: 1px solid #EEE;
	box-shadow: 0em 0em 1em #EEF;
	}

.summaryList.flexRow
	{
	padding: 0.5em;
	}

.summaryList.flexRow > *
	{
	flex-basis: 18em;
	flex-grow: 1;
	}

.summaryList.flexRow > *,
.summaryList.flexCol > *
	{
	margin: 0.5em;
	box-sizing: border-box;
	}


/* Feature summary list */
.featureList
	{
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 0.5em;
	background: white;
	border: 1px solid #EEE;
	box-shadow: 0em 0em 1em #EEF;
	}

.home .featureList
	{
	margin-left: 1em;
	margin-right: 1em;
	}

.featureList.flexRow > *
	{
	flex-basis: 32em;
	flex-grow: 1;
	}

.featureList.flexRow > *,
.featureList.flexCol > *
	{
	margin: 0.5em;
	box-sizing: border-box;
	}


/* Common buttons */
.button
	{
	display: inline-block;
   font-family: DEAK-Software-Logo, sans-serif;
	color: #292929;
	background: #FFAA00;
	padding: 0.25em 2em;
	text-transform: uppercase;
	border-radius: 0.25em;
	}

.button:hover
	{
	color: #FFAA00;
	background: #191919;
	}

input.button
	{
	font-size: inherit;
	border: none;
	}

input.button:hover
	{
	cursor: pointer;
	}


/* LaTeX typography */
.math
	{
	color: black;
	}

.math .katex
	{
	font-size: inherit;
	}

.math .katex-display > .katex
	{
	white-space: pre-wrap;
	max-width: 100%;
	}


/* Horizontal rule */
main hr
	{
	margin-top: 1em;
	margin-bottom: 1em;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid #CCC;
	font-size: inherit;
	}


/* Source code */
main code,
main tt
	{
	font-family: DEAK-Software-Mono, monospace;
	color: #744;
	}

main a > code,
main a > tt
	{
	color: inherit;
	}

main pre.chroma
	{
	margin: 1em;
	padding: 1em;
	white-space: pre-wrap;
	border: 1px solid #EEE;
	background: #FBFBFF !important;
	}


/* Tables */
main table
	{
	margin: auto auto;
	border-collapse: collapse;
	background: white;
	}

main table th,
main table td
	{
	padding: 0.35em 0.7em;
	border: 1px solid #EEE;
	}

main table tr:nth-of-type(2n+1) td
	{
	background: #FBFBFF;
	}

main table th
	{
	color: black;
	}


/* Figures and images */
main figure
	{
	display: table;
	margin: 0em auto;
	padding: 0em;
	caption-side: bottom;
	}

main figure figcaption
	{
	display: table-caption;
	margin: 1em 0em;
	text-align: center;
	}

main figure > img,
main figure > a
	{
	display: table-cell;
	}

main figure img
	{
	margin: 0em auto;
	max-width: 100%;
	object-fit: contain;
	vertical-align: bottom;
	}

main figure.scale img
	{
	width: 100%;
	object-fit: contain;
	}

main figure.left
	{
	display: inline-block;
	margin: 0.25em 0.75em 0.25em 0em;
	width: initial;
	object-fit: initial;
	float: left;
	}

main figure.right
	{
	display: inline-block;
	margin: 25em 0em 25em 75em;
	width: initial;
	object-fit: initial;
	float: right;
	}


/* Contact form */
form.contactForm
	{
	max-width: 50em;
	}

form.contactForm > p
	{
	color: grey;
	margin-left: 0em;
	margin-bottom: 0em;
	font-size: smaller;
	}

form.contactForm > p:last-child /* Last paragraph should contain the button */
	{
	color: inherit;
	margin: 1em;
	font-size: inherit;
	text-align: center;
	}

form.contactForm > input[type="text"],
form.contactForm > textarea
	{
	padding: 0.25em 0.5em;
	font: inherit;
	border: 2px solid #CCC;
	border-radius: 0.25em;
	outline: none;
	}

form.contactForm > textarea
	{
	height: 10em;
	}

form.contactForm > input[type="text"]:focus,
form.contactForm > textarea:focus
	{
	border: 2px solid #FFAA00;
	}

form.contactForm > .button
	{
	margin: 1em auto;
	}

form.contactForm .g-recaptcha
	{
	min-width: 300px;
	min-height: 74px;
	}

.contactFormError
	{
	font-weight: bolder;
	color: darkred;
	}
