@charset "UTF-8";

/* fjalla-one-regular - latin */
@font-face {
  font-family: 'Fjalla One';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('font/fjalla-one-v13-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('font/fjalla-one-v13-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* playfair-display-italic - latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('../fonts/playfair-display-v30-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/playfair-display-v30-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* pt-sans-narrow-regular - latin */
@font-face {
  font-family: 'PT Sans Narrow';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('../fonts/pt-sans-narrow-v17-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/pt-sans-narrow-v17-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* pt-sans-narrow-700 - latin */
@font-face {
  font-family: 'PT Sans Narrow';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('../fonts/pt-sans-narrow-v17-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/pt-sans-narrow-v17-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* ===============================================================================
	html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
	v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark ====================== */
html, body, div, span, object, iframe,
h1,
section section header h2,
section section header h3, h2, section section h3, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  /* Correct text resizing oddly in IE6/7 when body font-size is set using em units */
  vertical-align: baseline;
  background: transparent; }

input {
  -web-kit-border-radius: 0;
  border-radius: 0; }

/* =============================================================================
	HTML5 BOILERPLATE ======================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block; }

/* Corrects block display not defined in IE6/7/8/9 & FF3 */
audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

/* Corrects inline-block display not defined in IE6/7/8/9 & FF3 */
audio:not([controls]) {
  display: none;
  height: 0; }

/* Prevents modern browsers from displaying 'audio' without controls; Remove excess height in iOS5 devices */
[hidden] {
  display: none; }

/* Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4; Known issue: no IE6 support */
html {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
  -ms-text-size-adjust: 100%; }

h1, section section header h2, section section header h3, h2, section section h3, h3, h4, h5, h6 {
  text-rendering: optimizeLegibility; }

button, input, select, textarea {
  font: 100% sans-serif;
  /* Correct font-size not inheriting in all browsers */
  margin: 0;
  /* Remove margins in FF3/4 S5 Chrome */
  vertical-align: baseline;
  *vertical-align: middle; }

/* Define consistent vertical alignment display in all browsers */
textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical; }

/* Remove default vertical scrollbar in IE6/7/8/9 & Allow only vertical resizing */
button, input {
  line-height: normal; }

/* Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet) */
/* Display hand cursor for clickable form elements, Allow styling of clickable form elements in iOS & Correct inner spacing displayed oddly in IE7 (doesn't effect IE6): */
button, input[type="button"], input[type="reset"], input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
  *width: auto;
  *overflow: visible; }

button[disabled], input[disabled] {
  cursor: default; }

/* Re-set default cursor for disabled elements */
/* Consistent box sizing and appearance: */
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; }

/* Remove inner padding and border in FF3/4 */
/* Colors for form validity: */
input:valid, textarea:valid {
  color: inherit; }

input:invalid, textarea:invalid {
  background-color: #f0dddd; }

/* Remove text-shadow in selection highlight: */
::-moz-selection {
  background: gray;
  color: #fff;
  text-shadow: none; }

::selection {
  background: gray;
  color: #fff;
  text-shadow: none; }

img {
  -ms-interpolation-mode: bicubic;
  /* Improve image quality when scaled in IE7 */
  vertical-align: middle; }

/* Remove the gap between images and borders on image containers */
svg:not(:root) {
  overflow: hidden; }

/* Correct overflow not hidden in IE9 */
label {
  cursor: pointer; }

/* Indicate that 'label' will shift focus to the associated form element */
legend {
  border: 0;
  *margin-left: -7px;
  padding: 0;
  white-space: normal; }

/* Correct color not inheriting in IE6/7/8/9 & alignment displayed oddly in IE6/7 */
/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td, td img {
  vertical-align: top; }

/* =============================================================================
	TYPOGRAPHIE ============================================================== */
ul, ol {
  margin: 5px 0;
  padding: 0 0 0 12px; }

ol {
  list-style-type: decimal; }

nav ul, nav ol {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

b, strong {
  font-weight: bold; }

blockquote, q {
  quotes: none;
  margin: 1em 40px; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

del {
  text-decoration: line-through; }

dfn, i, em {
  font-style: italic;
  margin-right: .2em; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #111;
  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; }

/* #DE0027eclare monospace font family */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/* Improve readability of pre-formatted text in all browsers */
small {
  font-size: 85%; }

/* Position subscript and superscript content without affecting line-height: */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

.text p {
	margin-bottom: 1em; }
.side img {
  margin-bottom: 2em; }
  
a.download, a.link {
	display: inline-block;
	padding-left: 2.5em;
	padding-top: 0.1em;
	margin-top: -0.1em;
	background: url('graphics/icon-download.png') top left no-repeat transparent;
	background-size: 2em; }
a.link {
	background-image: url('graphics/icon-link.png'); }
.ie a.download {
	background-image: url('graphics/icon-download-ie.png'); }
.ie a.link {
	background-image: url('graphics/icon-link-ie.png'); }
/* =============================================================================
   Non-Semantic Helper Classes =============================================== */
/* For image replacement */
.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; }

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden {
  display: none;
  visibility: hidden; }

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/* Optisch verstecken (auch von Screenreader), aber behalte den Platz im Layout */
.invisible {
  visibility: hidden; }

/* Der glorreiche CLEARFIX: Aktualisiert, um einen Einsturz der Außenabstände in Kind-Elementen zu verhindern: j.mp/bestclearfix */
.clearfix:before, .wrapper:before, .clearfix:after, .wrapper:after {
  content: "\0020";
  display: block;
  height: 0;
  visibility: hidden; }

.clearfix:after, .wrapper:after {
  clear: both; }

.clearfix, .wrapper {
  zoom: 1; }

/* Clearfix-Fix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */
.no-click {
  cursor: default; }

@font-face {
  font-family: 'sosa';
  src: url("font/sosa-regular-webfont.eot");
  src: local("x"), url("font/sosa-regular-webfont.woff") format("woff"), url("font/sosa-regular-webfont.ttf") format("truetype"), url("font/sosa-regular-webfont.svg") format("svg");
  font-weight: bold;
  font-style: normal; }
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.transition, a, #mastcont article, #mastcont figure, #mastcont article img, #mastcont figure img, #mastcont article a div, #mastcont article div div, #mastcont figure a div, #mastcont figure div div, #mastcont form input, #mastcont form textarea, #mastcont form label {
  -moz-transition: all 0.4s ease-out;
  -ms-transition: all 0.4s ease-out;
  -webkit-transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
	
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  transform: translateZ(0);
  }

body {
  color: #646567;
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9em;
  line-height: 1.8; }

@media screen and (max-width: 1024px) {
  body {
    background: url("images/background-stuhl-mobil.jpg") no-repeat center center fixed white;
    background-size: cover; } }
@media screen and (min-width: 1025px) {
  body {
    background: url("images/background-stuhl.jpg") no-repeat center center fixed white;
    background-size: cover; } }
.wrapper {
  min-width: 310px;
  width: 94%;
  max-width: 980px;
  margin: 0 auto; }

p {
  -o-hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  font-size: 0.9em; }

address {
  font-style: normal;
  font-size: 0.9em; }

#impressum address, #impressum p {
  margin-bottom: 1em; }

ul, ol {
  margin: 0 0 1.5em;
  padding: 0 0 0 1.5em;
  font-size: 0.875em; }
  ul ul, ul ol, ol ul, ol ol {
    font-size: 1em; }
  ul ul {
	list-style: disc;
	padding: 0;
  }
.vita li {
	list-style: none;
	position: relative;
}
.vita li:before {
	content: '●';
	position: absolute;
	left: -1em;
	font-size: 12px;
	line-height: 1.8;
}
  
.vita li span {
	display: block;
	min-width: 7.5em;
}
.vita.team li:before {
	display: none;
}
.vita.team li span {
	min-width: 10.5em;
}

li.break {
  margin-bottom: 1.8em; }

a {
  color: #183d8f;
  text-decoration: none; }
  a:hover {
	color: #e3922a;
    text-decoration: none; }

h1, section section header h2, section section header h3 {
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  font-family: 'Raleway', sans-serif;
  font-size: 1.6em;
  color: white;
  position: relative;
  margin-bottom: 0.6em;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.2; }
  #home h1, #home section section header h2, section section header #home h2, #home section section header h3, section section header #home h3 {
    padding-bottom: 0.6em; }
  h1{
	padding-bottom: 0.6em;
  }
  h1:after, section section header h2:after, section section header h3:after {
    content: '';
    display: block;
    width: 100%;
    height: 0px;
    bottom: -2px;
    left: 10%;
    position: absolute;
    border-bottom: 1px solid white;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    border-top: 1px solid #87888a;
    border-top: 1px solid rgba(135, 136, 138, 0.5);
    width: 80%; }
  h1 .sub, section section header h2 .sub, section section header h3 .sub {
    font-family: 'Dancing Script', serif;
    font-size: 55%;
    font-style: italic;
    display: block;
    width: 100%;
    text-transform: none;
    line-height: 1.4;
	padding-top: 0.5em; }
  h1 .sup, section section header h2 .sup, section section header h3 .sup {
	display: inline-block;
	background: #183D8F;
	background: rgba( 24, 61, 143, .9 );
	padding: 0.3em 0.5em;
	text-shadow: none;
  }
  h1 .sup span, section section header h2 .sup span, section section header h3 .sup span {
	white-space: nowrap; }
  h1 .sup .light, section section header h2 .sup .light, section section header h3 .sup .light {
	font-weight: 400; }
  
h2, section section h3 {
  font-family: 'Raleway', sans-serif;
  font-size: 1.25em;
  font-weight: bold;
  color: #183d8f;
  margin-bottom: 1em;  }
  address + h2, section section address + h3 {
    margin-top: 1em; }

#masthead {
  background: white;
  position: absolute;
  width: 100%;
  padding: 2.3em 0 0em;
  z-index: 1000; 
  border-bottom: 3px solid #183d8f; }
  .show-nav #masthead {
  padding-bottom: 2.3em; }
  #masthead .logo {
    width: 100%;
    max-width: 360px;
    display: block;
    margin: 0 auto;
    position: relative;
	text-align: center;	}
    #masthead .logo img {
      width: 90%; }
  #masthead .info {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	padding: 0.25em 2.5em 0.25em 0.5em;
	background: #183D8F;
	display: block;
	text-align: center;
	-webkit-transition: background-color 0.4s ease;
	-moz-transition: background-color 0.4s ease;
	transition: background-color 0.4s ease; }
  #masthead .info:hover {
	background: #E3922A; }
  #masthead .info a {
	color: white; 
	font-size: 1.125em; }
  #masthead .info p {
	margin: 0;
  }
  

