/*-------------------------------------------------------------------------------------

  Copyright (c) 2020 Pixelzauber GmbH, Switzerland
  CSS definition for main stylesheet

-------------------------------------------------------------------------------------*/
@import url("https://fast.fonts.net/lt/1.css?apiType=css&c=e6c941c4-7c67-4bbb-ab2d-a16d9b040268&fontids=5347279,6332105,6332192");
@font-face {
  font-family: "Neue Haas Unica W05 Light";
  src: url("../fonts/5347279/ee3363d8-a0e1-4473-9ec2-33fdca5a0e1f.woff2") format("woff2"),
    url("../fonts/5347279/2a3feb86-a0c8-4980-a428-ae3436c2d768.woff") format("woff");
}
@font-face {
  font-family: "Neue Haas Unica W05 Medium";
  src: url("../fonts/6332105/16eece37-9438-4888-8270-f6e32bc95fad.woff2") format("woff2"),
    url("../fonts/6332105/350510f1-26b1-40db-baec-ea8383c2d305.woff") format("woff");
}
@font-face {
  font-family: "Neue Haas Unica W05 Light It";
  src: url("../fonts/6332192/34a16043-0356-4167-bc7c-2d7dd5093f78.woff2") format("woff2"),
    url("../fonts/6332192/601e8a01-d509-4cfb-aebe-f7a5a76013dd.woff") format("woff");
}

:root {
  --color-black: rgb(0, 0, 0);
  --color-black-90: rgb(26, 26, 26);
  --color-black-80: rgb(51, 51, 51);
  --color-black-70: rgb(77, 77, 77);
  --color-black-60: rgb(102, 102, 102);
  --color-black-50: rgb(128, 128, 128);
  --color-black-40: rgb(153, 153, 153);
  --color-black-30: rgb(179, 179, 179);
  --color-black-20: rgb(204, 204, 204);
  --color-black-15: rgb(217, 217, 217);
  --color-black-10: rgb(230, 230, 230);
  --color-black-05: rgb(242, 242, 242);
  --color-white: rgb(255, 255, 255);

  --color-blue: rgb(0, 38, 58);
  --color-brown: rgb(81, 83, 74);
  --color-lightbrown: rgb(163, 147, 130);

  --font-color: rgb(81, 83, 74);
  --font-light: "Neue Haas Unica W05 Light", Arial, Helvetica, sans-serif;
  --font-medium: "Neue Haas Unica W05 Medium", Arial, Helvetica, sans-serif;
}

/**
 * ANCHOR normalize
 *
 */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
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-size: 100%;
  font: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

select,
input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-border-radius: 0;
  border-radius: 0;
}

html {
  height: 100%;
  font-size: 16px;
}

body {
  height: 100%;
}

body ol,
body ul {
  list-style: none;
  margin-bottom: 0;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

ul,
ol {
  padding: 0;
  margin-left: 25px;
}

a,
a:active,
a:focus,
button,
button:focus,
button:active {
  outline: none;
  outline: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 8px;
}

/**
 * ANCHOR Layout
 *
 */
body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
}
.wrapper {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  overflow: hidden;
}
header {
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0;
  padding: 0 10%;
  width: 90%;
  max-width: 1640px;
  height: auto;
  min-height: 180px;
  z-index: 100;
  transition: min-height 0.5s;
  background-color: white;
}
header.showmenu {
  min-height: 460px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.31);
}
header .logo {
  float: left;
  margin: 0 0 0 0;
  width: 60%;
  max-width: 288px;
}
header .logo img {
  float: left;
  width: 100%;
}
header .nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin: 68px 0 0 0;
  height: auto;
}

section {
  width: 90%;
  max-width: 1640px;
}
section.main {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 16px;
  padding: 28vh 0 100px 0;
  min-height: 70vh;
}
section.standard {
  padding: 100px 0;
}
section .nav {
  grid-column: 2 / 7;
}
section .content {
  margin-top: 60px;
  grid-column: 7 / 13;
}
section .full {
  grid-column: 2 / 12;
}
section .half {
  grid-column: 2 / 7;
}

