@charset "UTF-8";
/*-------------------------------------------------------------------------------------

  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);
  --color-primary: #7C8F98;
  --color-primary-dark: #00263A;
  --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;
}

.wrapper header {
  padding-right: 20px;
  padding-left: 20px;
}

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; */
  min-height: 520px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.31);
}

header .logo {
  float: left;
  position: relative;
  top: 58px;
  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: 58vh;
  margin: 180px 0 0 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.main-image.full-height {
  height: 100vh;
}

.scroll-next {
  position: absolute;
  display: none;
  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-2 {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 9.5vh;
  box-sizing: border-box;
  grid-column: 8/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-1 {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 9.5vh;
  box-sizing: border-box;
  grid-column: 2/6;
  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: 40px;
}

/**
 * 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: "“";
  top: 10px;
  left: 10px;
}

blockquote::after {
  right: 10px;
  bottom: 0;
  content: "”";
}

blockquote cite {
  left: 40px;
  margin-bottom: 8px;
  font-size: 1em;
  color: var(--color-black-30);
}

blockquote cite:before {
  content: "— ";
}

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: "●";
  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 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 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;
    min-height: 70px;
  }
  header .nav {
    margin-top: min(20px, 14vw);
  }
  header .logo {
    top: 20px;
    text-align: left;
  }
  header .logo img {
    max-width: 160px;
    margin-left: 0;
  }
  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-2,
  .location-1 {
    margin-left: 8vw;
    margin-right: 8vw;
    margin-bottom: 11px;
    padding: 25px;
    box-sizing: border-box;
    width: calc(100% - 16vw);
  }
  .location-2,
  .location-1 {
    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;
  }
}
@media only screen and (max-width: 800px) and (max-width: 860px) {
  footer .logo {
    margin-bottom: 4.5rem;
  }
}
@media only screen and (max-width: 800px) {
  .image-wrapper {
    height: 100%;
  }
  .image-wrapper:before {
    padding-top: unset;
  }
  .location-2,
  .location-1 {
    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-1 {
    grid-column: 2/12;
    grid-row: 7/10;
  }
  .location-2 {
    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;
  }
  .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: "●";
    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);
  }
}
/* additional */
.link-plain-color,
a.link-plain-color {
  color: #00449e;
  text-decoration: underline;
}

a.link-plain-color.pdf {
  background-image: none;
}

.spacer-vert1 {
  height: 2px;
}

.spacer-vert2 {
  height: 50px;
}

.responsive-iframe-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 76.76%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

.responsive-iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.map1-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 76.76%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

.map1-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
}

.btn-custom {
  border: none;
  background-color: var(--color-primary);
  color: black;
}
.btn-custom:hover, .btn-custom:active {
  color: white;
  background-color: var(--color-primary-dark);
}

/**************************\
  Basic Modal Styles
\**************************/
.modal {
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal__container {
  background-color: #fff;
  padding: 30px;
  max-width: 700px;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.25;
  color: rgb(0, 38, 58);
  box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
}

.modal__header .modal__close:before {
  content: "✕";
}

.modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
}

.modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.modal__btn:focus, .modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

.section-colored {
  background-color: var(--color-main-verylight);
  padding: 80px 60px;
}
@media only screen and (max-width: 860px) {
  .section-colored {
    padding: 60px 20px;
  }
}

:root {
  --color-main:#00263A;
  --color-main2:#51534A;
  --color-main-dark:rgb(0, 4.5862068966, 7);
  --color-main-light:rgb(0, 54.7068965517, 83.5);
  --color-main-verylight:#B3CDD9;
  --color-main-transparent:rgba(0, 38, 58, 0.35);
  --color-main2-dark:rgb(54.6878980892, 56.0382165605, 49.9617834395);
  --color-main2-light:rgb(120.4681528662, 123.4426751592, 110.0573248408);
  --color-main2-transparent:rgba(81, 83, 74, 0.5);
  --color-light:#ffffff;
  --color-dark:#00263A;
  --color-grey:#3A3A3A;
  --color-grey1:rgb(96.25, 96.25, 96.25);
  --color-grey2:rgb(121.75, 121.75, 121.75);
  --color-grey3:#a0a0a0;
  --color-grey4:rgb(195.7, 195.7, 195.7);
  --color-grey5:rgb(231.4, 231.4, 231.4);
  --color-red:#F26868;
  --color-green:#9BFF00;
  --color-orange:#FFAA00;
  --color-purple:#7388ff;
}

.co-tx-ma {
  color: #00263A;
  color: var(--color-main);
}

.co-tx-ma2 {
  color: #51534A;
  color: var(--color-main2);
}

.co-tx-ma-d {
  color: rgb(0, 4.5862068966, 7);
  color: var(--color-main-dark);
}

.co-tx-ma-l {
  color: rgb(0, 54.7068965517, 83.5);
  color: var(--color-main-light);
}

.co-tx-ma-vl {
  color: #B3CDD9;
  color: var(--color-main-verylight);
}

.co-tx-ma-t {
  color: rgba(0, 38, 58, 0.35);
  color: var(--color-main-transparent);
}

.co-tx-ma2-d {
  color: rgb(54.6878980892, 56.0382165605, 49.9617834395);
  color: var(--color-main2-dark);
}

.co-tx-ma2-l {
  color: rgb(120.4681528662, 123.4426751592, 110.0573248408);
  color: var(--color-main2-light);
}

.co-tx-ma2-t {
  color: rgba(81, 83, 74, 0.5);
  color: var(--color-main2-transparent);
}

.co-tx-light {
  color: #ffffff;
  color: var(--color-light);
}

.co-tx-dark {
  color: #00263A;
  color: var(--color-dark);
}

.co-tx-gr {
  color: #3A3A3A;
  color: var(--color-grey);
}

.co-tx-gr1 {
  color: rgb(96.25, 96.25, 96.25);
  color: var(--color-grey1);
}

.co-tx-gr2 {
  color: rgb(121.75, 121.75, 121.75);
  color: var(--color-grey2);
}

.co-tx-gr3 {
  color: #a0a0a0;
  color: var(--color-grey3);
}

.co-tx-gr4 {
  color: rgb(195.7, 195.7, 195.7);
  color: var(--color-grey4);
}

.co-tx-gr5 {
  color: rgb(231.4, 231.4, 231.4);
  color: var(--color-grey5);
}

.co-tx-red {
  color: #F26868;
  color: var(--color-red);
}

.co-tx-green {
  color: #9BFF00;
  color: var(--color-green);
}

.co-tx-orange {
  color: #FFAA00;
  color: var(--color-orange);
}

.co-tx-purple {
  color: #7388ff;
  color: var(--color-purple);
}

.co-bg-ma {
  background-color: #00263A;
  background-color: var(--color-main);
}

.co-bg-ma2 {
  background-color: #51534A;
  background-color: var(--color-main2);
}

.co-bg-ma-d {
  background-color: rgb(0, 4.5862068966, 7);
  background-color: var(--color-main-dark);
}

.co-bg-ma-l {
  background-color: rgb(0, 54.7068965517, 83.5);
  background-color: var(--color-main-light);
}

.co-bg-ma-vl {
  background-color: #B3CDD9;
  background-color: var(--color-main-verylight);
}

.co-bg-ma-t {
  background-color: rgba(0, 38, 58, 0.35);
  background-color: var(--color-main-transparent);
}

.co-bg-ma2-d {
  background-color: rgb(54.6878980892, 56.0382165605, 49.9617834395);
  background-color: var(--color-main2-dark);
}

.co-bg-ma2-l {
  background-color: rgb(120.4681528662, 123.4426751592, 110.0573248408);
  background-color: var(--color-main2-light);
}

.co-bg-ma2-t {
  background-color: rgba(81, 83, 74, 0.5);
  background-color: var(--color-main2-transparent);
}

.co-bg-light {
  background-color: #ffffff;
  background-color: var(--color-light);
}

.co-bg-dark {
  background-color: #00263A;
  background-color: var(--color-dark);
}

.co-bg-gr {
  background-color: #3A3A3A;
  background-color: var(--color-grey);
}

.co-bg-gr1 {
  background-color: rgb(96.25, 96.25, 96.25);
  background-color: var(--color-grey1);
}

.co-bg-gr2 {
  background-color: rgb(121.75, 121.75, 121.75);
  background-color: var(--color-grey2);
}

.co-bg-gr3 {
  background-color: #a0a0a0;
  background-color: var(--color-grey3);
}

.co-bg-gr4 {
  background-color: rgb(195.7, 195.7, 195.7);
  background-color: var(--color-grey4);
}

.co-bg-gr5 {
  background-color: rgb(231.4, 231.4, 231.4);
  background-color: var(--color-grey5);
}

.co-bg-red {
  background-color: #F26868;
  background-color: var(--color-red);
}

.co-bg-green {
  background-color: #9BFF00;
  background-color: var(--color-green);
}

.co-bg-orange {
  background-color: #FFAA00;
  background-color: var(--color-orange);
}

.co-bg-purple {
  background-color: #7388ff;
  background-color: var(--color-purple);
}

.co-bo-ma {
  border-color: #00263A;
  border-color: var(--color-main);
}

.co-bo-ma2 {
  border-color: #51534A;
  border-color: var(--color-main2);
}

.co-bo-ma-d {
  border-color: rgb(0, 4.5862068966, 7);
  border-color: var(--color-main-dark);
}

.co-bo-ma-l {
  border-color: rgb(0, 54.7068965517, 83.5);
  border-color: var(--color-main-light);
}

.co-bo-ma-vl {
  border-color: #B3CDD9;
  border-color: var(--color-main-verylight);
}

.co-bo-ma-t {
  border-color: rgba(0, 38, 58, 0.35);
  border-color: var(--color-main-transparent);
}

.co-bo-ma2-d {
  border-color: rgb(54.6878980892, 56.0382165605, 49.9617834395);
  border-color: var(--color-main2-dark);
}

.co-bo-ma2-l {
  border-color: rgb(120.4681528662, 123.4426751592, 110.0573248408);
  border-color: var(--color-main2-light);
}

.co-bo-ma2-t {
  border-color: rgba(81, 83, 74, 0.5);
  border-color: var(--color-main2-transparent);
}

.co-bo-light {
  border-color: #ffffff;
  border-color: var(--color-light);
}

.co-bo-dark {
  border-color: #00263A;
  border-color: var(--color-dark);
}

.co-bo-gr {
  border-color: #3A3A3A;
  border-color: var(--color-grey);
}

.co-bo-gr1 {
  border-color: rgb(96.25, 96.25, 96.25);
  border-color: var(--color-grey1);
}

.co-bo-gr2 {
  border-color: rgb(121.75, 121.75, 121.75);
  border-color: var(--color-grey2);
}

.co-bo-gr3 {
  border-color: #a0a0a0;
  border-color: var(--color-grey3);
}

.co-bo-gr4 {
  border-color: rgb(195.7, 195.7, 195.7);
  border-color: var(--color-grey4);
}

.co-bo-gr5 {
  border-color: rgb(231.4, 231.4, 231.4);
  border-color: var(--color-grey5);
}

.co-bo-red {
  border-color: #F26868;
  border-color: var(--color-red);
}

.co-bo-green {
  border-color: #9BFF00;
  border-color: var(--color-green);
}

.co-bo-orange {
  border-color: #FFAA00;
  border-color: var(--color-orange);
}

.co-bo-purple {
  border-color: #7388ff;
  border-color: var(--color-purple);
}

/* text sizes */
.tx-sz1 {
  font-size: 0.8125rem;
}

.tx-sz2 {
  font-size: 1.125rem;
}

.tx-sz3 {
  font-size: 1.25rem;
}

.tx-sz4 {
  font-size: 1.5rem;
}

.tx-sz5 {
  font-size: 1.875rem;
}

.tx-sz6 {
  font-size: 2.25rem;
}

.tx-sz7 {
  font-size: 2.625rem;
}

.tx-sz8 {
  font-size: 3.5rem;
}

/* font weights */
.tx-wgr {
  font-weight: 400;
}

.tx-wgl {
  font-weight: 300;
}

.tx-wgm {
  font-weight: 500;
}

.tx-wgb {
  font-weight: 600;
}

/* text transform */
.tx-neg {
  background-color: #00263A;
  color: #ffffff;
}

/* text align */
.tx-poc {
  text-align: center;
}

.tx-pol {
  text-align: left;
}

.tx-por {
  text-align: right;
}

@media only screen and (max-width: 860px) {
  .tx-poc-sm {
    text-align: center;
  }
  .tx-pol-sm {
    text-align: left;
  }
  .tx-por-sm {
    text-align: right;
  }
}
@media only screen and (max-width: 860px) {
  .tx-poc-md {
    text-align: center;
  }
  .tx-pol-md {
    text-align: left;
  }
  .tx-por-md {
    text-align: right;
  }
}
/* line heights */
.tx-lh-08 {
  line-height: 0.8em;
}

.tx-lh-1 {
  line-height: 1em;
}

.tx-lh-15 {
  line-height: 1.5em;
}

/* list styles */
.tx-li-1 {
  margin-left: 0;
  padding-left: 0;
}
.tx-li-1 li {
  list-style: none;
}

/* height */
.hi-page {
  min-height: 77vh;
}

/* width */
.wi-100 {
  width: 100%;
}

.wi-50 {
  width: calc(50% - 4px);
}
@media only screen and (max-width: 860px) {
  .wi-50 {
    width: 100%;
  }
}

.wi-33 {
  width: 33%;
}

.wi-narrow {
  width: 75%;
}
@media only screen and (max-width: 860px) {
  .wi-narrow {
    width: 100%;
  }
}

/* diplay */
.di-bl {
  display: block;
}

.di-ib {
  display: inline-block;
}

.di-il {
  display: inline;
}

/* hide and show */
.hide {
  display: none;
}

.show {
  display: initial;
}

.show-sm {
  display: none;
}

.show-md {
  display: none;
}

@media only screen and (max-width: 860px) {
  .hide-sm {
    display: none;
  }
  .show-sm {
    display: initial;
  }
}
@media only screen and (max-width: 860px) {
  .hide-md {
    display: none;
  }
  .show-md {
    display: initial;
  }
}
/* flex */
/*[class*="fx-"] {
  display: flex;
}*/
.fx {
  display: flex;
}

.fx-column {
  flex-direction: column;
}

.fx-wrap {
  flex-wrap: wrap;
}

.fx-itm-start {
  align-items: flex-start;
}

.fx-itm-end {
  align-items: flex-end;
}

.fx-itm-center {
  align-items: center;
}

.fx-itm-baseline {
  align-items: baseline;
}

.fx-itm-stretch {
  align-items: stretch;
}

.fx-slf-start {
  align-self: flex-start;
}

.fx-slf-end {
  align-self: flex-end;
}

.fx-slf-center {
  align-self: center;
}

.fx-slf-baseline {
  align-self: baseline;
}

.fx-slf-stretch {
  align-self: stretch;
}

.fx-jst-start {
  justify-content: flex-start;
}

.fx-jst-end {
  justify-content: flex-end;
}

.fx-jst-center {
  justify-content: center;
}

.fx-jst-between {
  justify-content: space-between;
}

.fx-jst-around {
  justify-content: space-around;
}

.fx-jst-evenly {
  justify-content: space-evenly;
}

.fx-cnt-start {
  align-content: flex-start;
}

.fx-cnt-end {
  align-content: flex-end;
}

.fx-cnt-center {
  align-content: center;
}

.fx-cnt-between {
  align-content: space-between;
}

.fx-cnt-around {
  align-content: space-around;
}

.fx-cnt-stretch {
  align-content: stretch;
}

.fx-auto {
  flex: 1 1 auto;
  min-width: 0; /* 1 */
  min-height: 0; /* 1 */
}

.fx-none {
  flex: none;
}

.fx-ord-0 {
  order: 0;
}

.fx-ord-1 {
  order: 1;
}

.fx-ord-2 {
  order: 2;
}

.fx-ord-3 {
  order: 3;
}

.fx-ord-last {
  order: 99999;
}

@media only screen and (max-width: 860px) {
  .fx-jst-center-sm {
    display: flex;
    justify-content: center;
  }
  .fx-slf-center-sm {
    display: flex;
    align-self: center;
  }
  .fx-itm-center-sm {
    align-items: center;
  }
  .fx-column-sm {
    flex-direction: column;
  }
}
/* position */
.po-re {
  position: relative;
}

.po-ab {
  position: absolute;
}

.po-fi {
  position: fixed;
}

/* effects */
.ef-img-co-ma2 {
  filter: brightness(0.54) contrast(0.83) hue-rotate(-304deg) saturate(1.62);
}
.ef-img-co-ma2:hover, .ef-img-co-ma2:active {
  filter: none;
}

/* border */
.bo-r {
  border-right: 3px solid #51534A;
}

.bo-t {
  border-top: 3px solid #51534A;
}

@media only screen and (max-width: 860px) {
  .bo-0-sm {
    border: none;
  }
}
/* images */
.has-bg-img {
  position: relative;
  overflow: hidden;
}
.has-bg-img > img:first-child {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 0;
  object-fit: cover;
}
@media only screen and (max-width: 860px) {
  .has-bg-img > img:first-child.not-on-sm {
    position: relative;
    z-index: initial;
  }
}

/* image boxes aspect ratios */
.img-cover {
  position: relative;
  background-size: cover;
  background-position: center;
  height: 0;
}
.img-cover img {
  display: none;
}
.img-cover.img-1to1 {
  padding-top: 100%;
}
.img-cover.img-2to1 {
  padding-top: 50%;
}
.img-cover.img-16to9 {
  padding-top: 56.25%;
}
.img-cover.img-4to3 {
  padding-top: 75%;
}
.img-cover .overlay {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.7);
  color: #ffffff;
  text-align: center;
}
.img-cover:hover .overlay, .img-cover:active .overlay {
  display: flex;
  cursor: none;
}

.appointments {
  --color-primary: #7C8F98;
  --color-primary-dark: #00263A;
  --color-secondary: #BDC0B5;
  --color-grayed: #7C8F98;
  font-size: 16px;
}
.appointments .appointments-container {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  padding-top: 60px;
}
.appointments .appointments-container > * {
  flex: 1 1 calc(50% - 4rem);
  min-width: 320px;
}
@media only screen and (max-width: 860px) {
  .appointments .appointments-container > * {
    flex: 1 1 100%;
  }
  .appointments .appointments-container {
    gap: 1rem;
  }
}
.appointments .calendar {
  max-width: 100%;
}
.appointments .calendar .month-header {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.appointments .calendar .month-header > div {
  display: flex;
  justify-content: center;
  align-items: center;
}
.appointments .calendar .month-header > div:first-child {
  justify-content: flex-start;
}
.appointments .calendar .month-header > div:last-child {
  justify-content: flex-end;
}
.appointments .calendar .month-available {
  margin-bottom: 16px;
}
.appointments .calendar .month-available > span {
  font-weight: bold;
  position: relative;
  padding-left: 22px;
}
.appointments .calendar .month-available > span:after {
  position: absolute;
  content: " ";
  font-weight: bold;
  text-align: center;
  width: 16px;
  height: 16px;
  background: var(--color-primary);
  border-radius: 50%;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.appointments .calendar .month-days-weekdaysname, .appointments .calendar .month-days-alldays {
  display: grid;
  justify-items: center;
  align-items: center;
  grid-template-columns: repeat(7, 1fr);
}
@media only screen and (max-width: 860px) {
  .appointments .calendar .month-days-weekdaysname, .appointments .calendar .month-days-alldays {
    grid-template-columns: repeat(7, 0.4fr);
  }
}
.appointments .calendar .month-days-weekdaysname .dow {
  color: var(--color-grayed);
  font-weight: bold;
  text-align: center;
}
.appointments .calendar .month-days-weekdaysname {
  margin-bottom: 16px;
}
.appointments .calendar .month-days-alldays {
  text-align: center;
}
.appointments .calendar .month-days-alldays .day {
  font-weight: bold;
  text-align: center;
  width: 32px;
  height: 32px;
  border: 4px solid transparent;
  border-radius: 50%;
}
.appointments .calendar .month-days-alldays .active {
  cursor: pointer;
  background: var(--color-primary);
}
.appointments .calendar .month-days-alldays .selected {
  background: var(--color-primary-dark);
}
.appointments .calendar .month-days-alldays .dummy-day {
  color: var(--color-grayed);
}
.appointments .appointment {
  margin: 80px 0;
}
@media only screen and (max-width: 860px) {
  .appointments .appointment {
    margin: 24px 0;
  }
}
.appointments .appointment .available-times {
  overflow: auto;
  max-height: 220px;
  min-height: 220px;
  display: flex;
  flex-wrap: wrap;
}
.appointments .appointment .available-times .time {
  height: 60px;
  margin: 4px 8px;
  padding: 1rem;
  text-align: center;
  border-radius: 8px;
  font-weight: bolder;
  background: var(--color-secondary);
  color: black;
  cursor: pointer;
  flex: 1 1 calc(33.333% - 16px);
}
.appointments .appointment .available-times .time.active {
  background: var(--color-primary);
  color: black;
}

.form-holder .required label::after {
  color: red;
  content: " *";
}
.form-holder .form-group label {
  margin-bottom: 6px;
}
.form-holder .form-spacer {
  margin-bottom: 10px;
  padding-top: 10px;
  border-bottom: 2px solid #ececec;
}

/*# sourceMappingURL=main.css.map */