#masthead nav {
  text-align: justify;
  width: 100%;
  float: right;
  font-size: 3px;
  margin-top: 16px;
  margin-top: 1rem; }
  #masthead nav ul:after {
    display: inline-block;
    width: 100%;
    content: ''; }
  #masthead nav li {
    font-size: 14px;
    font-size: 0.875rem;
    display: inline-block;
    width: 30%;
    text-align: center;
    margin: 0.5em 0; }
    #masthead nav li a {
      font-family: 'Raleway', sans-serif;
	  font-weight: bold;
      padding: 8px 5px;
      color: #9c9e9f; }
      #masthead nav li a:hover {
        color: #e3922a;
        text-decoration: none; }
	  #masthead nav li a.active {
        color: #183d8f;
        text-decoration: none; }
		
#mastcont .something {
  background: white; }
#mastcont .something article {
  text-align: center; }
#mastcont .something .container:first-child article:first-child{
  margin-top: -7.5em;
  position: relative;
  z-index: 100;  }
#mastcont .something .img {
	width: 60%;
	max-width: 300px;
	margin: 0 auto;
	border-radius: 50%;
	overflow: hidden;
	border: 0.5em solid white;
	position: relative;
	float: none; }
#mastcont .something .img img {
	border-radius: 50%;
	overflow: hidden; }