.sub-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: minmax(20px, 7vw) max-content minmax(20px, 7vw);
  column-gap: 16px;
  align-content: start;
}
.main-image {
  position: relative;
  grid-template-rows: 1fr 1fr 1fr 1fr;
  height: 100vh;
  margin: 180px 0 0 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.scroll-next {
  position: absolute;
  width: 6.35vw;
  height: 6.35vw;
  max-width: 122px;
  max-height: 122px;
  min-width: 70px;
  min-height: 70px;
  left: 50%;
  bottom: 7vh;
  transform: translateX(-50%);
  border-radius: 50%;
  background-color: var(--color-white);
  background-image: url(../images/icon_arrow_down.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 50%;
  cursor: pointer;
}

.teaser-wrapper {
  grid-column: 2 / 7;
  grid-row: 1 / 2;
}
.teaser {
  position: relative;
  box-sizing: border-box;
  margin-top: -2px;
  padding: 20px 30px;
  width: 100%;
  min-height: 90px;
  background-color: var(--color-white);
}
.location-bern {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 9.5vh;
  box-sizing: border-box;
  grid-column: 7 / 12;
  grid-row: 2 / 3;
  cursor: pointer;
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1;
  background-color: rgba(255, 255, 255, 0.8);
}
.location-cham {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 9.5vh;
  box-sizing: border-box;
  grid-column: 2 / 7;
  grid-row: 2 / 3;
  cursor: pointer;
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1;
  background-color: rgba(255, 255, 255, 0.8);
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: minmax(20px, 7vw) max-content minmax(20px, 7vw);
  column-gap: 16px;
  align-content: start;
  margin-bottom: 4vh;
}
.grid .grid-background {
  grid-column: 1 / 8;
  grid-row: 1 / 4;
  background-color: var(--color-brown);
  z-index: 1;
}
.reverse .grid-background {
  grid-column: 6 / 13;
}
.blue .grid-background {
  background-color: var(--color-blue);
}
.grid .grid-content {
  grid-column: 2 / 6;
  grid-row: 2 / 3;
  z-index: 20;
}
.reverse .grid-content {
  grid-column: 8 / 12;
}
.grid .grid-image {
  grid-column: 7 / 13;
  grid-row: 2 / 3;
  z-index: 10;
}
.reverse .grid-image {
  grid-column: 1 / 7;
}
.grid .grid-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-wrapper {
  position: relative;
  width: 100%;
  background-color: var(--color-black-05);
}
.image-wrapper:before {
  content: "";
  display: block;
  padding-top: 77%;
}
.image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  float: left;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
img.portrait {
  float: left;
  width: calc(100% - 5vw);
}
.map {
  position: absolute;
  top: 0;
  left: 0;
  float: left;
  width: 100%;
  height: 100%;
  z-index: 100;
}

footer {
  display: flex;
  justify-content: center;
  padding: 0 0 4vh 0;
  width: 100%;
  background-color: var(--color-brown);
}
footer section {
  position: relative;
  margin: 0;
}
.footer {
  grid-template-rows: 1fr;
}
.footer-address {
  padding: 4vh 0 0 0;
  grid-column: 7 / 11;
}
.footer-legal {
  padding: 4vh 0;
  grid-column: 11 / 13;
}
footer .logo {
  float: left;
  margin: 0;
  width: 60%;
  max-width: 288px;

  position: absolute;
  left: 0;
  top: 0;
}

/**
 * ANCHOR Text Basics
 *
 */
body {
  font-family: var(--font-light);
  color: var(--font-color);
  font-size: clamp(20px, 1.7vw, 26px);
  font-weight: normal;
  text-align: left;
  -webkit-text-size-adjust: none;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin: 0 0 12px;
  font-family: var(--font-medium);
  font-weight: normal;
  line-height: 1.5;
}

h1,
.h1 {
  margin: 0 0 26px;
  font-family: var(--font-medium);
  font-size: clamp(30px, 3.5vw, 60px);
  line-height: 1.2;
}
h2,
.h2 {
  font-size: clamp(26px, 2.6vw, 40px);
}
h3,
.h3 {
  font-size: clamp(20px, 1.75vw, 30px);
}
h4,
.h4 {
  font-size: clamp(20px, 1.5vw, 26px);
}
h5,
.h5 {
  font-size: 20px;
  color: var(--color-black);
}
h6,
.h6 {
  font-size: 20px;
  color: var(--color-black);
}
h1 + h2,
h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 {
  margin-top: 0;
}
p + h2,
p + h3,
ul + h2,
ul + h3 {
  margin-top: 36px;
}

.center {
  text-align: center;
}

p {
  line-height: 1.35;
  margin: 0;
}
p + p {
  margin: 12px 0 0;
}

a {
  color: var(--color-brown);
  text-decoration: none;
}
a:hover {
  color: var(--color-lightbrown);
  text-decoration: none;
}
a[name],
a[name]:hover {
  color: var(--color-lightbrown);
  text-decoration: none;
}

em {
  font-style: italic;
}

pre {
  padding: 10px 19px;
  margin: 18px 0 12px 0;
  line-height: 20px;
  width: auto;
  color: var(--color-blue);

  border: 1px solid var(--color-black-20);
  background-color: var(--color-black-05);

  overflow: auto;
  overflow-y: hidden;
}

sup {
  line-height: 1em;
}

blockquote {
  display: inline-block;
  position: relative;
  margin: 11px 0;
  padding: 20px 60px;
  width: auto;
  max-width: 100%;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 400;
  font-style: italic;
  color: var(--color-black-50);
  border-radius: 8px;
  background-color: var(--color-black-05);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
blockquote::before,
blockquote::after {
  position: absolute;
  display: inline-block;
  height: 40px;
  width: 40px;
  line-height: 1;
  font-size: 80px;
}
blockquote::before {
  content: "\201C";
  top: 10px;
  left: 10px;
}
blockquote::after {
  right: 10px;
  bottom: 0;
  content: "\201D";
}
blockquote cite {
  left: 40px;
  margin-bottom: 8px;
  font-size: 1em;
  color: var(--color-black-30);
}
blockquote cite:before {
  content: "\2014 \2009";
}

ol,
ul {
  margin: 0;
  padding: 0 0 15px 0;
  width: 100%;
}
ul ul,
ol ol {
  margin: 0;
  padding: 0;
  width: 100%;
}
ul li {
  list-style: none;
  text-align: left;
  line-height: 1.5em;
  margin: 0 0 0 24px;
}
ul li::before {
  float: left;
  content: "\25CF";
  color: var(--font-color);
  margin: 0 0 -10px -18px;
  display: block;
  font-size: 0.5em;
}
ol li {
  margin-left: 30px;
  line-height: 1.5em;
  list-style: decimal;
}
@media print {
  ol {
    margin: 0 0 0 24px;
    padding: 0;
    list-style: decimal;
  }
  ul {
    margin: 0 0 0 17px;
    padding: 0;
    list-style: disc;
  }
  ol li,
  ul li {
    margin: 0;
    padding: 0;
    background: none;
  }
}

b,
strong {
  font-family: var(--font-medium);
}

hr {
  padding: 0 0 20px 0;
  margin: 20px 0 0 0;
  height: 0;
  border: 0;
  border-top: 1px dotted var(--color-black);
}

table {
  margin-bottom: 12px;
  font-family: var(--font-light);
  font-size: 1em;
}
table th {
  border-bottom: 1px dotted var(--color-black);
  font-weight: 500;
  padding: 2px 0;
  text-align: left;
}
table td {
  padding: 4px 0;
}
table.none,
table.none td {
  padding: 0px;
  margin-bottom: 0px;
}
table.zebra thead tr {
  background-color: var(--color-black-10);
}
table.zebra tbody tr:nth-child(even) {
  background-color: var(--color-black-05);
}

button {
  font-family: var(--font-light);
  font-size: clamp(20px, 1.75vw, 30px);
  font-weight: 400;
  line-height: 1;
}

/**
 * ANCHOR Text Customising
 *
 */
a.pdf {
  background-image: url("../images/icon_files_pdf_dark.svg");
  background-color: transparent;
  background-position: left center;
  background-size: 45px auto;
  background-repeat: no-repeat;
  padding-left: 60px;
  padding-right: 0;
}
a:hover.pdf {
  background-image: url("../images/icon_files_pdf_light.svg");
}

.forward,
.back {
  background-image: url("../images/icon_forward_dark.svg");
  background-color: transparent;
  background-position: left center;
  background-size: 57px auto;
  background-repeat: no-repeat;
  padding-left: 70px;
}
.active .forward,
a.forward:hover {
  background-image: url("../images/icon_forward_light.svg");
}
.temp-spacer {
  padding-left: 70px;
}

.blue .forward,
.brown .forward,
.blue a.pdf,
.brown a.pdf {
  background-image: url("../images/icon_forward_white.svg");
}
.blue a.forward:hover,
.brown a.forward:hover,
/*
.blue .forward:hover,
.brown .forward:hover,
*/
.blue a.pdf:hover,
.brown a.pdf:hover {
  background-image: url("../images/icon_forward_grey.svg");
}

.back {
  background-image: url("../images/icon_back_dark.svg");
}
.back:hover {
  background-image: url("../images/icon_back_light.svg");
}

.teaser {
  color: var(--font-color);
}
.blue .grid-content h1,
.brown .grid-content h1,
.blue .grid-content h2,
.brown .grid-content h2,
.blue .grid-content h3,
.brown .grid-content h3,
.blue .grid-content h4,
.brown .grid-content h4,
.blue .grid-content p,
.brown .grid-content p,
.blue .grid-content a,
.brown .grid-content a,
footer h1,
footer h2,
footer h3,
footer h4,
footer p,
footer a {
  color: var(--color-white);
}
footer {
  font-size: 20px;
}
.blue .grid-content a:hover,
.brown .grid-content a:hover {
  color: var(--color-black-40);
}

.grid-content h1,
.grid-content .h1 {
  font-family: var(--font-light);
  font-size: clamp(28px, 2vw, 40px);
  letter-spacing: 1px;
  margin: 0 0 26px;
}
.grid-content h2,
.grid-content .h2 {
  text-transform: uppercase;
  font-size: clamp(30px, 3vw, 60px);
}
.grid-content p {
  line-height: 1.6;
  font-size: clamp(20px, 1.75vw, 30px);
}

.toggle {
  float: left;
  padding: 0 0 2px 0;
  width: 100%;
  cursor: pointer;
}
.blue .toggle .forward:hover,
.brown .toggle .forward:hover {
  color: var(--color-black-40);
}
.toggle .display {
  display: none;
  position: relative;
  float: left;
  padding: 0 0 10px 0;
  margin-left: 70px;
  width: calc(100% - 70px);
}
.toggle ul {
  margin: 0;
  padding: 0;
}
.toggle li {
  margin: 0;
  padding: 0 0 0 30px;
  background-image: url(../images/icon_toggle_list_white.svg);
  background-position: left 24px;
  background-size: 20px auto;
  background-repeat: no-repeat;
}
.toggle li::before {
  content: none;
}
.toggle a.pdf,
.toggle a.pdf:hover {
  background: unset;
  padding-left: 0;
}

ul.pdf li {
  margin: 0 0 8px 0;
  padding: 0 0 0 60px;
}
ul.pdf li::before {
  content: " ";
  margin: 0 0 0 -60px;
  width: 50px;
  height: 40px;
  display: block;
  background-image: url("../images/icon_files_pdf_dark.svg");
  background-color: transparent;
  background-position: left center;
  background-size: 45px auto;
  background-repeat: no-repeat;
}
ul.pdf li:hover::before {
  background-image: url("../images/icon_files_pdf_light.svg");
}

ul.pdf li a.pdf {
  padding: 0;
  background: none;
}

.half,
.content {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

.content a {
  color: var(--color-lightbrown);
}
.content a:hover {
  color: var(--color-brown);
}
.content a.pdf {
  color: var(--color-brown);
}
.content a.pdf:hover {
  color: var(--color-lightbrown);
}

.none a.pdf,
.none a:hover.pdf {
  background: unset;
  padding-left: 0;
}

/**
 * ANCHOR Navigation Language
 *
 */
nav.lang {
  opacity: 0;
  margin-bottom: 10px;
}
nav.lang a {
  float: left;
  padding: 0 9px 0 0;
  margin: 0 8px 0 0;
  line-height: 1;
  height: 20px;
  color: var(--color-brown);
  font-size: 20px;
  background-image: url(../images/bg_nav_spacer.svg);
  background-position: right top 3px;
  background-size: 1px 18px;
  background-repeat: no-repeat;
}
nav.lang a:last-child {
  padding: 0;
  margin: 0;
  background: unset;
}

nav.lang a:hover,
nav.lang a.active {
  color: var(--color-lightbrown);
}

/**
 * ANCHOR Navigation Desktop
 *
 */
.nav nav.home {
  font-size: 20px;
  text-transform: uppercase;
}
nav.home ul,
nav.main ul {
  position: relative;
  display: flex;
  gap: 30px;
  margin: 5px 0 0 0;
  padding: 0;
  text-transform: uppercase;
  font-size: 20px;
}
nav.home li,
nav.main li {
  position: relative;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
nav.home ul li::before,
nav.main ul li::before {
  content: none;
}
nav.main a {
  padding: 0;
  margin: 0;
}
nav.main a.pdf {
  padding: 0 0 0 60px;
  margin: 0;
}
nav.main a:hover,
nav.main li:hover,
nav.main li.starter_active,
nav.main a.active {
  color: var(--color-lightbrown);
}
nav.main ul ul {
  position: absolute;
  right: 0;
  top: 30px;
  display: none;
  gap: 10px;
  flex-direction: column;
  margin: 0;
  padding: 50px 0 0 0;
  width: auto;
  overflow: hidden;
}
nav.main ul ul.open {
  display: flex;
}
nav.main li li {
  text-align: right;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

nav.sub ul {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0 0 4vh 0;
  font-size: clamp(20px, 1.75vw, 30px);
}
nav.sub li {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 1.5vh 0;
  padding: 0;
  cursor: pointer;
}
nav.sub ul li::before {
  content: none;
}
nav.sub a {
  margin: 0;
  line-height: 1;
  background-image: url("../images/icon_forward_dark.svg");
  background-color: transparent;
  background-position: left center;
  background-size: 57px auto;
  background-repeat: no-repeat;
  padding-left: 70px;
}
nav.sub .active a,
nav.sub .menu_level_3 a:hover {
  color: var(--color-lightbrown);
  background-image: url("../images/icon_forward_light.svg");
}
nav.sub a.back {
  background-image: url("../images/icon_back_dark.svg");
}
nav.sub a.back:hover {
  background-image: url("../images/icon_back_light.svg");
}

nav.sub ul.menu_level_4 {
  margin: 0 0 0 70px;
  padding: 0;
  font-size: clamp(20px, 1.7vw, 26px);
}
.content nav.sub ul.menu_level_4 {
  margin: 0;
}
nav.sub ul.menu_level_4 li {
  margin: 1.2vh 0 0 0;
  padding: 0;
}
nav.sub ul.menu_level_4 a {
  margin: 0;
  padding: 0 0 0 24px;
  color: var(--font-color);
  background-image: url("../images/icon_nav_dark.svg");
}
nav.sub ul.menu_level_4 .active a,
nav.sub ul.menu_level_4 a:hover {
  color: var(--color-lightbrown);
  background-image: url("../images/icon_nav_light.svg");
}

nav.sub ul.menu_level_5 {
  margin-bottom: 11px;
  font-size: clamp(20px, 1.65vw, 24px);
  margin-left: 26px;
}
nav.sub ul.menu_level_5 li {
  margin-top: 11px 0 0 0;
}
nav.sub .active ul.menu_level_5 a {
  color: var(--font-color);
  background-image: url("../images/icon_nav_dark.svg");
}
nav.sub ul.menu_level_5 .active a,
nav.sub ul.menu_level_5 a:hover {
  color: var(--color-lightbrown);
  background-image: url("../images/icon_nav_light.svg");
}

/*
nav.sub .menu_level_4 .active a,
nav.sub .menu_level_4 a:hover {
  color: var(--color-lightbrown);
  background: none;
}

nav.sub ul.menu_level_5 {
  margin-bottom: 11px;
  font-size: clamp(20px, 1.7vw, 26px);
}
nav.sub .menu_level_5 li {
  margin-top: 11px 0 0 0;
}
nav.sub .menu_level_5 a,
nav.sub .menu_level_5 .active a,
nav.sub .menu_level_5 a:hover {
  color: var(--font-color);
}
*/

/**
 * ANCHOR Navigation Burger
 *
 */
.navBurger {
  display: none;
  position: absolute;
  position: relative;
  float: right;
  margin: 0 0 0 3vw;
  padding: 0 0 0 40px;
  width: auto;
  height: 30px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
  background-color: transparent;
  outline: none;
  outline: 0;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
  background-color: transparent;

  font-family: var(--font-ligh);
  font-size: 18px;
  color: var(--color-brown);
}
.navBurger:hover,
.navBurger:focus {
  background-color: transparent;
  outline: none;
}
.navBurger span {
  display: block;
  position: absolute;
  top: 14px;
  left: 8px;
  width: 22px;
  height: 2px;
  background: var(--color-brown);
  transition-duration: 0.3s;
}
.navBurger span:before,
.navBurger span:after {
  content: "";
  display: block;
  position: absolute;
  top: -8px;
  left: -8px;
  width: 30px;
  height: 2px;
  background: var(--color-brown);
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
  transition-property: top, transform;
}
.navBurger span:after {
  top: 8px;
  width: 30px;
}
.navBurger.is-active span {
  background: none;
}
.navBurger.is-active span:before {
  top: 0;
  transform: rotate(45deg);
  transition-delay: 0s, 0.3s;
}
.navBurger.is-active span:after {
  top: 0;
  width: 30px;
  transform: rotate(-45deg);
  transition-delay: 0s, 0.3s;
}

/**
 * ANCHOR Navigation Mobile
 *
 */
.navMobile {
  position: fixed;
  right: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: var(--color-white);
  z-index: 90;
  transition: all 0.3s ease-in-out;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
}
.navMobile.open {
  width: 100%;
}

.navMobile ul,
.navMobile li,
.navMobile a {
  position: relative;
  float: left;
  padding: 0;
  margin: 0;
  width: 100%;
}
.navMobile li::before {
  content: none;
}

.navMobile > ul {
  margin: min(250px, 44vw) 5% 0 7%;
  width: 88%;
}
.navMobile .level-1 {
  margin-bottom: 2vh;
}
.navMobile .level-1 > a {
  font-family: var(--font-medium);
}

/* Level 2 */
.navMobile .level-1 > ul {
  margin: 2vh 0 2vh 18px;
  width: calc(100% - 18px);
}

/* Level 3 */
.navMobile .level-2 > ul {
  margin: 2vh 0 2vh 18px;
  width: calc(100% - 18px);
}

/* Level 4 */
.navMobile .level-3 > ul {
  margin: 2vh 0 2vh 18px;
  width: calc(100% - 18px);
}

.navMobile li:hover > a,
.navMobile a.active {
  color: var(--color-lightbrown);
}
.navMobile .openSubmenu {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 30px;
  text-align: center;
  cursor: pointer;
}
.navMobile ul li.level-1 > ul.menu,
.navMobile ul li.level-2 > ul.menu,
.navMobile ul li.level-3 > ul.menu {
  display: none;
}
.navMobile ul li.level-1.active > ul.menu,
.navMobile ul li.level-2.active > ul.menu,
.navMobile ul li.level-3.active > ul.menu {
  display: block;
}
/*
.navMobile .plus {
  background: transparent url("../images/icon_nav_plus.svg") right center no-repeat;
  background-size: 22px auto;
}
.navMobile .minus {
  background: transparent url("../images/icon_nav_minus.svg") right center no-repeat;
  background-size: 22px auto;
}
.navMobile ul ul .plus,
.navMobile ul ul .minus {
  background-size: 12px auto;
}
*/

/**
 * ANCHOR Formular
 *
 */
#contactDescription {
  margin-bottom: 22px;
}
form,
fieldset {
  float: left;
  margin: 0;
  padding: 0;
  width: 100%;
}
.row {
  float: left;
  width: 100%;
}
form .contact,
.form-group {
  float: left;
  margin: 0 -11px;
  width: calc(100% + 22px);
}
legend {
  display: none;
}
label {
  float: left;
  margin: 0 11px;
  padding-top: 9px;
  width: calc(30% - 22px);
}
.contactFormGroup {
  float: left;
  width: 70%;
}
select,
input,
textarea {
  float: left;
  margin: 0 11px 5px 11px;
  padding: 10px 15px;
  width: calc(70% - 22px);
  height: auto;
  border-radius: 3px;
  border: 1px solid var(--color-black-20);
  background-color: var(--color-white);
  outline: none;
  font-family: var(--font-main);
  font-size: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

select {
  padding-right: 4px;
  background-image: url("../images/bg_select.png");
  background-position: right center;
  background-repeat: no-repeat;
}

textarea {
  padding-top: 10px;
  height: 124px;
}

input[type="submit"],
input[type="button"],
input[type="reset"] {
  float: left;
  padding: 10px 0 10px 0;
  margin-top: 22px;
  cursor: pointer;
  color: var(--color-white);
  border: 1px solid var(--color-petrol);
  background-color: var(--color-petrol);
  width: calc(35% - 22px);
  height: auto;
  font-weight: 400;
}

input[type="submit"] {
  margin-left: calc(30% + 11px);
}

input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
  color: var(--color-white);
  border: 1px solid var(--color-black);
  background-color: var(--color-black);
}

input[type="reset"] {
  display: none;
}

input.continue-button {
  background-image: url(../images/icon_nav_forward.svg);
  background-size: 18px auto;
  background-repeat: no-repeat;
  background-position: right 11px center;
}

.container {
  display: block;
  position: relative;
  margin: 5px 0;
  padding: 4px 0 0 40px;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.container.indention {
  margin-left: calc(30% + 11px);
}
.container input {
  position: absolute;
  opacity: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: none;
  width: 0;
  height: 0;
}
.checkmark,
.radiomark {
  position: absolute;
  top: 3px;
  left: 0;
  height: 26px;
  width: 26px;
  border: 1px solid var(--color-black-20);
  background-color: var(--color-black-05);
  border-radius: 3px;
}
.error + .checkmark,
.error .checkmark,
.error .radiomark {
  border: 1px solid var(--color-red) !important;
}
.radiomark {
  border-radius: 50%;
}
.checkmark:after,
.radiomark:after {
  content: "";
  position: absolute;
  display: none;
}
.container:hover input ~ .checkmark:after,
.container input:checked ~ .checkmark:after,
.container:hover input ~ .radiomark:after,
.container input:checked ~ .radiomark:after {
  display: block;
}
.container:hover .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid var(--color-black-20);
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.container .checkmark:after,
.container:hover input:checked ~ .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid var(--color-black);
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.container:hover .radiomark:after {
  top: 6px;
  left: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-gray);
}
.container .radiomark:after,
.container:hover input:checked ~ .radiomark:after {
  top: 6px;
  left: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-black);
}

#contactFormError {
  display: none;
  padding-bottom: 22px;
}

.text-danger {
  margin-bottom: 8px;
  color: var(--color-red);
  font-weight: 400;
}

.is_required {
  color: var(--color-red);
}

.login-bottom {
  float: left;
  margin: 33px 0 0 0;
  margin-left: calc(30% + 7px);
}

/**
 * ANCHOR captcha
 *
 */
#captcha {
  float: left;
  margin: 0;
  padding: 0;
  width: 35%;
  min-width: 420px;
}
#contactFormCaptchaError {
  float: left;
  margin: 0 11px;
  padding: 14px 0 0 0;
  width: calc(100% - 22px);
}
#coreCaptchaLabel {
  float: left;
  padding-bottom: 10px;
  width: calc(100% - 22px);
}
#coreCaptchaCode {
  width: calc(50% - 22px);
  height: 62px;
  font-family: Consolas, "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", Monaco, "Courier New", "monospace";
  font-size: 1.5rem;
  text-align: center;
  letter-spacing: 3px;
}
#coreCaptchaImage {
  margin: 0 11px;
  width: calc(50% - 22px);
}

