/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}
audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden] {
    display: none;
}
html {
    font-size: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
html,
button,
input,
select,
textarea {
    font-family: sans-serif;
}
body {
    margin: 0;
}
a:focus {
    outline: thin dotted;
}
a:active,
a:hover {
    outline: 0;
}
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}
h2 {
    font-size: 1.5em;
    margin: 0.83em 0;
}
h3 {
    font-size: 1.17em;
    margin: 1em 0;
}
h4 {
    font-size: 1em;
    margin: 1.33em 0;
}
h5 {
    font-size: 0.83em;
    margin: 1.67em 0;
}
h6 {
    font-size: 0.67em;
    margin: 2.33em 0;
}
abbr[title] {
    border-bottom: 1px dotted;
}
b,
strong {
    font-weight: bold;
}
blockquote {
    margin: 1em 40px;
}
dfn {
    font-style: italic;
}
hr {
    box-sizing: content-box;
    height: 0;
}
mark {
    background: #ff0;
    color: #000;
}
p,
pre {
    margin: 1em 0;
}
code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    _font-family: "courier new", monospace;
    font-size: 1em;
}
pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}
q {
    quotes: none;
}
q:before,
q:after {
    content: "";
    content: none;
}
small {
    font-size: 80%;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}
dl,
menu,
ol,
ul {
    margin: 1em 0;
}
dd {
    margin: 0 0 0 40px;
}
menu,
ol,
ul {
    padding: 0 0 0 40px;
}
nav ul,
nav ol {
    list-style: none;
    list-style-image: none;
}
img {
    border: 0;
    -ms-interpolation-mode: bicubic;
}
svg:not(:root) {
    overflow: hidden;
}
figure {
    margin: 0;
}
form {
    margin: 0;
}
fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}
legend {
    border: 0;
    padding: 0;
    white-space: normal;
    *margin-left: -7px;
}
button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
}
button,
input {
    line-height: normal;
}
button,
select {
    text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
    *overflow: visible;
}
button[disabled],
html input[disabled] {
    cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
    *height: 13px;
    *width: 13px;
}
input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
textarea {
    overflow: auto;
    vertical-align: top;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* cookie layer - */
/* cookieconsent.min.css */
.cc-window {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease;
}
.cc-window.cc-invisible {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.cc-animate.cc-revoke {
    -webkit-transition: -webkit-transform 1s ease;
    transition: -webkit-transform 1s ease;
    transition: transform 1s ease;
    transition: transform 1s ease, -webkit-transform 1s ease;
}
.cc-animate.cc-revoke.cc-top {
    -webkit-transform: translateY(-2em);
    transform: translateY(-2em);
}
.cc-animate.cc-revoke.cc-bottom {
    -webkit-transform: translateY(2em);
    transform: translateY(2em);
}
.cc-animate.cc-revoke.cc-active.cc-bottom,
.cc-animate.cc-revoke.cc-active.cc-top,
.cc-revoke:hover {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
.cc-grower {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 1s;
    transition: max-height 1s;
}
.cc-link,
.cc-revoke:hover {
    text-decoration: underline;
}
.cc-revoke,
.cc-window {
    position: fixed;
    overflow: hidden;
    box-sizing: border-box;
    font-family: Helvetica, Calibri, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5em;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    z-index: 9999;
}
.cc-window.cc-static {
    position: static;
}
.cc-window.cc-floating {
    padding: 2em;
    max-width: 24em;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
}
.cc-window.cc-banner {
    padding: 1em 1.8em;
    width: 100%;
    -ms-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
}
.cc-revoke {
    padding: 0.5em;
}
.cc-header {
    font-size: 18px;
    font-weight: 700;
}
.cc-btn,
.cc-close,
.cc-link,
.cc-revoke {
    cursor: pointer;
}
.cc-link {
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    display: inline-block;
    padding: 0.2em;
}
.cc-link:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.cc-link:active,
.cc-link:visited {
    color: initial;
}
.cc-btn {
    display: block;
    padding: 0.4em 0.8em;
    font-size: 0.9em;
    font-weight: 700;
    border-width: 2px;
    border-style: solid;
    text-align: center;
    white-space: nowrap;
}
.cc-banner .cc-btn:last-child {
    min-width: 140px;
}
.cc-highlight .cc-btn:first-child {
    background-color: transparent;
    border-color: transparent;
}
.cc-highlight .cc-btn:first-child:focus,
.cc-highlight .cc-btn:first-child:hover {
    background-color: transparent;
    text-decoration: underline;
}
.cc-close {
    display: block;
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    font-size: 1.6em;
    opacity: 0.9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    line-height: 0.75;
}
.cc-close:focus,
.cc-close:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.cc-revoke.cc-top {
    top: 0;
    left: 3em;
    border-bottom-left-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
}
.cc-revoke.cc-bottom {
    bottom: 0;
    left: 3em;
    border-top-left-radius: 0.5em;
    border-top-right-radius: 0.5em;
}
.cc-revoke.cc-left {
    left: 3em;
    right: unset;
}
.cc-revoke.cc-right {
    right: 3em;
    left: unset;
}
.cc-top {
    top: 1em;
}
.cc-left {
    left: 1em;
}
.cc-right {
    right: 1em;
}
.cc-bottom {
    bottom: 1em;
}
.cc-floating > .cc-link {
    margin-bottom: 1em;
}
.cc-floating .cc-message {
    display: block;
    margin-bottom: 1em;
}
.cc-window.cc-floating .cc-compliance {
    -ms-flex: 1;
    -webkit-box-flex: 1;
    flex: 1;
}
.cc-window.cc-banner {
    -ms-flex-align: center;
    -webkit-box-align: center;
    -ms-grid-row-align: center;
    align-items: center;
}
.cc-banner.cc-top {
    left: 0;
    right: 0;
    top: 0;
}
.cc-banner.cc-bottom {
    left: 0;
    right: 0;
    bottom: 0;
}
.cc-banner .cc-message {
    -ms-flex: 1;
    -webkit-box-flex: 1;
    flex: 1;
}
.cc-compliance {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-line-pack: justify;
    align-content: space-between;
}
.cc-compliance > .cc-btn {
    -ms-flex: 1;
    -webkit-box-flex: 1;
    flex: 1;
}
.cc-btn + .cc-btn {
    margin-left: 0.5em;
}
@media print {
    .cc-revoke,
    .cc-window {
        display: none;
    }
}
@media screen and (max-width: 900px) {
    .cc-btn {
        white-space: normal;
    }
}
@media screen and (max-width: 414px) and (orientation: portrait),
    screen and (max-width: 736px) and (orientation: landscape) {
    .cc-window.cc-top {
        top: 0;
    }
    .cc-window.cc-bottom {
        bottom: 0;
    }
    .cc-window.cc-banner,
    .cc-window.cc-left,
    .cc-window.cc-right {
        left: 0;
        right: 0;
    }
    .cc-window.cc-banner {
        -ms-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
    }
    .cc-window.cc-banner .cc-compliance {
        -ms-flex: 1;
        -webkit-box-flex: 1;
        flex: 1;
    }
    .cc-window.cc-floating {
        max-width: none;
    }
    .cc-window .cc-message {
        margin-bottom: 1em;
    }
    .cc-window.cc-banner {
        -ms-flex-align: unset;
        -webkit-box-align: unset;
        -ms-grid-row-align: unset;
        align-items: unset;
    }
}
.cc-floating.cc-theme-classic {
    padding: 1.2em;
    border-radius: 5px;
}
.cc-floating.cc-type-info.cc-theme-classic .cc-compliance {
    text-align: center;
    display: inline;
    -ms-flex: none;
    -webkit-box-flex: 0;
    flex: none;
}
.cc-theme-classic .cc-btn {
    border-radius: 5px;
}
.cc-theme-classic .cc-btn:last-child {
    min-width: 140px;
}
.cc-floating.cc-type-info.cc-theme-classic .cc-btn {
    display: inline-block;
}
.cc-theme-edgeless.cc-window {
    padding: 0;
}
.cc-floating.cc-theme-edgeless .cc-message {
    margin: 2em 2em 1.5em;
}
.cc-banner.cc-theme-edgeless .cc-btn {
    margin: 0;
    padding: 0.8em 1.8em;
    height: 100%;
}
.cc-banner.cc-theme-edgeless .cc-message {
    margin-left: 1em;
}
.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn {
    margin-left: 0;
}

/* cookieconsent custom stylings */
body .cc-window,
body .cc-banner {
    font-size: 0.8rem;
    border: 1px solid #d1d1d1;
    z-index: 900;
}

.cc-banner.cc-theme-edgeless .cc-btn,
body .cc-banner .cc-bt {
    padding: 0.25rem !important;
}

.cc-banner .cc-btn:last-child {
    min-width: 2.5rem !important;
}

/* menu.css minified------------------------------------------------------------------------------------------------------------------ */
.c-hamburger {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 2.75rem;
    height: 2.75rem;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: none;
    border: none;
    cursor: pointer;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
}
.c-hamburger:focus {
    outline: none;
}
.c-hamburger span {
    display: block;
    position: absolute;
    top: 1, 375rem;
    left: 0;
    right: 0;
    height: 4px;
}
.c-hamburger span::before,
.c-hamburger span::after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 4px;
    content: "";
}
.c-hamburger span::before {
    top: -0.9375rem;
}
.c-hamburger span::after {
    bottom: -0.9375rem;
}
.c-hamburger--htx {
    background-color: transparent;
}
.c-hamburger--htx span {
    -webkit-transition: background 0s 0.3s;
    transition: background 0s 0.3s;
}
.c-hamburger--htx span::before,
.c-hamburger--htx span::after {
    -webkit-transition-duration: 0.3s, 0.3s;
    transition-duration: 0.3s, 0.3s;
    -webkit-transition-delay: 0.3s, 0s;
    transition-delay: 0.3s, 0s;
}
.c-hamburger--htx span::before {
    -webkit-transition-property: top, -webkit-transform;
    transition-property: top, -webkit-transform;
    transition-property: top, transform;
    transition-property: top, transform, -webkit-transform;
}
.c-hamburger--htx span::after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
    transition-property: bottom, transform, -webkit-transform;
}
.c-hamburger--htx.is-active {
    background-color: transparent;
}
.c-hamburger--htx.is-active span {
    background: none;
}
.c-hamburger--htx.is-active span::before {
    top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.c-hamburger--htx.is-active span::after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.c-hamburger--htx.is-active span::before,
.c-hamburger--htx.is-active span::after {
    -webkit-transition-delay: 0s, 0.3s;
    transition-delay: 0s, 0.3s;
}

/* ------------------------------------------------------------------------------------------------------------------ */

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
}

html,
button,
input,
select,
textarea {
    color: #000;
}

input,
textarea,
input:focus,
textarea:focus {
    box-shadow: none;
    outline: none;
}

html {
    font-size: 1em;
    font-size: 100%;
    line-height: 1.4;
}

/* remove the dotted border */
a,
a:active {
    outline: none;
}
:focus {
    -moz-outline-style: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

/* FGD / MW Styles --------------------------------------------------------------------------------------------------------------- */

html,
body {
    margin: 0;
    width: 100%;
    /*
	-webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
*/
    font-family: "Source Sans Pro", Arial, Helvetica, sans-serif;
    font-weight: 300;
}

.scroll-downs,
.scroll-downs mousey,
header.nav-active nav .nav-wrapper > ul.primary > li > a {
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
}

p a {
    color: black;
}

a:active,
a:focus {
    outline: none;
}

.html5-video-player {
    background-color: #fff;
}

/* inner content wrapper ----------------------------------------------- */
.inner-wrapper {
    width: calc(100% - 20rem);
    padding-left: 10rem;
    padding-right: 10rem;
    margin-left: auto;
    margin-right: auto;
}

/* header and primary navigation  -----------------------------------------------*/
body.bodyfix {
    position: fixed;
    overflow: hidden;
    height: 100%;
}

header {
    width: 100%;
    float: left;
    height: 6rem;
    position: absolute;
    z-index: 500;
}

header nav {
    display: none;
}

header .header-wrapper {
    float: left;
    position: relative;
    height: 100%;
    width: calc(100% - 3rem);
    margin-left: 1.5rem;
    display: block;
}

header .nav-wrapper {
    width: 5rem;
    min-height: 5rem;
    margin-top: 1.25rem;
    height: 100%;
    float: left;
    position: relative;
}

header .nav-wrapper button:before {
    content: "";
    width: 3.4rem;
    height: 3.4rem;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid rgba(38, 38, 38, 0.95);
    border-radius: 100%;
}

header .nav-wrapper button {
    margin-left: 0rem;
    margin-top: 0rem;
    width: 3.5rem;
    height: 3.5rem;
}

.c-hamburger span {
    margin-left: 0.6rem;
    margin-top: 0.05rem;
}

.c-hamburger span,
.c-hamburger span::before,
.c-hamburger span::after {
    height: 1px;
    width: 2.25rem;
    background-color: black;
}

.c-hamburger span::before,
header.c-hamburger span::before {
    top: -0.65rem;
}

.c-hamburger span::after,
header .c-hamburger span::after {
    bottom: -0.65rem;
}

header.nav-active {
    position: fixed;
    height: 100%;
    height: 100vh;
    background-color: white;
    top: 0;
    left: 0;
    z-index: 1000;
    overflow: scroll;
}

.ie header.nav-active nav {
    height: calc(100% - 11rem);
}

header.nav-active nav {
    width: 100%;
    height: auto;
    left: 0;
    position: relative;
    z-index: 1000;
    float: left;
    display: block;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -moz-align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    background-color: rgb(0, 149, 219);
}

header.nav-active nav .nav-wrapper {
    margin-left: calc(15% + 2rem);
    width: calc(66% - 4rem);
    margin-top: 2rem;
    height: 6rem;
}

header.nav-active nav .nav-wrapper {
    height: auto;
    float: left;
}

header.nav-active .header-wrapper {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1000;
}

header.nav-active nav ul,
header.nav-active nav ul li {
    margin: 0;
    padding: 0;
}

header.nav-active nav a {
    text-decoration: none;
}

header.nav-active nav .nav-wrapper > ul.primary > li {
    margin-top: 0;
}

header.nav-active nav .nav-wrapper > ul.primary > li ul {
    margin-bottom: 1rem;
}

header.nav-active nav .nav-wrapper > ul.primary > li > ul {
    display: none;
}

header.nav-active nav .nav-wrapper > ul.primary > li.active > ul {
    display: inherit;
}

header.nav-active nav .nav-wrapper > ul.subnav {
    margin-top: 1.8rem;
}

header.nav-active nav li span.button:hover {
    cursor: pointer;
}

header.nav-active nav li span.button {
    display: inline-block;
    color: white;
    margin-left: 1rem;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    -webkit-transform-origin: center center;
    transform-origin: center center;
    width: 2rem;
    height: 2rem;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

header.nav-active nav li.active span.button {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: translateY(0.025rem);
    -webkit-transform-origin: center center;
    transform-origin: center center;
}

header.nav-active nav a {
    color: white;
    font-weight: 400;
}

header.nav-active nav li span.button {
    font-weight: 700;
}

header.nav-active nav .nav-wrapper > ul.primary > li > a {
    font-weight: 700;
}

header .logo-wrapper {
    width: calc(100% - 10rem - 2px); /* with minus burger menu */
    margin-left: 5rem;
    float: left;
    text-align: center;
    margin-top: 1.8rem;
}

header .logo-wrapper img {
    width: auto;
    height: 2.5rem;
}

/* sticky navigation --------------------------------------------------- */
/* http://imakewebthings.com/waypoints/shortcuts/sticky-elements/ */

header.sticky {
    position: fixed;
    top: 0;
    height: 3.7rem;
    background-color: white;
    border-bottom: 1px solid rgba(165, 165, 165, 0.5); /* BaM grau */
    z-index: 8000;
    padding-bottom: 0.5rem;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

header.sticky .logo-wrapper {
    margin-top: 1.2rem;
}

header.sticky .logo-wrapper img {
    height: 1.8rem;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

header.sticky .header-wrapper {
    margin-top: 0rem;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

header.sticky .nav-wrapper {
    margin-top: 0.7rem;
}

header.sticky .nav-wrapper button:before {
    width: 2.7rem;
    height: 2.7rem;
}

header.sticky .nav-wrapper button {
    margin-left: 0.15rem;
    margin-top: 0rem;
    width: 3rem;
    height: 3rem;
}

.sticky .c-hamburger span,
.sticky .c-hamburger span::before,
.sticky .c-hamburger span::after {
    width: 1.7rem;
}

.sticky .c-hamburger span {
    margin-left: 0.6rem;
    margin-top: -0.1rem;
}

.sticky .c-hamburger span::before,
header.sticky .c-hamburger span::before {
    top: -0.55rem;
}

.sticky .c-hamburger span::after,
header.sticky .c-hamburger span::after {
    bottom: -0.55rem;
}

/* home header animated mouse ---------------------------*/
/* https://codepen.io/2xsamurai/pen/WwmjKQ */
.scroll-downs {
    position: absolute;
    top: calc(100vh - 16rem - 55px);
    right: 0;
    left: 0;
    margin: auto;
    width: 34px;
    height: 55px;
    z-index: 600;
    text-align: center;
}

.scroll-downs:after {
    content: "Bitte scrollen";
    text-align: center;
    font-weight: 700;
    width: 6rem;
    margin-left: -2rem;
    display: inline-block;
    color: white;
    text-transform: uppercase;
    font-size: 0.85rem;
    line-height: 0.9rem;
    margin-top: 0.25rem;
    letter-spacing: 1px;
}

.mousey {
    width: 3px;
    padding-left: 10px;
    padding-right: 16px;
    padding-top: 8px;
    padding-bottom: 5px;
    height: 35px;
    border: 2px solid #fff;
    border-radius: 25px;
    opacity: 0.75;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
}
.scroller {
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background-color: #fff;
    -webkit-animation-name: scroll;
    animation-name: scroll;
    -webkit-animation-duration: 2.2s;
    animation-duration: 2.2s;
    -webkit-animation-timing-function: cubic-bezier(0.15, 0.41, 0.69, 0.94);
    animation-timing-function: cubic-bezier(0.15, 0.41, 0.69, 0.94);
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
@-webkit-keyframes scroll {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    10% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }
    100% {
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
}
@keyframes scroll {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    10% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }
    100% {
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
}

section.intro .scroll-downs {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

section.intro:hover .scroll-downs {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

/* hide mouse on mobile (size) devices  */
.mobile section.intro .scroll-downs,
.mobile section.intro:hover .scroll-downs {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    display: none;
}

/* breadcrump in header -----------------------------------*/
.breadcrump {
    font-weight: inherit;
    padding-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.breadcrump a,
.breadcrump a:visited,
.breadcrump a:active {
    text-decoration: inherit;
    color: black;
}

.breadcrump strong {
    font-weight: inherit;
}

/* sections ------------------------------------------------*/

main {
    margin: 0;
    width: 100%;
    float: left;
}

main section {
    width: 100%;
    float: left;
}

section.vh-block,
section.intro {
    width: 100%;
    height: auto;
    float: left;
    background-color: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -ms-flex-flow: column;
    flex-flow: column;
}

section.vh-block {
    min-height: calc(100vh - 4.25rem);
    height: auto;
    width: 100%;
    float: left;
}

section.vh-block.elements .element-wrapper {
    width: 100%;
    height: auto;
    background-color: white;
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

main section a {
    color: inherit;
}

section .sectionheader {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

section .sectionheader h2,
section .sectionheader h3 {
    text-align: center;
}

section.intro .copy-wrapper h1 {
    font-weight: 300;
}

section.intro .copy-wrapper h1 strong {
    font-weight: 300;
}

section .sectionheader h2 {
    margin-bottom: 1.4rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
}

section .sectionheader h3 {
    margin-top: 1.2rem;
    margin-bottom: 0.8rem;
    font-weight: 700;
}

section.news-text .newsitem h3 {
    margin-top: 1.2rem;
    margin-bottom: 0.8rem;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 0;
}

section.vh-block .copy-wrapper,
section.intro .copy-wrapper,
section.vh-block .newsitem .copy {
    width: 100%;
    height: auto;
    margin-bottom: 1.5rem;
    float: left;
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    text-align: center;
}

.copy-wrapper ul {
    margin-left: 0;
    padding-left: 1rem;
    list-style: none;
}

.copy-wrapper p {
    margin-top: 0;
    margin-bottom: 0;
}

.copy-wrapper li:before {
    content: "•";
    width: 0.8rem;
    margin-left: -0.8rem;
    text-align: left;
    display: inline-block;
}

.text2 p,
.text2 ul,
.text2 li {
    text-align: left;
}

.text2 ul,
.text1 ul {
    margin-top: 0;
    margin-bottom: 0;
}

.pfeil:before {
    content: "→";
    margin-right: 0.25rem;
    display: inline;
}

.download {
    color: rgb(0, 149, 219);
    text-decoration: none;
}

.download a {
    text-decoration: none;
    padding-left: 1rem;
    display: inline-block;
}

.download:before {
    content: "↓";
    width: 0.1rem;
    height: 0.1rem;
    margin-right: 0.25rem;
    display: inline-block;
}

/*for IE 10/11 only -- the ie class is added by JS */
.ie main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
}

.ie10 section.vh-block.splitimage,
.ie10 section.vh-block.fleximage,
.ie10 section.intro {
    height: calc(100vh - 5rem);
    overflow: auto;
}

.ie10 section.vh-block {
    height: auto;
}

/* section link ---------------------------*/
section .sectionlink {
    display: inline-block;
    position: relative;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.5rem;
    padding-top: 0.5rem;
    margin-bottom: 1rem;
}

section .sectionlink a {
    position: relative;
    border: none;
    text-decoration: inherit;
    display: inline-block;
    color: inherit;
    margin-left: auto;
    margin-right: auto;
}

section .copy-wrapper .sectionlink a {
    border: none;
}

section .sectionlink .circle {
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid black;
    border-radius: 100%;
    display: inline-block;
    top: -0.25rem;
    left: 1px;
    position: absolute;
    left: -2.25rem;
}

section .sectionlink .circle:before {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 100%;
    background-color: black;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

section .stopper .sectionlink .circle,
section .slider .sectionlink .circle,
section.intro .sectionlink .circle {
    border-color: white;
}

section .stopper .sectionlink .circle:before,
section .slider .sectionlink .circle:before,
section.intro .sectionlink .circle:before {
    background-color: white;
}

/* jumper  -----------------------------*/
section.jumper,
section .jumper {
    text-align: center;
}

section.jumper a,
section .jumper a {
    text-decoration: inherit;
    font-weight: 300;
}

section .jumper.next a {
    display: block;
    padding: 1rem;
    text-decoration: inherit;
    margin-bottom: 1rem;
}

section.jumper.top {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

section.jumper.top .marker-icon {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 1rem;
    height: 1.2rem;
    margin-bottom: 1rem;
    color: rgb(0, 149, 219);
}

section.jumper.top .marker-text {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    font-weight: 700;
}

/* section-splitimage ---------------*/
section.splitimage .sectionlink {
    margin-left: 2.25rem;
}

section.splitimage .image-copy q {
    font-size: 2.2rem;
    line-height: 3.4rem;
}

section.splitimage .image-copy q .quoute-caption {
    font-style: normal;
    margin-top: 1rem;
    display: block;
}

section.splitimage .image-copy .sectionlink {
    text-align: left;
    margin-top: 2rem;
}

/* section properties stopper (colored background)---------------*/
section .stopper {
    width: 100%;
    padding-top: 2rem;
    padding-bottom: 3rem;
    margin-bottom: 0;
    float: left;
    background-color: rgb(0, 149, 219);
    color: white;
}

section .copy-wrapper.stopper {
    margin-bottom: 0;
}

/* section (page) intro ----------------------------------- */
section.intro {
    /*
    min-height: calc(100vh - 6rem);
    padding-top: 0;
*/
    min-height: 100vh;
    z-index: 400;
}

.intro .image-wrapper {
    height: inherit;
}

section.intro .copy-wrapper {
    margin-top: 0;
}

section.intro .copy-wrapper h1 strong {
    color: rgb(0, 149, 219);
}

section.intro .breadcrump {
    width: 100%;
    min-height: 3rem;
    float: left;
}

/* intro video ---------------------*/
section.video {
    display: inline-block;
}

section.video .video-wrapper {
    padding-top: 56.25%; /* 16:9 Aspect Ratio */
    width: 100%;
    height: auto;
    position: relative;
    float: left;
}

section.video .video-wrapper > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

section.video .button-wrapper {
    width: 50%;
    height: 50%;
    position: absolute;
    left: 25%;
    top: 25%;
}

section.video .button {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 5rem;
    height: 5rem;
    left: calc(50% - 2.5rem);
    top: calc(50% - 2.5rem);
    border: none;
    background-color: transparent;
}

section.video .button.play {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjA0IiBoZWlnaHQ9IjIwNCIgdmlld0JveD0iMCAwIDIwNCAyMDQiPjxnIG9wYWNpdHk9Ii4zMSI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0tNi41LTUuMjc2aDIxNi4xMXYyMDcuMTA5aC0yMTYuMTF6Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iYiI+PHVzZSB4bGluazpocmVmPSIjYSIgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMDEuNTU1IDE5Ny44MzNjNTMuMDUgMCA5Ni4wNTUtNDMuMDA0IDk2LjA1NS05Ni4wNTUgMC01My4wNDktNDMuMDA1LTk2LjA1NC05Ni4wNTUtOTYuMDU0LTUzLjA1IDAtOTYuMDU1IDQzLjAwNS05Ni4wNTUgOTYuMDU0IDAgNTMuMDUxIDQzLjAwNSA5Ni4wNTUgOTYuMDU1IDk2LjA1NSIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9nPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMDEuNTU1IDIwMC44MzNjLTU0LjYxOSAwLTk5LjA1NS00NC40MzYtOTkuMDU1LTk5LjA1NSAwLTU0LjYxOSA0NC40MzYtOTkuMDU0IDk5LjA1NS05OS4wNTQgNTQuNjIgMCA5OS4wNTUgNDQuNDM2IDk5LjA1NSA5OS4wNTQgMCA1NC42MTktNDQuNDM1IDk5LjA1NS05OS4wNTUgOTkuMDU1em0wLTE5Mi4xMDljLTUxLjMxIDAtOTMuMDU1IDQxLjc0NC05My4wNTUgOTMuMDU0IDAgNTEuMzExIDQxLjc0NSA5My4wNTUgOTMuMDU1IDkzLjA1NSA1MS4zMTEgMCA5My4wNTUtNDEuNzQ0IDkzLjA1NS05My4wNTUgMC01MS4zMS00MS43NDQtOTMuMDU0LTkzLjA1NS05My4wNTR6bS0yNC45MTYgMTM0LjMwOGw2OS4xNjgtMzkuMTI3LTY5LjE2OC0zOS4xMjd6Ii8+PC9zdmc+);
}

section.video .button.pause {
    display: none;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjA0IiBoZWlnaHQ9IjIwNCIgdmlld0JveD0iMCAwIDIwNCAyMDQiPjxnIG9wYWNpdHk9Ii4zMSI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0tNi41LTUuMjc2aDIxNi4xMXYyMDcuMTA5aC0yMTYuMTF6Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iYiI+PHVzZSB4bGluazpocmVmPSIjYSIgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMDEuNTU1IDE5Ny44MzNjNTMuMDUgMCA5Ni4wNTUtNDMuMDA0IDk2LjA1NS05Ni4wNTUgMC01My4wNDktNDMuMDA1LTk2LjA1NC05Ni4wNTUtOTYuMDU0LTUzLjA1IDAtOTYuMDU1IDQzLjAwNS05Ni4wNTUgOTYuMDU0IDAgNTMuMDUxIDQzLjAwNSA5Ni4wNTUgOTYuMDU1IDk2LjA1NSIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9nPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMDEuNTU1IDIwMC44MzNjLTU0LjYxOSAwLTk5LjA1NS00NC40MzYtOTkuMDU1LTk5LjA1NSAwLTU0LjYxOSA0NC40MzYtOTkuMDU0IDk5LjA1NS05OS4wNTQgNTQuNjIgMCA5OS4wNTUgNDQuNDM2IDk5LjA1NSA5OS4wNTQgMCA1NC42MTktNDQuNDM1IDk5LjA1NS05OS4wNTUgOTkuMDU1em0wLTE5Mi4xMDljLTUxLjMxIDAtOTMuMDU1IDQxLjc0NC05My4wNTUgOTMuMDU0IDAgNTEuMzExIDQxLjc0NSA5My4wNTUgOTMuMDU1IDkzLjA1NSA1MS4zMTEgMCA5My4wNTUtNDEuNzQ0IDkzLjA1NS05My4wNTUgMC01MS4zMS00MS43NDQtOTMuMDU0LTkzLjA1NS05My4wNTR6Ii8+PGcgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTc3LjUgNzAuODMzaDEzdjYzaC0xM3pNMTEzLjUgNzAuODMzaDEzdjYzaC0xM3oiLz48L2c+PC9zdmc+);
}

section.video .button-wrapper:hover .button.pause {
    display: block;
}

.no-videoautoplay section.video .button,
.no-videoautoplay section.video .button-wrapper {
    display: none;
}

/* intro slider (home) ----------------------*/

.imageslider {
    float: left;
    position: relative;
}

.imageslider .slide-wrapper {
    width: 100%;
    height: calc(100vh - 5rem);
    margin-top: 5rem;
    float: left;
    position: relative;
    z-index: 500;
}

.imageslider .slide {
    width: 100%;
    height: 100%;
    z-index: 500;
    position: static;
}

.imageslider .slide .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 500;
}

.imageslider .slide .content-layer {
    position: absolute;
    width: 100%;
    height: calc(100% - 10rem);
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 510;
}

.imageslider .slide .content-layer .wrapper {
    width: 100%;
    float: left;
}

.imageslider .slide .content-layer h2 {
    width: 100%;
    float: left;
    font-weight: 700;
    text-align: center;
    color: white;
    text-shadow: 0px 0px 34px rgba(0, 0, 0, 0.7);
    margin-bottom: 1rem;
}

.imageslider .slide .content-layer .sectionlink {
    width: 100%;
    float: left;
    text-align: center;
    color: white;
    text-shadow: 0px 0px 34px rgba(0, 0, 0, 0.7);
}

.imageslider .pager {
    position: absolute;
    z-index: 600;
    top: calc(100vh - 13rem);
    width: 100%;
    height: 0.25rem;
    text-align: center;
}

.imageslider .pager span {
    width: 4rem;
    height: 0.2rem;
    display: inline-block;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    background-color: white;
}

.imageslider .pager span:hover {
    cursor: pointer;
    background-color: rgb(0, 149, 219);
}

.imageslider .pager span.cycle-pager-active {
    background-color: rgb(0, 149, 219);
}

.imageslider .anchor-nav {
    position: absolute;
    top: calc(100vh - 10rem);
    width: 100%;
    height: 4rem;
    background-color: white;
    z-index: 600;
}

.imageslider .anchor-nav ul {
    width: 100%;
    height: 100%;
    float: left;
    margin: 0;
    padding: 0;
}

.imageslider .anchor-nav ul li {
    float: left;
    width: 100%;
    height: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}
.imageslider .anchor-nav ul li .icon {
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    display: inline-block;
}

.imageslider .anchor-nav ul li:hover .icon {
    margin-top: -1rem;
}

.imageslider .anchor-nav ul li a {
    display: block;
    text-align: center;
    line-height: 4rem;
    font-weight: 400;
    width: 100%;
    height: 100%;
    text-decoration: inherit;
    text-transform: uppercase;
}

.imageslider .anchor-nav.nav_cols_5 ul li {
    width: calc(100% / 5);
    float: left;
}

.imageslider .anchor-nav.nav_cols_6 ul li {
    width: calc(100% / 6);
    float: left;
}

.imageslider .anchor-nav.nav_cols_5 ul li:nth-child(1) {
    background-color: rgb(0, 149, 219);
    color: white;
}

/* section fleximage ----------------------------------- */
section.vh-block.fleximage .image-wrapper,
section.vh-block.news-text .news-wrapper,
section.vh-block.elements .element-wrapper,
.intro .image-wrapper {
    width: 100%;
    -ms-flex: 1 1 auto;
    -webkit-box-flex: 1;
    flex: 1 1 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    background-color: white;
    position: relative;
}

section.vh-block.fleximage .image,
.intro .image-wrapper .image {
    width: 100%;
    height: 100%;
    float: left;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
}

section.vh-block.fleximage.splitimage .image-copy,
section.vh-block.fleximage.splitimage .image {
    width: 50%;
    float: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-item-align: center;
    align-self: center;
}

section.vh-block.fleximage.splitimage .image {
    position: absolute;
    right: 0;
    top: 0;
}

section.vh-block.fleximage.splitimage .image-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    background-repeat: repeat;
    float: left;
}

section.vh-block.fleximage.splitimage .image-wrapper figure {
    width: 50%;
}

section.vh-block.fleximage.splitimage .image-copy figcaption {
    width: calc(100% - 6rem);
    padding-left: 6rem;
}

section.fleximage.splitimage .image-copy q {
    width: 100%;
    margin: 0;
    padding: 0;
}

section.fleximage.splitimage .image-copy .sectionlink {
    width: 100%;
}

/* section text -----------------------------*/

section .copy-wrapper a {
    text-decoration: none;
    border-bottom-style: solid;
    border-bottom-width: 1px;
}

section .copy-wrapper .download a {
    border: none;
}

section.text .overflow-columns .copy {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    -moz-column-fill: balance;
    column-fill: balance;
}

.overflow-columns .copy p:first-child {
    margin-top: 0;
    margin-bottom: 0;
}

section.text .columns .copy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row;
    flex-flow: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

section.text .columns .copy .col {
    width: calc(50% - 1rem);
}

section.text .columns .copy .col:first-child {
    margin-right: 1rem;
}

section.text .columns .copy .col:nth-child(2) {
    margin-left: 1rem;
}

/* elements block ----------------------*/
section.elements .element-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

section.elements .element-wrapper figure {
    float: left;
    margin-bottom: 1rem;
}

section.elements .element-wrapper.columns_1 figure {
    width: calc(100%);
}

section.elements .element-wrapper.columns_2 figure {
    width: calc(100% / 2);
}

section.elements .element-wrapper.columns_3 figure {
    width: calc(100% / 3);
}

section.elements .element-wrapper.columns_4 figure {
    width: calc(100% / 4);
}

section.elements .element-wrapper.columns_5 figure {
    width: calc(100% / 5);
}

section.elements .element-wrapper figure img {
    width: 100%;
    height: auto;
}

section.elements .element-wrapper figcaption {
    text-align: center;
}

/* imagegrid and contentgrid ----------------------------*/
section.imagegrid .grid-wrapper,
section.contentgrid .grid-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row;
    flex-flow: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

section.imagegrid .grid-wrapper.cols_2 figure,
section.contentgrid .grid-wrapper.cols_2 article {
    width: calc(100% / 2);
}

section.imagegrid .grid-wrapper.cols_3 figure,
section.contentgrid .grid-wrapper.cols_3 article {
    width: calc(100% / 3);
}

section.imagegrid .grid-wrapper.cols_4 figure,
section.contentgrid .grid-wrapper.cols_4 article {
    width: calc(100% / 4);
}

section.imagegrid .grid-wrapper.cols_5 figure,
section.contentgrid .grid-wrapper.cols_5 article {
    width: calc(100% / 5);
}

section.imagegrid .grid-wrapper figure img,
section.contentgrid .grid-wrapper article img {
    width: 100%;
    z-index: 500;
}

section.contentgrid .grid-wrapper article .copy {
    width: calc(100% - 1rem);
    padding-right: 1rem;
    float: left;
}

section.imagegrid .grid-wrapper figure {
    position: relative;
    overflow: hidden;
}

section.imagegrid .grid-wrapper figure.has-caption:hover {
    cursor: pointer;
}

section.imagegrid .grid-wrapper figure:hover figcaption {
    bottom: 0;
}

section.imagegrid .grid-wrapper figure figcaption {
    font-size: 0.85rem;
    line-height: 1rem;
    position: absolute;
    background-color: rgb(0, 149, 219);
    z-index: 550;
    width: calc(100% - 1.25rem);
    padding-left: 0.75rem;
    padding-right: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    bottom: -100rem;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

section.imagegrid figcaption {
    color: white;
}

section.imagegrid figcaption .name,
section.imagegrid figcaption .position {
    display: inline-block;
}

section.imagegrid figcaption .name {
    font-weight: 700;
}

/* section map  --------------------------------------- */

section.map article .columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

section.map article .col {
    width: calc(100% / 4 - 1rem);
    margin-right: 1rem;
    float: left;
}

section.map {
    width: 100%;
    padding-top: 3rem;
}

section.map article {
    margin-bottom: 2rem;
}

section.map .google-map {
    width: 100%;
}

section.map .google-map:before {
    content: "";
    display: block;
    padding-top: 50%; /* aspect ratio */
}

section.map .google-map > div {
    position: absolute;
    top: 0;
}

section.map h4 {
    margin-bottom: 0;
}

section.map .google-map h3 {
    margin-bottom: 0.5rem;
}

section.map .google-map .window-content {
    line-height: 1.4rem;
}

/* section double -------------------------------------- */
section.double article {
    border-top: 1px solid black;
}

section.double .article-wrapper,
section.jobs .article-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row;
    flex-flow: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

section.double .article-wrapper article,
section.jobs .article-wrapper article {
    width: calc(50% - 1rem);
    text-align: center;
}

section.double .article-wrapper article:first-child,
section.jobs .article-wrapper article:first-child {
    margin-right: 1rem;
}

section.double .article-wrapper article:nth-child(2),
section.jobs .article-wrapper article:nth-child(2) {
    margin-left: 1rem;
}

section.double .article-wrapper figure img {
    width: 100%;
    height: auto;
}

section.double .copy {
    text-align: center;
}

/* section jobs ------------------------------------------- */
section.jobs .copy {
    text-align: left;
}

/* section news ----------------------------------------- */
section.news .sectionheader {
    float: left;
    width: 100%;
}

section.news .news-wrapper {
    float: left;
    width: 100%;
}

section.news > div {
    min-height: calc(100vh - 3.5rem);
    min-height: calc(100vh - 3.5rem);
    float: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -ms-flex-flow: column;
    flex-flow: column;
    padding-top: 0;
    padding-bottom: 0;
}

section.news .news-wrapper article .copy,
section.news .sectionheader {
    width: 100%;
    height: auto;
    margin-bottom: 1.5rem;
    float: left;
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    position: relative;
}

section.news .sectionheader {
    margin-bottom: 0;
}

section.news .sectionheader h2 {
    margin-bottom: 0;
}

section.news .news-wrapper {
    width: 100%;
    -ms-flex: 1 1 auto;
    -webkit-box-flex: 1;
    flex: 1 1 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    /* 	background-color: white; */
    /* 	position: relative; */
}

section.news .news-wrapper article .image-wrapper {
    width: 100%;
    -ms-flex: 1 1 auto;
    -webkit-box-flex: 1;
    flex: 1 1 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    position: relative;
    /* 	border: 1px solid red; */
}

section.news .news-wrapper article.newsitem {
    height: 100%;
    width: 100%;

    /* 		min-height: calc(100vh - 3.5rem - 3rem); */
    float: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex !important;
    -ms-flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -ms-flex-flow: column;
    flex-flow: column;
}

section.news .news-wrapper article .copy {
    background-color: rgb(0, 149, 219);
    margin-bottom: 0;
    padding-bottom: 1rem;
}

section.news .news-wrapper article .image-wrapper figure {
    width: 100%;
    height: 100%;
    float: left;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
}

section.news {
    position: relative;
}

section.news .newsdate {
    padding-bottom: 1rem;
}

section.news #news_pager {
    position: absolute;
    z-index: 600;
    bottom: 5rem;
    left: 0;
    width: 100%;
    height: 0.25rem;
    text-align: center;
}

section.news #news_pager span {
    width: 2.5rem;
    height: 0.2rem;
    display: inline-block;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    background-color: white;
    box-shadow: 0px 0px 7px 4px rgba(0, 0, 0, 0.15);
}

section.news #news_pager span:hover {
    cursor: pointer;
    background-color: rgb(0, 149, 219);
}

section.news #news_pager span.cycle-pager-active {
    background-color: rgb(0, 149, 219);
}
/* news 2 ------------------- */

section.news-text .copy-wrapper .copy p {
    text-align: center;
}

section.news-text .news-wrapper .newsitem {
    height: 100%;
    width: 100%;
    float: left;
}

section.news-text .news-wrapper .newsitem .newsitem-wrapper {
    margin-top: 2rem;
    height: calc(100% - 1rem);
    width: 40%;
    margin-left: 30%;
    margin-right: 30%;
    float: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -ms-flex-flow: column;
    flex-flow: column;
}

section.vh-block.news-text .news-wrapper .newsitem .image-wrapper {
    width: 100%;
    -ms-flex: 1 1 auto;
    -webkit-box-flex: 1;
    flex: 1 1 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    float: left;
    position: relative;
    margin-bottom: 1rem;
}

section.vh-block.news-text .news-wrapper .newsitem .image-wrapper .image {
    width: 100%;
    height: 100%;
    float: left;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
}

section.vh-block.news-text .news-wrapper .newsitem .copy {
    float: left;
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    position: relative;
    text-align: center;
    margin-bottom: 0rem;
}

section.vh-block.news-text .news-wrapper .newsitem .text2 p {
    text-align: center;
    margin-top: 0.5rem;
}

section.vh-block.news-text .news-wrapper .newsitem .copy h3 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

section.news-text .pager {
    float: left;
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    position: relative;
    height: 2rem;
    text-align: center;
    width: 100%;
}

section.news-text .pager span {
    width: 4rem;
    height: 0.2rem;
    display: inline-block;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    background-color: grey;
}

section.news-text .pager span:hover {
    cursor: pointer;
    background-color: rgb(0, 149, 219);
}

section.news-text span.cycle-pager-active {
    background-color: rgb(0, 149, 219);
}

section.news-text .newsitem .newsdate {
    font-size: 1rem;
}

section.news-text .stopper {
    padding-top: 0;
    padding-bottom: 1rem;
}

/* contact layer ------------------------------------- */
aside {
    position: fixed;
    right: -20rem;
    width: 20rem;
    max-width: 100%;
    top: 0;
    height: 100vh;
    z-index: 10000;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    background-color: rgb(0, 149, 219);
}
aside {
    -ms-touch-action: pan-right;
    touch-action: pan-right;
}
.aside-overlay{
	position: fixed;
	width: 100%;
	height: 100%;
	background: transparent;
	display: none;
	z-index: 600;
}
.aside-overlay.active{
	display: block;
}
.button-aside-wrapp {
	position: fixed;
    display: flex;
	gap: 20px;
	top: 50%;
	right: -100px;
	transform: translateY(-50%) rotate(-90deg);
	z-index: 999999;
}
.button-aside-wrapp button{
	width: auto;
	height: 2.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	background-color: rgb(0, 149, 219);
	border: none;
	color: white;
}
.button-aside-wrapp.active .default-button-aside{
	background-color: transparent;
	border: 1px solid white !important;
}
.button-aside-wrapp.active .popup-button{
	background-color: white;
	color: rgb(0, 149, 219);
}
/* aside button {
    position: absolute;
    left: 1px;
    width: auto;
    height: 2.5rem;
    top: 33vh;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    padding-left: 1rem;
    padding-right: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    background-color: rgb(0, 149, 219);
    border: none;
    color: white;
} */

button {
    outline: none;
    border: none !important;
    -moz-appearance: none;
}

.contact-wrapper {
    position: absolute;
    width: calc(100% - 2.5rem);
	top: 50%;
	transform: translateY(-50%);
    overflow-x: auto;
    padding: 1rem;
    color: white;
    font-weight: 400;
}

aside.active {
    right: 0;
    left: auto;
}

aside a {
    color: inherit;
    text-decoration: inherit;
}

/* footer ----------------------------------- */
footer {
    background-color: rgb(0, 149, 219);
    color: white;
    float: left;
    width: 100%;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

footer a {
    color: inherit;
    text-decoration: inherit;
}

footer .footer-wrapper {
    float: left;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row;
    flex-flow: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

footer .footer-wrapper .col {
    width: calc(100% / 4 - 1rem);
    margin-left: 1rem;
    margin-bottom: 2rem;
    float: left;
}

footer p,
footer ul,
footer li {
    margin: 0;
    padding: 0;
}

footer li {
    list-style: none;
}

/* plain test page  --------------------------------------- */
.plaintext main,
.page404 main {
    min-height: calc(100vh - 19rem);
}

.plaintext main .copy {
    padding-bottom: 3rem;
    max-width: 70rem;
}

.plaintext main .copy ul,
.plaintext main .copy li,
.plaintext main .copy p {
    margin-top: 0;
    font-size: inherit;
    line-height: inherit;
}

.plaintext main .copy h3 {
    margin-bottom: 0;
}

.plaintext main .copy h4,
.plaintext main .copy h5,
.plaintext main .copy h6 {
    font-size: inherit;
    line-height: inherit;
    margin-bottom: 0;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 100em) {
    html {
        /* 		display: none; */
    }

    .inner-wrapper {
        width: calc(100% - 30rem);
        padding-left: 15rem;
        padding-right: 15rem;
    }

    /* set the font sizes ------------------------------- */
    header.nav-active nav li span.button {
        font-size: 4.5rem;
        line-height: 2.5rem;
    }

    header.nav-active nav .nav-wrapper > ul.primary > li > a {
        font-size: 4.3rem;
        line-height: 4.5rem;
    }

    footer {
        font-size: 1.1rem;
        line-height: 1.5rem;
    }

    .imageslider .slide-wrapper {
        height: calc(100vh - 6rem);
        margin-top: 6rem;
    }

    .imageslider .slide .content-layer h2 {
        font-size: 4rem;
        line-height: 4.3rem;
    }

    section .sectionheader h3 {
        font-size: 2.7rem;
        line-height: 3.8rem;
    }

    section.news-text .newsitem h3 {
        font-size: 2.7rem;
        line-height: 3rem;
    }

    section.news h3 {
        font-size: 2.7rem;
        line-height: 3.8rem;
    }

    section.intro .copy-wrapper h1 {
        font-size: 2.7rem;
        line-height: 3.8rem;
    }

    header.nav-active nav .nav-wrapper > ul {
        font-size: 1.8rem;
        line-height: 2.25rem;
    }

    header.nav-active nav a {
        font-size: 1.8rem;
        line-height: 2.15rem;
    }

    section .sectionheader h2 {
        font-size: 1.1rem;
        line-height: 1.5rem;
    }

    .text1 p,
    .text1 ul,
    .text1 li,
    .text1 .newsdate {
        font-size: 2rem;
        line-height: 3.1rem;
    }

    .text2 p,
    .text2 ul,
    .text2 li {
        font-size: 1.5rem;
        line-height: 2.1rem;
    }

    section.splitimage .image-copy q {
        font-size: 2rem;
        line-height: 3.2rem;
    }

    section.splitimage .image-copy q .quoute-caption {
        font-size: 1.1rem;
        line-height: 1.5rem;
    }

    section.imagegrid figcaption {
        font-size: 1.1rem;
        line-height: 1.3rem;
    }

    section.map .google-map h3 {
        font-size: 1.1rem;
    }

    section .sectionlink {
        font-size: 1.1rem;
        line-height: 1.5rem;
    }
    section.jumper,
    section .jumper {
        font-size: 3rem;
        line-height: 3.4rem;
    }

    section.jumper.top .marker-icon {
        font-size: 2.2rem;
        line-height: 2.4rem;
    }

    section.jumper.top .marker-text {
        font-size: 1.1rem;
        line-height: 1.5rem;
    }

    .breadcrump {
        font-size: 0.9rem;
    }

    .intro .image-wrapper .image {
        height: calc(100% - 6rem);
        margin-top: 6rem;
    }

    section.video .video-wrapper {
        margin-top: 6rem;
    }

    section.imagegrid .grid-wrapper figure figcaption {
        width: calc(100% - 1.25rem);
        padding-left: 0.75rem;
        padding-right: 0.5rem;
        padding-top: 0.6rem;
        padding-bottom: 0.7rem;
        font-size: 1rem;
        line-height: 1.2rem;
    }

    section.news-text .news-wrapper .newsitem .newsitem-wrapper {
        margin-top: 3rem;
        height: calc(100% - 2rem);
    }

    section.vh-block.news-text .news-wrapper .newsitem .image-wrapper {
        margin-bottom: 1.5rem;
    }

    section.news-text .pager {
        height: 3rem;
    }

    section.vh-block.news-text .news-wrapper .newsitem .copy {
        margin-bottom: 1.5rem;
    }

    section.vh-block.news-text .news-wrapper .newsitem .copy h3 {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    section.vh-block.news-text .news-wrapper .newsitem .text2 p {
        margin-top: 1rem;
    }

    section.news-text .newsitem .newsdate {
        font-size: 1.25rem;
    }
}

@media only screen and (min-width: 140em) {
    .inner-wrapper {
        width: calc(100% - 50rem);
        padding-left: 25rem;
        padding-right: 25rem;
    }

    section.splitimage .image-copy q {
        font-size: 2.7rem;
        line-height: 3.8rem;
    }

    section.splitimage .image-copy q .quoute-caption {
        font-size: 1.8rem;
        line-height: 2.15rem;
    }
}

@media only screen and (min-width: 120em) {
    section.splitimage .image-copy q {
        font-size: 2.7rem;
        line-height: 3.8rem;
    }

    section.splitimage .image-copy q .quoute-caption {
        font-size: 1.8rem;
        line-height: 2.15rem;
    }
}

@media only screen and (min-width: 46em) and (max-width: 100em) {
    html {
        /* 		display: none; */
    }

    .inner-wrapper {
        width: calc(100% - 12rem);
        padding-left: 6rem;
        padding-right: 6rem;
    }

    /* set the font sizes ------------------------------- */
    .imageslider .slide .content-layer h2 {
        font-size: 3.3rem;
        line-height: 3.4rem;
    }

    header.nav-active nav li span.button {
        font-size: 3.3rem;
    }

    header.nav-active nav a {
        font-size: 1.4rem;
        line-height: 1.4rem;
    }

    header.nav-active nav .nav-wrapper > ul {
        font-size: 1.8rem;
        line-height: 1.8rem;
    }

    header.nav-active nav .nav-wrapper > ul.primary > li > a {
        font-size: 3.3rem;
        line-height: 3.55rem;
    }

    .imageslider .slide-wrapper {
        height: calc(100vh - 5rem);
        margin-top: 5rem;
    }

    section.intro .copy-wrapper h1 {
        font-size: 1.8rem;
        line-height: 2.6rem;
    }

    section .sectionheader h3 {
        font-size: 2rem;
        line-height: 2.6rem;
    }

    section.news-text .newsitem h3 {
        font-size: 2rem;
        line-height: 2.6rem;
    }

    section.news h3 {
        font-size: 2rem;
        line-height: 2.6rem;
    }

    section .sectionheader h2 {
        font-size: 1rem;
        line-height: 1.4rem;
    }

    section .sectionlink {
        font-size: 1rem;
        line-height: 1.2rem;
    }

    section.splitimage .image-copy q {
        font-size: 1.8rem;
        line-height: 2.4rem;
    }

    section.splitimage .image-copy q .quoute-caption {
        font-size: 1rem;
        line-height: 1.4rem;
    }

    .text1 ul,
    .text1 li,
    .text1 p,
    .text1 .newsdate {
        font-size: 1.5rem;
        line-height: 2.3rem;
    }

    .text2 p,
    .text2 ul,
    .text2 li {
        font-size: 1rem;
        line-height: 1.4rem;
    }

    section.map .google-map h3 {
        font-size: 1rem;
    }

    section.jumper,
    section .jumper {
        font-size: 3rem;
        line-height: 3rem;
    }

    section .jumper.next a {
        margin-bottom: 0;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    section.jumper.top .marker-icon {
        font-size: 2.4rem;
        line-height: 2.6rem;
    }

    section.jumper.top .marker-text {
        font-size: 0.85rem;
        line-height: 1.2rem;
    }

    .breadcrump {
        font-size: 0.85rem;
    }

    .imageslider .slide .content-layer h2 {
        font-size: 3.7rem;
        line-height: 4rem;
    }

    footer {
        font-size: 1.1rem;
        line-height: 1.6rem;
    }

    /* other stylings for this size ----------- */
    section.vh-block {
        min-height: calc(100vh - 3.5rem);
    }

    header {
        height: 5rem;
    }

    header.nav-active nav {
        margin-top: 1rem;
    }

    header .logo-wrapper {
        margin-top: 1.3rem;
    }

    header .logo-wrapper img {
        height: 2.2rem;
    }

    header .nav-wrapper {
        width: 3rem;
        min-height: 3rem;
        margin-top: 0.8rem;
        float: right;
    }

    header .nav-wrapper button:before {
        width: 2.8rem;
        height: 2.8rem;
    }

    header .nav-wrapper button {
        margin-left: 0.05rem;
        margin-top: 0rem;
        width: 3rem;
        height: 3rem;
    }
    header.nav-active nav li span.button {
        margin-left: 0.25rem;
    }
    .c-hamburger span,
    .c-hamburger span::before,
    .c-hamburger span::after {
        width: 1.8rem;
    }

    .c-hamburger span {
        margin-left: 0.55rem;
        margin-top: 0rem;
    }

    .c-hamburger span::before,
    header .c-hamburger span::before {
        top: -0.5rem;
    }

    .c-hamburger span::after,
    header .c-hamburger span::after {
        bottom: -0.5rem;
    }
	.button-aside-wrapp {
		right: -98px;
	}
   .button-aside-wrapp button {
        height: 1.85rem;
        font-size: 1rem;
        line-height: 1rem;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    header.nav-active nav .nav-wrapper {
        width: calc(100vw - 4rem);
        margin-top: -4rem;
        height: inherit;
    }

    header.sticky {
        height: 3rem;
    }

    header.sticky .logo-wrapper {
        margin-top: 0.75rem;
    }

    header.sticky .logo-wrapper img {
        height: 1.95rem;
    }

    header.sticky .nav-wrapper {
        width: 3rem;
        min-height: 3rem;
        margin-top: 0.45rem;
        float: right;
    }

    header.sticky .nav-wrapper button:before {
        width: 2.4rem;
        height: 2.4rem;
    }

    header.sticky .nav-wrapper button {
        margin-left: 0.05rem;
        margin-top: 0rem;
        width: 2.8rem;
        height: 2.8rem;
    }

    .sticky .c-hamburger span,
    .sticky .c-hamburger span::before,
    .sticky .c-hamburger span::after {
        width: 1.55rem;
    }

    .sticky .c-hamburger span {
        margin-left: 0.55rem;
        margin-top: -0.1rem;
    }

    .sticky .c-hamburger span::before,
    header.sticky .c-hamburger span::before {
        top: -0.5rem;
    }

    .sticky .c-hamburger span::after,
    header.sticky .c-hamburger span::after {
        bottom: -0.5rem;
    }

    section.intro .breadcrump {
        padding-top: 0.75rem;
        min-height: 2rem;
    }

    section .sectionlink .circle {
        width: 1rem;
        height: 1rem;
        top: -0.05rem;
        left: 1px;
        left: -2rem;
    }

    section .sectionlink .circle:before {
        width: 0.3rem;
        height: 0.3rem;
    }

    .download a {
        padding-left: 0.5rem;
    }

    .imageslider .slide .content-layer {
        height: calc(100% - 11rem);
    }

    .imageslider .slide .content-layer .wrapper {
        margin-top: 4rem;
    }

    .scroll-downs {
        top: calc(100vh - 10.5rem - 55px);
    }

    .scroll-downs {
        width: 20px;
        height: 40px;
    }

    .scroll-downs:after {
        width: 6rem;
        margin-left: -2.3rem;
        font-size: 0.75rem;
        line-height: 0.9rem;
        margin-top: 0.25rem;
    }

    .mousey {
        width: 3px;
        padding-left: 8px;
        padding-right: 10px;
        padding-top: 4px;
        padding-bottom: 3px;
        height: 33px;
        border: 2px solid #fff;
        border-radius: 25px;
        opacity: 0.75;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    }
    .scroller {
        width: 5px;
        height: 5px;
    }

    .imageslider .anchor-nav {
        height: 3rem;
        top: calc(100vh - 6.5rem);
    }

    .imageslider .anchor-nav ul li {
        height: 3rem;
    }

    .imageslider .anchor-nav ul li a {
        line-height: 3rem;
    }

    .imageslider .pager {
        top: calc(100vh - 9rem);
    }

    .imageslider .pager span {
        width: 2.5rem;
        height: 0.2rem;
    }

    .intro .image-wrapper .image {
        height: calc(100% - 5rem);
        margin-top: 5rem;
    }

    section.video .video-wrapper {
        margin-top: 5rem;
    }

    section .copy-wrapper,
    section.vh-block .copy-wrapper {
        margin-bottom: 0.5rem;
    }

    section .copy-wrapper,
    section.vh-block .copy-wrapper.stopper {
        margin-bottom: 0;
    }

    section.imagegrid .grid-wrapper figure figcaption {
        width: calc(100% - 1.25rem);
        padding-left: 0.75rem;
        padding-right: 0.5rem;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
        font-size: 1rem;
        line-height: 1.2rem;
    }

    section.news #news_pager {
        bottom: 2.5rem;
    }

    section.news-text .news-wrapper .newsitem .newsitem-wrapper {
        width: 60%;
        margin-left: 20%;
        margin-right: 20%;
    }
}

/* tablet portrait */
@media only screen and (min-width: 46em) and (max-width: 60em) {
    html {
        /* 		display: none; */
    }

    .inner-wrapper {
        width: calc(100% - 8rem);
        padding-left: 4rem;
        padding-right: 4rem;
    }

    /* set the font sizes ------------------------------- */
    .text1 ul,
    .text1 li,
    .text1 p {
        font-size: 1.3rem;
        line-height: 2.1rem;
    }

    .text2 p,
    .text2 ul,
    .text2 li {
        font-size: 1rem;
        line-height: 1.4rem;
    }

    /* other stylings for this size -------- */
    header {
        height: 5rem;
    }

    header .logo-wrapper {
        margin-top: 1.3rem;
    }

    header .logo-wrapper img {
        height: 2.1rem;
    }

    header .nav-wrapper {
        width: 3rem;
        min-height: 3rem;
        margin-top: 0.8rem;
        float: right;
    }

    /* reduce the hight of the slider when 6 anchor nav items (news) exists and the nav is no longer in line */
    .imageslider.short-slider .slide-wrapper {
        height: calc(100vh - 13rem);
    }

    header .nav-wrapper button:before {
        width: 2.8rem;
        height: 2.8rem;
    }

    header .nav-wrapper button {
        margin-left: 0.05rem;
        margin-top: 0rem;
        width: 3rem;
        height: 3rem;
    }

    .c-hamburger span,
    .c-hamburger span::before,
    .c-hamburger span::after {
        width: 1.8rem;
    }

    .c-hamburger span {
        margin-left: 0.5rem;
        margin-top: 0rem;
    }

    .c-hamburger span::before,
    header .c-hamburger span::before {
        top: -0.5rem;
    }

    .c-hamburger span::after,
    header .c-hamburger span::after {
        bottom: -0.5rem;
    }

    section.vh-block.fleximage.splitimage .image-copy figcaption {
        width: calc(100% - 2rem);
        padding-left: 4rem;
    }

    section.imagegrid .grid-wrapper.cols_5 figure,
    section.contentgrid .grid-wrapper.cols_5 article {
        width: calc(100% / 3);
    }

    section.map .google-map:before {
        content: "";
        display: block;
        padding-top: 100%; /* aspect ratio */
    }

    section.map article .col {
        width: calc(100% / 2 - 1rem);
    }

    footer .footer-wrapper .col {
        width: calc(100% / 2 - 1rem);
        margin-left: 1rem;
        margin-bottom: 1rem;
        float: left;
    }

    footer .footer-wrapper .col:nth-child(1) {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    footer .footer-wrapper .col:nth-child(2) {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    footer .footer-wrapper .col:nth-child(3) {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    footer .footer-wrapper .col:nth-child(4) {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    }

    section.news #news_pager {
        bottom: 2.5rem;
    }

    section.news-text .news-wrapper .newsitem .newsitem-wrapper {
        width: 80%;
        margin-left: 10%;
        margin-right: 10%;
        margin-top: 2rem;
        height: calc(100% - 1rem);
    }
}

@media only screen and (min-width: 46em) and (max-width: 60em) and (orientation: portrait) {
    html {
        /* display: none; */
    }

    section.elements .element-wrapper.columns_3 figure,
    section.elements .element-wrapper.columns_4 figure {
        width: calc(100% / 2);
    }

    section.elements .element-wrapper.columns_5 figure {
        width: calc(100% / 3);
    }

    section.vh-block.fleximage.splitimage .image {
        margin-left: inherit;
    }

    /* 	reduce the hight of the slider when 6 anchor nav items (news) exists and the nav is no longer in line */
    .imageslider.short-slider .slide-wrapper {
        height: calc(100vh - 10rem);
    }

    .imageslider .anchor-nav.nav_cols_5,
    .imageslider .anchor-nav.nav_cols_6 {
        top: inherit;
        bottom: inherit;
        width: 100%;
        height: auto;
        background-color: white;
        position: relative;
    }

    .imageslider .anchor-nav.nav_cols_5 ul,
    .imageslider .anchor-nav.nav_cols_6 ul {
        width: 100%;
        height: auto;
    }

    .imageslider .anchor-nav.nav_cols_5 ul li,
    .imageslider .anchor-nav.nav_cols_6 ul li {
        width: 100%;
        height: 2.5rem;
        border-bottom: 1px solid #d1d1d1;
    }

    .imageslider .anchor-nav.nav_cols_5 ul li a,
    .imageslider .anchor-nav.nav_cols_6 ul li a {
        line-height: 2.5rem;
    }

    .imageslider .anchor-nav.nav_cols_6 ul li:nth-child(3) {
        background-color: white;
        color: black;
    }

    .imageslider .slide-wrapper {
        height: calc(100vh - 13rem);
    }

    .imageslider.short-slider .slide-wrapper {
        height: calc(100vh - 10rem);
    }
}

@media only screen and (max-width: 65em) {
    html {
        /* display: none;	 */
    }

    .imageslider .anchor-nav.nav_cols_6 {
        top: inherit;
        bottom: inherit;
        width: 100%;
        height: auto;
        background-color: white;
        position: relative;
    }

    .imageslider .anchor-nav.nav_cols_6 ul {
        width: 100%;
        height: auto;
    }

    .imageslider .anchor-nav.nav_cols_6 ul li {
        width: 100%;
        height: 2.5rem;
        border-bottom: 1px solid #d1d1d1;
    }

    .imageslider .anchor-nav.nav_cols_6 ul li a {
        line-height: 2.5rem;
    }

    .imageslider .anchor-nav.nav_cols_6 ul li:nth-child(3) {
        background-color: white;
        color: black;
    }

    /* 	reduce the hight of the slider when 6 anchor nav items (news) exists and the nav is no longer in line */
    .imageslider.short-slider .slide-wrapper {
        height: calc(100vh - 12.5rem);
    }

    .imageslider .pager {
        top: calc(100vh - 11rem);
    }

    .scroll-downs {
        top: calc(100vh - 12.5rem - 55px);
    }
}

/* smartphone */
@media only screen and (max-width: 46em) {
    html {
        /* 	display: none; */
    }

    .inner-wrapper {
        width: calc(100% - 3rem);
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    /* set the font sizes ------------------------------- */

    header.nav-active nav a {
        font-size: 1.3rem;
        line-height: 1.8rem;
    }

    header.nav-active nav .nav-wrapper > ul {
        font-size: 1.1rem;
        line-height: 1.4rem;
    }

    header.nav-active nav li span.button {
        font-size: 2.2rem;
    }

    header.nav-active nav .nav-wrapper > ul.primary > li > a {
        font-size: 2.2rem;
        line-height: 2.6rem;
    }

    .imageslider .slide-wrapper {
        height: calc(100vh - 3.7rem);
        margin-top: 3.7rem;
    }

    section.intro .copy-wrapper h1 {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section .sectionheader h2 {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    section .sectionheader h3 {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section.news-text .newsitem h3 {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section.news h3 {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section .sectionlink {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    section.splitimage .image-copy q {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section.splitimage .image-copy q .quoute-caption {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    .text1 p .text1 ul,
    .text1 li,
    .text1 .newsdate {
        font-size: 1.1rem;
        line-height: 1.4rem;
    }

    .text2 p,
    .text2 ul,
    .text2 li {
        font-size: 1.1rem;
        line-height: 1.4rem;
    }

    section.map .google-map h3 {
        font-size: 1.1rem;
    }

    section.jumper,
    section .jumper {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section .jumper.next {
        line-height: 1rem;
    }

    section.jumper.top .marker-icon {
        font-size: 2rem;
        line-height: 2.5rem;
    }

    section.jumper.top .marker-text {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    .breadcrump {
        font-size: 0.9rem;
    }

    .imageslider .slide .content-layer h2 {
        font-size: 2.2rem;
        line-height: 2.2rem;
    }

    section.elements .element-wrapper figcaption {
        font-size: 0.8rem;
        line-height: 0.9rem;
    }

    section.imagegrid .grid-wrapper figure figcaption {
        width: calc(100% - 1rem);
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
    }

    section.imagegrid figcaption {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    /* other stylings for this size ------------	*/
    .intro .image-wrapper .image {
        height: calc(100% - 4rem);
        margin-top: 4rem;
    }

    section.video .video-wrapper {
        margin-top: 4rem;
    }

    section.vh-block {
        display: block;
        float: left;
        min-height: inherit;
    }

    section.vh-block.fleximage .image-wrapper {
        float: left;
        height: 30vh;
    }

    section .jumper.next {
        float: left;
        width: 100%;
    }

    body:before {
        content: "mobile";
        display: none;
    }

    header {
        height: 3.7rem;
    }

    header .logo-wrapper {
        width: calc(100% - 5.4rem - 2px); /* with minus burger menu */
        margin-left: 2.7rem;
        margin-top: 1rem;
    }

    header .logo-wrapper img {
        height: 1.8rem;
    }

    header.nav-active nav {
        margin-top: 0.5rem;
    }

    header .nav-wrapper {
        margin-top: 0.5rem;
        float: right;
        width: 2.4rem;
        min-height: 2.4rem;
    }

    header .nav-wrapper button:before {
        width: 2.3rem;
        height: 2.3rem;
    }

    header .nav-wrapper button {
        margin-left: 0.05rem;
        margin-top: 0rem;
        width: 2.45rem;
        height: 2.45rem;
    }

    footer {
        font-size: 0.85rem;
        line-height: 1.2rem;
    }

    .c-hamburger span,
    .c-hamburger span::before,
    .c-hamburger span::after {
        width: 1.4rem;
    }

    .c-hamburger span {
        margin-left: 0.5rem;
        margin-top: 0rem;
    }

    .c-hamburger span::before,
    header .c-hamburger span::before {
        top: -0.5rem;
    }

    .c-hamburger span::after,
    header .c-hamburger span::after {
        bottom: -0.5rem;
    }

    header.sticky {
        height: 3.7rem;
    }

    header.sticky .logo-wrapper {
        width: calc(100% - 5.4rem - 2px); /* with minus burger menu */
        margin-left: 2.7rem;
        margin-top: 1rem;
    }

    header.sticky .logo-wrapper img {
        height: 1.8rem;
    }

    header.sticky.nav-active nav {
        margin-top: 0.5rem;
    }

    header.sticky .nav-wrapper {
        margin-top: 0.5rem;
        float: right;
        width: 2.4rem;
        min-height: 2.4rem;
    }

    header.sticky .nav-wrapper button:before {
        width: 2.3rem;
        height: 2.3rem;
    }

    header.sticky .nav-wrapper button {
        margin-left: 0.05rem;
        margin-top: 0rem;
        width: 2.45rem;
        height: 2.45rem;
    }

    .sticky .c-hamburger span,
    .sticky .c-hamburger span::before,
    .sticky .c-hamburger span::after {
        width: 1.4rem;
    }

    .sticky .c-hamburger span {
        margin-left: 0.5rem;
        margin-top: 0rem;
    }

    .sticky .c-hamburger span::before,
    header.sticky .c-hamburger span::before {
        top: -0.5rem;
    }

    .sticky .c-hamburger span::after,
    header.sticky .c-hamburger span::after {
        bottom: -0.5rem;
    }

    aside {
        right: calc(-100vw + 6rem);
        width: calc(100vw - 6rem);
    }
	.button-aside-wrapp {
		right: -84px;
	}
   .button-aside-wrapp button {
        height: 1.5rem;
        font-size: 0.8rem;
        line-height: 1.5rem;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    header.nav-active nav .nav-wrapper {
        margin-left: 1.5rem;
        width: calc(100vw - 4rem);
        margin-top: -4rem;
        height: inherit;
    }

    header.nav-active nav li span.button {
        margin-left: 0;
    }

    section .sectionheader {
        margin-bottom: 0.5rem;
        margin-top: 1rem;
    }

    footer .footer-wrapper .col {
        width: 100%;
        margin-left: 0;
        margin-bottom: 0.75rem;
    }

    section.double .article-wrapper article,
    section.jobs .article-wrapper article {
        width: 100%;
    }

    section.double .article-wrapper article:nth-child(2),
    section.jobs .article-wrapper article:nth-child(2) {
        margin: 0;
    }

    section .sectionlink .circle {
        width: 0.8rem;
        height: 0.8rem;
        border: 2px solid black;
        top: -0.08rem;
        left: 1px;
        left: -1.4rem;
    }

    section .sectionlink .circle:before {
        width: 0.2rem;
        height: 0.2rem;
    }

    section.vh-block.fleximage.splitimage .image-wrapper {
        height: calc(100vh - 4rem);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        -ms-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -ms-flex-flow: column;
        flex-flow: column;
    }

    section.vh-block.fleximage.splitimage .image-wrapper figure {
        width: 100%;
    }

    section.vh-block.fleximage.splitimage .image-wrapper .image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        -ms-flex: 1 1 auto;
        -webkit-box-flex: 1;
        flex: 1 1 auto;
        height: auto;
        height: inherit;
        position: relative;
    }

    section.vh-block.fleximage.splitimage .image {
        margin-left: inherit;
    }

    section.vh-block.fleximage.splitimage .image-copy figcaption {
        width: calc(100% - 3rem);
        padding-left: 1.5rem;
    }

    section.vh-block.fleximage.splitimage .image-wrapper .image-copy {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
        position: relative;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

    section.vh-block.fleximage.splitimage .image-copy {
        position: relative;
    }

    section.text .columns .copy .col:nth-child(2) {
        margin-left: 0;
    }

    .copy-wrapper li:before {
        width: 1rem;
        margin-left: -1rem;
        font-size: 90%;
    }

    section.intro .copy-wrapper,
    section.vh-block .copy-wrapper {
        margin-bottom: 0.5rem;
    }

    section.vh-block .copy-wrapper.stopper {
        margin-bottom: 0;
    }

    section .stopper {
        padding-top: 0;
        padding-bottom: 0.5rem;
    }

    section.text .overflow-columns .copy {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
        -webkit-column-gap: 1rem;
        -moz-column-gap: 1rem;
        column-gap: 0;
    }

    section.elements .element-wrapper.columns_1 figure,
    section.elements .element-wrapper.columns_2 figure,
    section.elements .element-wrapper.columns_3 figure,
    section.elements .element-wrapper.columns_4 figure,
    section.elements .element-wrapper.columns_5 figure {
        width: calc(100% / 2);
    }

    section.elements .element-wrapper figure img {
        width: 90%;
        margin-left: 5%;
        margin-right: 5%;
    }

    section.imagegrid .grid-wrapper.cols_1 figure,
    section.imagegrid .grid-wrapper.cols_2 figure,
    section.imagegrid .grid-wrapper.cols_3 figure,
    section.imagegrid .grid-wrapper.cols_4 figure,
    section.imagegrid .grid-wrapper.cols_5 figure {
        width: calc(100% / 2);
    }

    section.contentgrid .grid-wrapper.cols_2 article,
    section.contentgrid .grid-wrapper.cols_3 article,
    section.contentgrid .grid-wrapper.cols_4 article {
        width: 100%;
    }

    section.map article .col {
        width: 100%;
        margin-right: inherit;
    }

    section.text .columns .copy .col {
        width: 100%;
        margin-right: inherit;
    }

    section.intro .breadcrump {
        min-height: 1.5rem;
        padding-top: 0.5rem;
    }

    .imageslider .pager {
        /* 		top: calc(100vh - 11.5rem); */
        top: calc(100vh - 9rem);
    }

    .imageslider .pager span {
        width: 2rem;
        height: 2px;
    }

    .imageslider .slide-wrapper {
        height: calc(100vh - 10rem);
    }

    .imageslider .slide .content-layer {
        height: calc(100% - 2rem);
        width: calc(100% - 3rem);
        margin-left: 1.5rem;
    }

    .scroll-downs {
        top: calc(100vh - 8.5rem - 55px);
    }

    .imageslider .anchor-nav {
        top: inherit;
        bottom: inherit;
        width: 100%;
        height: auto;
        background-color: white;
        position: relative;
    }

    .imageslider .anchor-nav ul {
        width: 100%;
        height: auto;
    }

    .imageslider .anchor-nav.nav_cols_5 ul li,
    .imageslider .anchor-nav.nav_cols_6 ul li,
    .imageslider .anchor-nav ul li {
        width: 100%;
        height: 2.5rem;
        border-bottom: 1px solid #d1d1d1;
    }
    .imageslider .anchor-nav ul li a {
        line-height: 2.5rem;
    }

    .imageslider .anchor-nav ul li:nth-child(3) {
        background-color: white;
        color: black;
    }

    section.map .google-map:before {
        padding-top: 100%; /* aspect ratio */
    }

    /* mouse ----------------------------------------------- */
    /* https://codepen.io/2xsamurai/pen/WwmjKQ */
    .scroll-downs {
        width: 17px;
        height: 30px;
    }

    .scroll-downs:after {
        width: 6rem;
        margin-left: -2.3rem;
        font-size: 0.75rem;
        line-height: 0.9rem;
        margin-top: 0.25rem;
    }

    .mousey {
        width: 3px;
        padding-left: 6px;
        padding-right: 8px;
        padding-top: 4px;
        padding-bottom: 3px;
        height: 17px;
        border: 2px solid #fff;
        border-radius: 25px;
        opacity: 0.75;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    }
    .scroller {
        width: 5px;
        height: 5px;
    }

    /* 	remove the viewport height fixing for the intro image */
    section.intro {
        min-height: 100vh;
        height: auto;
        display: block;
    }

    .intro .image-wrapper .image {
        height: calc(100% - 4rem);
        margin-top: 4rem;
    }

    section.video .video-wrapper {
        margin-top: 4rem;
    }

    .intro .image-wrapper {
        min-height: 50vh;
    }

    /* hide the jumper, beause the viewport height fixing is disabled */
    .jumper.next {
        display: none;
    }

    /* news section */
    section.news {
        display: block;
        float: left;
    }

    section.news > div {
        height: auto;
        min-height: inherit;
        display: block;
        float: left;
    }

    section.news .news-wrapper article .image-wrapper {
        display: block;
        float: left;
    }

    section.news .news-wrapper article .image-wrapper:before {
        content: "";
        display: block;
        padding-top: 50%;
        width: 100%;
    }
    section.news .news-wrapper {
        display: block;
        position: static;
    }

    section.news .news-wrapper article .image-wrapper figure {
        position: absolute;
        top: 0;
        left: 0;
    }

    section.news #news_pager {
        bottom: 1.5rem;
    }

    section.news #news_pager span {
        width: 2rem;
        height: 0.1rem;
    }

    section.news-text .news-wrapper .newsitem .newsitem-wrapper {
        width: calc(100% - 3rem);
        margin-left: 1.5rem;
        margin-right: 1.5rem;
    }

    section.vh-block.news-text .news-wrapper .newsitem .image-wrapper:before {
        content: "";
        display: block;
        padding-top: 50%;
        width: 100%;
    }

    section.news-text .pager span {
        width: 2.5rem;
    }

    section.news-text .newsitem .newsdate {
        font-size: 1rem;
    }
}

/*  portrait */
@media only screen and (min-width: 46em) and (max-width: 55em) and (orientation: portrait) {
    html {
        /* 	  display: none; */
    }

    section.vh-block.fleximage.splitimage .image-wrapper {
        max-height: 45vh;
    }

    .imageslider .pager {
        top: calc(100vh - 10.5rem);
    }
}

@media only screen and (min-width: 46em) and (max-width: 55em) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
    html {
        /* 		display: none; */
    }

    section.intro .scroll-downs,
    section.intro:hover .scroll-downs {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        display: none;
    }
}
/* hide scoling message / mouse on to low windows  */
@media only screen and (min-width: 46em) and (max-height: 40em) {
    section.intro .scroll-downs,
    section.intro:hover .scroll-downs {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        display: none;
    }
}

@media only screen and (max-width: 22em) {
    body:before {
        content: "mobile";
        display: none;
    }
}

/*  Landscape */
@media only screen and (min-width: 46em) and (max-width: 61em) and (orientation: landscape) {
    html {
        /* 		display: none; */
    }

    body:before {
        content: "mobile";
        display: none;
    }

    .inner-wrapper {
        width: calc(100% - 10rem);
        padding-left: 5rem;
        padding-right: 5rem;
    }

    section.vh-block {
        display: block;
        float: left;
        min-height: inherit;
    }
    /* set the font sizes ------------------------------- */
    header.nav-active nav a {
        font-size: 1.3rem;
        line-height: 1.8rem;
    }

    header.nav-active nav .nav-wrapper > ul {
        font-size: 1.1rem;
        line-height: 1.4rem;
    }

    header.nav-active nav li span.button {
        font-size: 2.2rem;
    }

    header.nav-active nav .nav-wrapper > ul.primary > li > a {
        font-size: 2.2rem;
        line-height: 2.2rem;
    }

    section.intro .copy-wrapper h1 {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section .sectionheader h2 {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    section .sectionheader h3 {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section.news-text .newsitem h3 {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section.splitimage .image-copy q {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section.splitimage .image-copy q .quoute-caption {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    .text1 p .text1 ul,
    .text1 li {
        font-size: 1.1rem;
        line-height: 1.4rem;
    }

    .text2 p,
    .text2 ul,
    .text2 li {
        font-size: 1.1rem;
        line-height: 1.4rem;
    }

    section.map .google-map h3 {
        font-size: 1.1rem;
        line-height: 1.4rem;
    }

    section .sectionlink {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    section.jumper,
    section .jumper {
        font-size: 1.4rem;
        line-height: 1.8rem;
    }

    section .jumper.next {
        line-height: 1rem;
    }

    section.jumper.top .marker-icon {
        font-size: 2rem;
        line-height: 2.5rem;
    }

    section.jumper.top .marker-text {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    .breadcrump {
        font-size: 0.85rem;
    }

    .imageslider .slide .content-layer h2 {
        font-size: 2.4rem;
        line-height: 2.7rem;
    }

    section.elements .element-wrapper figcaption {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    section.imagegrid figcaption {
        font-size: 0.85rem;
        line-height: 1rem;
    }

    .imageslider .anchor-nav ul li a {
        font-size: 0.8rem;
    }

    /* other stylings for this size ------- */

    section.intro {
        /* min-height: calc(100vh - 4rem); */
        min-height: 100vh;
        height: auto;
        display: block;
    }

    .intro .image-wrapper .image {
        height: calc(100% - 4rem);
        margin-top: 4rem;
    }

    section.video .video-wrapper {
        margin-top: 4rem;
    }

    .intro .image-wrapper {
        min-height: 60vh;
    }

    header.nav-active nav .nav-wrapper {
        margin-top: 2rem;
    }

    header.nav-active nav {
        display: block;
    }

    header.nav-active nav .nav-wrapper {
        margin-left: 5rem;
        width: calc(100vw - 10rem);
        margin-top: 2rem;
        height: inherit;
    }

    .imageslider .slide-wrapper {
        height: calc(100vh - 6rem);
    }

    .imageslider .pager {
        top: calc(100vh - 4rem);
    }

    .mobile section.intro .scroll-downs {
        display: none;
    }

    section.elements .element-wrapper.columns_1 figure {
        width: calc(100%);
    }

    section.elements .element-wrapper.columns_2 figure {
        width: calc(100% / 2);
    }

    section.elements .element-wrapper.columns_3 figure {
        width: calc(100% / 3);
    }

    section.elements .element-wrapper.columns_4 figure {
        width: calc(100% / 2);
    }

    section.elements .element-wrapper.columns_5 figure {
        width: calc(100% / 3);
    }

    section.vh-block.fleximage .image-wrapper {
        float: left;
    }

    section.vh-block.fleximage.splitimage .image-wrapper {
        height: auto;
        float: right;
    }

    section.vh-block.fleximage.splitimage .image-wrapper figure {
        width: 100%;
    }

    section.vh-block.fleximage.splitimage .image-wrapper .image {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        height: 60vh;
        position: relative;
    }

    section.vh-block.fleximage.splitimage .image-wrapper .image-copy {
        width: calc(100% - 5rem);
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }

    section.vh-block.fleximage.splitimage .image {
        margin-left: inherit;
    }

    section.double .article-wrapper,
    section.jobs .article-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row;
        flex-flow: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    section.double .article-wrapper article,
    section.jobs .article-wrapper article {
        width: calc(50% - 1rem);
        text-align: center;
    }

    section.double .article-wrapper article:first-child,
    section.jobs .article-wrapper article:first-child {
        margin-right: 1rem;
    }

    section.double .article-wrapper article:nth-child(2),
    section.jobs .article-wrapper article:nth-child(2) {
        margin-left: 1rem;
    }
}

/* fix for the news height */
@media only screen and (min-width: 90em) and (max-height: 60em) {
    section.vh-block.news-text .news-wrapper .newsitem .copy h3 {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
        font-size: 2rem;
        line-height: 2.6rem;
    }

    section.vh-block.news-text .news-wrapper .newsitem .text2 p {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
        font-size: 1rem;
        line-height: 1.4rem;
    }

    section.news-text .news-wrapper .newsitem .newsitem-wrapper {
        width: 40%;
        margin-left: 30%;
        margin-right: 30%;
    }

    section.news-text .newsitem .newsdate {
        font-size: 1rem;
    }

    section.news-text .pager {
        height: 2rem;
        padding-top: 0.5rem;
    }

    section .copy-wrapper,
    section.vh-block .copy-wrapper.stopper.text2 p {
        font-size: 1rem;
        line-height: 1.4rem;
    }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

/* basic print style --------------------------------------------------------------------- */

@media print {
    @page {
        size: 21cm 29.7cm;
        size: A4;
    }

    html,
    body {
        width: 17cm;
        max-width: 100%;
        margin-left: 1cm;
    }

    body {
        font-size: 50%;
    }

    section.intro .breadcrump,
    breadcrump,
    section .jumper,
    aside,
    .nav-wrapper,
    footer,
    section.top,
    .mainnav,
    section.related-content,
    .pagehead,
    breaking-stopper {
        display: none;
    }

    .inner-wrapper {
        width: 100%;
        max-width: 100%;
        max-width: 17cm;
        margin: 0;
        padding: 0;
    }

    .imageslider .slide-wrapper,
    .imageslider .slide .content-layer,
    section.intro.imageslider,
    section.intro.imageslider .slide-wrapper,
    section.intro {
        min-height: 50vh;
    }
}
