/* Google Fonts Embed
________________________________________*/
/* new-amsterdam-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'New Amsterdam';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/new-amsterdam-v1-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/inter-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/inter-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/inter-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* Common
________________________________________*/
html, body {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-size: 21px;
	line-height: 34px;
}

body * {
	hyphens: none !important;
	-webkit-hyphens: none !important;
}

/* Top link styling
________________________________________*/
.top-link {
	background: rgba(255,255,255,0.8);
	transition: all .3s ease-in-out;
	-webkit-box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1); 
	box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
	backdrop-filter: blur(3px);
}

.top-link:hover {
	background: rgba(255,255,255,1);
	transition: all .3s ease-in-out;
}

.top-link a {
	font-size: 18px;
}

.top-link a:hover::after {
	display: none;
}

.top-link a i {
	color: #000;
}

.top-link .progress-ring circle {
	stroke: var(--bg-customColor1);
}


/* Gutveina – project-specific styling
________________________________________*/
:root {
  --gv-white: #ffffff;
  --gv-cream: #eee9df;
  --gv-greige: #cecbc3;
  --gv-taupe: #5e5147;
  --gv-text: #3f3f3f;
  --gv-footer: #65564d;

  --gv-page-gutter: clamp(28px, 5vw, 96px);
  --gv-content-width: 1380px;
  --gv-radius: 24px;
  
  --mobile-header-height: 140px;
}

/* Reset / typography
________________________________________*/
html {
  font-size: 100%;
}

body {
  color: var(--gv-text);
  background: var(--gv-white);
}

body,
input,
textarea,
select,
button {
  font-family: 'Inter', Arial, sans-serif;
}

p,
ul,
ol {
  margin-top: 0;
  margin-bottom: 18px;
}

p:last-child,
ul:last-child,
ol:last-child {
  margin-bottom: 0;
}

h1,
.h1 {
  margin: 0 0 27px;
  color: var(--gv-text);
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(32px, 2.2vw, 42px);
  font-weight: 300;
  line-height: 1.285714; /* 42/54 */
  letter-spacing: .03em;
}

h2,
.h2,
.ce_headline_extended h2 {
  margin: 0;
  color: var(--gv-taupe);
  font-family: 'New Amsterdam', sans-serif;
  font-size: clamp(44px, 3.125vw, 60px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body,
p,
li {
  font-size: clamp(17px, 1.1vw, 21px);
  font-weight: 400;
  line-height: 1.619; /* 21/34 */
  letter-spacing: .03em;
}

a,
a:visited {
	position: relative;
	display: inline-block;
	color: var(--gv-taupe);
	font-weight: 700;
	letter-spacing: .03em;
	text-decoration: none !important;
	transition: color .25s ease;
}

#main a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;

	width: 100%;
	height: 1px;

	background: currentColor;

	transform: scaleX(0);
	transform-origin: left center;

	transition: transform .28s ease;
}

a:hover,
a:focus-visible {
	color: var(--gv-text);
}

#main a:hover::after,
#main a:focus-visible::after {
	transform: scaleX(1);
}

#footer a:hover {
  opacity: 0.8;
}

.small {
  font-size: 0.8rem;
  font-weight: 700;
  padding-left: 5px;
}

.ce_text.block {
  overflow: visible;
}

/* Header / navigation
________________________________________*/
.home #top-wrapper,
.home #header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 30;
  background: transparent;
}

.home #header .inside {
  width: 100%;
  max-width: none;
  min-height: 150px;
  padding: clamp(34px, 4.2vw, 78px) var(--gv-page-gutter) 0;
}

.home #header .logo {
  position: absolute;
  top: clamp(34px, 4.2vw, 78px);
  left: var(--gv-page-gutter);
  width: clamp(250px, 24vw, 470px);
  height: clamp(54px, 5vw, 92px);
}

#header .logo a::after {
	display: none;
}

.home #header .mainmenu {
  float: right;
  width: auto;
  margin-right: 0;
}

.home #header .mainmenu .level_1,
.home #header .mainmenu .inner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.mainmenu ul li {
	margin-left: 12px;
	margin-right: 12px;
}