/**
 * ANCHOR Loader
 *
 */
.loader {
  position: relative;
  margin: 0 auto;
  top: 35%;
  width: 60px;
  height: 70px;
  text-align: center;
}
.loader > div {
  background-color: var(--color-red);
  height: 100%;
  width: 6px;
  display: inline-block;
  -webkit-animation: loader 1.2s infinite ease-in-out;
  animation: loader 1.2s infinite ease-in-out;
}
.loader .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}
.loader .rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}
.loader .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}
.loader .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}
@-webkit-keyframes loader {
  0%,
  60%,
  100% {
    -webkit-transform: scaleY(0.4);
  }
  30% {
    -webkit-transform: scaleY(1);
  }
}
@keyframes loader {
  0%,
  60%,
  100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }
  30% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1);
  }
}

/**
 * ANCHOR Module
 *
 */
.staff {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -8px;
  width: calc(100% + 16px);
}
.staff article {
  margin: 0 8px 4vh 8px;
  width: calc(25% - 16px);
  font-size: 20px;
}
.staff article img {
  float: left;
  margin-bottom: 8px;
  width: 100%;
}


#slides {
  grid-column: 1 / 13;
  grid-row: 1 / 5;
  z-index: 1;
}
#slides .slides-container {
  display: none;
}
#slides .scrollable {
  *zoom: 1;
  position: relative;
  top: 0;
  left: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  height: 100%;
}
#slides .scrollable:after {
  content: "";
  display: table;
  clear: both;
}

