@font-face {
	font-family: 'Open Sans Condensed';
	font-style: normal;
	font-weight: 300;
	src:
		local('Open Sans Cond Light'),
		local('OpenSans-CondensedLight'),
		url('/fonts/Open_Sans_Condensed_300.eot?#iefix') format('embedded-opentype'),
		url('/fonts/Open_Sans_Condensed_300.woff') format('woff'),
		url('/fonts/Open_Sans_Condensed_300.woff2') format('woff2'),
		url('/fonts/Open_Sans_Condensed_300.svg#OpenSansCondensed') format('svg'),
		url('/fonts/Open_Sans_Condensed_300.ttf') format('truetype');
}

*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; margin: 0; }
a { text-decoration: none; }

html { height: 100%; }
body { font: 1em 'Open Sans Condensed', sans-serif; height: 100%; }

header { text-align: center; padding: 1em; height: 15em; }
header h1 { background: url(/img/vipem-logo.jpg) 50% 0 no-repeat; height: 5em; background-size: contain; }
header h1 span { opacity: 0; }
header p { position: relative; top: 0; left: 0; right: 0; height: 9em; margin-top: -9em; }
header p a { display: block; height: 9em; }
header p a span, .start header p { display: none; }

header nav ul { margin-top: 1em; list-style: none; background: #eee; box-shadow: 0 0 .05em .1em rgba(0,0,0,.3); margin-left: -1em; margin-right: -1em; }
header nav li { display: inline-block; }
header nav li a { display: block; padding: .5em 1em; color: #000; }
header nav li strong a { font-weight: normal; background: #ccc; color: #fff; }

section { padding: 1em; min-height: calc(100% - 18.2em); }
section nav { padding: 1em 0; clear: both; }
section nav ul { list-style: none; }
section nav li { padding: 0 0 .5em 0; }
section nav li a { font-size: 1.2em; }
section article h3 { font-size: 1em; padding: 0 0 1em 0; }
section article p + h3 { padding: 2em 0 1em 0; }

section article div { padding: 0 0 2em 0; clear: both; line-height: 1.2em; }
section article ul { display: block; padding: 0 0 1em 0; margin: 0 0 0 1.2em; }
section article p em { display: block; color: #444; padding: 1em 0 0 0; }

section article figure { float: right; margin: 1em 0 1em 1em; }
section article figure.l { float: left; margin: 1em 1em 1em 0; }
section article div.i figure img { width: 300px; cursor: pointer; }
section article figure img.f { border: 1em solid white; outline: 1px solid black; }
section article figcaption { font-size: smaller; color: #444; padding: 1em 0 0 0; }

section article div.i  { text-align: center; }
section article div.iw  { text-align: center;}
section article div.i figure { float: none; margin: 1em; display: inline-block; }
section article div.iw figure { float: none; margin: 1em; display: inline-block;}
section article div.iw figure img { width: 400px; cursor: pointer; }

section > nav { border-top: 1px solid #eee; }
section > nav ul li { display: inline-block; width: 33%; vertical-align: top; font-size: smaller; }
section > nav ul li span { display: none; }
section > nav ul li em { display: block; font-style: normal; }
section > nav ul li a { display: block; font-size: 2em; color: #000; }
section > nav ul li strong a { font-weight: normal;  }
section > nav ul li.s a { color: rgb(255, 109, 4); /* #8a8c8a; */  }
section > nav ul.sub li { display: block; font-size: .8em; width: auto; padding-right: .5em; }
section > nav ul.sub li a:before { content: '\00B7'; padding-right: .3em; }

.history section article ul { list-style: none; padding: 1em 0; }

.start header nav { display: none; }
.start ul.sub li a:before { content: '\00B7'; padding-right: .3em; }

.start section { display: inline-block; width: calc(33% - 2em); vertical-align: top; min-height: calc(100% - 18.15em); }
.start section h3 { font-size: 1em; padding: 0 0 1em 0; }
.start section div > ul {  min-height: 15em; border-bottom: 1px solid #eee; margin-bottom: 1em; }
.start section ul { list-style: none; margin: 0; }
.start section li { padding: 0 0 .5em 0; }
.start section li a { font-size: 1.2em; }

.imprint section article div { padding: 0; }
.imprint section { padding: 1em; }
.imprint section h4 { font-size: 1.2em; padding: 1em 0 0 0; }
.imprint section h5 { font-size: 1em; padding: 1em 0 0 0; }

.contact address { font-style: normal; padding: 0 0 2em 0; }
.contact section article ul { margin: 0; list-style: none; }
.contact section article li { padding: 0 0 .5em 0; }
.contact section article li strong { display: inline-block; color: #444; width: 5em; font-weight: normal; }
.contact fieldset { border: none; }
.contact label { display: block; padding: 0 0 .5em 0; }
.contact label span { display: inline-block; color: #444; width: 5em; }
.contact label input { width: 25em; }
.contact textarea { width: 33em; min-height: 12em; }
.contact input[type='submit'] { margin: .5em 0 0 0; cursor: pointer; }

.contact article div { width: 49%; float: left; }
.contact article form { width: 49%; float: right; }

.partner section article div { width: 49%; float: left; clear: none; }
.partner section article div + div { padding-left: 1%; }

.vcard { position: absolute; top: 0; left: 0; padding: 1em; background: white; }
.vcard img { display: block; margin: auto; padding: 0 0 1em 0; }
.vcard > p:first-child { display: none; font-size: smaller; }
.vcard > address { display: none; padding: 1em 0; font-style: normal; font-size: .9em; }
.vcard .email { display: none; }
.vcard .tel { display: block; }
.vcard:hover .fn { display: block; font-size: 1.4em; }

.vcard:hover { border: 1px solid black; top: 1em; left: 1em; padding: 1em 3em; }
.vcard:hover > p:first-child, .vcard:hover > address, .vcard:hover .street-address, .vcard:hover .email { display: block; }

#vcd { background: url(/img/vcard.png) no-repeat 0 0; padding: 0 0 0 1.5em; background-size: contain; }

ul.e { color: red; }

ul li ul.sub { font-size: smaller; }
ul li ul.sub li { display: inline-block; }
ul li ul.sub li a span { display: none; }

iframe.pdf { border: none; width: calc(100% + 2em); margin: -2em -1em; height: 70em; }

#breadcrumbs { border: 1px solid silver; list-style: none; }
#breadcrumbs li { display: inline-block; }

aside { position: absolute; top: 0; right: 0; }
aside ul { list-style: none; padding: 1em; }
aside li { display: inline-block; }

footer { padding: 0; clear: both; background: #eee; box-shadow: 0 0 .05em .1em rgba(0,0,0,.3);}
footer > p { display: inline-block; padding: 0 1em; }
footer > p span { display: none; }
footer > p + p { float: right; }
footer > p a { display: inline-block; padding: 1em .5em; color: #444; }
footer > p strong a { font-weight: normal; background: #ccc; color: #fff; }
