/* stylelint-disable value-list-comma-newline-after */

/* roboto-regular - latin */

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/roboto-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700 - latin */

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/roboto-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cairo-200 - latin */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 200;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/cairo-v28-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cairo-300 - latin */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 300;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/cairo-v28-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cairo-regular - latin */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/cairo-v28-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cairo-500 - latin */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 500;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/cairo-v28-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cairo-600 - latin */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 600;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/cairo-v28-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cairo-700 - latin */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 700;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/cairo-v28-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cairo-800 - latin */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 800;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/cairo-v28-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cairo-900 - latin */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 900;
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  src: url('../Fonts/cairo-v28-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
  --font-primary: 'Cairo', sans-serif;
  --font-secondary: 'Roboto', sans-serif;

  --clr-primary: #282bb2;
  --clr-grayDark: #3b3b3b;
  --clr-grayMedium: #505050;
  --clr-grayLight: #e8e8e9;

  --font-clr-primary: #4a4a4a;

  --content-width: 1455px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  font-family: 'Cairo', sans-serif;
  font-family: var(--font-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: normal;
  color: #4a4a4a;
  color: var(--font-clr-primary);
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
  scroll-padding-top: 135px;
}

body {
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: #282bb2;
  color: var(--clr-primary);
}

ul {
  padding-left: 0;
  list-style: none;
}

li {
  padding: 1rem;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

h1 {
  font-size: 2.25rem;
  font-weight: 700;
}

.Main {
  position: relative;
  z-index: 1;
}

.headerImage {
  position: relative;
  width: 100%;
  height: 220px;
  border-top: 5px solid #b20921;
  background-color: #e8e8e9;
  background-color: var(--clr-grayLight);
  background-image: url('../Images/Page-background-image.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

@media screen and (min-width: 1026px) {

.headerImage {
    height: 50vh;
}
  }

.headerImage::after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
  }

.Header-bow {
  position: absolute;
  bottom: 0;
}

#page .headerImage::after,
#news .headerImage::after {
  background-image: url('../Images/BowHeader.svg');
}

#main {
  position: relative;
  background-color: #e8e8e9;
  background-color: var(--clr-grayLight);
}

#homepage #main {
  padding-bottom: 200px;
}

@media screen and (max-width: 992px) {
  #page #main,
  #news #main {
    margin-bottom: -7px;
    padding-bottom: 7px;
  }
}

@media screen and (min-width: 769px) {

.headerTitle {
    margin-top: -30px;
}
  }

.headerTitle h1 {
    margin-top: 0;
  }

.contentWrapper {
  position: relative;
  z-index: 1;
}

.contentWrapper > h1 {
    margin-top: 0;
    text-align: center;
  }

.u-contentWidth {
  --paddingX: 20px;

  width: min(100% - var(--paddingX), 1455px);

  width: min(100% - var(--paddingX), var(--content-width));
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 769px) {

.u-contentWidth {
    --paddingX: 60px;
}
  }

@media screen and (min-width: 1026px) {

.u-contentWidth {
    --paddingX: 100px;
}
  }

@media screen and (min-width: 1367px) {

.u-contentWidth {
    --paddingX: 160px;
}
  }

.u-contentWidth--small {
  max-width: 810px;
  margin-right: 20px;
  margin-left: 20px;
}

@media screen and (min-width: 769px) {

.u-contentWidth--small {
    margin-right: 60px;
    margin-left: 60px;
}
  }

@media screen and (min-width: 1026px) {

.u-contentWidth--small {
    margin-right: auto;
    margin-left: auto;
}
  }

@media screen and (max-width: 1024px) {
  .Section-content.u-contentWidth--small {
    max-width: 100%;
  }
}

.visually-hidden {
  position: absolute;
  top: auto;
  left: -10000px;
  overflow: hidden;
  width: 1px;
  height: 1px;
}

form#kontakt fieldset {
  padding: 0;
  border: 0;
}

form#kontakt fieldset > div {
  position: relative;
  display: flex;
  flex-flow: column;
  margin-top: 20px;
}

form#kontakt fieldset > div:first-of-type {
    margin-top: 0;
  }

form#kontakt label {
  margin-bottom: 2px;
  font-size: 1.125rem;
}