#mastcont .news {
	position: relative; }
	#mastcont .news:before {
		content: 'Aktuell';
		position: absolute;
		top: 0;
		left: 20%;
		z-index: 1000;
		display: block;
		height: 6em;
		width: 6em;
		border-radius: 50%;
		overflow: hidden;
		color: white;
		background: rgba( 227, 146, 42, .9 );
		line-height: 6em;
	}

#mastcont {
  padding: 205px 0 4em;
  text-align: justify;
  position: relative; }
/*  
  #home #mastcont {
	padding-bottom: 0; }
*/
  #mastcont:before {
    content: '';
    display: block;
    position: absolute;
    top: 211px;
    left: 0;
    height: 0px;
    width: 100%;
    border-bottom: 1px solid white;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    border-top: 1px solid #87888a;
    border-top: 1px solid rgba(135, 136, 138, 0.5); 
	-webkit-transition: top 0.6s ease;
	-moz-transition: top 0.6s ease;
	transition: top 0.6s ease;
	}
  #mastcont .something {
	position: relative; }
  #mastcont .something:after {
    content: '';
    display: block;
    position: absolute;
    top: -7.5px;
    left: 0;
    height: 0px;
    width: 100%;
    border-top: 1px solid #87888a;
    border-top: 1px solid rgba(135, 136, 138, 0.5);
    border-bottom: 1px solid white;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35); }
  #mastcont header {
    text-align: center;
    color: white;
    margin: 5em auto 10em; }
    #mastcont header p {
      text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
      display: inline-block;
      font-size: 1em;
      font-weight: normal;
      width: 80%; }
	#mastcont header p + p {
		margin-top: 4em; }
	#mastcont header .scroll {
	  display: block;
	  height: 4em;
	  width: 4em;
	  margin: 2em auto 0;
	  background: url('graphics/down.png') no-repeat center center transparent;
	  background-size: 2em;
	  border-radius: 50%; 
	  border: 3px solid white; }
  #mastcont .wrapper:last-child:after {
    content: '';
    display: inline-block;
    width: 100%; }
  #mastcont article.container {
    background: transparent;
    width: 100%; }
    #mastcont article.container div {
      float: none;
      padding: 0; }
  #mastcont .container {
    font-size: 3px;
    background: rgba(255, 255, 255, 0.9);
    text-align: justify;
    margin-bottom: 32px;
    margin-bottom: 2rem;
    border: 3px solid transparent; }
    #service #mastcont .container {
      line-height: 0;
      border-bottom-width: 1px; }
    #mastcont .container:after {
      content: '';
      display: inline-block;
      width: 100%; }
    #mastcont .container > article, #mastcont .container > figure {
      font-size: 16px;
      font-size: 1rem;
      padding-left: 0;
      border-left: 0; }
      #mastcont .container > article > a, #mastcont .container > article > div, #mastcont .container > figure > a, #mastcont .container > figure > div {
        background-color: transparent; }
        #mastcont .container > article > a:hover, #mastcont .container > article > div:hover, #mastcont .container > figure > a:hover, #mastcont .container > figure > div:hover {
          background-color: transparent; }
    #mastcont .container header {
      font-size: 16px;
      font-size: 1rem;
      margin: 1em 0; }
      #mastcont .container header h2, #mastcont .container header section section h3, section section #mastcont .container header h3 {
        color: white;
        line-height: 1.2;
        text-shadow: 0 0 4px rgba(0, 0, 0, 0.5); }
  #mastcont article, #mastcont figure {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    text-align: left;
    margin-bottom: 2em;
    overflow: hidden;
	max-height: 9999em;
	-webkit-transition: all .6s ease;
	-moz-transition: all .6s ease;
	-ms-transition: all .6s ease;
	-o-transition: all .6s ease;
	transition: all .6s ease; }
    #mastcont article:last-child, #mastcont figure:last-child {
      margin-bottom: 0; }
    #mastcont article:hover img, #mastcont figure:hover img {
      opacity: 1; }
    #mastcont article:hover > a, #mastcont article:hover > div, #mastcont figure:hover > a, #mastcont figure:hover > div {
      text-decoration: none; }
    #mastcont article .img.fullwidth, #mastcont figure .img.fullwidth {
      width: 100% !important; }
    #mastcont article img, #mastcont figure img {
      width: 100%;
      opacity: 1; }
    #mastcont article > a, #mastcont article > div, #mastcont figure > a, #mastcont figure > div {
      background: #f6f6f6;
      background: rgba(255, 255, 255, 0.9);
      color: inherit;
      display: block; }
    #mastcont article a div, #mastcont article div div, #mastcont figure a div, #mastcont figure div div {
      padding: 2em; }
	#home #mastcont article a div, #home #mastcont article div div, #home #mastcont figure a div, #home #mastcont figure div div {
		padding: 1em; }
      #mastcont article a div.fullwidth, #mastcont article div div.fullwidth, #mastcont figure a div.fullwidth, #mastcont figure div div.fullwidth {
        width: 100% !important; }
    #mastcont article.fullwidth, #mastcont figure.fullwidth {
      width: 100%;
      border: 3px solid white; }
      #mastcont article.fullwidth img, #mastcont figure.fullwidth img {
        width: 100%;
        float: left; }
      #mastcont article.fullwidth div div, #mastcont figure.fullwidth div div {
        width: 100%;
        float: left; }
		
  #mastcont article.hide {
	max-height: 0;
	margin: 0 !important;
	opacity: 0;
	
	display: none;
  }
  #mastcont .frame {
	width: 100%;
    float: left;
	padding: 0 0 50%;
    position: relative;
    overflow: hidden; }
 @media screen and (max-width: 400px) {
	  #mastcont .frame {
		padding-bottom: 100%;
	 }
 }
    #mastcont .frame iframe {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%; }
	#mastcont .side .frame {
	  margin-bottom: 2em; }
  #mastcont .frame .blocker {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	
	display: block;
	height: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	
	background: url('graphics/grid-min.png') top left repeat transparent;
	cursor: pointer;
	
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	
	-webkit-transition: transform .6s ease;
	-moz-transition: transform .6s ease;
	-ms-transition: transform .6s ease;
	-o-transition: transform .6s ease;
	transition: transform .6s ease;
}

