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 {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
html {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
q,
blockquote {
  quotes: none;
}
q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}
a img {
  border: none;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
@font-face {
  font-family: "GT-Walsheim-Regular";
  src: url("../fonts/walsheim/GT-Walsheim-Regular.eot");
  src: url("../fonts/walsheim/GT-Walsheim-Regular.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/walsheim/GT-Walsheim-Regular.otf") format("opentype"),
    url("../fonts/walsheim/GT-Walsheim-Regular.woff") format("woff"),
    url("../fonts/walsheim/GT-Walsheim-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "GT-Walsheim-Light";
  src: url("../fonts/walsheim/GT-Walsheim-Light.eot");
  src: url("../fonts/walsheim/GT-Walsheim-Light.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/walsheim/GT-Walsheim-Light.otf") format("opentype"),
    url("../fonts/walsheim/GT-Walsheim-Light.woff") format("woff"),
    url("../fonts/walsheim/GT-Walsheim-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Noe-Display-Regular";
  src: url("../fonts/noedisplay/Noe-Display-Regular.eot");
  src: url("../fonts/noedisplay/Noe-Display-Regular.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/noedisplay/Noe-Display-Regular.otf") format("opentype"),
    url("../fonts/noedisplay/Noe-Display-Regular.woff") format("woff");
}
@font-face {
  font-family: "Noe-Display-Medium";
  src: url("../fonts/noedisplay/Noe-Display-Medium.eot");
  src: url("../fonts/noedisplay/Noe-Display-Medium.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/noedisplay/Noe-Display-Medium.otf") format("opentype"),
    url("../fonts/noedisplay/Noe-Display-Medium.woff") format("woff");
}
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html,
body {
  font-family: "GT-Walsheim-Light", -apple-system, Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.3em;
  letter-spacing: -0.02em;
  font-weight: 400;
  text-rendering: optimizeLegibility !important;
  color: #000;
  display: block;
}
@media (min-width: 1350px) {
  html,
  body {
    font-size: 22px;
    line-height: 1.3em;
  }
}
@media (min-width: 1600px) {
  html,
  body {
    font-size: 24px;
    line-height: 1.3em;
  }
}
@media (min-width: 1920px) {
  html,
  body {
    font-size: 28px;
    line-height: 1.3em;
  }
}
@media (min-width: 2550px) {
  html,
  body {
    font-size: 32px;
    line-height: 1.3em;
  }
}
a {
  text-decoration: none;
  color: inherit;
}
a:hover {
  color: #0052cc;
}
p,
ul {
  margin-bottom: 1em;
}
.small {
  font-size: 0.65rem;
  line-height: 1.35em;
  letter-spacing: 0.02em;
}
.medium {
  font-size: 18px;
  line-height: 24px;
}
.large {
  font-size: 1.25rem;
  line-height: 1.28rem;
}
.noe {
  font-family: "Noe-Display-Regular", "Times New Roman", Times, serif;
}
.noe.bold {
  font-family: "Noe-Display-Medium", "Times New Roman", Times, serif;
}
div#wrapper {
  position: relative;
}
aside {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media (max-width: 767px) {
  aside {
    display: block;
    position: static;
  }
  aside header#header {
    padding: 1.5em 2em !important;
  }
}
@media (max-device-width: 480px) {
  aside {
    display: block;
    position: static;
  }
  aside header#header {
    padding: 1.5em 2em !important;
  }
}
aside header#header {
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  height: 30vh\9;
  padding: 1.5em 65vw 1.5em 2em;
  position: relative;
  overflow: hidden;
}
aside header#header h1,
aside header#header h2 {
  font-size: 1.25rem;
  line-height: 1.28rem;
}
aside header#header h1 {
  padding-bottom: 2rem;
  font-family: "Noe-Display-Medium", "Times New Roman", Times, serif;
}
aside header#header address {
  font-family: "GT-Walsheim-Regular", -apple-system, Helvetica, Arial,
    sans-serif;
  font-size: 0.65rem;
  line-height: 1.35em;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  aside header#header {
    overflow: visible;
  }
}
@media (max-device-width: 480px) {
  aside header#header {
    overflow: visible;
  }
}
aside header#header .slide {
  will-change: transform;
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -ms-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  transition: all 0.7s ease;
}
aside header#header #two {
  height: 100%;
  padding: 1.5em 65vw 1.5em 2em;
  position: absolute;
  top: 0;
  left: 0;
  right: 2em;
  bottom: 0;
  -moz-transform: translateY(100vh);
  -ms-transform: translateY(100vh);
  -webkit-transform: translateY(100vh);
  transform: translateY(100vh);
}
aside header#header #two h1,
aside header#header #two h2 {
  line-height: 1.45em;
}
aside header#header #two .button {
  width: 1.4em;
  padding: 0.05em;
}
aside header#header #two .button circle,
aside header#header #two .button polyline,
aside header#header #two .button line {
  fill: none;
  stroke: #000;
  stroke-width: 0.1em;
}
@media (max-width: 767px) {
  aside header#header #two {
    display: none;
  }
}
@media (max-device-width: 480px) {
  aside header#header #two {
    display: none;
  }
}
aside header#header.scrolled #one {
  -moz-transform: translateY(-100vh);
  -ms-transform: translateY(-100vh);
  -webkit-transform: translateY(-100vh);
  transform: translateY(-100vh);
}
@media (max-width: 767px) {
  aside header#header.scrolled #one {
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@media (max-device-width: 480px) {
  aside header#header.scrolled #one {
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
aside header#header.scrolled #two {
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
aside div#panorama {
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  height: 60vh\9;
  position: relative;
}
@media (max-width: 767px) {
  aside div#panorama {
    min-height: 25vh;
    height: 35vw;
  }
}
@media (max-device-width: 480px) {
  aside div#panorama {
    min-height: 25vh;
    height: 35vw;
  }
}
aside div#panorama #image {
  display: block;
  overflow: hidden;
  position: absolute;
  width: 100%;
  height: 100%;
  will-change: transform;
}
aside div#panorama #image img,
aside div#panorama #image source {
  -moz-transform: translateZ(0);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  height: 100%;
  min-width: 120vw;
  width: auto;
  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}