.header .mainmenu ul li a.a-level_1.trail:not(.highlight) span, .header .mainmenu ul li a.a-level_1.active:not(.highlight) span {
	border-bottom: none;
}

/* Theme-Floats und mögliche Vertikalversätze neutralisieren */
.home #header .mainmenu li,
.home #header .mainmenu .float_left,
.home #header .mainmenu .float_right,
.home #header .mainmenu .mlist,
.home #header .mainmenu .inner {
  float: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* Alle Navigationspunkte exakt auf dieselbe Grundlinie setzen */
.home #header .mainmenu a,
.home #header .mainmenu .mainmenu_link {
  position: relative;
  display: block;

  margin: 0;
  padding: 0;

  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;

  color: #fff;
  font-size: clamp(13px, .9vw, 17px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .09em;
  text-transform: uppercase;
}

/* Sämtliche vom Theme erzeugten unteren Linien entfernen */
.home #header .mainmenu a::after,
.home #header .mainmenu .mainmenu_link::after {
  display: none !important;
  content: none !important;
}

/* Aktiver Navigationspunkt */
.home #header .mainmenu a.active,
.home #header .mainmenu li.active > a,
.home #header .mainmenu .mainmenu_link.active {
  color: #e9e4d9;
}

/* Linie 8 px oberhalb des aktiven Navigationspunkts */
.home #header .mainmenu a.active::before,
.home #header .mainmenu li.active > a::before,
.home #header .mainmenu .mainmenu_link.active::before {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  left: 0;

  display: block;
  height: 2px;

  content: '';
  background: #e9e4d9;
}

/* Keine Linie und kein Effekt beim Hover inaktiver Punkte */
.home #header .mainmenu a:not(.active):hover,
.home #header .mainmenu a:not(.active):focus-visible {
  color: #fff;
  border: 0 !important;
  box-shadow: none !important;
}

/* Hide unused theme header helpers on desktop */
.home #header .mod_langswitcher,
.home #header .mod_socials,
.home #header .mod_search,
.home #header .smartmenu {
  display: none;
}

/* Hero
________________________________________*/
.home #slider {
  position: relative;
  z-index: 1;
  overflow: visible;
  background: transparent;
}

.home #slider > .inside {
  overflow: visible;
}

.home #article-1 {
  --hero-height: 795px;
  --hero-overhang: clamp(38px, 3vw, 64px);
  --hero-cut-top: 43%;
  --hero-cut-bottom: 27%;

  position: relative;
  min-height: calc(var(--hero-height) + var(--hero-overhang));
  padding: 0;
  overflow: visible;
  background: linear-gradient(
	to bottom,
	var(--gv-white) 0,
	var(--gv-white) var(--hero-height),
	var(--gv-cream) var(--hero-height),
	var(--gv-cream) 100%
  );
}

.home #article-1 > .container {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: calc(var(--hero-height) + var(--hero-overhang));
  margin: 0;
  padding: 0;
}

.home #article-1 .ce_image {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  overflow: hidden;
  -webkit-clip-path: polygon(
	var(--hero-cut-top) 0,
	100% 0,
	100% 100%,
	var(--hero-cut-bottom) 100%
  );
  clip-path: polygon(
	var(--hero-cut-top) 0,
	100% 0,
	100% 100%,
	var(--hero-cut-bottom) 100%
  );
}

.home #article-1 .ce_image figure,
.home #article-1 .ce_image picture,
.home #article-1 .ce_image img {
  display: block;
  width: 100%;
  height: 100%;
}

.home #article-1 .ce_image img {
  width: calc(100% - var(--hero-cut-bottom));
  height: 100%;
  margin-left: var(--hero-cut-bottom);

  object-fit: cover;
  object-position: left bottom;
}

.home #article-1 .claim {
  position: absolute;
  z-index: 3;
  left: var(--gv-page-gutter);
  bottom: calc(var(--hero-overhang) + clamp(42px, 5vw, 95px));
  width: min(31vw, 520px);
  margin: 0;
}

.home #article-1 .claim p {
  margin: 0;
  color: var(--gv-text);
  font-size: clamp(25px, 1.875vw, 36px);
  font-weight: 300;
  line-height: 1.333333; /* 36/48 */
  letter-spacing: .015em;
}



