@charset "UTF-8";
.uk-container {
  max-width: 1600px;
}

* + .uk-h1, * + .uk-h2, * + .uk-h3, * + .uk-h4, * + .uk-h5, * + .uk-h6, * + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
  margin-top: 4rem;
}

.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.5rem 0;
}

* + .uk-grid-margin, .uk-grid + .uk-grid, .uk-grid > .uk-grid-margin {
  margin-top: 0;
}

* + address, * + dl, * + fieldset, * + figure, * + ol, * + p, * + pre, * + ul {
  margin-top: 0;
}

address, dl, fieldset, figure, ol, p, pre, ul {
  margin: 0 0 0 0;
}

ol, ul {
  padding-left: 0;
}

/*uk-width-1-1@s schon bei 640px */
@media only screen and (max-width: 26.25em) {
  .uk-width-1-2 {
    width: 100% !important;
  }
  .uk-child-width-1-2 > * {
    width: 100% !important;
  }
}
/*
0 - 600px:      Phone
600 - 900px:    Tablet portrait
900 - 1200px:   Tablet landscape
[1200 - 1800] is where our normal styles apply
1800px + :      Big desktop
$breakpoint arguement choices:
- phone
- tab-port
- tab-land
- big-desktop
ORDER: Base + typography > general layout + grid > page layout > components
1em = 16px
*/
/*header, nav li active*/
/*footer, slider dot active, page navigation active*/
/**/
/*breadcrumb active, breadcrumb arrows*/
/*textfarbe Brotschrift*/
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

html {
  height: 100%;
  font-size: 1rem;
}
@media only screen and (max-width: 75em) {
  html {
    font-size: 0.85rem;
  }
}
body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /*sticky footer*/
  /*height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;*/
}
@media only screen and (max-width: 60em) {
  body {
    padding: 0;
  }
}

/*sticky footer*/
.wrapper::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/*footer{

}*/
.uk-container {
  max-width: 80em;
}

