article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
html, button, input, select, textarea { font-family: sans-serif; color: #222; }
body { margin: 0; font-size: 1em; line-height: 1.4; }

::-moz-selection { background: #002e55; color: #fff; text-shadow: none; }
::selection { background: #002e55; color: #fff; text-shadow: none; }

a, a:visited { color: #666; }
a:hover { color: #002e55; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

svg:not(:root) { overflow: hidden; }

figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }

/* CSS RESET
    Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}



/* ===== Primary Styles ========================================================
   Author: David&Goliath (Marijan Barkic)
   ========================================================================== */
html, body {
    height:100%}

body {
    background:#f0f0f0;
    color:#666;
    font:normal 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif;
    text-shadow:0px 1px 0px #fff;
    -webkit-font-smoothing:antialiased;}

h1, h2, h3, table th {
    color:#333;
    font-family:'Serifa W01 55 Roman', 'Helvetica Neue', Arial, sans-serif}

h1 {
    color:#333;
    font-size:32px;
    letter-spacing:-0.0615em;
    line-height:30px;
    margin-bottom:20px}
h2, h3 {
    font-size:18px;
    line-height:20px;
    margin-bottom:20px;
    padding-top:5px;
    padding-bottom:5px}
h2 small {
    color:#999;
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-size:14px;
    margin-left:2px;}
h3 {
    margin-bottom:10px}
    
p {
    margin-bottom:20px}

.footnote {
    display: block;
    margin: 10px 0px 0px;
    font-size: 13px;
    line-height: 20px;}

header {
    padding:20px 0;}
header hgroup {
    margin-bottom:150px;
    padding-top:90px}
header hgroup h1,
header hgroup h2 {
    display:block;
    margin: 0px;}
header hgroup h2 {
    color:#999;
    font-size:14px;
    font-family:'Helvetica Neue', Arial, sans-serif;
    margin-top: 0px;}

header > .grid_5 {
    margin-top: 20px;}

table:not(#cv) {
    background:#fff;
    font-size:14px;
    position:relative;
    text-align:center;
    width:100%;
    -webkit-box-shadow:0px 0px 1px rgba(0,0,0,.3);
    -moz-box-shadow:0px 0px 1px rgba(0,0,0,.3);
    box-shadow:0px 0px 1px rgba(0,0,0,.3)}
table:not(#cv):after,
#alert:after {
    background:transparent url(../img/shadow.png) 0 0 no-repeat;
    bottom:-4px;
    content:'\0020';
    display:block;
    height:4px;
    overflow:hidden;
    position:absolute;
    right:1px;
    width:90px}
table:not(#cv) th {
    border-bottom:1px solid #e4e4e4;
    color:#666;
    font-size:15px;
    line-height:30px;
    padding-top:10px}
table:not(#cv) tbody td {
    line-height:15px;
    padding:10px 0 20px;
    width:79px}
table:not(#cv) tbody td span {
    display:block}
    

a.fancy {
    background:#999;
    border:6px solid #fff;
    display:block;
    height:85px;
    line-height:0;
    position:relative;
    -webkit-box-shadow:0px 0px 3px rgba(0,0,0,.3);
    -moz-box-shadow:0px 0px 3px rgba(0,0,0,.3);
    box-shadow:0px 0px 3px rgba(0,0,0,.3)}
a.fancy img {
    left:0;
    position:absolute;
    top:0}
a.fancy img.col {
    -webkit-transition:all 0.2s ease-in-out;
    -moz-transition:all 0.2s ease-in-out;
    transition:all 0.2s ease-in-out;
    opacity:0;
    -moz-opacity:0;
    filter:alpha(opacity=0);
    z-index:2}
a.fancy:hover img.col {
    opacity: 1;
    -moz-opacity: 1;
    filter:alpha(opacity=100);}

.extension a.fancy {    
    display:inline-block;
    width: 134px;
}

section {
    margin-bottom:30px}

ul {
    list-style-image: url(../img/list.gif?s=2)}

#anfahrt {
    background:transparent url(../img/map.jpg) 100% 20px no-repeat;
    height:390px;
    padding-top:60px}
#anfahrt ul {
    list-style:none}
#anfahrt ul li {
    margin-bottom:40px}
#anfahrt ul p {
    margin:0;}