/* Subpage header / hero
________________________________________*/
.content_page #top-wrapper,
.content_page #header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 30;
  background: transparent;
}

.content_page #header .inside {
  width: 100%;
  max-width: none;
  min-height: 150px;
  padding: clamp(34px, 4.2vw, 78px) var(--gv-page-gutter) 0;
}

.content_page #header .logo {
  position: absolute;
  top: 50px;
  left: var(--gv-page-gutter);
  width: 236px;
  height: auto;
  aspect-ratio: 470 / 92;
}

.content_page #header .mainmenu {
  float: right;
  width: auto;
  margin-right: 0;
}

.content_page #header .mainmenu .level_1,
.content_page #header .mainmenu .inner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.content_page #header .mainmenu li,
.content_page #header .mainmenu .float_left,
.content_page #header .mainmenu .float_right,
.content_page #header .mainmenu .mlist,
.content_page #header .mainmenu .inner {
  float: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.content_page #header .mainmenu a,
.content_page #header .mainmenu .mainmenu_link {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #fff;
  font-size: clamp(13px, .9vw, 17px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.content_page #header .mainmenu a::after,
.content_page #header .mainmenu .mainmenu_link::after {
  display: none !important;
  content: none !important;
}

.content_page #header .mainmenu a.active,
.content_page #header .mainmenu li.active > a,
.content_page #header .mainmenu .mainmenu_link.active,
.content_page #header .mainmenu a.trail,
.content_page #header .mainmenu li.trail > a {
  color: #e9e4d9;
}

.content_page #header .mainmenu a.active::before,
.content_page #header .mainmenu li.active > a::before,
.content_page #header .mainmenu .mainmenu_link.active::before,
.content_page #header .mainmenu a.trail::before,
.content_page #header .mainmenu li.trail > a::before {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  left: 0;
  display: block;
  height: 2px;
  content: '';
  background: #e9e4d9;
}

.content_page #header .mainmenu a:not(.active):not(.trail):hover,
.content_page #header .mainmenu a:not(.active):not(.trail):focus-visible {
  color: #fff;
  border: 0 !important;
  box-shadow: none !important;
}

.content_page #header .mod_langswitcher,
.content_page #header .mod_socials,
.content_page #header .mod_search,
.content_page #header .smartmenu {
  display: none;
}

.content_page #slider {
  position: relative;
  z-index: 1;
  overflow: visible;
  background: transparent;
}

/* Dezenter Kontrastverlauf hinter der Navigation */
.home #article-1 .ce_image::after,
.content_page #slider .ce_image::after {
  position: absolute;
  z-index: 2;
  inset: 0;

  content: "";
  pointer-events: none;

  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, .26) 0,
    rgba(0, 0, 0, .16) 100px,
    rgba(0, 0, 0, .05) 220px,
    rgba(0, 0, 0, 0) 340px
  );
}

.content_page #slider > .inside {
  overflow: visible;
}

.content_page #slider .mod_article {
  --hero-height: 600px;
  --hero-overhang: clamp(38px, 3vw, 64px);
  --hero-cut-top: 43%;
  --hero-cut-bottom: 27%;

  position: relative;
  min-height: calc(var(--hero-height) + var(--hero-overhang));
  padding: 0;
  overflow: visible;
  background: linear-gradient(
    to bottom,
    var(--gv-white) 0,
    var(--gv-white) var(--hero-height),
    var(--bodyBackgroundColor) var(--hero-height),
    var(--bodyBackgroundColor) 100%
  );
}

.content_page #slider .mod_article > .container {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: calc(var(--hero-height) + var(--hero-overhang));
  margin: 0;
  padding: 0;
}

.content_page #slider .ce_image {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  overflow: hidden;
  -webkit-clip-path: polygon(
    var(--hero-cut-top) 0,
    100% 0,
    100% 100%,
    var(--hero-cut-bottom) 100%
  );
  clip-path: polygon(
    var(--hero-cut-top) 0,
    100% 0,
    100% 100%,
    var(--hero-cut-bottom) 100%
  );
}