#mastcont .frame .blocker:after {
  content: "";
  display: block;
  height: 4em;
  width: 4em;
  position: absolute;
  top: 50%;
  margin-top: -3em;
  left: 50%;
  margin-left: -2em;
  background: url("graphics/icon-kompass.png") center center no-repeat transparent;
  background-size: 4em;
}
.ie #mastcont .frame .blocker:after {
  background-image: url("graphics/icon-kompass-ie.png");
  top: 0;
}
#mastcont .frame .blocker span {
  color: white;
  display: block;
  width: 100%;
  text-align: center;
  position: absolute;
  top: 50%;
  margin-top: 48px;
  margin-top: 3rem;
  text-shadow: 0 0 2px rgba(60, 60, 60, 0.75);
}
.ie #mastcont .frame .blocker span {
  top: 0;
}

#mastcont .frame .blocker.hide {
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-o-transform: scale(0);
	transform: scale(0);
}

.ie #mastcont .frame .blocker.hide {
	display: none;
}


.frame .placeholder {
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100% !important;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100000;
}
.frame .placeholder--yt {
	padding: 0 !important;
}

.frame.hide-placeholder .placeholder {
	display: none;
}

.frame .placeholder__image {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.frame .placeholder__toggle {
	padding: 0.5rem 1rem;
	margin-top: .5rem;
	
	background: #0078c0;
	border: 0;
	border-radius: 0;
	color: white;
}

.frame .placeholder__message {
    margin: auto !important;
    padding: 1rem;
    text-align: center;
    background: #D9DADB;
}

#mastcont .flexslider {
  margin: 0; }
  #mastcont .flexslider div {
    width: 100% !important; }
  #mastcont .flexslider img {
    width: 100% !important; }