.slides-navigation {
  margin: 0 auto;
  position: absolute;
  z-index: 3;
  top: 46%;
  width: 100%;
}
.slides-navigation a {
  position: absolute;
  display: block;
}
.slides-navigation a.prev {
  left: 0;
}
.slides-navigation a.next {
  right: 0;
}

.slides-pagination {
  position: absolute;
  z-index: 3;
  bottom: 10px;
  text-align: center;
  width: 100%;
}
.slides-pagination a {
  border: 2px solid #fff;
  border-radius: 15px;
  width: 10px;
  height: 10px;
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  zoom: 1;
  *display: inline;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGP6zwAAAgcBApocMXEAAAAASUVORK5CYII=");
  margin: 4px;
  overflow: hidden;
  text-indent: -100%;
}
.slides-pagination a.current {
  background: #fff;
}

/**
 * inspiration grid
 *
 */
.inspiration-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: 22px 22px;
}
.inspiration-grid div {
  overflow: hidden;
}
.inspiration-grid div div {
  padding-top: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 10s ease-out 0s;
}
.inspiration-grid div:nth-child(1),
.inspiration-grid div:nth-child(6n + 1),
.inspiration-grid div:nth-child(6n - 1) {
  grid-area: span 2 / span 2;
}
.inspiration-grid div:hover div {
  transform: scale(1.35);
}