.content_page #slider .ce_image figure,
.content_page #slider .ce_image picture,
.content_page #slider .ce_image img {
  display: block;
  width: 100%;
  height: 100%;
}

.content_page #slider .ce_image img {
  width: calc(100% - var(--hero-cut-bottom));
  height: 100%;
  margin-left: var(--hero-cut-bottom);
  object-fit: cover;
  object-position: left bottom;
}

.content_page #slider h1 {
  position: absolute;
  z-index: 3;
  top: 100px;
  left: var(--gv-page-gutter);
  width: min(30vw, 540px);
  margin: 0;
  color: var(--gv-taupe);
  font-family: 'New Amsterdam', sans-serif;
  font-size: 60px;
  font-weight: 400;
  line-height: 60px;
  letter-spacing: .2em;
  text-transform: uppercase;
}


/* Intro / visual continuation of hero
________________________________________*/
.home #article-27 {
  position: relative;
  z-index: 0;
  margin-top: 0;
  padding:
	clamp(0px, calc(9vw - 132px), 38px)
	0
	clamp(0px, calc(8vw - 132px), 28px);
  overflow: hidden;
  background: var(--gv-cream);
}

.home #article-27::after {
  position: absolute;
  right: clamp(-70px, -2vw, -20px);
  bottom: clamp(-160px, -8vw, -85px);
  z-index: 0;
  content: 'V';
  color: rgba(255, 255, 255, .34);
  font-family: 'New Amsterdam', sans-serif;
  font-size: clamp(340px, 34vw, 650px);
  font-weight: 400;
  line-height: .72;
  pointer-events: none;
}

.home #article-27 > .container {
  position: relative;
  z-index: 1;
  width: min(calc(100% - (2 * var(--gv-page-gutter))), 1120px);
  max-width: 1120px;
}

.home #article-27 .ce_text {
  max-width: 980px;
  margin: 0 auto;
}

.home #article-27 p {
  margin-bottom: 0;
}

/* Broken-grid teaser area
________________________________________*/
.home #article-21 {
  padding: clamp(90px, 8vw, 150px) 0 clamp(120px, 10vw, 190px);
  background: var(--gv-greige);
}

.home #article-21 > .container {
  width: min(calc(100% - (2 * var(--gv-page-gutter))), 1180px);
  max-width: 1180px;
}

.home #article-21 .autogrid_row {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(65px, 8vw, 150px);
  align-items: start;
  margin: 0;
}

.home #article-21 .column {
  float: none;
  width: auto;
  padding: 0;
}

.home #article-21 .column:nth-child(2) {
  padding-top: clamp(130px, 12vw, 230px);
}

.home #article-21 .ce_image_extended figure,
.home #article-21 .ce_image_extended picture,
.home #article-21 .ce_image_extended img {
  display: block;
  width: 100%;
}

.home #article-21 .ce_image_extended figure {
  overflow: hidden;
  border-radius: var(--gv-radius);
}

.home #article-21 .ce_image_extended img {
  transition: transform .45s ease;
}

.home #article-21 .ce_image_extended a:hover img,
.home #article-21 .ce_image_extended a:focus-visible img {
  transform: scale(1.025);
}

.home #article-21 .ce_headline_extended {
  margin-top: clamp(28px, 2vw, 42px) !important;
  margin-bottom: clamp(18px, 1.5vw, 28px) !important;
}

.home #article-21 .ce_text_extented {
  max-width: 440px !important;
}

.home #article-21 .ce_text_extented p {
  margin-bottom: 18px;
}

.home #article-21 .ce_text_extented a {
  display: inline-block;
}

.home #article-21 .column:first-child > .attributes > .ce_image_extended:first-child .ce_image_extended_inside {
  margin-right: 12% !important;
  margin-left: 10% !important;
}

.home #article-21 .column:first-child > .attributes > .ce_text_extented:nth-of-type(3) {
  margin-right: auto;
  margin-left: auto;
}

.home #article-21 .column:first-child > .attributes > .ce_image_extended.mt-l {
  margin-top: clamp(100px, 10vw, 185px) !important;
}