#mastcont td, #mastcont th {
	font-size: 0.9em;
	padding-right: 1em;
}
	
#subnav{
  padding: 0;
  margin-bottom: 3em;
  text-align: center; }

  #subnav li {
    display: inline-block;
	text-align: center;
	width: 100%;
	max-width: 230px; }
	
  #subnav a {
	text-transform: uppercase;
	font-weight: bold;
	padding: 1em;
	color: white;
	width: 100%;
	display: block;
	background: #183d8f;
	margin-bottom: 3px;
  }
  
  #subnav a:hover,
  #subnav a.active {
	color: #E3922A;
	background: white; }
	
span.img {
  position: relative;
  display: block; }
  span.img img {
    z-index: 0;
    position: relative; }

.flexslider:after, span.img:after {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  min-width: 10px;
  min-height: 10px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  background: rgba(255, 255, 255, 0.01); }

#mastfoot {
  background-color: white;
  border-top: 3px solid #183d8f;
  text-align: justify; }
  #mastfoot .news p {
	margin-bottom: 1em;}
  #mastfoot .news img {
	width: 50%;
	float: left; }
  #mastfoot h2 {
	margin-bottom: 0.5em; }
  #mastfoot .copy {
    padding: 2em 0;
    border-top: 1px solid #cfd1d2;
    margin: 1em 0 0;
    text-align: center;
	position: relative; }
    #mastfoot .copy p {
      display: block;
      margin-top: 0.5em; }
    #mastfoot .copy a {
      white-space: nowrap; }
  #mastfoot .logo {
    width: 200px;
    margin: 0 auto 1em;
    display: inline-block; }
    #mastfoot .logo img {
      width: 100%; }
  #mastfoot > .wrapper:after {
    content: '';
    display: inline-block;
    width: 100%; }
  #mastfoot > .wrapper div {
    width: 100%;
    padding: 1em 10% 0;
    border-top: 1px solid #eceded;
    margin-top: 1em;
    display: inline-block;
    vertical-align: top;
    position: relative;
    text-align: left; }
    #mastfoot > .wrapper div:first-child {
      border: 0; }
  #mastfoot span {
    display: block;
    width: 100%;
    padding-left: 2.5em;
    position: relative;
    font-size: 0.875em; }
    #mastfoot span:before {
      position: absolute;
      top: 0.2em;
      left: 0;
      background: center center no-repeat transparent;
      background-size: 18px;
      content: '';
      display: block;
      height: 18px;
      width: 18px; }
    #mastfoot span.home:before {
      background-image: url("graphics/home.png"); }
      .ie #mastfoot span.home:before {
        background-image: url("graphics/home-ie.png"); }
    #mastfoot span.time:before {
      background-image: url("graphics/time.png"); }
      .ie #mastfoot span.time:before {
        background-image: url("graphics/time-ie.png"); }
    #mastfoot span.tel:before {
      background-image: url("graphics/phone.png"); }
      .ie #mastfoot span.tel:before {
        background-image: url("graphics/phone-ie.png"); }
    #mastfoot span.mail:before {
      background-image: url("graphics/mail.png"); }
      .ie #mastfoot span.mail:before {
        background-image: url("graphics/mail-ie.png"); }
    #mastfoot span.location:before {
      background-image: url("graphics/map.png"); }
      .ie #mastfoot span.location:before {
        background-image: url("graphics/map-ie.png"); }
    #mastfoot span.fax:before {
      background-image: url("graphics/fax.png"); }
      .ie #mastfoot span.fax:before {
        background-image: url("graphics/fax-ie.png"); }
  #mastfoot address {
    font-style: normal;
    font-size: 1em; }
  #mastfoot .toTop {
    position: relative;
	display: block;
	margin: 0 auto;
    margin-top: 2em;
	text-align: center;
	clear: both; }
	#mastfoot .toTop img {
	  display: inline-block;
	  width: 44px;
	  height: 44px; }
  #mastfoot td {
	padding-right: 1em;
  }