.inspiration-grid img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.inspiration-grid img:nth-child(1),
.inspiration-grid img:nth-child(6n + 1),
.inspiration-grid img:nth-child(6n - 1) {
  grid-area: span 2 / span 2;
}

/**
 * ANCHOR Responsive
 *
 */

 
@media only screen and (max-width: 1000px) {
  header nav.lang,
  header nav.home,
  header nav.main,
  .nav .no-mobile {
    display: none;
  }
  header .entry nav.lang,
  header .navBurger {
    display: block;
  }

  header {
    min-height: unset;
  }
  header .nav {
    margin-top: min(68px, 14vw);
  }

  section.main {
    min-height: unset;
    padding-top: min(250px, 44vw);
    padding-bottom: 50px;
  }
  section.standard {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .main-image {
    margin-top: min(180px, 32vw);
    display: block;
  }

  #slides {
    height: 100%;
  }

  .teaser {
    display: block;
    float: left;
    min-height: unset;
  }
  .teaser,
  .location-bern,
  .location-cham {
    margin-left: 8vw;
    margin-right: 8vw;
    margin-bottom: 11px;
    padding: 25px;
    box-sizing: border-box;
    width: calc(100% - 16vw);
  }
  .location-bern,
  .location-cham {
    padding-top: min(100px, 5vw);
  }
  .main-image .teaser-wrapper {
    display: none;
  }

  .forward,
  .back,
  nav.sub a.back {
    background-size: 45px auto;
    padding-left: 60px;
  }

  .temp-spacer {
    padding-left: 60px;
  }
  .staff article {
    width: calc(33.3333% - 16px);
  }
  section .nav,
  section .content {
    margin-top: 0;
    grid-column: 1 / 13;
  }
  img.portrait {
    width: 100%;
    margin-bottom: 10vh;
  }
}