.home #article-21 .column:first-child > .attributes > .ce_image_extended.mt-l .ce_image_extended_inside {
  margin-right: 4% !important;
  margin-left: 0 !important;
}

.home #article-21 .column:first-child .ce_headline_extended.align-right,
.home #article-21 .column:first-child .ce_text_extented.align-right {
  max-width: 470px !important;
  margin-left: 0;
  text-align: center;
}

.home #article-21 .column:nth-child(2) .ce_image_extended_inside {
  width: 78%;
  margin-left: auto;
}

.home #article-21 .column:nth-child(2) .ce_headline_extended,
.home #article-21 .column:nth-child(2) .ce_text_extented {
  width: 78%;
  margin-right: 0;
  margin-left: auto;
  text-align: left;
}

form span.mandatory {
  display: none;
}

input.submit, button.submit {
  border-radius: 0;
  letter-spacing: 0.06rem;
  font-weight: 700;
  padding-top: var(--hyperlink-default-padding-top);
  padding-bottom: 45px !important;
  font-size: var(--hyperlink-default-font-size);
  line-height: var(--hyperlink-default-line-height);
  color: #deded3;
  text-transform: uppercase;
}

:focus-visible {
  outline: 0;
}

input:active {
  transform: scale(1);
}

.form-confirmation p {
  text-align: center;
  padding: 50px 0 200px;
}

/* Footer
________________________________________*/
#bottom {
  display: none;
}

#footer {
  position: relative;
  min-height: clamp(470px, 34vw, 650px);
  overflow: hidden;
  color: #fff;
  background: var(--gv-greige);
}

#footer::before {
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: min(76vw, 1460px);
  content: '';
  background: var(--gv-footer);
  -webkit-clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
}

#footer > .inside {
  position: relative;
  z-index: 1;
  width: min(68vw, 1250px);
  max-width: 1250px;
  min-height: inherit;
  margin: 0;
  padding: clamp(78px, 7vw, 130px) var(--gv-page-gutter) clamp(65px, 6vw, 110px);
}

#footer .column {
  float: none;
  width: auto;
  padding: 0;
}

#footer .column:nth-child(3) {
  display: none;
}

#footer .column > .attributes {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#footer h5,
#footer p,
#footer a {
  color: #fff;
  font-size: clamp(15px, .95vw, 18px);
  font-weight: 400;
  line-height: 1.555556; /* 18/28 */
  letter-spacing: .03em;
}

#footer h5 {
  margin: 0 0 4px;
}

#footer .call-now > p a {
  font-size: clamp(30px, 2.25vw, 43px);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: .015em;
  color: var(--gv-greige);
}

#footer .column:nth-child(2) > .attributes > .ce_image {
  margin-top: 22px !important;
}

#footer .column:nth-child(2) > .attributes > .ce_image img {
  width: clamp(175px, 14vw, 265px);
  height: auto;
}

#footer .ce_divider_extended {
  margin: clamp(26px, 2vw, 38px) 0 !important;
  background: var(--gv-greige);
  width: 40px;
}

#footer .column:nth-child(1) .claim {
  margin-top: auto !important;
}

#footer .column:nth-child(1) .claim p {
  color: #fff;
  font-size: clamp(17px, 1.1vw, 21px);
  font-weight: 300;
  line-height: 1.333333;
  letter-spacing: .015em;
}

#footer .column:nth-child(2) .ce_text {
  display: flex;
  flex: 1;
  flex-direction: column;
}

#footer .legal {
  margin-top: auto;
  color: var(--gv-greige);
  font-size: clamp(12px, .73vw, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: .09em;
  text-transform: uppercase;
}

#footer .legal a {
  color: var(--gv-greige);
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* Responsive
________________________________________*/
@media (max-width: 1180px) {
  .home #article-1 {
	--hero-height: clamp(650px, 72vw, 850px);
	--hero-cut-top: 47%;
	--hero-cut-bottom: 28%;
  }

  .home #header .logo {
	width: clamp(220px, 27vw, 330px);
  }

  .content_page #slider .mod_article {
    --hero-cut-top: 47%;
    --hero-cut-bottom: 28%;
  }

  .content_page #header .logo {
    top: 50px;
    width: 210px;
  }

  .content_page #slider h1 {
    top: 98px;
    font-size: 54px;
    line-height: 54px;
  }

  .home #article-21 > .container {
	width: min(calc(100% - 70px), 980px);
  }

  #footer::before {
	width: 88vw;
  }

  #footer > .inside {
	width: 78vw;
  }
}