#mastcont form {
  width: 100%; }
  #mastcont form div {
	padding: 0 !important;
  }
  #mastcont form .form-element {
    width: 100% !important;
    position: relative;
    padding: 0 !important;
    min-height: 0;
    float: none !important; }
    #mastcont form .form-element label {
      position: absolute;
      width: 100%;
      cursor: text;
      top: 0;
      left: 0;
      line-height: normal; }
    #mastcont form .form-element :focus + label {
      opacity: .5; }
    #mastcont form .form-element.hasInput label {
      opacity: 0; }
      #mastcont form .form-element.hasInput label .ie {
        display: none; }
  #mastcont form input, #mastcont form textarea, #mastcont form label {
    font-size: 0.875em;
    color: inherit;
    font-family: inherit;
    margin-bottom: 24px;
    padding: 6px;
    border: 0; }
  #mastcont form input[type=text], #mastcont form textarea {
    width: 100%;
    background: transparent;
    border: 1px solid #cfd1d2;
    background: #f3f3f3; }
  #mastcont form textarea {
    height: 150px;
    resize: vertical;
    border-radius: 0; }
  #mastcont form label {
    line-height: 1.2; }
  #mastcont form input[type=checkbox] {
    margin: 4px 6px 24px 0;
    float: left; }
    #mastcont form input[type=checkbox] + label {
      padding: 0; }
  #mastcont form input[type=submit] {
    border: 0;
    padding: 6px 24px;
    margin: 0;
    display: block;
    color: white;
    background: #183d8f; }
    #mastcont form input[type=submit]:hover {
      background: #E3922A; }
    #mastcont form input[type=submit][disabled], #mastcont form input[type=submit][disabled]:hover {
      background: #4b4b4d; }
  #mastcont form .non-validate {
    background-color: #fee !important; }
  #mastcont form .legal {
    margin-bottom: 1em;
    width: 100% !important;
    padding: 0 !important;
    min-height: 0;
    line-height: 1.2; }
  #mastcont form .warning {
    display: none;
    clear: both;
    margin-top: 1em; }
  #mastcont form .warning p {
    font-weight: bold;
    color: red; }

#formsent {
  padding-bottom: 2em; }

#map-form h2, #map-form section section h3, section section #map-form h3 {
  margin-top: 1em; }

