﻿@charset "UTF-8";
html {
  --color_blueBg: rgb(3, 45,	86);
  --color_blueText: rgb(0, 44, 88);
  --color_salmon: rgb(242, 197, 192);
  --color_focusOutline: rgba(0, 44, 88, .7);
  --color_burger: black;
  --color_burgerBorder: transparent;
  --color_burgerBg: rgba(255,255,255, .3);
  --color_scrollIndicatorTop: var(--color_blueBg);
}

/* Overskrifter og brødtest	 "Faustina", serif */
/* Menu og udvalgte overskrifter "Poppins", sans-serif */
/* Fonts are loaded as direct Google Fonts .css includes in templates */
/*@font-face{font-family:WorkSansBold;src:url(../../fonts/WorkSans-Bold.woff2) format("woff2"),url(../../fonts/WorkSans-Bold.woff) format("woff"),url(../../fonts/WorkSans-Bold.ttf) format("truetype");font-weight:normal;font-style:normal;}*/ /* weight 600 */
/*@font-face{font-family:WorkSansSemiBold;src:url(../../fonts/WorkSans-SemiBold.woff) format("woff");font-weight:normal;font-style:normal;}*/ /* weight 600 */
/*@font-face{font-family:WorkSansMedium;src:url(../../fonts/WorkSans-Medium.woff2) format("woff2"),url(../../fonts/WorkSans-Medium.woff) format("woff"),url(../../fonts/WorkSans-Medium.ttf) format("truetype");font-weight:normal;font-style:normal;}*/ /* weight 500 */
/*@font-face{font-family:WorkSansRegular;src:url(../../fonts/WorkSans-Regular.woff2) format("woff2"),url(../../fonts/WorkSans-Regular.woff) format("woff"),url(../../fonts/WorkSans-Regular.ttf) format("truetype");font-weight:normal;font-style:normal;}*/ /* weight 400 */
/*@font-face{font-family:WorkSansLight;src:url(../../fonts/WorkSans-Light.woff2) format("woff2"),url(../../fonts/WorkSans-Light.woff) format("woff"),url(../../fonts/WorkSans-Light.ttf) format("truetype");font-weight:normal;font-style:normal;}*/ /* weight 300 */
h1, h2 {
  font-family: "Faustina", serif;
  font-weight: normal;
  margin: 0;
  padding: 0;
}

h3 {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
}

h1, h2, h3 {
  margin-bottom: 0.8em;
  line-height: 1.1em;
}

body {
  font-family: "Faustina", serif;
  /*	font-size: 16px;*/
  line-height: 1.5em;
  color: var(--color_blueText);
}

/* Set the base font size for all the rem-sizes defined for body-text and titles */
html, p, td, textarea {
  font-size: 16px;
}
@media (min-width: 1921px) {
  html, p, td, textarea {
    font-size: 0.833vw;
  }
}
@media (max-width: 767px) {
  html, p, td, textarea {
    font-size: 15px;
  }
}

h1, h2 {
  font-size: 45px;
}

@media (min-width: 1921px) {
  h1, h2 {
    font-size: 2.3vw;
  }
}
@media (max-width: 767px) {
  h1, h2 {
    font-size: 30px;
  }
}
h3 {
  font-size: 17px;
}

@media (min-width: 1921px) {
  h3 {
    font-size: 0.88vw;
  }
}
@media (max-width: 767px) {
  h3 {
    font-size: 17px;
  }
}
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

input:focus, textarea:focus {
  outline: 0;
}

a {
  outline: 0.22em solid transparent;
  transition: outline 0.25s;
  transition-timing-function: cubiz-bezier(0.44, 0, 0.34, 1);
}

a:focus-visible {
  outline: 0.22em solid var(--color_focusOutline);
}

div, img, span, video, header, footer {
  box-sizing: border-box;
}

img, video {
  display: block;
}

p {
  margin-bottom: 1rem;
  margin-top: 0;
}

a, a:active, a:hover, a:visited {
  color: var(--color_blueText);
  text-decoration: none;
}

