@charset "UTF-8";
/* montserrat-regular - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../fonts/montserrat-v15-latin-regular.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-regular.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
/* montserrat-italic - latin */
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 400;
  src: local(""), url("../fonts/montserrat-v15-latin-italic.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-italic.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
/* montserrat-500 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: local(""), url("../fonts/montserrat-v15-latin-500.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-500.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
/* montserrat-500italic - latin */
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 500;
  src: local(""), url("../fonts/montserrat-v15-latin-500italic.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-500italic.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
/* montserrat-600 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: local(""), url("../fonts/montserrat-v15-latin-600.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-600.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
/* montserrat-700 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("../fonts/montserrat-v15-latin-700.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-700.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
/* ------------------ Variables ------------------ */
/* Sizes */
/* Colors */
/* ------------------ Base ------------------ */
*, *:before, *:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif !important;
}

body {
  min-height: 100vh;
  color: #333;
  overflow-x: hidden;
}

/* ------------------ Typography ------------------ */
h1 {
  font-size: clamp(1.75rem, 4vw, 3.5rem) !important;
  font-weight: 700;
}

h2 {
  font-size: clamp(2.5rem, 3.5vw, 3rem) !important;
  font-weight: 600;
}

h3 {
  font-size: clamp(1.25rem, 3vw, 2rem) !important;
  font-weight: 500;
}

h4 {
  font-size: clamp(1.125rem, 2.5vw, 1.5rem) !important;
}

p {
  font-size: clamp(1.125rem, 1.5vw, 1.125rem);
  margin-bottom: 2rem;
}

q {
  font-size: clamp(0.75rem, 1.5vw, 1rem) !important;
}

a {
  font-size: clamp(1.125rem, 1.5vw, 1.125rem);
  font-weight: 500;
}
a:hover {
  text-decoration: none;
}

em {
  color: #333;
}

ul:not(.uk-accordion):not(.uk-navbar-nav):not(.uk-slider-items) {
  font-size: clamp(1.125rem, 1.5vw, 1.125rem);
  list-style: none;
  padding: 0;
  margin-bottom: 3rem;
}
ul:not(.uk-accordion):not(.uk-navbar-nav):not(.uk-slider-items) li {
  margin-bottom: 1rem;
}
ul:not(.uk-accordion):not(.uk-navbar-nav):not(.uk-slider-items) li::before {
  content: "∎";
  margin-right: 1rem;
  color: #1E87F0;
  vertical-align: text-bottom;
}

/* ------------------ Navigation ------------------ */
.uk-navbar-nav li a {
  color: #333;
}

/* ------------------ Header ------------------ */
#header-image {
  min-height: 100vh;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  object-fit: cover;
  object-position: center;
}

header {
  min-height: max(68vh, 54vw);
  padding-top: 8vw;
}
header #header-headlines {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.05), 0 4px 8px rgba(0, 0, 0, 0.05), 0 8px 16px rgba(0, 0, 0, 0.05), 0 16px 32px rgba(0, 0, 0, 0.05), 0 32px 64px rgba(0, 0, 0, 0.05);
}
header #header-headlines h2 {
  font-size: clamp(1.25rem, 3vw, 2rem) !important;
  font-weight: 500;
}

#scroll-indicator {
  font-size: 1.5rem;
  line-height: 1;
  width: 3rem;
  text-align: center;
}

/* ------------------ Content ------------------ */
main h1 {
  word-break: break-all;
}
main .uk-section {
  padding: 7.5rem 0;
}

/* ------------------ Quote Sections ------------------ */
.quote .quote-text {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
.quote .quote-text p::before {
  content: "—";
  margin-right: 1rem;
}
.quote img.portrait {
  max-width: 100vw;
  width: 50vw !important;
  max-height: 480px;
  object-fit: cover;
  object-position: top;
  clip-path: polygon(33% 0, 100% 0, 100% 100%, 0% 100%);
}
.quote .uk-flex-row-reverse img.portrait {
  float: right;
  clip-path: polygon(0 0, 67% 0, 100% 100%, 0% 100%);
}

/* ------------------ Ausbilder Section ------------------ */
#ausbilder img.portrait {
  max-width: 100vw;
  width: 45vw !important;
  max-height: 560px;
  object-fit: cover;
  object-position: top;
}
#ausbilder .uk-grid:nth-of-type(2n) {
  flex-direction: row-reverse;
}
#ausbilder .uk-grid:nth-of-type(2n) img.portrait {
  float: right;
}

