/*
 * (c) 2015 Gerd Neugebauer
 */
body {
	font-family: Optima, Optimum, sans-serif;
	background: #eee url(../images/g.png);
}
.e {
	text-transform: uppercase;
	font-size: 87%;
	vertical-align: -0.45ex;
	margin-left: -0.15em;
	margin-right: -0.05em;
	line-height: 0;
}
.E {
	font-size: 87%;
	vertical-align: -0.45ex;
	margin-left: -0.1em;
	line-height: 0;
}
a .e, a .e:hover,
a .E,
a .x {
	text-decoration: none;
}
.a {
	text-transform: uppercase;
	font-size: 75%;
	vertical-align: 0.45ex;
	margin-left: -0.36em;
	margin-right: -0.15em;
}
.t {
	margin-left: -0.15em;
}
.x {
	font-size: 92%;
	vertical-align: -0.49ex;
	margin-left: -0.01em;
	margin-right: -0.01em;
	line-height: 0;
}
.sc {
	font-variant: small-caps;
}

.banner,
.head,
nav,
address,
main {
	-webkit-transform: skewY(-2deg);
	-ms-transform: skewY(-2deg);
	transform: skewY(-2deg);
	vertical-align: top;
}
main {
	font-size: 110%;
	display: table-cell;
	padding: .5em;
	width: 100%;
}
main > div {
	background: #fff;
	-webkit-border-radius: .75em;
	-moz-border-radius: .75em;
	-o-border-radius: .75em;
	border-radius: .75em;
	padding: .5em 5% .5em 5%;
	margin: .25em;
}

h1,
h2 {
	color: #9b1616;
	padding: .25em .25em .05em .25em;
	margin: 0;
}
dt {
	color: #9b1616;
	font-weight: bold;
}
p {
	padding: .25em;
	margin: 0;
}
table {
	width: 100%;
}
address {
	background: #fff;
	-webkit-border-radius: 1em;
	-moz-border-radius: 1em;
	-o-border-radius: 1em;
	border-radius: 1em;
	border: none;
	display: inline-block;
	font-size: 90%;
	line-height: 1.3;
	margin: .5em 0 4em 0;
	min-width: 14em;
	opacity: .75;
	padding: .5em;
	text-align: center;
	transition: opacity .5s;
	white-space: pre-line;
}
nav,
address,
.head,
.teaser
{
	-webkit-box-shadow: .2em .2em .2em #333;
	-moz-box-shadow: .2em .2em .2em #333;
	-o-box-shadow: .2em .2em .2em #333;
	box-shadow: .2em .2em .2em #333;
}
ul {
	list-style: square;
}
address a {
	display: inline-block;
	text-decoration: none;
	margin: .1em;
}
address a:hover {
	text-decoration: underline;
}
.banner {
	text-align: center;
	margin: 1em;
}
.banner img {
	-webkit-box-shadow: 0 0 .6em #efe;
	-moz-box-shadow: 0 0 .6em #efe;
	-o-box-shadow: 0 0 .6em #efe;
	box-shadow: 0 0 .6em #efe;
	max-width: 36em;
	transition: max-width .5s;
	width: 100%;
}
.banner img:active,
.banner img:focus,
.banner img:hover {
	box-shadow: 0 0 2em #efe;
	-webkit-transform: skewY(2deg);
	-ms-transform: skewY(2deg);
	transform: skewY(2deg);
	max-width: 100%;
	transition: max-width 1.75s;
}
nav,
.head,
.menu {
	color: #fff;
	background: #004;
}
nav {
	font-size: 80%;
	font-weight: bold;
	-webkit-border-radius: .5em;
	-moz-border-radius: .5em;
	-o-border-radius: .5em;
	border-radius: .5em;
	margin: 0 0 2em 0;
	overflow: hidden;
	padding: .05em .5em .05em .5em;
	white-space: nowrap;
}
nav a {
	-webkit-border-radius: .25em;
	-moz-border-radius: .25em;
	-o-border-radius: .25em;
	border-radius: .25em;
	border: #003 solid 2pt;
	color: #eee;
	display: inline-block;
	max-width: 8%;
	overflow: hidden;
	padding: .25em .25em .25em .25em;
	text-decoration: none;
	transition: background 1.2s;
	transition: color 1s;
}
nav a:active,
nav a:focus,
nav a:hover {
	background: #ddf;
	border: #fff solid 2pt;
	color: #003;
	max-width: 100%;
	transition: background .6s;
	transition: color .6s;
}
.head {
	-webkit-border-radius: .5em;
	-moz-border-radius: .5em;
	-o-border-radius: .5em;
	border-radius: .5em;
	display: table-cell;
	font-size: 180%;
	font-weight: bold;
	max-width:40%;
	padding: 1em 0 0 0;
	text-align: center;
}
.head div {
	padding: 0;
	margin: 0;
}
.head img {
	max-width: 4em;
	margin-top: 1em;
	transition: max-width .6s;
}
.head img:active,
.head img:focus,
.head img:hover {
	max-width: 7.25em;
	transition: max-width 4s;
}
.head > div {
	padding: 0 1em 0 1em;
	vertical-align: top;
}
.head .name {
	display: block;
}
.head .dr {
	font-size: 75%;
	display: block;
}
.pre {
	white-space: pre-line;
}
.teaser {
	display: inline-block;
	margin: .25em;
	min-height: 8em;
	opacity: .8;
	padding: .5em;
	transition: opacity .5s;
	vertical-align: top;
	width: 44%;
}
/*
@media (min-width: 32em) {
	.teaser {
		width: 45%;
	}
}
*/
address:active,
address:focus,
address:hover,
.teaser:active,
.teaser:focus,
.teaser:hover {
	-webkit-transform: skewY(1deg);
	-ms-transform: skewY(1deg);
	transform: skewY(1deg);
	opacity: 1;
	transition: opacity .5s;
	vertical-align: top;
}
.more {
	clear: both;
	color: #003;
	display: block;
	font-size: 90%;
	margin-top: .4em;
	text-align: right;
	text-decoration: none;
}
.more:active,
.more:focus,
.more:hover {
	color: #9b1616;
	font-weight: bold;
}