.bodytext p a, .bodytext p a:active, .bodytext p a:hover, .bodytext p a:visited {
  text-decoration: underline;
}

b, strong {
  font-weight: 600;
}

div, textarea, input, img, video {
  box-sizing: border-box;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: rgba(255, 255, 255, 0.5);
}
header .logo {
  width: max(160px, 8.3vw);
  margin: 12px 18px;
}
@media (min-width: 1921px) {
  header .logo {
    margin: 0.62vw 0.93vw;
  }
}
@media (max-width: 520px) {
  header .logo {
    width: min(160px, 35vw);
    margin: 8px calc(var(--gutter) / 1.3) 12px;
  }
}
header .logo img {
  width: 100%;
}

nav {
  position: absolute;
  top: 0em;
  left: 0em;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  /*display: flex;
  justify-content: flex-end;
  align-items: center;*/
}
nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
nav li {
  margin: 0;
  padding: 0;
  display: block;
}
nav ul {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  column-gap: 2em;
  margin-top: 2em;
}
nav a.menuItem {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  display: block;
}
nav a.menuItem, nav a.menuItem:active, nav a.menuItem:visited, nav a.menuItem:hover {
  color: var(--color_blueText);
}
nav a.menuItem:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  nav {
    margin-top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color_blueBg);
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateX(100%);
    transition: transform 0.2s ease;
  }
  nav.active {
    transform: translateX(0);
  }
  nav ul {
    flex-direction: column;
    align-items: flex-start;
  }
  nav a.menuItem {
    padding: 0.6em 0em;
  }
  nav a.menuItem, nav a.menuItem:active, nav a.menuItem:visited, nav a.menuItem:hover {
    color: var(--color_salmon);
    font-size: 20px;
  }
}

.burger {
  margin-right: var(--gutter);
  transition: opacity 0.2s linear;
  --lineThickness: 1.5px;
  z-index: 200;
  /* iconBurger */
  /*	@media (hover: hover) {
  		&:hover .stripe_bottom {
  			transform: translateY(2px);
  		}
  		&:hover .stripe_top {
  			transform: translateY(-2px);
  		}
  	}*/
  /* Numbers must match up, so there are no half pixels. Half-pixels will cause rounding errors */
  /* Toggles */
}
.burger:not(.active) {
  display: none;
}
@media (max-width: 767px), (hover: none) {
  .burger:not(.active) {
    display: block;
  }
}
.burger.scrolled {
  position: fixed;
  top: var(--gutter);
  right: var(--gutter);
  margin-right: 0;
  opacity: 0;
}
.burger.scrolledReappear {
  opacity: 1;
}
.burger .burgerInner {
  /*desktop: 40w  32t 62r */
  /*laptop 1366: 32w  24t 24r */
  /*mobile: 40w  16t 16r */
  position: relative;
  --circleDiam: 41px; /* Must be uneven - e.g. 33px */
  width: var(--circleDiam);
  height: var(--circleDiam);
  border: var(--lineThickness) solid var(--color_burgerBorder);
  border-radius: 0;
  background-color: var(--color_burgerBg);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  outline: 0;
}
@media (max-width: 420px) {
  .burger .burgerInner {
    --circleDiam: 35px ;
  }
}
.burger .burgerInner:focus-visible {
  outline: 0.22em solid var(--color_burgerBorder);
}
.burger .iconBurger {
  z-index: 3;
  left: 0;
  top: 0;
  --stripeWidth: 16px;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  transition: transform 0.25s cubic-bezier(0.41, 0.01, 0.1, 1);
}
.burger .iconBurger .stripe {
  width: var(--stripeWidth);
  height: var(--lineThickness);
  background-color: var(--color_burger);
  transition: transform 0.25s cubic-bezier(0.41, 0.01, 0.1, 1);
}
.burger .iconBurger.useBorder .stripe {
  /*
  Using height 1px would cause the 3 lines to have different heights (on the same display). Use border intstead
  height: 1px;
  background-color: var(--color_burger);
  */
  height: 0;
  border-bottom: var(--lineThickness) solid var(--color_burger);
  background-color: none;
}
.burger .iconCloseWrap {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 3;
  transform: translateY(var(--circleDiam));
  transition: transform 0.25s cubic-bezier(0.41, 0.01, 0.1, 1);
}
.burger .iconClose {
  width: var(--circleDiam);
  height: var(--circleDiam);
  transform: rotate(45deg);
  /*--circleDiam: 41px;*/ /* Must be uneven - e.g. 33px */
  --crossWidth: 15px; /* Must be uneven - e.g. 11px */
  --crossIndent: calc(calc(var(--circleDiam) - var(--crossWidth)) / 2);
}
.burger .iconCross::after, .burger .iconCross::before {
  content: " ";
  position: absolute;
  display: block;
  z-index: 9;
  background-color: var(--color_burger);
}
.burger .iconCross::after {
  /* Horizontal */
  height: var(--lineThickness);
  top: calc(var(--circleDiam) / 2 - 0.5px);
  left: var(--crossIndent);
  right: var(--crossIndent);
}
.burger .iconCross::before {
  /* Vertical */
  width: var(--lineThickness);
  left: calc(var(--circleDiam) / 2 - 0.5px);
  top: var(--crossIndent);
  bottom: var(--crossIndent);
}
.burger .iconClose.useBorder .iconCross::after {
  /* Horizontal */
  /*
  Using height 1px would cause the 3 lines to have different heights (on the same display). Use border intstead
  height: 1px;
  */
  height: 0;
  border-bottom: var(--lineThickness) solid var(--color_burger);
}
.burger .iconClose.useBorder .iconCross::before {
  /* Vertical */
  /*
  Using height 1px would cause the 3 lines to have different heights (on the same display). Use border intstead
  width: 1px;
  */
  width: 0;
  border-right: var(--lineThickness) solid var(--color_burger);
}
.burger.active {
  /*@media (hover: hover) {
  	&:hover .iconCloseWrap {
  		transform: translateY(calc(var(--circleDiam) * -1));
  	}
  }*/
}
.burger.active .iconBurger {
  transform: translateY(calc(var(--circleDiam) * -1));
}
.burger.active .iconCloseWrap {
  transform: translateY(0);
}