@media only screen and (max-width: 800px) {
  
  .grid,
  .sub-grid {
    grid-template-rows: minmax(20px, 7vw) max-content repeat(8, minmax(20px, 7vw));
  }
  .grid.small {
    grid-template-rows: minmax(20px, 7vw) max-content minmax(20px, 7vw);
  }
  
  .grid .grid-background,
  .reverse .grid-background {
    grid-column: 1 / 12;
    grid-row: 1 / 5;
  }
  .grid .grid-content,
  .reverse .grid-content {
    grid-column: 2 / 11;
    grid-row: 2 / 3;
  }
  .grid .grid-image,
  .reverse .grid-image {
    grid-column: 2 / 13;
    grid-row: 4 / 11;
  }

  footer .sub-grid {
    display: unset;
  }
  footer .footer-address,
  footer .footer-legal {
    position: relative;
    grid-column: unset;
    float: left;
    width: 100%;
    padding: 0 0 30px 0;
  }
  footer .logo {
    position: relative;
  }

  .image-wrapper {
    height: 100%;
  }
  .image-wrapper:before {
    padding-top: unset;
  }
  .location-bern,
  .location-cham {
    grid-row: 6 / 9;

  }
  section .full,
  section .half {
    grid-column: 1 / 13;
  }
  .staff article {
    width: calc(50% - 16px);
  }

  h1,
  h2,
  h3 {
    line-height: 1.25;
  }
  p {
    line-height: 1.4;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
  }

  .forward,
  .back,
  nav.sub a.back,
  a.pdf {
    background-size: 35px auto;
    padding-left: 48px;
  }
  ul.pdf li {
    padding-left: 48px;
  }
  ul.pdf li::before {
    margin-left: -48px;
    height: 28px;
    background-size: 35px auto;
  }
  ul.pdf li a.pdf {
    padding: 0;
    background: none;
  }
  .temp-spacer {
    padding-left: 48px;
  }
}