/* ------------------ Teilnehmer Section ------------------ */
#teilnehmer {
  padding: 7.5rem 0;
}

/* ------------------ Kontakt ------------------ */
form {
  display: flex;
  flex-direction: column;
}
form label {
  margin: 1.5rem 0 0.5rem 0;
  font-size: clamp(1.125rem, 1.5vw, 1.125rem);
  font-weight: 500;
}
form input,
form textarea {
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  padding: 1rem;
  font-size: clamp(1.125rem, 1.5vw, 1.125rem);
}
form input:active, form input:focus,
form textarea:active,
form textarea:focus {
  border: 1px solid #1E87F0;
  outline: none;
}
form textarea {
  height: 15rem;
}
form input[type=submit] {
  background-color: #1E87F0;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s ease-in-out;
}
form input[type=submit]:hover {
  opacity: 0.9;
}
form button[type=submit] {
  display: inline;
}

/* ------------------ UI Kit Overrides ------------------ */
.uk-light {
  color: #fff;
}

.uk-button {
  display: inline-flex;
  align-items: center;
  padding: 1rem;
  line-height: 1;
  font-weight: 500;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.05), 0 4px 8px rgba(0, 0, 0, 0.05), 0 8px 16px rgba(0, 0, 0, 0.05), 0 16px 32px rgba(0, 0, 0, 0.05), 0 32px 64px rgba(0, 0, 0, 0.05);
}

.uk-accordion {
  counter-reset: li;
}
.uk-accordion li {
  position: relative;
}
.uk-accordion li .uk-accordion-title {
  overflow: visible;
}
.uk-accordion li .uk-accordion-title::before {
  content: "+";
  width: 1.5rem;
  position: absolute;
  left: -5rem;
  color: #1E87F0;
  transform: translateY(-0.125rem);
  font-size: 2rem;
  text-align: center;
}
.uk-accordion li.uk-open .uk-accordion-title::before {
  content: "-";
}
.uk-accordion .uk-accordion-title {
  cursor: pointer;
  position: relative;
  overflow-x: visible;
}
.uk-accordion .uk-accordion-title::before {
  background: none;
  width: auto;
  float: left;
  margin-left: 0;
  margin-right: 0.5rem;
  counter-increment: li;
  content: counter(li) ".";
}

.uk-icon svg polyline {
  stroke-width: 4;
}

/* ------------------ @m media query ------------------ */
@media (max-width: 959px) {
  main .uk-section {
    padding: 5rem 0;
  }

  .uk-accordion li::before {
    display: none;
  }

  .quote {
    padding-bottom: 3rem;
  }
  .quote .uk-container {
    padding: 0;
  }
  .quote .uk-container .uk-grid-stack {
    flex-direction: column-reverse;
  }
  .quote .uk-container .uk-grid-stack .quote-text {
    position: relative;
    top: 0;
    transform: translateY(0);
    padding: 0 2rem;
  }
  .quote .uk-container .uk-grid-stack img.portrait {
    max-width: 100vw;
    width: 100vw !important;
    clip-path: polygon(0 0, 100% 0, 100% 92%, 0% 100%);
  }
  .quote .uk-container .uk-flex-row-reverse img.portrait {
    float: right;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 92%);
  }

  #ausbilder .uk-grid-stack {
    flex-direction: column-reverse;
  }
  #ausbilder .uk-grid-stack img.portrait {
    max-width: 100vw;
    width: 100% !important;
  }
  #ausbilder .uk-grid:nth-of-type(2n) {
    flex-direction: column-reverse;
  }
}

/*# sourceMappingURL=site.css.map*/