/* Start: Hack to get width of page in pixels (excluding scrollbars) (https://css-tricks.com/typecasting-and-viewport-transitions-in-css-with-tanatan2/) */
/*
@property --fullWidth {
  syntax: "<length>";
  initial-value: 0px;
  inherits: false;
}
html { container-type: inline-size; }
body { --fullWidth: 100cqw; --actualViewportWidth: calc(calc(10000 * tan(atan2(var(--fullWidth), 10000px))) * 1px); }
*/
/* End: Hack to get width of page in pixels (excluding scrollbars) (https://css-tricks.com/typecasting-and-viewport-transitions-in-css-with-tanatan2/) */
body {
  /* Desktop */
  --baseWidthPx: 1728;
  --gutterPx: 60;
  --colGapPx: 24;
  --colCount: 12;
  --actualViewportWidth: 100vw; /* #### */
}

@media (max-width: 1366px) {
  body {
    --baseWidthPx: 1100;
    --gutterPx: 24;
    --colGapPx: 16;
    --colCount: 8;
  }
}
@media (max-width: 767px) {
  body {
    --baseWidthPx: 430;
    --gutterPx: 30;
    --colGapPx: 16;
    --colCount: 4;
  }
}
@media (max-width: 520px) {
  body {
    --baseWidthPx: 430;
    --gutterPx: 16;
    --colGapPx: 16;
    --colCount: 4;
  }
}
body {
  --gapCount: calc(var(--colCount) - 1);
  --gutterPxTotal: calc(var(--gutterPx) * 2);
  --colGapPxTotal: calc(var(--colGapPx) * var(--gapCount));
  --colWidthTotal: calc(calc(var(--baseWidthPx) - var(--gutterPxTotal) - var(--colGapPxTotal)));
  --gutter: calc(calc(var(--gutterPx) / var(--baseWidthPx)) * var(--actualViewportWidth));
  --colGap: calc(calc(var(--colGapPx) / var(--baseWidthPx)) * var(--actualViewportWidth));
  --colWidth: calc(calc(calc(var(--colWidthTotal) / var(--colCount)) / var(--baseWidthPx)) * var(--actualViewportWidth));
  --colW_1: var(--colWidth);
  --colW_2: calc(calc(var(--colGap) * 1) + calc(var(--colWidth) * 2));
  --colW_3: calc(calc(var(--colGap) * 2) + calc(var(--colWidth) * 3));
  --colW_4: calc(calc(var(--colGap) * 3) + calc(var(--colWidth) * 4));
  --colW_5: calc(calc(var(--colGap) * 4) + calc(var(--colWidth) * 5));
  --colW_6: calc(calc(var(--colGap) * 5) + calc(var(--colWidth) * 6));
  --colW_7: calc(calc(var(--colGap) * 6) + calc(var(--colWidth) * 7));
  --colW_8: calc(calc(var(--colGap) * 7) + calc(var(--colWidth) * 8));
  --colW_9: calc(calc(var(--colGap) * 8) + calc(var(--colWidth) * 9));
  --colW_10: calc(calc(var(--colGap) * 9) + calc(var(--colWidth) * 10));
  --colW_11: calc(calc(var(--colGap) * 10) + calc(var(--colWidth) * 11));
  --colW_12: calc(calc(var(--colGap) * 11) + calc(var(--colWidth) * 12));
}