@media (max-width: 1024px) {
  .home #header .mainmenu,
  .content_page #header .mainmenu {
	display: none;
  }

  .home #article-1 {
	--hero-height: 720px;
	--hero-overhang: 42px;
	--hero-cut-top: 51%;
	--hero-cut-bottom: 31%;
  }

  .home #article-1 .claim {
	width: 34vw;
  }

  .content_page #slider .mod_article {
    --hero-height: 560px;
    --hero-overhang: 42px;
    --hero-cut-top: 51%;
    --hero-cut-bottom: 31%;
  }

  .content_page #slider h1 {
    top: 98px;
    font-size: 54px;
    line-height: 54px;
  }

  .home #article-21 .autogrid_row {
	gap: 65px;
  }
  
  #footer {
	  background: var(--gv-footer);
  }

  #footer::before {
	width: 100%;
	-webkit-clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%);
  }

  #footer > .inside {
	width: 88%;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
	.home #header .smartmenu,
    .content_page #header .smartmenu {
		display: block;
	  }
	
	.smartmenu .smartmenu-trigger {
		  height: 45px;
	  }
	  
	  .smartmenu .smartmenu-trigger .line:before {
		  margin-top: 10px;
	  }
	  
	  .smartmenu .smartmenu-trigger .line, .smartmenu .smartmenu-trigger .line:before, .smartmenu .smartmenu-trigger .line:after, .smartmenu-content .smartmenu-close:before, .smartmenu-content .smartmenu-close:after {
		  height: 2px;
	  }
	  
	  .smartmenu-content {
		  width: 100vw;
	  }
	  
	  .smartmenu-content .mod_navigation ul.level_1 {
		  text-align: center;
	  }
	  
	  .smartmenu-content .mod_navigation a {
		  font-size: 2rem;
		  font-weight: 300;
		  line-height: 1.66;
	  }
	  
	  .smartmenu-content .mod_navigation a:after {
		  display: none;
	  }
	  
	  .smartmenu-content .mod_navigation a.active, .smartmenu-content .mod_navigation a.trail {
		  border-bottom: none;
		  opacity: 0.33;
	  }
}