@media only screen and (max-width: 449px) {

	#mastcont {
		-webkit-transition: padding 0.6s ease;
		-moz-transition: padding 0.6s ease;
		transition: padding 0.6s ease;
	}

	.show-nav #mastcont {
		padding-top: 440px;
	}
	.show-nav #mastcont:before {
		top: 446px;
	}
	
	#masthead nav ul {
		overflow: hidden;
		max-height: 0;
		-webkit-transition: max-height 0.6s ease;
		-moz-transition: max-height 0.6s ease;
		transition: max-height 0.6s ease;
	}
	
	.show-nav #masthead nav ul {
		max-height: 201px;
	}
	
	#masthead nav ul {
		background: #f6f6f6;
	}
	
	#masthead nav ul:after {
		display: none;
	}
	
	#masthead nav li {
		width: 100%;
		border-bottom: 1px solid white;
		margin: 0;
	}
	
	#masthead nav li a {
		display: block;
		padding: 0.5em 0;
		color: #183D8F;
	}
	
	#masthead nav li a.active {
		color: #e3922a;
	}
	
	#masthead nav button {
		display: block;
		font-size: 16px;
		font-size: 1rem;
		background: none;
		color: #183D8F;
		border: none;
		margin: 16px auto;
		margin: 1rem auto;
		font-size: 1.5rem;
		
		line-height: 40px;
		line-height: 1.5rem;
		
		-webkit-transition: all 0.6s ease;
		-moz-transition: all 0.6s ease;
		transition: all 0.6s ease;
	}
	
	.show-nav #masthead nav button {
		color: #e3922a;
	}
	
	#masthead nav button span {
		font-size: 40px;
		font-size: 2.5rem;
		vertical-align: bottom;
	}
	
	#masthead nav button:active {
		padding: 4px 16px;
		padding: 0.25rem 1rem;
		color: #e3922a;
	}
}
  
@media only screen and (min-width: 450px) {
  h1, section section header h2, section section header h3 {
	font-size: 2.25em; }
  #masthead .logo {
    padding: 0; }
  #masthead .info {
	text-align: right; }
  #masthead {
  padding-bottom: 2.3em; }
  #masthead nav {
    margin: 24px 0 8px;
    margin: 2.5rem 0 0; }
	#masthead nav button {
		display: none;
	}
    #masthead nav li {
      width: auto;
      text-align: left;
      margin: 0;
      font-size: 16px;
      font-size: 1rem; }

  #mastcont {
    padding-top: 241px; }
    #mastcont:before {
      top: 246px; }

  #mastfoot > .wrapper div {
    padding: 1em 40% 0 10%; }
	
  #mastcont article .side img {
	width: 47.5%;
	margin-right: 2.5%;
	margin-bottom: 0;
  }
  #mastcont article .side img + img {
	margin-right: 0;
	margin-left: 2.5%;
  } 
  #mastcont .side .frame {
	padding-bottom: 26.71875%;
	padding-top: 0;
	width: 47.5%;
	margin-right: 2.5%;
	margin-bottom: 0;
  }
  
  #map-form > div{
	position: relative;
	padding: 0 !important;
	width: 100% !important; }
  #map-from label {
	width: auto; }
  #map-form #map_submit {
	position: absolute;
	top: 1px;
	right: 1px;
	width: 150px;
	text-align: center; }
  #map-form input[type=text] {
	padding-right: 156px; }
  }
@media only screen and (min-width: 568px) {
  #masthead nav {
    padding: 0 10%; }
  #subnav {
    text-align: left; }
  #subnav li {
	width: 49%;
	max-width: none; }

  #mastcont article .img, #mastcont figure .img {
    width: 45%;
    float: left;
    margin: 0; }
  #mastcont article.switch .img, #mastcont figure.switch .img { 
	float: right; }
  #mastcont article a div, #mastcont article div div, #mastcont figure a div, #mastcont figure div div {
    width: 55%;
    float: left; } 
  #mastcont .something article a div, #mastcont .something article div div, #mastcont .something figure a div, #mastcont .something figure div div {
	float: none;
	display: inline-block;
	width: 75%;
	max-width: 450px; } 
  #mastcont article.fullwidth .img {
	width: 100%;
  } }
@media only screen and (min-width: 600px) {
  .vita li span {
	display: table-cell; }
  
  #masthead {
    position: fixed;
    z-index: 20000; }
  #mastcont header p {
	font-size: 1.125em;
  }
  #mastcont article {
	position: relative; }
  #mastcont header {
    margin: 15em auto 15em; }
    #mastcont header p {
      width: 60%; }
  .anker {
	position: absolute;
	top: -272px;
	top: -17rem; } }
  #mastcont .frame .blocker:after {
	background-size: 8em auto;
	height: 8em;
	margin-left: -4em;
	margin-top: -6em;
	width: 8em;
  }
  #mastcont .frame .blocker span {
    font-size: 1.125em;
    font-weight: 700;
  }