/* Sample */
body {
  margin: 0;
}

.gridSample {
  display: none;
  position: fixed;
  top: 0;
  opacity: 0.1;
  width: 100%;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  background-color: var(--color_offwhite);
  height: 100px;
  height: 100%;
  box-sizing: border-box;
}

.gridArea {
  background-color: var(--color_blueDark);
  height: 100%;
  display: flex;
}

.colSample {
  width: var(--colWidth);
  margin-right: var(--colGap);
  background-color: var(--color_blueLight);
  height: 100%;
  flex-shrink: 0;
}

.colSample_12 {
  margin-right: 0;
}

@media (max-width: 1366px) {
  .colSample_8 {
    margin-right: 0;
  }
  .colSample_9, .colSample_10, .colSample_11, .colSample_12 {
    display: none;
  }
}
@media (max-width: 767px) {
  .colSample_4 {
    margin-right: 0;
  }
  .colSample_5, .colSample_6, .colSample_7, .colSample_8 {
    display: none;
  }
}
footer {
  background-color: var(--color_blueBg);
  color: var(--color_salmon);
  /*Opening hours */
  /* menu items */
}
footer h2 {
  text-align: center;
  padding: 2em 0 1em;
}
footer h3 {
  margin-bottom: 0;
}
footer td {
  white-space: nowrap;
}
footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
footer li {
  margin: 0;
  padding: 0;
  display: block;
}
footer a, footer a:active, footer a:visited, footer a:hover {
  color: var(--color_salmon);
}
footer a:hover {
  text-decoration: underline;
}
footer .socialLinks {
  display: flex;
  column-gap: 2em;
  margin-top: 2em;
}
footer .socialLinks a {
  font-family: "Poppins", sans-serif;
  text-transform: uppercase;
}

.footerColWrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  flex-direction: row;
  justify-content: center;
  padding: 2em var(--gutter);
  gap: 4em;
  max-width: 90em;
  margin: 0 auto;
}
@media (max-width: 1100px) {
  .footerColWrap {
    grid-template-columns: 1fr 1fr;
    max-width: 50em;
  }
}
@media (max-width: 560px) {
  .footerColWrap {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 1.5em;
  }
  .footerColWrap .socialLinks {
    margin-top: 1em;
  }
}

.footerCol {
  flex-shrink: 0;
  flex-grow: 0;
  /*width: 20%;*/
}

/*https://support.cookiebot.com/hc/en-us/articles/4403482346514-Remove-Cookiebot-CMP-branding-from-Swift-banner*/
/* Branding on the banner */
a#CybotCookiebotDialogPoweredbyCybot,
div#CybotCookiebotDialogPoweredByText {
  display: none;
}

