*,*:before,*:after {
  box-sizing:border-box;
}
:root {
  --blue-grad:radial-gradient(circle at 50% 10%, #316F88 0%, #265669 60%, #193844 100%);
  --cyan-grad:radial-gradient(circle at 50% 10%, #7DC4C4 0%, #7DC4C4 25%, #5893A6 80%, #20495A 100%);

  --blue:#316F88;
  --blue-dark:#20495A;
  --blue-darker:#173440;
  --cyan-dark:#6ab2c9;
  --cyan:#7DC4C4;
  --cyan-light:#CAE7E7;
  --gray-lighter:#eee;
  --gray-light:#c5c5c5;
  --gray-dark:#858585;
  --gray-darker:#484848;
}
@font-face{
    font-family:"Sanuk Big W04";
    src:url("/assets/fonts/sanuk/5408532/d48eca0a-bcfc-4236-b74e-0c01c7b549b4.woff2") format("woff2"),url("Fonts/5408532/b692c1fe-8fa1-424c-84f8-56313eabc7d8.woff") format("woff");
    font-weight:700;
}
@font-face{
    font-family:"Sanuk Big W04";
    src:url("/assets/fonts/sanuk/5408548/34ff5932-b82c-4735-9af6-34af5a0e9c9b.woff2") format("woff2"),url("Fonts/5408548/642cc2cb-3456-4790-b58c-e32e2caa607b.woff") format("woff");
    font-weight:400;
}
@font-face{
    font-family:"Sanuk Big W04";
    src:url("/assets/fonts/sanuk/5408556/351b4cf1-7ecc-44ce-9c84-22d871e000c8.woff2") format("woff2"),url("Fonts/5408556/68cc22a3-b46c-4943-bf93-b35ac2d9af8e.woff") format("woff");
    font-weight:300;
}
html {
  height:100%;
}
body {
  margin:0;
  padding:0;
  background:#fff;
  color:#fff;
  display:flex;
  flex-direction: column;
  min-height:100%;
}
body,table,input,textarea,button,select {
  font-family:'Sanuk Big W04',arial,sans-serif;
  font-size:1rem;
  font-weight:300;
  line-height:1.6;
  color:#222;
}
h1,h2,h3,h4,h5,h6,p,ol,ul,dl,table,form,fieldset,object {
  margin:0 0 1.3rem 0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
  display: block;
}
audio,canvas,video {
  display: block;
}

h1,.h1 {
  font-size:3.2rem;
  /*font-size:clamp(1.2rem,calc(1rem + 2.5vw),3.2rem);*/
  line-height:1.3;
  font-weight:normal;
  text-transform: none;
  color:var(--blue);
}
h2,.h2 {
  font-size:2.4rem;
  /*font-size:clamp(1.2rem,calc(1rem + 2.5vw),2.4rem);*/
  line-height:1.3;
  font-weight:normal;
  text-transform: none;
  color:var(--blue);
}
h3,.h3 {
  font-size:1rem;
  line-height:1.3;
  font-weight:700;
  text-transform: uppercase;
  color:var(--blue-dark);
}
h4,.h4,
h5,.h5,
h6,.h6 {
  font-size:1rem;
  font-weight:bold;
  margin:0;
}
a/*:link*/ {
  text-decoration:none;
  color:var(--cyan);
}
a:visited {
  color:var(--cyan);
}
a:hover {
  color:var(--cyan);
  text-decoration:underline;
}
a:active {}

[data-link]:not([data-link='']) {
  cursor:pointer;
}

b,strong {
  font-weight:700;
}

img {
  border:0;
  max-width:100%;
  height:auto;
}

table {
  border-spacing:1px;
}
table th,
table td {
  padding:.3em 1em .3em .3em;
  text-align:left;
  vertical-align:top;
  background:#fff;
}
table th {
  font-weight:600;
  vertical-align:bottom;
  background:#f5f4f2;
}
hr {
  margin:1.3em 0;
  border:0;
  border-top: solid var(--blue-dark) 1px;
  opacity:1;
}
.sep {
  margin-left:1rem;
  margin-right:1rem;
}

/*
********************************/
.container-wide {
  max-width:1640px;
}
@media only screen and (min-width : 1200px) {
  html {
    font-size:20px;
  }
}
@media only screen and (min-width : 1700px) {
  .container {
    max-width:1640px;
  }
}

/* Seitenelemente (Master)
********************************/
.site-header {
  /*
  padding-top:2.7777rem;
  padding-bottom:2.7777rem;
  */
}
.site-header > .container {
  height:100%;
}
.site-header-grid {
  width:100%;
  /*min-height:100vh;*/
  padding-top:2.7777rem;
  padding-bottom:6rem;
  display:grid;
  grid-gap:1rem;
  grid-template-areas: 'logo toggle'
                       'actions actions'
                       'slogan slogan';
  grid-template-columns: auto 4rem;
  grid-template-rows: min-content min-content auto;
}
.id-73 .site-header-grid,
.id-80 .site-header-grid,
.id-41 .site-header-grid {
  min-height:100vh;
  padding-bottom:2.7777rem;
}
.site-logo {
  grid-area: logo;
}
.site-logo img {
  display: block;
  width:auto;
  height:4rem;
}
.site-header-actions {
  grid-area: actions;
  white-space: nowrap;
}
.site-header-actions button {
  width:100%;
}
.site-header-actions .contact-tel {
  margin-top:1rem;
  text-align: center;
  color:var(--bue);
  font-weight:700;
  text-transform: uppercase;
}
.site-header-actions .contact-tel a {
  color:var(--bue);
}

.site-nv-toggle {
  grid-area: toggle;
  background:var(--cyan);
  width:4rem;
  height:4rem;
  padding:1.15rem 1rem;
}
.site-nv-toggle svg {
  width:2rem;
  height:1.7rem;
}
.site-nv-toggle rect {
  fill:#fff;
}

.site-nv {
  display:none;
  position:fixed;
  z-index:1090;
  left:0;
  top:0;
  width:100%;
  background-color:var(--blue-dark);
  background-image:url(/assets/images/nv-bg-apple.svg);
  background-position:0 2.7777rem;
  background-size:auto calc(100vh - (2 * 2.7777rem));
  background-repeat:no-repeat;
  color:#fff;
  text-align:center;
  font-size:2rem;
  font-size:clamp(1.2rem,calc(1rem + 2.5vw),2rem);
}
.site-nv[aria-expanded='true'] {
  display:block;
}
.site-nv-inner {
  display:flex;
  justify-content: center;
  align-items: center;
  min-height:100vh;
  padding:2.7777rem 1rem;
  position: relative;
}
.site-nv .site-nv-toggle {
  background:transparent;
  position: absolute;
  top:1.3888rem;
  right:1.3888rem;
}
.site-nv .site-nv-toggle path {
  stroke:#fff;
}
.site-nv .site-nv-toggle:hover path {
  stroke:var(--cyan);
}
@media only screen and (min-width : 992px) and (min-height : 1020px) {
  .site-nv .site-nv-toggle {
    top:2.7777rem;
    left:50%;
    right:auto;
    transform:translate(-50%, 0);
  }
}


.site-nv ul {
  margin:0;
  padding:0;
  list-style: none;
}
.site-nv li {
  margin:0 0 .5rem 0;
  padding:0;
}
.site-nv a {
  color:#fff;
}
.site-nv a:hover {
  text-decoration: none;
}
.site-nv a:hover {
  color:var(--cyan);
}
.site-nv ul ul {
  font-size:1.2rem;
  text-transform:uppercase;
  color:var(--cyan);
}
.site-nv ul ul li {
  margin:0;
}
.site-nv ul ul a {
  color:var(--cyan);
}


.site-header-slogan {
  grid-area: slogan;
  align-self: center;
  font-size:4.5rem;
  font-size:clamp(3.5rem,calc(1rem + 3.5vw),4.5rem);;
  line-height:1.2;
  font-weight: 300;
  color:var(--cyan);
}
.site-header-slogan > :nth-child(1) {
  color:var(--blue);
}
.site-header-slogan > :nth-child(2) {}
.site-header-slogan > :nth-child(3) {}

@media only screen and (min-width : 768px) {
  .site-header-grid {
    grid-template-areas: 'logo logo logo actions toggle'
                         '. slogan slogan slogan slogan';
    grid-template-columns: 16.6666% 8.3333% auto min-content 4rem;
    grid-template-rows: min-content auto;
  }
  .site-logo img {
    height:9rem;
  }
  .site-header-actions button {
    width:auto;
  }
}
@media only screen and (min-width : 992px) {
  .site-header-grid {
    grid-template-areas: '. . logo actions toggle'
                         '. slogan slogan slogan slogan';
    grid-template-columns: 13% 7% auto min-content 4rem;
    grid-template-rows: min-content auto;
  }
}

/* Startseite
********************************/
@keyframes bounce {
  0%, 20%, 40%, 60%, 80%, 100% {transform: translate(-50%, 0);}
  50% {transform: translate(-50%, -1rem);}
}
.id-73 .site-header,
.id-80 .site-header,
.id-41 .site-header {
  min-height:100vh;
  background-image:url(/assets/images/header-bg-apple-50.svg);
  background-repeat: no-repeat;
  background-position: 0 2.7777rem;
  background-size:auto calc(100vh - (2 * 2.7777rem));
  position: relative;
}
.id-73 .site-header,
.id-80 .site-header {
  background-image:url(/assets/images/header-bg-apple-50.alt.svg);
}
@media only screen and (min-width : 992px) {
  /* do scroll */
  .id-73 .site-header::after,
  .id-80 .site-header::after,
  .id-41 .site-header::after {
    content:'';
    display:block;
    width:1.6rem;
    height:3.05rem;
    background-image:url(/assets/images/icon-mouse.svg);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size:contain;
    position: absolute;
    left:50%;
    bottom:2rem;
    animation-name: bounce;
    animation-duration: 2.5s;
    animation-fill-mode: both;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  .id-73 .site-header::after,
  .id-80 .site-header::after {
    background-image:url(/assets/images/icon-mouse.alt.svg);
  }
}
@media only screen and (min-width : 1400px) {
  .id-41 .site-header {
    background-image:url(/assets/images/header-bg-apple.svg);
  }
  .id-73 .site-header,
  .id-80 .site-header {
    background-image:url(/assets/images/header-bg-apple.alt.svg);
  }
  .site-header-slogan > :nth-child(2) {
    text-align:center;
  }
  .site-header-slogan > :nth-child(3) {
    text-align:right;
  }

  .id-60 .site-header-image {
    position: absolute;
    left:40px;
    top:0;
    width:290px;
    height:885px;
    background-image:url(/assets/images/header-bg-carrot.svg);
    background-repeat:no-repeat;
    background-position: 0 0;
    background-size:contain;
  }
  .id-61 .site-header-image {
    position: absolute;
    left:0;
    top:85px;
    width:346px;
    height:495px;
    background-image:url(/assets/images/header-bg-peanut.svg);
    background-repeat:no-repeat;
    background-position: 0 0;
    background-size:contain;
  }
  .id-68 .site-header-image {
    position: absolute;
    left:0;
    top:137px;
    width:331px;
    height:630px;
    background-image:url(/assets/images/header-bg-corn.svg);
    background-repeat:no-repeat;
    background-position: 0 0;
    background-size:contain;
  }
}
.site-footer-gmap {
  background:var(--blue-dark);
  height:30rem;
}

.site-footer-logos {
  background:var(--blue-dark);
  color:var(--cyan);
  padding-top:4rem;
  padding-bottom:4rem;

  font-size:.7rem;
  text-align:center;
  text-transform: uppercase;
}
.site-footer-logos .row {
  --bs-gutter-y:2.5rem;
}
.site-footer-logos .logo-inner {
  width:fit-content;
  width:-moz-fit-content;
  margin-left:auto;
  margin-right:auto;
}
.site-footer-logos [class^=col] {
  position: relative;
}
@media only screen and (min-width : 992px) {
  .site-footer-logos [class^=col]:not(:last-child)::after {
    content:'';
    display:block;
    position: absolute;
    top:0;
    bottom:0;
    right:0;
    border-left:solid var(--cyan) 1px;
  }
}
.site-footer-meta {
  padding-top:3.25rem;
  padding-bottom:10rem;
  text-align: center;
  text-transform: uppercase;
  color:var(--blue);
}
.site-footer-meta a {
  color:var(--blue);
}
.site-footer-meta a:hover {
  color:var(--blue-dark);
}
.site-footer-meta__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
}
.site-footer-meta__links {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  li {
    margin: 0;
    padding: 0;
    &:not(:last-child) {
      &::after {
        content: '|';
        margin-inline: 1em;
      }
    }
  }
}
.site-footer-meta__copyright {
  text-wrap: balance;
}
@media (width >= 1200px) {
  .site-footer-meta__content {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0;
    & > :not(:last-child) {
      &::after {
        content: '|';
        margin-inline: 1em;
      }
    }
  }
}