@media only screen and (max-width: 600px) {
  .inspiration-grid {
    gap: 8px 8px;
  }

  .location-cham {
    grid-column: 2 / 12;
    grid-row: 7 / 10;
  }
  .location-bern {
    grid-column: 2 / 12;
    grid-row: 11 / 13;
  }
  .staff article {
    width: calc(100% - 16px);
  }
}
@media (orientation: portrait) {
  .main-image {
    height: calc(100vh - 100px);
    background-size: auto calc(100% + 100px);
  }
}

/**
 * ANCHOR Print
 *
 */
@media print {
  body {
    margin: 0 1cm;
    background-color: var(--color-white);
  }
  .nav,
  .legal,
  footer .logo,
  .toggle a.showmore,
  .toggle a.showless,
  a.back {
    display: none;
  }

  header {
    position: relative;
    float: left;
    padding: 0;
    width: 100%;
  }
  .mainImage,
  .mainImage img,
  .portraitImage,
  .portraitImage img,
  .mapWrapper {
    position: relative;
    float: left;
    top: unset;
    width: 100%;
    height: auto;
  }
  main {
    top: unset;
    margin: 0;
    padding: 0;
    width: 100%;
    background-color: var(--color-white);
  }
  article {
    padding: 1cm 0;
    background-color: var(--color-white);
  }
  footer {
    padding: 1cm 0;
    background-color: var(--color-white);
  }

  .toggle {
    height: auto;
    overflow: visible;
  }

  body {
    font-size: 16px;
    color: var(--color-black);
  }
  h1,
  .h1 {
    font-size: 32px;
    color: var(--color-black);
  }
  h2,
  .h2 {
    font-size: 22px;
    color: var(--color-black);
  }
  h3,
  .h3 {
    font-size: 18px;
    color: var(--color-black);
  }
  h4,
  .h4,
  h5,
  .h5,
  h6,
  .h6 {
    font-size: 16px;
    color: var(--color-black);
  }

  a {
    color: var(--color-black);
  }

  ol {
    margin: 0 0 0 24px;
    padding: 0;
    list-style: decimal;
  }
  ul,
  ul.timeline {
    margin: 0 0 0 17px;
    padding: 0;
    list-style: disc;
  }
  ol li,
  ul li,
  ul.timeline li,
  ul.timeline li:last-child {
    margin: 0 0 8px 0;
    padding: 0;
    background: none;
  }
  ul.timeline li::before {
    float: left;
    content: "\25CF";
    color: var(--color-black);
    background-color: unset;
    margin: 2px 0 -10px -18px;
    display: block;
    font-size: 0.7em;
  }

  footer h2,
  footer h3,
  footer h4 {
    display: none;
  }
  footer,
  footer p,
  footer a {
    font-size: 13px;
    color: var(--color-black);
  }
}