/* Branding on the Privacy trigger */
#CookiebotWidget .CookiebotWidget-body .CookiebotWidget-main-logo {
  display: none;
}

.modulesOuter {
  /*opacity: 0;*/
  /*transition: opacity .25s ease;*/
}

.module.bgColor_offwhite {
  background-color: var(--color_offwhiteLight);
}

.module.bgColor_blue_light {
  background-color: var(--color_blueLightTint_200);
}

/* Default vert padding/spacing */
.module .inner {
  position: relative;
}

.module {
  --modulePadTop: 8vw;
  --modulePadBottom: 8vw;
}

.module.bgColorSameAsPrev {
  --modulePadTop: 4vw;
}

.module.bgColorSameAsNext {
  --modulePadBottom: 4vw;
}

@media (max-aspect-ratio: 1/1) {
  .module {
    --modulePadTop: 12vw;
    --modulePadBottom: 12vw;
  }
  .module.bgColorSameAsPrev {
    --modulePadTop: 6vw;
  }
  .module.bgColorSameAsNext {
    --modulePadBottom: 6vw;
  }
}
@media (max-aspect-ratio: 2/3) {
  .module {
    --modulePadTop: 18vw;
    --modulePadBottom: 18vw;
  }
  .module.bgColorSameAsPrev {
    --modulePadTop: 9vw;
  }
  .module.bgColorSameAsNext {
    --modulePadBottom: 9vw;
  }
}
.module {
  padding-top: var(--modulePadTop);
  padding-bottom: var(--modulePadBottom);
}
@media (max-width: 768) {
  .module.next_moduleTextAndImage {
    /* It does not matter if content is same bg color for the two adjacent elements, as the top image almost entirely blocks the bg image (on mobile) */
    /*padding-bottom: calc(var(--modulePadBottom) + 20vw);*/
    padding-bottom: 29vw;
  }
}

.module.removeTopSpace {
  padding-top: 0;
}

.module.removeBottomSpace {
  padding-bottom: 0;
}