form#kontakt label[for$='-datenschutz'] {
  order: 2;
  margin-top: -20px;
  margin-left: 20px;
  font-family: 'Cairo', sans-serif;
  font-family: var(--font-primary);
}

form#kontakt .clearfix.error label[for$='-datenschutz'] {
  margin-top: 0;
}

form#kontakt input,
form#kontakt textarea,
form#kontakt select {
  padding: 10px;
  border: 1px solid #cccccc;
}

form#kontakt input {
  padding: 15px 10px;
}

form#kontakt input:not([type='checkbox']),
form#kontakt textarea {
  width: 100%;
}

form#kontakt textarea {
  min-height: 150px;
}

form .help-inline {
  display: block;
  padding: 1px 5px;
  background-color: #ffffff;
  color: #282bb2;
  color: var(--clr-primary);
}

form .actions {
  margin-top: 20px;
  text-align: right;
}

form .actions ul {
  margin-left: 0;
}

form .actions ul li {
  padding: 0;
}

form .actions ul li::before {
  display: none;
}

form label[for$='-datenschutz'] + .input .help-inline {
  position: absolute;
  top: 3px;
  margin-left: 20px;
}

form label[for$='-datenschutz'] a {
  text-decoration: underline;
  color: #282bb2;
  color: var(--clr-primary);
}

form .actions button {
  position: relative;
  display: table;
  margin-left: auto;
  padding: 10px 30px;
  font-size: 1.25rem;
  font-weight: 700;
  background-color: #282bb2;
  background-color: var(--clr-primary);
  color: #ffffff;
  transition: background-color 0.2s, color 0.2s;
}

form .actions button:hover {
    background-color: #282bb2;
    background-color: var(--clr-primary);
  }

.homePage .headerImage {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-image: url('../Images/Home-background-image.jpg');
  }

.homePage .contentWrapper {
    padding-top: 40px;
  }

.headerTitle {
  display: flex;
  justify-content: center;
  background-color: #e8e8e9;
  background-color: var(--clr-grayLight);
}

.d-none {
  display: none !important;
}

.neos-contentcollection > [class^='style__addEmptyContentCollectionOverlay'] {
    flex: 1 1 100%;
  }

/* MARGIN TOP */

.mt-1 {
  margin-top: 15px !important;
}

.mt-3 {
  margin-top: 30px !important;
}

.mt-5 {
  margin-top: 45px !important;
}

@media screen and (max-width: 768px) {
  .mt-1,
  .mt-3,
  .mt-5 {
    margin-top: 0 !important;
  }
}

/* MARGIN RIGHT */

.mr-1 {
  width: calc(100% - 15px) !important;
}

.mr-3 {
  width: calc(100% - 30px) !important;
}

.mr-5 {
  width: calc(100% - 45px) !important;
}

@media screen and (max-width: 768px) {
  .mr-1,
  .mr-3,
  .mr-5 {
    width: 100% !important;
  }
}

/* MARGIN BOTTOM */

.mb-1 {
  margin-bottom: 15px !important;
}

.mb-3 {
  margin-bottom: 30px !important;
}

.mb-5 {
  margin-bottom: 45px !important;
}

/* MARGIN LEFT */

.ml-1 {
  margin-left: 15px !important;
}

.ml-3 {
  margin-left: 30px !important;
}

.ml-5 {
  margin-left: 45px !important;
}

@media screen and (max-width: 768px) {
  .ml-1,
  .ml-3,
  .ml-5 {
    margin-left: 0 !important;
  }
}

/* PADDING TOP */

.pt-1 {
  padding-top: 15px !important;
}

.pt-3 {
  padding-top: 30px !important;
}

.pt-5 {
  padding-top: 45px !important;
}

/* PADDING RIGHT */

.pr-1 {
  padding-right: 15px !important;
}

.pr-3 {
  padding-right: 30px !important;
}

.pr-5 {
  padding-right: 45px !important;
}

/* PADDING BOTTOM */

.pb-1 {
  padding-bottom: 15px !important;
}

.pb-3 {
  padding-bottom: 30px !important;
}

.pb-5 {
  padding-bottom: 45px !important;
}

/* PADDING LEFT */

.pl-1 {
  padding-left: 15px !important;
}

.pl-3 {
  padding-left: 30px !important;
}

.pl-5 {
  padding-left: 45px !important;
}