.uk-container-smaller {
  max-width: 50em;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media only screen and (max-width: 48em) {
  .uk-container-smaller {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/*::selection {
    background-color: $color-primary;
    color: $color-white;
}*/
a {
  color: #2D3E6F;
}

a:hover {
  color: rgba(0, 0, 0, 0.7568627451);
  text-decoration: none;
}

/*********************************************************************
 * Accessibility helpers
 *
 */
/* Hide visually, but remain approachable for screenreader */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  border: 0;
}

/* Show bypass link on hover */
.element-focusable:focus {
  clip: auto;
  overflow: visible;
  height: auto;
}

a.feel {
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  padding: 1rem;
  background-color: #557995;
  opacity: 1;
  color: #fff;
}
a.feel:hover {
  color: #333;
}

/* Sample styling for bypass link */
.bypass-to-main:focus {
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  line-height: 40px;
  text-align: center;
  background: #333;
  color: #fff;
}

/*********************************************************************
 * design helpers
 *
 */
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex.row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media only screen and (max-width: 48em) {
  .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flex.row-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.flex img {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}

.flex-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.h--noflex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -40px;
}
@media only screen and (max-width: 75em) {
  .h--noflex {
    margin-left: -30px;
  }
}
@media only screen and (max-width: 48em) {
  .h--noflex {
    margin-left: 0;
  }
}
.h--noflex > * {
  width: calc(50% - 40px);
  padding-left: 40px;
}
@media only screen and (max-width: 75em) {
  .h--noflex > * {
    width: calc(50% - 30px);
    padding-left: 30px;
  }
}
@media only screen and (max-width: 48em) {
  .h--noflex > * {
    width: 100%;
    padding-left: 0;
  }
}

.ul--sym ul {
  list-style: none;
}
.ul--sym ul:first-child {
  text-align: right;
}
@media only screen and (max-width: 40em) {
  .ul--sym ul {
    list-style: inherit;
  }
}

.grid {
  display: -ms-grid;
  display: grid;
}

.no-list {
  list-style: none;
}

/* open-sans-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: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/open-sans/open-sans-v44-latin-300.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/open-sans/open-sans-v44-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/open-sans/open-sans-v44-latin-600.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/open-sans/open-sans-v44-latin-700.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: "Open Sans";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/open-sans/open-sans-v44-latin-800.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  line-height: 1.7;
  color: rgb(41, 41, 41);
  letter-spacing: 0.05rem;
}

h1, h2, h3 {
  margin: 0 0 0 0;
  font-family: "Open Sans", sans-serif;
}
@media only screen and (max-width: 48em) {
  h1, h2, h3 {
    font-size: 2.5rem;
  }
}

h1 {
  font-size: 2.5rem;
}

h2 {
  text-align: center;
  font-size: 4rem;
  color: #000;
}

h3,
h4,
h5 {
  font-family: "Open Sans", sans-serif;
  color: #000;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

section h2:first-child {
  padding-top: 0;
}

form h3 {
  padding-top: 3%;
  padding-bottom: 10px;
}

h4 {
  color: #808080;
  font-size: 2rem;
}
@media only screen and (max-width: 48em) {
  h4 {
    padding-bottom: 25px;
  }
}

p,
#main ul,
dt, dl, dd {
  font-family: "Open Sans", sans-serif;
  color: rgb(41, 41, 41);
  font-size: 1.35rem;
  font-weight: 400;
}

#main ul {
  margin-left: 1rem;
}
#main ul li {
  line-height: 1.3;
  margin-bottom: 1rem;
}

.font--smaller p,
p.font--smaller {
  font-size: 1em;
  line-height: 1.5;
}

.text p + p {
  margin-top: 2rem;
}

em {
  color: inherit;
}

main .unterkategorien li:before {
  content: "›";
  margin-right: 0.5rem;
  position: absolute;
  left: 0;
}

body.agb main p strong {
  display: block;
  margin-top: 2rem;
}

/*********************************************************************
 * design helpers
 *
 */
.relative {
  position: relative;
}

.block {
  display: block;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex.row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media only screen and (max-width: 48em) {
  .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flex.row-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.flex img {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
.flex .flex1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.gap {
  gap: 1rem;
}

.text-rechts {
  -webkit-box-ordinal-group: 100;
      -ms-flex-order: 99;
          order: 99;
}

hr {
  margin: 0 0 0 0;
  border-top: none;
}

.flex-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.h--noflex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -40px;
}
@media only screen and (max-width: 75em) {
  .h--noflex {
    margin-left: -30px;
  }
}
@media only screen and (max-width: 48em) {
  .h--noflex {
    margin-left: 0;
  }
}
.h--noflex > * {
  width: calc(50% - 40px);
  padding-left: 40px;
}
@media only screen and (max-width: 75em) {
  .h--noflex > * {
    width: calc(50% - 30px);
    padding-left: 30px;
  }
}
@media only screen and (max-width: 48em) {
  .h--noflex > * {
    width: 100%;
    padding-left: 0;
  }
}

.center {
  text-align: center;
}

.grid {
  display: -ms-grid;
  display: grid;
}

.no-list,
.no-list li {
  list-style: none;
}
.no-list::before,
.no-list li::before {
  content: none !important;
}

.container-iframe {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

/* Then style the iframe to fit in the container div with full height and width */
.responsive-iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.border-circle {
  display: inline-block;
  border-radius: 50%;
  border-width: 2px;
  border-style: solid;
  padding: 15px;
}

.download-item,
a[href$=".pdf"] {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.3rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.download-item:after,
a[href$=".pdf"]:after {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  content: " ";
  background-image: url(/site/templates/assets/img/pdf.svg);
  background-position: left;
  height: 20px;
  width: auto;
  background-size: contain;
  background-repeat: no-repeat;
}

a[href$=".pdf"] {
  /* PDF file */
}

:root {
  --global-width50: 50px;
  --global-unit1: 1rem;
  --global-unit2: 2rem;
  --global-unit3: 3rem;
  --global-unit4: 4rem;
  --global-unit5: 5rem;
  --global-unit6: 6rem;
  --global-unit7: 7rem;
}

@media only screen and (max-width: 48em) {
  :root {
    --global-width50: 25px;
  }
}
@media only screen and (max-width: 40em) {
  :root {
    --global-width50: 0px;
  }
}
.mt1 {
  margin-top: var(--global-unit1);
}

.mt2 {
  margin-top: var(--global-unit2);
}

.mt3 {
  margin-top: var(--global-unit3);
}

.mt4 {
  margin-top: var(--global-unit4);
}

.mt5 {
  margin-top: var(--global-unit5);
}

.mt6 {
  margin-top: var(--global-unit6);
}

.mt7 {
  margin-top: var(--global-unit7);
}

.mb1 {
  margin-bottom: var(--global-unit1);
}

.mb2 {
  margin-bottom: var(--global-unit2) !important;
}

.mb3 {
  margin-bottom: var(--global-unit3);
}

.mb4 {
  margin-bottom: var(--global-unit4) !important;
}

.mb5 {
  margin-bottom: var(--global-unit5);
}

.mb6 {
  margin-bottom: var(--global-unit6) !important;
}

.mb7 {
  margin-bottom: var(--global-unit7);
}

:root {
  --global-width50: 50px;
  --global-unit1: 1rem;
  --global-unit2: 2rem;
  --global-unit3: 3rem;
  --global-unit4: 4rem;
  --global-unit5: 5rem;
  --global-unit6: 6rem;
  --global-unit7: 7rem;
}

@media only screen and (max-width: 48em) {
  :root {
    --global-width50: 25px;
  }
}
@media only screen and (max-width: 40em) {
  :root {
    --global-width50: 0px;
  }
}
.pt1 {
  padding-top: var(--global-unit1);
}

.pt2 {
  padding-top: var(--global-unit2);
}

.pt3 {
  padding-top: var(--global-unit3);
}

.pt4 {
  padding-top: var(--global-unit4);
}

.pt5 {
  padding-top: var(--global-unit5);
}

.pt6 {
  padding-top: var(--global-unit6);
}

.pt7 {
  padding-top: var(--global-unit7);
}

.pr1 {
  padding-right: var(--global-unit1);
}

.pr2 {
  padding-right: var(--global-unit2);
}

.pr3 {
  padding-right: var(--global-unit3);
}

.pr4 {
  padding-right: var(--global-unit4);
}

.pr5 {
  padding-right: var(--global-unit5);
}

.pr6 {
  padding-right: var(--global-unit6);
}

.pr7 {
  padding-right: var(--global-unit7);
}

.pb1 {
  padding-bottom: var(--global-unit1);
}

.pb2,
.abstand-s {
  padding-bottom: var(--global-unit2);
}

.pb3 {
  padding-bottom: var(--global-unit3);
}

.pb4 {
  padding-bottom: var(--global-unit4);
}

.pb5 {
  padding-bottom: var(--global-unit5);
}

.pb6,
.abstand-l {
  padding-bottom: var(--global-unit6);
}

.pb7 {
  padding-bottom: var(--global-unit7);
}

.pl1 {
  padding-left: var(--global-unit1);
}

.pl2 {
  padding-left: var(--global-unit2);
}

.pl3 {
  padding-left: var(--global-unit3);
}

.pl4,
.abstand-m {
  padding-left: var(--global-unit4);
}

.pl5 {
  padding-left: var(--global-unit5);
}

.pl6 {
  padding-left: var(--global-unit6);
}

.pl7 {
  padding-left: var(--global-unit7);
}

input.text,
input[type=text],
input[type=button],
input[type=submit],
.input-checkbox {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
}

form div.Inputfields {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 35px auto 35px auto 35px auto;
  grid-template-rows: auto auto auto auto;
  -ms-grid-columns: minmax(15rem, auto) 35px minmax(15rem, auto);
  grid-template-columns: minmax(15rem, auto) minmax(15rem, auto);
      grid-template-areas: "topleft topright" "middle middle" "bottom .";
  grid-gap: 35px;
  font-size: 1.2rem;
}
@media only screen and (max-width: 48em) {
  form div.Inputfields {
    -ms-grid-columns: auto;
    grid-template-columns: auto;
    -ms-grid-rows: auto 20px auto 20px auto 20px auto;
        grid-template-areas: "topleft" "topright" "middle" "bottom";
    grid-gap: 20px;
  }
}
form div.Inputfields .Inputfield_name_1 {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: topleft;
}
form div.Inputfields .InputfieldEmail {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: topright;
}
form div.Inputfields .InputfieldTextarea {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: middle;
}
form div.Inputfields .InputfieldSubmit {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  grid-area: bottom;
}
@media only screen and (max-width: 48em){
  form div.Inputfields .Inputfield_name_1 {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  form div.Inputfields .InputfieldEmail {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  form div.Inputfields .InputfieldTextarea {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  form div.Inputfields .InputfieldSubmit {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
  }
}
form div.Inputfields .InputfieldSubmit button {
  padding: 5px 10px;
  border: none;
  font-size: 1.2rem;
  background-color: #2D3E6F;
  color: #fff;
  cursor: pointer;
  font-family: "Open Sans", sans-serif;
}
form div.Inputfields .InputfieldSubmit button:hover {
  background-color: #808080;
}
form div.Inputfields input, form div.Inputfields textarea {
  width: 100%;
  padding: 10px 5px;
  border: 1px solid #C4C4C4;
  font-size: 1.2rem;
  font-family: "Open Sans", sans-serif;
}
form div.Inputfields .Inputfield_spider,
form div.Inputfields .Inputfield_your_message {
  display: none;
}

main.buchung form div.Inputfields {
  display: inherit;
}
main.buchung form div.Inputfields > * {
  margin-bottom: 2rem;
}
main.buchung form div.InputfieldTextarea {
  padding: 2rem 0;
}

#FormBuilder_kontaktformular .Inputfield_spamtest {
  display: none;
}

.mod_form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 2rem;
  padding-left: calc(30% + 2px);
}
.mod_form form {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.3rem;
  background: #fff;
  margin-top: 0.5rem;
}
.mod_form form input {
  height: 2.5rem !important;
  line-height: 2.5rem;
}

aside form.uk-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  width: 70%;
}
aside form.uk-search .uk-search-icon {
  color: #fff;
}
aside form.uk-search input.uk-search-input {
  color: #fff !important;
  font-size: 1.7rem;
}

figcaption.figcaption {
  line-height: 1.2;
}

/*slider titel bei hover*/
.slider-multi li {
  position: relative;
  text-align: center;
  padding: 0 10px;
}
.slider-multi li img {
  width: 200px;
}
.slider-multi figcaption {
  background: none repeat scroll 0 0 rgba(255, 255, 255, 0.95);
  bottom: 0;
  left: 0;
  padding: 0 0 0 0;
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 35%;
  font-size: 1.1rem;
  line-height: 120%;
  text-align: center;
  color: rgb(41, 41, 41);
}
.slider-multi figcaption a, .slider-multi figcaption a:hover {
  color: #2D3E6F;
}
.slider-multi li:hover figcaption {
  opacity: 1;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.slider-arrow {
  display: block;
  width: 30px !important;
  height: 30px !important;
}
.slider-arrow svg {
  height: 32px;
  width: 20px;
}
.slider-arrow svg polyline {
  stroke-width: 3;
  color: #000;
}

.uk-slider-nav.uk-dotnav li a {
  width: 12px;
  height: 12px;
}

.uk-lightbox.uk-open,
.uk-lightbox-toolbar,
.uk-lightbox-button {
  background-color: rgba(0, 0, 0, 0.8);
}

.uk-lightbox-items img, img.clip {
  clip-path: inset(2px);
}

html {
  background-color: #DEDBDB;
}

body {
  display: -ms-grid;
  display: grid;
  height: 100vh;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: minmax(100px, auto) 1fr auto;
  grid-template-rows: minmax(100px, auto) 1fr auto;
      grid-template-areas: "header" "main" "footer";
}
@media only screen and (max-width: 48em) {
  body {
    display: block;
  }
}

header {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: header;
}

#main {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: main;
}

footer {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: footer;
}

ul.gallery-single {
  list-style: none;
  text-align: center;
}
ul.gallery-single li {
  margin-bottom: 5%;
}

.uk-slider {
  margin-top: 2rem;
  padding-left: 5%;
  width: 90%;
}
@media only screen and (max-width: 48em) {
  .uk-slider {
    padding-left: 0rem;
  }
}
.uk-slider li.active img {
  opacity: 0.1;
}
.uk-slider .uk-grid > * {
  padding-left: 4%;
}

header {
  background-color: #2D3E6F;
}
header h1 {
  font-size: 1.5rem;
}
header h1 a {
  color: #fff;
}
@media only screen and (max-width: 48em) {
  header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-bottom: 2rem;
  }
}
header .uk-container.flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 48em) {
  header .uk-container.flex {
    margin-left: inherit;
    margin-right: inherit;
    min-height: 5rem;
  }
  header .uk-container.flex h1 {
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 40em) {
  header .uk-container.flex h1 {
    max-width: 390px;
  }
}
header .uk-container.flex > div {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

.logo-inner {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}
@media only screen and (max-width: 48em) {
  .logo-inner {
    padding-bottom: 2rem;
  }
}

.inner--right p {
  text-transform: uppercase;
  font-size: 1.3rem;
}

nav.topnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 0 1rem;
  font-size: 1.5rem;
  z-index: 99;
}
@media only screen and (max-width: 60em) {
  nav.topnav {
    display: none;
  }
}
nav.topnav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1200px;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}
nav.topnav ul li {
  margin: 0;
  padding: 0 1rem;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 auto;
          flex: 1 auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  height: 100%;
}
nav.topnav ul li.current.level-1 > a::before, nav.topnav ul li.parent.level-1 > a::before, nav.topnav ul li.level-1:hover > a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.5px;
  background-color: #2D3E6F;
}
nav.topnav ul li.current > a, nav.topnav ul li.has_children > a {
  color: #fff;
}
nav.topnav ul li.parent > a {
  color: rgba(0, 0, 0, 0.7568627451);
}
nav.topnav ul li a,
nav.topnav ul li span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  text-decoration: none;
  color: #fff;
}
nav.topnav ul li a:hover,
nav.topnav ul li span:hover {
  color: #000;
}
nav.topnav ul li a:hover::after,
nav.topnav ul li span:hover::after {
  content: "";
  background-color: #DEDBDB;
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  bottom: 0;
}
nav.topnav ul li span {
  color: #000;
}
nav.topnav ul li span::after {
  content: "";
  background-color: #DEDBDB;
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  bottom: 0;
}
nav.topnav ul li ul.level_2 {
  display: block;
}
nav.topnav ul li ul.level_2 li a:hover {
  color: #2D3E6F;
  cursor: pointer;
}
nav.topnav li {
  display: block;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
nav.topnav li:hover {
  cursor: pointer;
}
nav.topnav ul li ul {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  margin-top: 0;
  left: -1rem;
  display: none;
  background-color: rgb(255, 255, 255);
  padding: 1rem;
  cursor: pointer;
}
nav.topnav ul li:hover > ul,
nav.topnav ul li ul:hover {
  visibility: visible;
  opacity: 1;
  display: block;
}
nav.topnav ul li ul li {
  clear: both;
  width: 100%;
  min-height: inherit;
}
nav.topnav ul li ul li a {
  white-space: nowrap;
}

nav.nav-overlay {
  padding: 0 2.5rem;
}
nav.nav-overlay ul {
  list-style: none;
  font-size: 2rem;
}
nav.nav-overlay ul li {
  margin: 0;
  padding: 0;
}
nav.nav-overlay ul li.current > a, nav.nav-overlay ul li.has_children > a {
  color: #000;
}
nav.nav-overlay ul li.parent > a {
  color: rgba(0, 0, 0, 0.7568627451);
}
nav.nav-overlay ul li a {
  position: relative;
  padding: 3px 0;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  text-decoration: none;
}
nav.nav-overlay ul li a:hover {
  color: #2D3E6F !important;
}
nav.nav-overlay ul li ul.level_2 {
  display: block;
}
nav.nav-overlay ul li ul.level_2 li a:hover {
  color: #2D3E6F;
  cursor: pointer;
}

footer p, footer ul li, footer a {
  font-size: 1.4rem;
  line-height: 1.7;
}
footer ul[class*=uk-width] {
  padding-left: 20px;
  list-style: none;
}
@media only screen and (max-width: 40em) {
  footer ul[class*=uk-width] {
    display: none;
  }
}
footer .inner {
  padding: 2.8rem 0;
}
footer .inner ul {
  list-style: none;
  text-transform: uppercase;
}
footer .inner ul li {
  margin: 0 1rem;
}
footer .inner ul li:last-child {
  margin-right: 0;
}
footer .inner .footer-inner {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
footer .inner .footer-inner.flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media only screen and (max-width: 40em) {
  footer .inner .footer-inner.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem;
    padding-top: 3rem;
  }
}
footer .inner .footer-inner section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
footer a.uk-icon.uk-totop {
  display: block;
  text-align: center;
}
footer a.uk-icon.uk-totop svg {
  width: 25px !important;
  height: 25px !important;
  color: rgba(0, 0, 0, 0.7568627451);
}
footer a.uk-icon.uk-totop svg:hover {
  color: #2D3E6F;
}
footer a.uk-icon.uk-totop svg polyline {
  stroke-width: 2 !important;
}

aside {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 6rem;
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  overflow: auto;
}

.open {
  opacity: 1;
  visibility: visible;
}

.close {
  z-index: 200;
  position: fixed;
  top: 50px;
  right: 80px;
  color: white;
  z-index: 3;
  cursor: pointer;
  font-family: sans-serif;
}
.close span,
.close span:before,
.close span:after {
  border-radius: 0;
  height: 5px;
  width: 30px;
  background: rgba(0, 0, 0, 0.7568627451);
  position: absolute;
  display: block;
  content: "";
}
.close span {
  background: transparent;
}
.close span:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.close span:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

button.toggle-overlay {
  display: none;
  z-index: 100;
  top: 10px;
  right: 10px;
  width: 50px !important;
  height: 50px !important;
  font-size: 0;
  line-height: 0;
  border: none;
  cursor: pointer;
  background-color: transparent;
}
@media only screen and (max-width: 60em) {
  button.toggle-overlay {
    display: inherit;
    -webkit-box-flex: 0;
        -ms-flex: 0 auto;
            flex: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 40em) {
  button.toggle-overlay {
    padding-right: 0;
  }
}
button.toggle-overlay span {
  width: 50px;
  height: 60px;
  display: block;
  background-image: url(/site/templates/assets/img/trigger_2020.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  /*svg{
          width: 34px;
          height: 30px;

          rect{
              width: 100%;
              height: 2px;
              x: 0;
              y: 9;
              fill: #fff;
          }

          rect:first-child{
            y: 2;
          }

          rect:last-child{
            y: 16;
          }
      }*/
}

button.toggle-overlay.uk-sticky {
  right: 10px;
}

/*nav ul li username + logout*/
.login {
  padding: 25px 0;
  /*li, li span.username{
    color: $color-haus-1 !important;
  }*/
}

@media only screen and (max-width: 75em) {
  .img--container img {
    max-width: 400px;
  }
}
@media only screen and (max-width: 75em) {
  .img--container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.section-inner h2 {
  text-align: center;
  text-transform: uppercase;
  color: #2D3E6F;
}

@media only screen and (max-width: 40em) {
  .sample {
    margin-left: 2rem !important;
  }
}

.two--col .two--col-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.two--col .two--col-item figure {
  max-width: 500px;
}
.two--col .text-wrapper p {
  text-align: center;
}
.two--col {
  /*.uk-grid{
    &:nth-child(odd) {
      flex-direction: row-reverse;

      @include respond(phone) {
        flex-direction: inherit;
      }
    }
  }*/
}

.bg--grey {
  background-color: #E5E5E5;
  padding: 4%;
  margin: 0 40px;
}
@media only screen and (max-width: 48em) {
  .bg--grey {
    margin: 4%;
  }
}
.bg--grey h3 {
  color: #444;
  line-height: 1.1;
  margin-bottom: 2rem;
}
.bg--grey h3 span {
  color: #2D3E6F;
  display: block;
  text-transform: uppercase;
}
.bg--grey h3 span.small {
  display: inline;
  font-weight: 400;
  text-transform: inherit;
}
.bg--grey p.button {
  text-transform: uppercase;
  font-weight: 600;
  text-align: center;
  font-size: 2rem;
  padding-top: 3rem;
}
.bg--grey p.button a {
  padding: 10px 30px;
  background-color: #fff;
  border: 1px solid #2D3E6F;
}

.zitat.home {
  position: absolute;
  left: 0;
  top: 6rem;
}
@media only screen and (max-width: 60em) {
  .zitat.home {
    position: relative;
    top: 1rem;
  }
}
.zitat p:last-child {
  margin-top: 1rem;
  padding-right: 1rem;
  text-align: right;
}

.news_item h3 {
  color: #333;
  font-weight: 700;
  text-transform: uppercase;
}