.left-in {
	float: left;
	width: 33%;
	max-width: 7.5em;
	min-width: 5em;
	padding: 0 .5em .25em 0;
}
.right {
	margin-left: 2em;
}
.justify {
	text-align: justify;
}
.vcenter,
.vcenter img {
	vertical-align: middle;
}
.icon-right {
	float: right;
	margin-left: 1em;
	max-width: 10em;
	width: 50%;
}
@media (max-width: 28em) {
	.icon-right {
		display: none;
	}
}

.img-right-30 {
	float: right;
	margin-left: 1em;
	width: 30%;
}
.img-right-40 {
	float: right;
	margin-left: 1em;
	width: 40%;
}
.center {
	text-align: center;
}
.halo {
	-webkit-box-shadow: 0 0 .6em #ccc;
	-moz-box-shadow: 0 0 .6em #ccc;
	-o-box-shadow: 0 0 .6em #ccc;
	box-shadow: 0 0 .6em #ccc;
	margin-left: 2em;
}
.glow {
	-webkit-box-shadow: 0 0 .6em #ccc;
	-moz-box-shadow: 0 0 .6em #ccc;
	-o-box-shadow: 0 0 .6em #ccc;
	box-shadow: 0 0 .6em #ccc;
}
.VC {
	-webkit-box-shadow: 0 0 .6em #ccc;
	-moz-box-shadow: 0 0 .6em #ccc;
	-o-box-shadow: 0 0 .6em #ccc;
	box-shadow: 0 0 .6em #ccc;
	margin-left: 2em;
	max-width: 459px;
	width: 98%;
}
.vc {
	-webkit-box-shadow: 0 0 .6em #ccc;
	-moz-box-shadow: 0 0 .6em #ccc;
	-o-box-shadow: 0 0 .6em #ccc;
	box-shadow: 0 0 .6em #ccc;
	float: right;
	max-width: 9em;
	margin-left: 1em;
	width: 20%;
	transition: transform .5s;
}
.vc img {
	width: 100%;
}
.vc img:hover {
	width: 110%;
	transition: width .5s;
}
.vc img:hover,
img.VC:hover {
	-webkit-transform: skewY(2deg);
	-ms-transform: skewY(2deg);
	transform: skewY(2deg);
	transition: transform .5s;
}
@media (max-width: 30em) {
	.vc {
		display: none;
	}
}