@media only screen and (min-width: 700px) {
  h1, section section header h2, section section header h3 {
    font-size: 3.5em; }
    h1:after, section section header h2:after, section section header h3:after {
      width: 60%;
      left: 20%; }
    h1 .sub, section section header h2 .sub, section section header h3 .sub {
      font-size: 50%; }
}
@media only screen and (min-width: 768px) {
  #masthead .wrapper{
	position: relative; }
  #masthead .info {
    width: auto;
	top: -2.3em;
	padding-right: 0.5em; }
  #mastcont .something .container:first-child article {
	margin-top: -7.5em;
	position: relative;
	z-index: 100;
  }
  #mastcont .container article, #mastcont .container figure {
    width: 49.8%;
    margin: 0; }
  #mastcont figure, #mastcont article {
    width: 30%; }
    #mastcont figure .img, #mastcont article .img {
      width: 100%; }
    #mastcont figure a div, #mastcont figure div div, #mastcont article a div, #mastcont article div div {
      width: 100%;
      min-height: 13.1875em; }
	  
  #mastcont article.fullwidth .img {
    width: 50%; }
  #mastcont article.fullwidth div div {
    width: 50%; }
  #mastcont article.fullwidth .frame,
  #mastcont article.fullwidth div div + .fullwidth { 
	width: 100%;
	padding-top: 0 !important; }
  #mastcont article a div, #mastcont article div div, #mastcont figure a div, #mastcont figure div div {
	padding: 4em; }
  #mastcont article.fullwidth div div + div {
	padding-top: 7.5em; }
  #mastcont article.fullwidth.kontakt div + div {
	padding-top: 4em; }
  #mastcont article.fullwidth div .text {
	width: 62%;
	padding-right: 0;}
  #mastcont article.fullwidth div .side {
	width: 33%;
	float: right;
	padding-left: 0; }
  #mastcont .frame {
    padding-bottom: 34.6875%; }
  #mastcont .side .frame {
	padding-bottom: 56.25%;
	padding-top: 0;
  }
  
  #mastcont article .side img {
	width: 100%;
	margin: 0 0 2em; }
  #mastcont article .side img +img {
	margin: 0 0 2em; }

  #mastfoot > .wrapper div {
    width: 30%;
    padding: 2em 0 0 0em;
    margin: 0;
    border: 0; }
	
  #subnav li {
	width: 33%; }
 }
@media only screen and (max-width: 899px){
  #masthead .logo {
	margin-top: 2em; } }

@media only screen and (max-width: 899px) and (min-width: 768px) {
  #masthead .info {
	top: -4.3em; } }
	
@media only screen and (min-width: 900px) {
  #masthead .logo {
    float: left;
	text-align: left;	}
  #masthead nav {
    padding: 0;
    margin: 16px 0;
    margin: 1.5rem 0 0;
    max-width: 460px; }

  #mastcont {
    padding-top: 134px; }
    #mastcont:before {
      top: 140px; }
    #mastcont article a div, #mastcont article div div {
      min-height: 11.625em; }
  .anker {
	top: -152px;
	top: -9.5rem;
  } }
@media only screen and (min-width: 1024px) {
  .wrapper {
    width: 980px; }
	
  #mastcont article a div, #mastcont article div div {
    min-height: 0; }
  #mastfoot .copy p {
    float: left; }
  #mastfoot .logo {
    float: left;
    margin-right: 4em;
	margin-bottom: 0; }
  #mastfoot .toTop {
    position: absolute;
	bottom: 50%;
	padding: 0;
	margin: 0 0 -22px;
	right: 2em;
     }
    
  #subnav li {
    width: 24.5%; } }

.lucy-in-the-sky .something .img {
	animation: roll 40s infinite;
}

@keyframes roll{
	0% {
		transform: rotate(0deg);
	}
	50% {
		transform: rotate(18000deg);
	}
	100% {
		transform: rotate(0deg);
	}
}

.fullwidthdiv {
	width: 100% !important;
	padding-top: 0 !important;
}

.fullwidthdiv div {
	width: 100% !important;	
	padding: 0 !important;
	}