#impressum {
    background:#404040;
    color:#ccc;
    padding:30px 0;
    text-shadow:none}
#impressum h1,
#impressum h2,
#impressum h3 {
    color:#999}
#impressum h2 {
    font-size:16px;
    margin:0}

#leistungen .extensible {
	position: relative;
}

#leistungen .extensible > span {
	cursor: pointer;
	padding-right: 25px;
	position: relative;
}

#leistungen .extensible > span:after {
	content: url('../img/extend.png');
	position: absolute;
	top: -1px;
	right: 0px;
}

#leistungen .extensible.extended > span:after {
	content: url('../img/extended.png');
	right: 3px;
}

#leistungen .extensible .extension {
	display: none;
	
	position: absolute;
	top: -35px;
	left: 100%;
	
	z-index: 999;
	
	font-size: 14px;
	color: #666666;
}

#leistungen .extensible .extension heading {
	font-family: 'Serifa W01 55 Roman', 'Helvetica Neue', Arial, sans-serif;
	font-size: 18px;
	color: #333333;
	margin-bottom: 10px;
	display: block;
}

#leistungen .extensible.extended .extension {
	display: block;
}

#leistungen .extensible .extension section {
	background: #ffffff;
	border: 1px solid #e4e4e4;
	
	width: 500px;
	padding: 20px;
}

#leistungen .extensible .extension section:before {
	content: "";
	
	position: absolute;
	
	top: 30px;
	left: -15.4px;
	
	width: 0px;
	height: 0px;
	
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 0px;
	border-right: 15px solid #e4e4e4;
}

#leistungen .extensible .extension section:after {
	content: "";

	position: absolute;

	top: 30px;
	left: -14px;

	width: 0px;
	height: 0px;

	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 0px;
	border-right: 15px solid #ffffff;
}

#team h2 {
	margin: 20px 0px 10px;
}

#team .member {
	height: 110px;
	
	position: relative;
	
	margin-bottom: 30px;
	padding-top: 30px;
	
	border-bottom: 1px solid #e5e5e5;
}

#team .member heading {
	font-family: 'Serifa W01 55 Roman', 'Helvetica Neue', Arial, sans-serif;
	font-size: 18px;
	color: #666666;
}

#team .member p {
	font-size: 14px;
	color: #999999;
	width: 150px;
}

#team .member img {
	position: absolute;
	
	bottom: 0px;
	right: 0px;
}

#team .space {
	padding-left: 31px;
}

#cv {
	border-spacing: 0px;
}

#cv td, #cv th {
	padding: 5px 0px 4px;
	border-bottom: 1px solid #e5e5e5;
}

#cv tr:last-child th, #cv tr:last-child td {
	border-bottom: none;
}

#cv th {
	font-family: 'Serifa W01 55 Roman', 'Helvetica Neue', Arial, sans-serif;
	font-size: 15px;
	color: #666666;
	text-align: right;
	
	width: 71px;
	padding-right: 20px;
}

#cv td {
	font-size: 13px;
	color: #999999;
}

.extension {
    overflow: hidden;
}

.extension figure {
    display:block;    
    float: right;
    margin-left: 10px;
}

.extension:after {
    clear: both;
    width: 100%;
    height: 0px;
    display: block;
    content: " ";
}

.extension figure img {
    background:#999;
    border:6px solid #ddd;
    display:block;
    height:85px;
    line-height:0;
    margin-bottom: 10px;
}

.extension li {
    margin-bottom: 10px;
}

#impressum a {
    color: rgb(204, 204, 204);
    text-decoration: none;
}

#impressum a:active, #impressum a:hover {
    color: rgb(255, 255, 255);
}

#alert {
    position: absolute;
    top: 180px;
    left: 0;
    width: 300px;
    background: #ffc;
    padding: 25px 20px 30px;
    font-size: .9em;
}



/* =============================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 35em) {
	/* Style adjustments for viewports that meet the condition */
}

/* =============================================================================
   Non-Semantic Helper Classes
   ========================================================================== */

.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

/* =============================================================================
   Print Styles
   ========================================================================== */
 
@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