@media (max-width: 40em) {
	.head,
	main {
		display: inline-block;
		padding: 0;
	}
	main > div {
		margin: .5em 0 .5em 0;
	}
	.head {
		display: block;
		max-width: 100%;
	}
	.head img {
		margin: 0;
	}
	.head .name,
	.head .dr {
		display: none;
	}
	.VC {
		margin-left: 0;
	}
}
@media (max-width: 48em) {
	.teaser {
		display: block;
		min-width: 16em;
		width: 96%;
	}
}

.github {
	min-height: 3em;
	padding-left: 3em;
	background: url(/images/github.png) no-repeat;
	background-size: 3em auto;
	padding-top: .75em;
}

.sourceforge {
	min-height: 3em;
	padding-left: 3em;
	background: url(/images/sourceforge.png) no-repeat;
	background-size: 2em auto;
	padding-top: .25em;
}

.ctan {
	min-height: 3em;
	padding-left: 3em;
	background: url(/images/ctan.png) no-repeat;
	background-size: 2.6em auto;
	padding-top: .75em;
}

.file-el,
.file-bib,
.file-sty,
.file-tgz,
.file-zip,
.file-pdf {
	min-height: 3em;
	padding-left: 3em;
}
.file-el {
	background: url(/images/filetype/el.png) no-repeat;
	background-size: 2em auto;
}
.file-bib {
	background: url(/images/filetype/bib.png) no-repeat;
	background-size: 2em auto;
}
.file-pdf {
	background: url(/images/filetype/pdf.png) no-repeat;
	background-size: 2em auto;
}
.file-tgz {
	background: url(/images/filetype/tgz.png) no-repeat;
	background-size: 2em auto;
}
.file-sty {
	background: url(/images/filetype/sty.png) no-repeat;
	background-size: 2em auto;
}

.bibliography li {
	margin: .5em 0 .5em 0;
}

.abstract {
	color: #aaa;
	max-height: 1em;
	overflow: hidden;
	padding-left: 1em;
	transition: color .5s, max-height 1s;
}

li:hover .abstract {
	color: #666;
	max-height: 24em;
	transition: color .5s, max-height 1s;
}

.sitemap a {
	text-decoration: none;
}
.sitemap a:hover {
	text-decoration: underline;
}
address a:link,
address a:visited,
.sitemap a:link,
.sitemap a:visited {
	color: #004;
}

.error {
	margin: 4em 0 4em 0;
	padding: 2em;
	text-align: center;
	max-width: 24em;
	width: 90%;
}
@media (max-width: 24em) {
	padding: .5em;
}
.error img {
	float: left;
	margin-right: 1em;
	max-width: 6em;
	width: 20%;
}

@-webkit-keyframes spin { 
        from { 
		-webkit-transform: rotate(0deg); 
        } to { 
		-webkit-transform: rotate(1440deg); 
        }
}
@keyframes spin { 
        from { 
		transform: rotate(0deg); 
        } to { 
		transform: rotate(1440deg); 
        }
}
.error,
.error img {
    -webkit-animation-name: spin;
    -webkit-animation-duration: 32s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-name: spin;
    animation-duration: 32s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

.error img {
    -webkit-animation-duration: 16s;
    animation-duration: 17s;
}
