*, *::before, *::after {
  box-sizing: border-box; }

* {
  margin: 0; }

html, body {
  height: 100%; }

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%; }

input, button, textarea, select {
  font: inherit; }

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word; }

#root, #__next {
  isolation: isolate; }

h1, h2, h3, h4, h5, h6, strong {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* montserrat-100 - 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: 'Montserrat';
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/montserrat-v31-latin-100.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-100italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 100;
  src: url("../fonts/montserrat-v31-latin-100italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-200 - 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: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/montserrat-v31-latin-200.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-200italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 200;
  src: url("../fonts/montserrat-v31-latin-200italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/montserrat-v31-latin-300.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-300italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/montserrat-v31-latin-300italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/montserrat-v31-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/montserrat-v31-latin-italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/montserrat-v31-latin-500.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-500italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/montserrat-v31-latin-500italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-600 - 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: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/montserrat-v31-latin-600.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-600italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/montserrat-v31-latin-600italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/montserrat-v31-latin-700.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-700italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/montserrat-v31-latin-700italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-800 - 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: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/montserrat-v31-latin-800.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-800italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 800;
  src: url("../fonts/montserrat-v31-latin-800italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-900 - 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: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/montserrat-v31-latin-900.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* montserrat-900italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 900;
  src: url("../fonts/montserrat-v31-latin-900italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
header {
  --header-logo-maxwidth: 300px;
  background-size: cover;
  background-repeat: no-repeat;
  height: var(--header-height);
  padding-block-start: var(--header-padding-start);
  z-index: 60;
  position: relative; }
  @media (min-width: 1024px) {
    header {
      height: var(--header-height-tablet-max); } }
  header .headertop {
    background-color: var(--header-top-background-color);
    height: var(--header-top-height);
    color: var(--header-top-color);
    position: relative;
    padding-top: 15px;
    width: 100%;
    z-index: 50; }
    header .headertop a, header .headertop p {
      color: inherit; }
    header .headertop a {
      text-decoration: none;
      display: block;
      padding-top: 0px;
      background-image: url("../img/phone.png");
      background-repeat: no-repeat;
      padding-left: 25px; }
      @media (min-width: 767px) {
        header .headertop a {
          position: absolute;
          left: 50%;
          transform: translateX(-50%); } }
  header .headermain {
    background-color: var(--white);
    position: relative; }
    @media (min-width: 1200px) {
      header .headermain {
        height: 125px; } }
  header .inlay {
    max-width: var(--maxwidth);
    margin-inline: auto;
    padding-inline: var(--masterframe-inline-padding); }
    @media (min-width: 1024px) {
      header .inlay {
        display: grid;
        grid-template-columns: 1fr 1fr; } }
  header .logo {
    width: 100%;
    max-width: var(--header-logo-maxwidth);
    margin-block-end: var(--header-logo-margin-block-end);
    position: relative;
    z-index: var(--header-logo-z-index); }
    header .logo img {
      width: 100%;
      height: auto; }
      @media (min-width: 1024px) {
        header .logo img {
          width: 100%;
          height: auto;
          object-fit: unset; } }
    @media (min-width: 1024px) {
      header .logo {
        padding-inline-end: var(--size-25);
        margin-block-start: var(--header-logo-margin-block-start-tablet-max); } }
    @media (min-width: 1200px) {
      header .logo {
        padding-inline-end: 0;
        left: -12px; } }

.activenavigation .social-links {
  display: grid;
  max-width: var(--activenavigation-social-links-max-width);
  grid-template-columns: repeat(1, 1fr);
  justify-content: center;
  position: absolute;
  bottom: var(--activenavigation-social-links-bottom);
  left: var(--activenavigation-social-links-left);
  gap: 0 var(--activenavigation-social-links-gap);
  transform: translateX(-50%);
  z-index: var(--activenavigation-social-links-z-index); }

.page-404 header {
  max-height: var(--page-404-header-max-height); }

.menuarea {
  position: absolute;
  top: var(--header-menuarea-top);
  right: var(--masterframe-inline-padding);
  z-index: var(--header-menuarea-z-index); }
  @media (min-width: 1024px) {
    .menuarea {
      display: none; } }

.menubutton span {
  display: block;
  height: var(--header-menubutton-line-height);
  margin-block-end: var(--size-5);
  position: relative; }
.menubutton .top {
  background-color: var(--white);
  width: var(--header-menubutton-top-width);
  left: var(--header-menubutton-top-left); }
.menubutton .center {
  width: var(--header-menubutton-center-width);
  background-color: var(--white); }
.menubutton .bottom {
  width: var(--header-menubutton-bottom-width);
  left: var(--header-menubutton-bottom-left);
  background-color: var(--white); }

.activemenuarea {
  z-index: var(--activemenuarea-z-index);
  right: var(--activemenuarea-right) !important;
  top: var(--activemenuarea-top) !important; }
  .activemenuarea .menubutton .top,
  .activemenuarea .menubutton .bottom {
    width: var(--activemenuarea-line-width); }
  .activemenuarea .menubutton span.center {
    display: none; }
  .activemenuarea .menubutton span.top {
    transform: rotate(45deg); }
  .activemenuarea .menubutton span.bottom {
    transform: rotate(-45deg);
    position: relative;
    top: var(--activemenuarea-bottom-top); }

.ctabutton {
  --ctabutton-global-fontfamily: var(--heading-font-family);
  --ctabutton-global-textalign: center;
  --ctabutton-global-fontsize: var(--size-14);
  --ctabutton-global-text-decoration: none;
  --ctabutton-global-height: 40px;
  --ctabutton-global-padding-top: var(--size-10);
  --ctabutton-global-font-weight: 600;
  --ctabutton-global-padding-inline: var(--size-20);
  --ctabutton-global-transition: all .25s linear;
  --ctabutton-global-border-radius: 0px;
  --ctabutton-global-texttransform: uppercase;
  --ctabutton-primary-color: var(--white);
  --ctabutton-primary-background-color: var(--primary-color);
  --ctabutton-primary-hover-background-color: #043F70;
  --ctabutton-primary-white-space: nowrap;
  --ctabutton-primary-border: 1px solid var(--primary-color);
  --ctabutton-seconday-color: white;
  --ctabutton-secondary-background-color: var(--secondary-color);
  --ctabutton-secondary-hover-background-color: var(--secondary-color);
  text-align: var(--ctabutton-global-textalign);
  display: block;
  text-decoration: var(--ctabutton-global-text-decoration);
  height: var(--ctabutton-global-height);
  padding-top: var(--ctabutton-global-padding-top);
  font-size: var(--ctabutton-global-fontsize);
  width: fit-content;
  font-family: var(--ctabutton-global-fontfamily);
  font-weight: var(--ctabutton-global-font-weight);
  overflow-y: hidden;
  padding-inline: var(--ctabutton-global-padding-inline);
  text-transform: var(--ctabutton-global-texttransform);
  transition: var(--ctabutton-global-transition);
  border-radius: var(--ctabutton-global-border-radius);
  position: relative; }
  @media (min-width: 767px) {
    .ctabutton {
      --ctabutton-global-height: 50px;
      --ctabutton-global-padding-top: var(--size-15); } }

.ctabutton-primary {
  color: var(--ctabutton-primary-color);
  background-color: var(--ctabutton-primary-background-color);
  white-space: nowrap; }
  .ctabutton-primary:hover {
    background-color: var(--ctabutton-primary-hover-background-color); }

.ctasecondary {
  color: var(--ctabutton-seconday-color);
  background-color: var(--ctabutton-secondary-background-color);
  white-space: nowrap; }
  .ctasecondary:hover {
    background-color: var(--ctabutton-secondary-hover-background-color); }

.mainnavigation {
  --mainnav-position: fixed;
  --mainnav-height: 0vh;
  --mainnav-background-color: var(--white);
  --mainnav-text-align: center;
  --mainnav-listlevelone-liststyletype: none;
  --mainnav-listlevelone-display: none;
  --mainnav-listlevelone-paddinblockstart: 153px;
  --mainnav-listlevelone-paddinginline: 0;
  --mainnav-listlevelone-opacity: 0;
  --mainnav-listlevelone-transition: opacity .25s ease .01s;
  --mainnav-listlevelone-gap: unset;
  --mainnav-listlevelone-justify-content: unset;
  --mainnav-listlevelone-align-items: unset;
  --mainnav-listlevelone-justify-self: unset;
  position: var(--mainnav-position);
  width: 100%;
  height: var(--mainav-height);
  text-align: var(--mainnav-text-align);
  background-color: var(--mainnav-background-color);
  left: 0;
  z-index: 10;
  transition: height .25s linear; }
  @media (min-width: 767px) {
    .mainnavigation {
      --mainnav-listlevelone-paddinblockstart: 190px; } }
  @media (min-width: 1024px) {
    .mainnavigation {
      --mainnav-listlevelone-gap: 0 var(--size-15);
      --mainnav-position: static;
      --mainav-height: 100px;
      --mainnav-background-color: transparent;
      --mainnav-text-align: unset;
      --mainnav-listlevelone-opacity: 1;
      --mainnav-listlevelone-display: flex;
      --mainnav-listlevelone-paddinblockstart: 33px;
      --mainnav-listlevelone-justify-content: end;
      --mainnav-listlevelone-align-items: center;
      --mainnav-listlevelone-justify-self: end; } }
  @media (min-width: 1200px) {
    .mainnavigation {
      --mainnav-listlevelone-gap: 0 var(--size-25);
      --mainnavigation-list-padding-block-start: var(--size-50); } }
  @media (min-width: 1024px) {
    .mainnavigation {
      margin-block-start: var(--size-20);
      justify-self: end; } }
  .mainnavigation ul {
    list-style-type: var(--mainnav-listlevelone-liststyletype);
    display: var(--mainnav-listlevelone-display);
    padding-block-start: var(--mainnav-listlevelone-paddinblockstart);
    padding-inline: var(--mainnav-listlevelone-paddinginline);
    opacity: var(--mainnav-listlevelone-opacity);
    transition: var(--mainnav-listlevelone-transition);
    gap: var(--mainnav-listlevelone-gap);
    justify-content: var(--mainnav-listlevelone-justify-content);
    align-items: var(--mainnav-listlevelone-align-items);
    justify-self: var(--mainnav-listlevelone-justify-self); }
    .mainnavigation ul li:not(li.page-contact) {
      padding-block-end: var(--size-25); }
    .mainnavigation ul li {
      width: fit-content;
      padding: 6px 10px 4px 10px;
      height: 35px;
      margin-block-end: 15px;
      margin-inline: auto; }
      @media (min-width: 1024px) {
        .mainnavigation ul li {
          margin-inline: unset;
          padding: 2px 10px 4px 10px;
          margin-block-end: 0; } }
      .mainnavigation ul li a {
        font-weight: 500;
        font-family: var(--heading-font-family);
        text-decoration: none;
        font-size: var(--size-14);
        color: var(--navlink-color);
        white-space: nowrap;
        position: relative; }
        .mainnavigation ul li a:after {
          content: "";
          display: block;
          height: 1px;
          background-color: var(--fuchsia);
          width: 0%;
          position: absolute;
          bottom: -1px;
          left: 0;
          transition: all 0.25s linear; }
        .mainnavigation ul li a:hover:after {
          width: 100%; }
      .mainnavigation ul li strong {
        text-shadow: 0 0 0 var(--white), 0.3px 0 0 var(--white);
        text-decoration: none;
        color: var(--secondary-color);
        white-space: nowrap;
        font-size: var(--size-14);
        font-weight: 500; }
      .mainnavigation ul li a, .mainnavigation ul li strong {
        transition: all 0.15s linear;
        font-weight: 700; }
        .mainnavigation ul li a:hover, .mainnavigation ul li strong:hover {
          color: var(--secondary-color); }

@media (min-width: 1200px) {
  .mainnavigation ul li:hover > ul {
    display: block; } }
.activebutton {
  right: 48px; }

.activesubmenu ul {
  display: block !important; }

.activenavigation {
  height: 100vh;
  height: 100dvh;
  top: 0px;
  z-index: -1; }
  .activenavigation ul.level_1 {
    opacity: 1;
    display: block;
    left: 00px; }

.activebutton {
  right: 43px; }

main {
  padding-inline: var(--masterframe-inline-padding);
  margin-inline: auto; }
  main .mod_article:not(.mod_article.conform) {
    margin-block-end: var(--mod-article-distance);
    margin-inline: auto;
    padding-inline: var(--masterframe-inline-padding); }
  main .mod_article:first-of-type {
    padding-block-start: var(--mod-article-distance); }

main {
  /* Inline Elements */ }
  main a {
    color: var(--secondary-color);
    font-weight: 700;
    text-decoration: none; }
  main a:hover {
    text-decoration: none; }
  main h1 {
    grid-area: 1 / 1 / -1 / -1; }
  main p {
    padding-bottom: 1em;
    margin-block-end: var(--size-25); }
  main p:last-of-type {
    padding-bottom: 0; }
  main h1,
  main h2,
  main h3,
  main h4,
  main h5,
  main h6 {
    color: #333;
    font-weight: 500; }
  main h1 a,
  main h2 a,
  main h3 a,
  main h4 a,
  main h5 a,
  main h6 a {
    color: inherit; }
  main h1 {
    font-size: var(--size-25);
    margin-block-end: var(--size-25);
    line-height: 1.5;
    font-weight: 700; }
  main h2 {
    font-size: 26px; }
  main h3 {
    font-size: 22px;
    margin-block-end: var(--size-15); }
  main h4 {
    font-size: 18px; }
  main h5 {
    font-size: 16px; }
  main h6 {
    font-size: 14px; }
  main img {
    max-width: 100%;
    height: auto; }
  main ul, main ol {
    list-style-type: disc;
    margin-inline: 0;
    padding-inline: 20px;
    margin-block: var(--size-25); }

.inlay {
  max-width: 1500px;
  margin-inline: auto;
  height: inherit; }

.graybackground {
  background-color: var(--light-gray);
  padding-block: var(--mod-article-distance); }

.bluebackground {
  padding-inline: var(--masterframe-inline-padding);
  background-color: var(--primary-color);
  padding-block: var(--mod-article-distance);
  color: white; }
  .bluebackground h1, .bluebackground h2, .bluebackground h3, .bluebackground h4, .bluebackground p, .bluebackground a {
    color: inherit; }

@media (min-width: 1024px) {
  .home-services-item .itemsframe {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 var(--size-25); } }
.home-services-item .itemsframe .item {
  background-color: white;
  padding: 25px 15px;
  margin-block-end: var(--size-25); }
  .home-services-item .itemsframe .item .icon {
    margin-block-end: var(--size-25);
    height: 120px; }
  .home-services-item .itemsframe .item .content h3 {
    font-size: var(--size-15) !important;
    font-weight: 700; }
  .home-services-item .itemsframe .item .teasercontent {
    padding-block: var(--size-15); }
    @media (min-width: 1024px) {
      .home-services-item .itemsframe .item .teasercontent {
        height: 150px; } }
  .home-services-item .itemsframe .item img {
    max-width: 200px;
    margin-inline: auto; }

@media (min-width: 1024px) {
  .home-blue-box-services-items .itemsframe {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 var(--size-25); } }
@media (min-width: 1200px) {
  .home-blue-box-services-items .itemsframe {
    gap: 0 var(--size-50); } }
.home-blue-box-services-items .itemsframe .item {
  background-color: white;
  padding: 25px 15px;
  margin-block-end: var(--size-25); }
  .home-blue-box-services-items .itemsframe .item .icon {
    margin-block-end: var(--size-25);
    height: 220px;
    overflow: hidden; }
    @media (min-width: 1200px) {
      .home-blue-box-services-items .itemsframe .item .icon {
        height: 250px; } }
  .home-blue-box-services-items .itemsframe .item .content p, .home-blue-box-services-items .itemsframe .item .content h3:not(a) {
    color: var(--primary-color); }
  .home-blue-box-services-items .itemsframe .item .content h3 {
    font-size: var(--size-25) !important;
    font-weight: 700; }
  .home-blue-box-services-items .itemsframe .item a {
    color: white; }
  .home-blue-box-services-items .itemsframe .item .teasercontent {
    padding-block: var(--size-15); }
    @media (min-width: 1024px) {
      .home-blue-box-services-items .itemsframe .item .teasercontent {
        height: 320px; } }
    @media (min-width: 1200px) {
      .home-blue-box-services-items .itemsframe .item .teasercontent {
        height: 250px; } }
  .home-blue-box-services-items .itemsframe .item img {
    margin-inline: auto; }

.grid-cols-1, .hero {
  width: 100%; }

.grid {
  width: 100%; }

.grid .inlay {
  display: grid;
  width: 100%; }
  .grid .inlay img {
    max-width: 100%;
    height: auto; }
  .grid .inlay h2:not(#article-37 h2) {
    width: 100%;
    grid-column: 1 / -1; }

@media (min-width: 767px) {
  header .grid-cols-2 .inlay {
    grid-template-columns: 1fr 1fr;
    gap: 50px; } }

.bigimage img {
  border-radius: var(--image-border-radius); }

@media (min-width: 1024px) {
  .grid-cols-2:not(.teaserframe .grid-cols-2, header .grid-cols-2) .inlay {
    grid-template-columns: 1fr 1fr;
    gap: 50px; } }
.grid-cols-2:not(.teaserframe .grid-cols-2, header .grid-cols-2) .inlay .content-image {
  order: 1; }
  .grid-cols-2:not(.teaserframe .grid-cols-2, header .grid-cols-2) .inlay .content-image img {
    border-radius: var(--image-border-radius); }
.grid-cols-2:not(.teaserframe .grid-cols-2, header .grid-cols-2) .inlay .content-text {
  order: 2; }
@media (min-width: 1024px) {
  .grid-cols-2:not(.teaserframe .grid-cols-2, header .grid-cols-2) .inlay .content-image, .grid-cols-2:not(.teaserframe .grid-cols-2, header .grid-cols-2) .inlay .content-text {
    order: unset; } }

@media (min-width: 767px) {
  .grid-cols-3 .inlay {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px; } }

@media (min-width: 767px) {
  .grid-cols-4 .inlay {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px; } }
@media (min-width: 1200px) {
  .grid-cols-4 .inlay {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 47px; } }

@media (min-width: 767px) {
  .grid-cols-5 .inlay {
    grid-template-columns: repeat(5, 1fr);
    gap: 15px; } }

.conform {
  order: 2; }
  .conform .ce_form {
    margin-block-start: var(--mod-article-distance);
    max-width: 1051px;
    margin-inline: auto; }
    @media (min-width: 1200px) {
      .conform .ce_form {
        margin-block-start: 50px; } }
  .conform .content-text {
    max-width: 1051px;
    margin-inline: auto; }
  .conform a {
    text-decoration: none; }
  .conform .explanation {
    display: block; }
    @media (min-width: 767px) {
      .conform .explanation {
        position: relative;
        top: 0px; } }
    .conform .explanation p,
    .conform .explanation a {
      font-size: 13px; }
    .conform .explanation a {
      text-decoration: underline; }
    .conform .explanation p {
      text-decoration: none; }
      @media (min-width: 767px) {
        .conform .explanation p {
          margin-top: 2rem; } }
      .conform .explanation p:after {
        top: 2px; }
    .conform .explanation p {
      margin-block-start: 15px; }
  .conform label {
    display: block;
    padding-block-end: 5px; }
  .conform input,
  .conform textarea {
    border: 1px solid #cfccca;
    border-radius: 4px;
    width: 100%;
    padding: 13px;
    margin-block-end: 25px;
    color: #848A92; }
    .conform input:focus,
    .conform textarea:focus {
      border: 1px solid #777777;
      outline: none; }
  .conform input[type="date"] {
    -webkit-appearance: none;
    appearance: none;
    min-height: 50px;
    line-height: 1.2;
    background-color: #fff; }
  .conform .widget-submit {
    display: grid;
    align-content: center;
    justify-content: center;
    margin-top: 25px !important; }
    @media (min-width: 767px) {
      .conform .widget-submit {
        justify-self: end;
        justify-content: center; } }
  .conform .widget-submit {
    margin-top: 25px; }
    @media (min-width: 767px) {
      .conform .widget-submit {
        margin-top: 0px; } }
  .conform button {
    background-color: transparent;
    text-align: center;
    display: block;
    text-decoration: none;
    height: 50px;
    border: 1px solid var(--fuchsia);
    outline: unset;
    padding-top: 3px;
    padding-inline: 30px;
    width: fit-content;
    transition: all 0.25s linear;
    margin: 25px 0;
    font-size: 13px;
    display: block;
    border-radius: 121px;
    color: var(--flieder);
    font-family: var(--heading-font-family);
    font-weight: 600;
    text-transform: uppercase; }
    @media (min-width: 767px) {
      .conform button {
        margin: 0; } }
  @media (min-width: 767px) {
    .conform .formbody {
      gap: 0 24px;
      flex-direction: row; }
    .conform .widget-select {
      grid-area: select; }
    .conform .widget-text input {
      width: 100%; }
    .conform .inputname {
      grid-area: box1; }
    .conform .inputmail {
      grid-area: box2; }
    .conform .inputtel {
      grid-area: box3; }
    .conform .inputcity {
      grid-area: box4; }
    .conform .widget-textarea {
      grid-area: textarea; }
    .conform .widget-submit {
      grid-area: button;
      width: 100%;
      flex: 100%; }
    .conform .widget-explanation {
      grid-area: dse; } }
  .conform textarea {
    grid-area: textarea;
    height: 275px; }
    @media (min-width: 767px) {
      .conform textarea {
        height: 200px; } }
  @media (min-width: 1024px) {
    .conform .mod-formular {
      float: unset; } }
  @media (min-width: 1024px) {
    .conform .adresscontent {
      position: relative;
      left: -50px; } }
  @media (min-width: 1200px) {
    .conform .adresscontent {
      left: -75px; } }
  @media (min-width: 1620px) {
    .conform .adresscontent {
      left: -220px; } }
  .conform button {
    background-color: var(--secondary-color);
    text-align: center;
    display: block;
    text-decoration: none;
    height: 50px;
    border: 1px solid var(--secondary-color);
    outline: unset;
    padding-top: 3px;
    padding-inline: 30px;
    width: fit-content;
    transition: all 0.25s linear;
    margin: 25px 0;
    font-size: 13px;
    display: block;
    border-radius: 121px;
    color: var(--white);
    font-family: var(--heading-font-family);
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    margin-block-end: var(--size-50); }

.ce_rsce_herobackground {
  --hero-title-color: var(--white);
  --hero-title-size: var(--size-20);
  --hero-layer-color: rgba(69, 31, 85, 0.7);
  --hero-title-lh: 1.25;
  --hero-title-margin-bottom: var(--size-15);
  --hero-text-color: var(--white);
  --hero-text-size: var(--size-14);
  --hero-height: 350px;
  --hero-text-margin-bottom: calc( 35 * var(--unit));
  --hero-text-lh: 1.33;
  --hero-background-color: var(--primary-color);
  --hero-content-top: 40%; }
  @media (min-width: 1024px) {
    .ce_rsce_herobackground {
      --hero-content-top: 65%; } }
  @media (min-width: 1200px) {
    .ce_rsce_herobackground {
      --hero-height: 500px;
      --hero-content-top: 75%; } }
  .ce_rsce_herobackground .herobackgroundimage {
    background-color: var(--hero-background-color);
    width: 100%;
    height: var(--hero-height);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 40; }

.herocontent {
  max-width: var(--maxwidth);
  margin-inline: auto;
  padding-inline: var(--masterframe-inline-padding);
  position: relative;
  top: var(--hero-content-top); }
  .herocontent p {
    color: var(--secondary-color);
    font-size: var(--size-25);
    font-weight: 700; }
    .herocontent p strong {
      display: block;
      color: var(--white); }

footer {
  background-color: var(--primary-color);
  color: var(--white);
  padding-inline: var(--masterframe-inline-padding);
  padding-block: var(--size-25); }
  footer p, footer a {
    color: inherit; }
  footer ul {
    padding: 0;
    margin: var(--size-25) 0; }
  footer .footer-grid {
    width: 100%; }
    @media (min-width: 1024px) {
      footer .footer-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 1024px) {
      footer .footer-grid .footer-bottom-line {
        justify-self: end;
        text-align: right; } }
    @media (min-width: 1024px) {
      footer .footer-grid .footer-bottom-line .socialmedia {
        display: grid;
        justify-content: end; } }
    @media (min-width: 1024px) {
      footer .footer-grid .footer-bottom-line .socialmedia li {
        justify-self: end;
        text-align: right; } }
    footer .footer-grid .footer-bottom-line .socialmedia a {
      text-align: right; }

/* Global Settings*/
:root {
  --unit: 0.0625rem;
  --size-2: calc(2 * var(--unit));
  --size-3: calc(3 * var(--unit));
  --size-4: calc(4 * var(--unit));
  --size-5: calc(5 * var(--unit));
  --size-6: calc(6 * var(--unit));
  --size-7: calc(7 * var(--unit));
  --size-8: calc(8 * var(--unit));
  --size-9: calc(9 * var(--unit));
  --size-10: calc(10 * var(--unit));
  --size-15: calc(15 * var(--unit));
  --size-20: calc(20 * var(--unit));
  --size-25: calc(25 * var(--unit));
  --size-75: calc(75 * var(--unit));
  --size-50: calc(50 * var(--unit));
  --size-100: calc(100 * var(--unit));
  --heading-font-family: "Montserrat", sans-serif;
  --text-font-family: "Montserrat", sans-serif;
  --masterframe-inline-padding: calc(13 *var(--unit));
  --mod-article-distance: var(--size-50);
  /*Basis Farben */
  --white: #ffffff;
  --black: #000000;
  /* Projektfarben*/
  /*HEADER*/
  --header-top-background: var(--gray-100);
  --slogan-color: var(--gray-500);
  --main-distance: calc(var(--header-height) + var(--size-50));
  --maxwidth: 1500px;
  --text-size: calc(2* var(--size-8));
  --navlink-color: var(--blue-500);
  --navlink-active-color: var(--red-200);
  --floating-buttom-bgcolor: var(--red-500);
  --primary-color: #344555;
  #
--primary-color-dark: #0c1c2c;
  --secondary-color: #ce0035;
  --light-gray: #e7e9ec;
  /*Navigation*/
  --mainnavigation-z-index: 10;
  --mainnavigation-tablet-height: 100px;
  --mainnavigation-list-padding-block-start: 160px;
  --mainnavigation-list-padding-block-start-tablet-por: 190px;
  --mainnavigation-list-padding-block-start-tablet-max: 33px;
  --mainnavigation-list-margin-left-tablet-max: 10px;
  --mainnavigation-list-gap-tablet-max: 15px;
  --mainnavigation-list-gap-desktop-large: 25px;
  --mainnavigation-list-margin-top-tablet-max: 0px;
  --mainnavigation-active-background-color: rgba(69, 31, 85, 0.06);
  --mainnavigation-active-border-radius: 4px;
  --mainnavigation-item-padding: 6px 10px 4px 10px;
  --mainnavigation-item-padding-tablet-max: 2px 10px 4px 10px;
  --mainnavigation-item-height: 35px;
  --mainnavigation-item-margin-block-end: 15px;
  --mainnavigation-link-font-weight: 500;
  --mainnavigation-link-font-size: var(--size-14);
  --mainnavigation-link-underline-height: 1px;
  --mainnavigation-link-underline-bottom: -1px;
  --mainnavigation-strong-text-shadow: 0 0 0 var(--white), 0.3px 0 0 var(--white);
  --mainnavigation-contact-border-radius: 20px;
  --mainnavigation-contact-border: 2px solid var(--fuchsia);
  --mainnavigation-contact-height: 30px;
  --mainnavigation-contact-height-tablet-por: 35px;
  --mainnavigation-contact-height-tablet-max: 40px;
  --mainnavigation-contact-padding: 2px 10px 9px 10px;
  --mainnavigation-contact-padding-inline-tablet-max: 15px;
  --mainnavigation-activebutton-right: 48px;
  --mainnavigation-activebutton-right-alt: 43px;
  /*Header*/
  --header-height: 60px;
  --header-height-tablet-max: 140px;
  --header-logo-margin-block-end: 40px;
  --header-logo-z-index: 10;
  --header-logo-image-height: 80px;
  --header-logo-margin-block-start-tablet-max: 35px;
  --header-logo-margin-block-start-desk-small: 30px;
  --header-menuarea-top: 17px;
  --header-menuarea-z-index: 10;
  --header-menubutton-line-height: 2px;
  --header-menubutton-top-width: 20px;
  --header-menubutton-top-left: 0px;
  --header-menubutton-center-width: 20px;
  --header-menubutton-bottom-width: 20px;
  --header-menubutton-bottom-left: 0px;
  --header-top-background-color: var(--primary-color);
  --header-top-height: 50px;
  --header-top-color: var(--white);
  --headertop-content-image-max-width: 400px;
  --activemenuarea-z-index: 20;
  --activemenuarea-right: 13px;
  --activemenuarea-top: 26px;
  --activemenuarea-line-width: 20px;
  --activemenuarea-bottom-top: -7px;
  --activenavigation-social-links-max-width: 100px;
  --activenavigation-social-links-bottom: 100px;
  --activenavigation-social-links-left: 50%;
  --activenavigation-social-links-gap: 20px;
  --activenavigation-social-links-z-index: 12;
  --page-404-header-max-height: 120px; }
  @media (min-width: 767px) {
    :root {
      --masterframe-inline-padding: calc(21 *var(--unit));
      --nav-main-lnk-fontsize: calc(2*var(--size-7)); } }
  @media (min-width: 1024px) {
    :root {
      --mod-article-distance: var(--size-100);
      --text-size: calc(2* var(--size-9));
      --heading-one-size: calc( 41 * var(--unit));
      --heading-second-size: calc( 35 * var(--unit));
      --heading-third-size: calc( 30 * var(--unit)); } }
  @media screen and (min-width: 1501px) {
    :root {
      --masterframe-inline-padding: 0; } }

html, body {
  overflow-x: hidden; }

body {
  font-size: 100%;
  font-family: var(--text-font-family); }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--heading-font-family); }

.invisible {
  display: none; }

.wrapper {
  width: 100%;
  height: 100%; }

/*# sourceMappingURL=themeglobal.css.map */