aside div#panorama div#map {
  position: absolute;
  top: 0;
  left: 0;
  right: 60vw;
  bottom: 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  aside div#panorama div#map {
    display: none;
  }
}
@media (max-device-width: 480px) {
  aside div#panorama div#map {
    display: none;
  }
}
aside div#panorama div#map iframe {
  will-change: transform;
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -ms-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  transition: all 0.7s ease;
  -moz-transform: translateX(100vw);
  -ms-transform: translateX(100vw);
  -webkit-transform: translateX(100vw);
  transform: translateX(100vw);
}
aside div#panorama div#map.scrolled iframe {
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
aside nav#navigation {
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  height: 10vh\9;
  font-family: "GT-Walsheim-Regular", -apple-system, Helvetica, Arial,
    sans-serif;
  text-transform: uppercase;
  font-size: 0.65rem;
  line-height: 1.75em;
  letter-spacing: 0.02em;
  padding: 1em 60vw 1.5em 1em;
}
@media (max-width: 767px) {
  aside nav#navigation {
    padding: 1em 2em;
    z-index: 9999999;
  }
}
@media (max-device-width: 480px) {
  aside nav#navigation {
    padding: 1em 2em;
    z-index: 9999999;
  }
}
aside nav#navigation ul li {
  display: inline-block;
  margin-right: 0.5em;
}
aside nav#navigation a.nav-active {
  font-family: "Noe-Display-Regular", "Times New Roman", Times, serif;
  color: #0052cc;
}
aside nav#navigation a:hover {
  text-decoration: none;
  border-bottom: 0.08rem solid #0052cc;
  margin-bottom: -0.08rem;
}
main#main {
  position: relative;
  -moz-transform: translateZ(0);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: 99999;
  display: block;
  width: 60vw;
  margin: 0 0 0 auto;
}
@media (max-width: 767px) {
  main#main {
    float: none;
    width: 100%;
  }
}
@media (max-device-width: 480px) {
  main#main {
    float: none;
    width: 100%;
  }
}
main#main > section,
main#main > article {
  padding: 1.5em 1em 2em;
}
main#main > article {
  background: #fff;
}
@media (min-width: 1600px) {
  main#main > article {
    padding-right: 4em;
  }
}
main#main h3 {
  position: -webkit-sticky;
  position: sticky;
  margin: 0 auto 2em;
  text-align: center;
  z-index: 9999999;
  top: 1.5em;
}
main#main h3 span {
  display: inline-block;
  min-width: 50%;
  text-align: center;
  border: 0.08rem solid #000;
  background: white;
  font-family: "Noe-Display-Regular", "Times New Roman", Times, serif;
  text-transform: uppercase;
  letter-spacing: 0.6em;
  color: #0052cc;
  font-size: 0.65rem;
  line-height: 1em;
  padding: 1.25em 1.75em 1em;
}
@media (max-width: 479px) {
  main#main h3 span {
    letter-spacing: 0.35em;
    padding: 1.125em 1.5em 0.9em;
    font-size: 0.6rem;
  }
}
@media (max-device-width: 320px) {
  main#main h3 span {
    letter-spacing: 0.35em;
    padding: 1.125em 1.5em 0.9em;
    font-size: 0.6rem;
  }
}
main#main a {
  text-decoration: none;
  color: inherit;
  border-bottom: 0.08rem solid #0052cc;
}
main#main a:hover {
  color: #0052cc;
}
main#main a.download {
  border: none;
  color: #0052cc;
}
main#main a.download:hover {
  border-bottom: 0.08rem solid #0052cc;
}
main#main h4 {
  font-family: "GT-Walsheim-Regular", -apple-system, Helvetica, Arial,
    sans-serif;
  text-transform: uppercase;
  font-size: 0.5rem;
  line-height: 1.25em;
  letter-spacing: 0.2em;
  border: 0.08rem solid #0052cc;
  padding: 0.8rem 0.8rem 0.75rem;
  margin-top: 0.6rem;
  outline: none;
  position: relative;
}
main#main h4.ui-state-active {
  border-bottom: 0.08rem solid #e1e0e0;
}
main#main h4 span.ui-icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 1rem 1rem 0.9rem;
  background-size: 0.5rem;
  background-position: center center;
}
main#main h4 span.ui-icon.ui-icon-plus {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" style="width:15px" viewBox="0 0 14 14"><line fill="none" stroke="#0052cc" stroke-miterlimit="10" stroke-width="0.15em" x1="7" x2="7" y2="14"/><line fill="none" stroke="#0052cc" stroke-miterlimit="10" stroke-width="0.15em" x1="14" y1="7" y2="7"/></svg>');
}
main#main h4 span.ui-icon.ui-icon-minus {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" style="width:15px" viewBox="0 0 14 14"><line fill="none" stroke="#0052cc" stroke-miterlimit="10" stroke-width="0.15em" x1="14" y1="7" y2="7"/></svg>');
}
main#main .content {
  padding: 0.8rem;
  border: 0.08rem solid #0052cc;
  border-top: none;
}
main#main .content p {
  font-size: 0.65rem;
  line-height: 1.35em;
  letter-spacing: 0.02em;
  margin-bottom: 0;
  text-indent: 2rem;
}
main#main .content p:first-child {
  text-indent: 0;
}
main#main .bold {
  font-family: "Noe-Display-Medium", "Times New Roman", Times, serif;
}
main#main #intro {
  position: relative;
  font-size: 1.25rem;
  line-height: 1.28em;
  min-height: 100vh;
}
@media (max-width: 767px) {
  main#main #intro {
    min-height: auto;
  }
}
@media (max-device-width: 480px) {
  main#main #intro {
    min-height: auto;
  }
}
main#main #intro #more_link {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 1.5em 1em 2.5em;
  color: #fff;
  line-height: 1.45em;
  text-align: right;
  margin: 0 0 0 auto;
}
main#main #intro #more_link a {
  text-decoration: none;
  border: none;
}
main#main #intro #more_link .button {
  margin-top: 1rem;
  width: 1.5em;
}
main#main #intro #more_link .button circle,
main#main #intro #more_link .button polyline,
main#main #intro #more_link .button line {
  fill: none;
  stroke: #fff;
  stroke-width: 0.08em;
}
@media (max-width: 767px) {
  main#main #intro #more_link {
    display: none;
  }
}
@media (max-device-width: 480px) {
  main#main #intro #more_link {
    display: none;
  }
}
main#main #kontakt {
  position: relative;
  min-height: 100vh;
  text-align: right;
  font-family: "GT-Walsheim-Regular", -apple-system, Helvetica, Arial,
    sans-serif;
}
main#main #kontakt #mobile_map {
  display: none;
}
@media (max-width: 767px) {
  main#main #kontakt #mobile_map {
    display: block;
    height: 80vmin;
    margin-top: 2em;
  }
}
@media (max-device-width: 480px) {
  main#main #kontakt #mobile_map {
    display: block;
    height: 80vmin;
    margin-top: 2em;
  }
}
main#main #kontakt #business_hours {
  margin-top: 2em;
  font-size: 0.65rem;
  line-height: 1.35em;
  letter-spacing: 0.02em;
}
main#main nav#impressum-nav {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  text-align: right;
  font-family: "GT-Walsheim-Regular", -apple-system, Helvetica, Arial,
    sans-serif;
  text-transform: uppercase;
  font-size: 0.65rem;
  line-height: 1.75em;
  letter-spacing: 0.02em;
  padding: 1em 1em 1.5em;
}
@media (max-width: 767px) {
  main#main nav#impressum-nav {
    padding: 1em 2em;
    z-index: 9999999;
  }
}
@media (max-device-width: 480px) {
  main#main nav#impressum-nav {
    padding: 1em 2em;
    z-index: 9999999;
  }
}
main#main nav#impressum-nav ul li {
  display: inline-block;
  margin-right: 0.5em;
}
main#main nav#impressum-nav a {
  border: none;
}
main#main nav#impressum-nav a.nav-active {
  font-family: "Noe-Display-Regular", "Times New Roman", Times, serif;
  color: #0052cc;
}
main#main nav#impressum-nav a:hover {
  text-decoration: none;
  border-bottom: 0.08rem solid #0052cc;
  margin-bottom: -0.08rem;
}
footer#impressum,
footer#jobs,
footer#datenschutz {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: scroll;
  z-index: 999999999999;
  background: #fff;
  text-align: center;
  font-family: "GT-Walsheim-Regular", -apple-system, Helvetica, Arial,
    sans-serif;
  font-size: 0.65rem;
  line-height: 1.35em;
  letter-spacing: 0.02em;
  padding: 1.5rem 1rem 2rem;
  will-change: transform;
  -moz-transform: translateY(100vh);
  -ms-transform: translateY(100vh);
  -webkit-transform: translateY(100vh);
  transform: translateY(100vh);
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -ms-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  transition: all 0.7s ease;
}
footer#impressum h3,
footer#jobs h3,
footer#datenschutz h3 {
  position: relative;
  position: -webkit-sticky;
  position: sticky;
  margin: 0 auto 2em;
  text-align: center;
  z-index: 9999999;
  top: 0;
}
footer#impressum h3 span,
footer#jobs h3 span,
footer#datenschutz h3 span {
  display: inline-block;
  min-width: 50%;
  text-align: center;
  border: 0.08rem solid #000;
  background: white;
  font-family: "Noe-Display-Regular", "Times New Roman", Times, serif;
  text-transform: uppercase;
  letter-spacing: 0.6em;
  color: #0052cc;
  font-size: 0.65rem;
  line-height: 1em;
  padding: 1.25em 1.75em 1em;
}
@media (max-width: 479px) {
  footer#impressum h3 span,
  footer#jobs h3 span,
  footer#datenschutz h3 span {
    letter-spacing: 0.35em;
    padding: 1.125em 1.5em 0.9em;
    font-size: 0.6rem;
  }
}
@media (max-device-width: 320px) {
  footer#impressum h3 span,
  footer#jobs h3 span,
  footer#datenschutz h3 span {
    letter-spacing: 0.35em;
    padding: 1.125em 1.5em 0.9em;
    font-size: 0.6rem;
  }
}
footer#impressum h3 .close,
footer#jobs h3 .close,
footer#datenschutz h3 .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.5rem 0 0;
}
footer#impressum h3 .close svg,
footer#jobs h3 .close svg,
footer#datenschutz h3 .close svg {
  width: 1rem;
}
footer#impressum h3 .close svg line,
footer#jobs h3 .close svg line,
footer#datenschutz h3 .close svg line {
  fill: none;
  stroke: #000;
  stroke-width: 0.03em;
}
footer#impressum h3 .close:hover svg line,
footer#jobs h3 .close:hover svg line,
footer#datenschutz h3 .close:hover svg line {
  stroke: #0052cc;
}
footer#impressum p,
footer#jobs p,
footer#datenschutz p,
footer#impressum ul,
footer#jobs ul,
footer#datenschutz ul {
  padding: 0 12vw;
}
footer#impressum ul,
footer#jobs ul,
footer#datenschutz ul {
  line-height: 1.4em;
}
footer#impressum ul li:before,
footer#jobs ul li:before,
footer#datenschutz ul li:before {
  content: "• ";
}
footer#impressum h5,
footer#jobs h5,
footer#datenschutz h5 {
  font-family: "GT-Walsheim-Regular", -apple-system, Helvetica, Arial,
    sans-serif;
  text-transform: uppercase;
  font-size: 0.5rem;
  line-height: 1.25em;
  letter-spacing: 0.2em;
  margin-bottom: 0.25em;
}
footer#impressum h6,
footer#jobs h6,
footer#datenschutz h6 {
  font-family: "GT-Walsheim-Regular", -apple-system, Helvetica, Arial,
    sans-serif;
  text-transform: uppercase;
  font-size: 0.5rem;
  line-height: 1.25em;
  letter-spacing: 0.2em;
  margin-bottom: 0.25em;
}
footer#impressum.active,
footer#jobs.active,
footer#datenschutz.active {
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