.topSection {
  position: relative;
  min-height: 40vw;
  height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  /*
  .topImage {
  	background-repeat: no-repeat;
  	backbround-size: cover;
  	background-position: center center;
  	height: 100%;
  }*/
}
.topSection .content {
  text-align: center;
  z-index: 3;
  margin-top: 20vh;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.topSection h1 {
  margin-bottom: 0.5em;
  text-wrap: balance;
  margin-left: auto;
  margin-right: auto;
}
.topSection .intro {
  text-transform: uppercase;
  max-width: 30em;
}
@media (max-width: 1000px) {
  .topSection .intro br {
    display: none;
  }
}
@media (max-aspect-ratio: 2/3) {
  .topSection.topSection_pagePrimary {
    height: -webkit-fill-available;
  }
}
.topSection .topImage {
  height: 100%;
  z-index: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.topSection .topImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.topSection .topImage::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: white;
  mix-blend-mode: lighten;
  opacity: 0;
  z-index: 2;
}
.topSection .topImage.darken_10::after {
  opacity: 0.1;
}
.topSection .topImage.darken_25::after {
  opacity: 0.25;
}
.topSection .topImage.darken_35::after {
  opacity: 0.35;
}
.topSection .scrollIndicator {
  width: 2px;
  height: 48px;
  background-color: white;
  position: absolute;
  bottom: 0;
  left: calc(50% - 1px);
  z-index: 10;
}
.topSection .scrollIndicator .bouncyBar {
  background-color: var(--color_scrollIndicatorTop);
  height: 0;
  width: 100%;
  animation: bouncyBarBounce 1.7s cubic-bezier(0.68, 0, 0.31, 1) infinite;
  /*
  	0.68, 0, 0.31, 1 
  	.85s*/
}
@keyframes bouncyBarBounce {
  0% {
    height: 0;
  }
  50% {
    height: 100%;
  }
  100% {
    height: 0;
  }
}

.moduleTextAndImage .inner {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
  align-items: center;
}
.moduleTextAndImage .bodytext {
  /* In separate .scss - imported in both the main stylesheet and in the (subset) richtexteditor stylesheet, so we can show the styles almost as-live in the CMS-backend */
  /* In separate .scss - imported in both the main stylesheet and in the (subset) richtexteditor stylesheet, so we can show the styles almost as-live in the CMS-backend */
  /*	h2 {
  		@include fontTitle_5;
  		font-family: AmaliaRegular;
  		margin-top: 1em;
  		margin-bottom: .4em;
  	}
  	h3 {
  		@include fontTitle_4;
  		font-family: AmaliaRegular;
  		margin-top: 1em;
  		margin-bottom: .4em;
  	}
  	h4 {
  		@include fontTitle_2;
  		font-family: AmaliaRegular;
  		margin-top: 1em;
  		margin-bottom: .4em;
  	}
  	@media (max-width: 1366px) {
  		h2 { @include fontTitle_4; }
  		h3 { @include fontTitle_3; }
  		h4 { @include fontTitle_2; }
  	}
  	@media (max-width: 768px) {
  		h2 { @include fontTitle_3; }
  		h3 { @include fontTitle_2; }
  		h4 { @include fontTitle_1; }
  	}
  */
}
.moduleTextAndImage .bodytext ul, .moduleTextAndImage .bodytext ol {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  list-style-type: square;
  margin-left: 1em;
  padding-left: 0;
}
.moduleTextAndImage .bodytext ol {
  list-style-type: decimal;
  margin-left: 1.1em;
}
.moduleTextAndImage .bodytext ol li {
  padding-left: 0.1em;
}
.moduleTextAndImage .bodytext ol li::marker {
  font-family: inherit;
}
.moduleTextAndImage .bodytext li {
  line-height: 1.5em;
  margin-bottom: 0.3em;
}
.moduleTextAndImage .bodytext ul li:last-child {
  margin-bottom: 0;
}

.moduleTextLong .inner {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.moduleTextLong .bodytext {
  /* In separate .scss - imported in both the main stylesheet and in the (subset) richtexteditor stylesheet, so we can show the styles almost as-live in the CMS-backend */
  /* In separate .scss - imported in both the main stylesheet and in the (subset) richtexteditor stylesheet, so we can show the styles almost as-live in the CMS-backend */
  /*	h2 {
  		@include fontTitle_5;
  		font-family: AmaliaRegular;
  		margin-top: 1em;
  		margin-bottom: .4em;
  	}
  	h3 {
  		@include fontTitle_4;
  		font-family: AmaliaRegular;
  		margin-top: 1em;
  		margin-bottom: .4em;
  	}
  	h4 {
  		@include fontTitle_2;
  		font-family: AmaliaRegular;
  		margin-top: 1em;
  		margin-bottom: .4em;
  	}
  	@media (max-width: 1366px) {
  		h2 { @include fontTitle_4; }
  		h3 { @include fontTitle_3; }
  		h4 { @include fontTitle_2; }
  	}
  	@media (max-width: 768px) {
  		h2 { @include fontTitle_3; }
  		h3 { @include fontTitle_2; }
  		h4 { @include fontTitle_1; }
  	}
  */
}
.moduleTextLong .bodytext ul, .moduleTextLong .bodytext ol {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  list-style-type: square;
  margin-left: 1em;
  padding-left: 0;
}
.moduleTextLong .bodytext ol {
  list-style-type: decimal;
  margin-left: 1.1em;
}
.moduleTextLong .bodytext ol li {
  padding-left: 0.1em;
}
.moduleTextLong .bodytext ol li::marker {
  font-family: inherit;
}
.moduleTextLong .bodytext li {
  line-height: 1.5em;
  margin-bottom: 0.3em;
}
.moduleTextLong .bodytext ul li:last-child {
  margin-bottom: 0;
}

.moduleCtaBigImageList {
  --ctaItemBorderColor: transparent;
  /* Font sizes and faces */
}
.moduleCtaBigImageList .inner {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.moduleCtaBigImageList .ctaItemList {
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
  align-items: center;
  column-gap: var(--colGap);
}
.moduleCtaBigImageList .ctaItem {
  flex-shrink: 0;
  flex-grow: 0;
  border: 1px solid var(--ctaItemBorderColor);
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
}
.moduleCtaBigImageList .ctaItem img {
  width: 100%;
  max-width: 100%;
}
.moduleCtaBigImageList .ctaItem img, .moduleCtaBigImageList .ctaText {
  position: relative;
  z-index: 20;
}
.moduleCtaBigImageList .effectbox {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  transition: transform 0.25s cubic-bezier(0.38, 0.01, 0.4, 1);
  --slideOutDist: calc(var(--colGap) / 2);
  --slideOutDistNeg: calc(calc(var(--colGap) / 2) * -1);
}
.moduleCtaBigImageList .effectbox_topright {
  background-color: var(--color_blueLight);
}
.moduleCtaBigImageList .effectbox_bottomleft {
  background-color: var(--color_offwhite);
}
.moduleCtaBigImageList .ctaItem:hover .effectbox_topright {
  transform: translate(var(--slideOutDist), var(--slideOutDistNeg));
}
.moduleCtaBigImageList .ctaItem:hover .effectbox_bottomleft {
  transform: translate(var(--slideOutDistNeg), var(--slideOutDist));
}
.moduleCtaBigImageList h2 {
  margin-bottom: 1em;
}
.moduleCtaBigImageList .ctaText {
  text-align: center;
  /*padding-top: 1.5em;
  padding-bottom: 1.9em;*/
  min-height: 5em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 0.5em;
  padding-right: 0.5em;
  background-color: white;
}
@media (max-width: 1366px) {
  .moduleCtaBigImageList .ctaItem {
    width: var(--colW_2);
  }
}
@media (max-width: 767px) {
  .moduleCtaBigImageList .ctaItemList {
    flex-wrap: wrap;
    column-gap: unset;
    row-gap: var(--colGap);
    justify-content: space-between;
  }
  .moduleCtaBigImageList .ctaItem {
    width: var(--colW_2);
  }
}
.moduleCtaBigImageList h2 {
  font-family: AmaliaRegular;
}
.moduleCtaBigImageList .ctaText {
  font-family: AmaliaRegular;
}
.moduleImageBreaker {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.moduleImageBreaker .inner {
  height: 100vh;
  min-height: 40vw;
  color: white;
}
.moduleImageBreaker .topImage {
  height: 100%;
}
.moduleImageBreaker .topImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.moduleImageBreaker .topImage::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: black;
  mix-blend-mode: multiply;
  opacity: 0;
  z-index: 2;
}
.moduleImageBreaker .topImage.darken_10::after {
  opacity: 0.1;
}
.moduleImageBreaker .topImage.darken_25::after {
  opacity: 0.25;
}
.moduleImageBreaker h1 {
  width: var(--colW_8);
  position: absolute;
  z-index: 3;
  bottom: 110px; /* must clear scroll indicator (well actually not, but use same margins as top */
  font-family: AmaliaRegular;
}
.moduleImageBreaker h1.longText {
  width: var(--colW_10);
}
@media (max-width: 1366px) {
  .moduleImageBreaker h1 {
    width: var(--colW_7);
    bottom: 80px;
  }
  .moduleImageBreaker h1.longText {
    width: var(--colW_7);
  }
}
.moduleImageBreaker.textPosition_centered h1 {
  text-align: center;
  left: 50%;
  top: 50%;
  bottom: unset;
  transform: translate(-50%, -50%);
}
@media (max-aspect-ratio: 5/4) {
  .moduleImageBreaker .inner {
    height: 80vh;
    min-height: 80vh;
  }
}
@media (max-width: 767px) {
  .moduleImageBreaker h1 {
    bottom: 80px; /* must clear scroll indicator*/
  }
  .moduleImageBreaker h1, .moduleImageBreaker h1.longText {
    width: calc(100% - var(--gutter) * 2);
  }
}