@media (max-width: 767px) {
  :root {
	--gv-page-gutter: 24px;
	--gv-radius: 18px;
  }

  body,
  p,
  li {
	font-size: 17px;
	line-height: 1.6;
  }

  .home #header .inside {
	min-height: 96px;
	padding-top: 26px;
  }
  
  .header.cloned {
	  display: none;
  }

  .home #header .logo {
	top: 25px;
	width: min(57vw, 240px);
	height: 50px;
  }

  .content_page #header .inside {
    min-height: 96px;
    padding-top: 26px;
  }

  .content_page #header .logo {
    top: 25px;
    width: 175px;
    height: auto;
  }
  
  .mmenu_trigger {
	  display: flex;
	  right: 20px;
  }
  
  .mmenu_open #mmenu {
    top: var(--mobile-header-height) !important;
    height: calc(100% - var(--mobile-header-height)) !important;
  }
  
  #mmenu .mod_navigation li a {
		font-size: 2rem;
		font-weight: 300 !important;
	}
  
  #mmenu .mod_navigation li a.open, #mmenu .mod_navigation li a.active, #mmenu .mod_navigation li a:focus, #mmenu .mod_navigation li a:visited {
	  opacity: 0.33;
  }
  
  #mmenu .mod_navigation li a:hover::after {
	  display: none;
  }

  .home #article-1 {
	--hero-height: auto;
	--hero-overhang: 0px;

	display: flex;
	min-height: 0;
	padding-top: 110px;
	background: var(--gv-white);
  }
  
  .home #article-1 .ce_image figure,
  .home #article-1 .ce_image picture,
  .home #article-1 .ce_image img {
	width: 100%;
	height: 100%;
	margin: 0;
  }
  
  .home #article-1 .ce_image img {
	object-fit: cover;
	object-position: center center;
  }

  .home #article-1 > .container {
	display: flex;
	flex-direction: column;
	min-height: 0;
  }

  .home #article-1 .ce_image {
	position: relative;
	order: 2;
	width: 100%;
	height: min(82vw, 560px);
	margin: 0;
	-webkit-clip-path: none;
	clip-path: none;
  }

  .home #article-1 .ce_image img {
	object-position: 57% center;
  }

  .home #article-1 .claim {
	position: relative;
	order: 1;
	left: auto;
	bottom: auto;
	width: 100%;
	padding: 60px var(--gv-page-gutter) 35px;
  }

  .home #article-1 .claim p {
	font-size: 25px;
	line-height: 1.35;
  }
  
  .home #article-21 .column:first-child > .attributes > .ce_text_extented:nth-of-type(3) {
	  margin-left: 0;
  }

  .content_page #slider {
    background: var(--gv-white);
  }

  .content_page #slider > .inside {
    overflow: visible;
  }

  .content_page #slider .mod_article {
    --mobile-header-height: 165px;

    display: block;
    min-height: 0;
    padding: 0;
    overflow: visible;
    background: var(--gv-white);
  }

  .content_page #slider .mod_article > .container {
    position: relative;
    display: block;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: var(--mobile-header-height) 0 0;
  }

  .content_page #slider h1 {
    position: absolute;
    z-index: 3;
    top: 62px;
    left: var(--gv-page-gutter);
    width: calc(100% - (2 * var(--gv-page-gutter)));
    margin: 0;
    padding: 0;
    font-size: 48px;
    line-height: 48px;
  }

  .content_page #slider .ce_image {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    display: block;
    width: 100%;
    height: min(70vw, 480px);
    margin: 0;
    overflow: hidden;
    -webkit-clip-path: none;
    clip-path: none;
  }

  .content_page #slider .ce_image figure,
  .content_page #slider .ce_image picture,
  .content_page #slider .ce_image img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .content_page #slider .ce_image img {
    object-fit: cover;
    object-position: center center;
  }


  .home #article-27 {
	padding: 0;
  }

  .home #article-27::after {
	right: -60px;
	bottom: -75px;
	font-size: 330px;
  }

  .home #article-21 {
	padding: 85px 0 0;
  }

  .home #article-21 > .container {
	width: calc(100% - 48px);
  }

  .home #article-21 .autogrid_row {
	display: block;
  }

  .home #article-21 .column:nth-child(2) {
	padding-top: 80px;
  }

  .home #article-21 .column:first-child > .attributes > .ce_image_extended:first-child .ce_image_extended_inside,
  .home #article-21 .column:first-child > .attributes > .ce_image_extended.mt-l .ce_image_extended_inside,
  .home #article-21 .column:nth-child(2) .ce_image_extended_inside,
  .home #article-21 .column:nth-child(2) .ce_headline_extended,
  .home #article-21 .column:nth-child(2) .ce_text_extented {
	width: 100%;
	margin-right: 0 !important;
	margin-left: 0 !important;
  }

  .home #article-21 .column:first-child > .attributes > .ce_image_extended.mt-l {
	margin-top: 80px !important;
  }

  .home #article-21 .column:first-child .ce_headline_extended.align-right,
  .home #article-21 .column:first-child .ce_text_extented.align-right,
  .home #article-21 .column:nth-child(2) .ce_headline_extended,
  .home #article-21 .column:nth-child(2) .ce_text_extented {
	max-width: none !important;
	text-align: left;
  }
  
  .mobile-left, .mobile-left * {
	  text-align: left !important;
  }

  #footer {
	min-height: 0;
	background: var(--gv-footer);
  }

  #footer::before {
	display: none;
  }

  #footer > .inside {
	width: 100%;
	min-height: 0;
	padding: 70px var(--gv-page-gutter);
  }

  #footer .autogrid_row {
	display: block;
  }

  #footer .column:nth-child(2) {
	margin-top: 60px;
  }

  #footer .column:nth-child(1) .claim,
  #footer .legal {
	margin-top: 20px !important;
  }
}
