/* eigene Styles -> für Print UND Screen */
/* hier können Schriftarten, größen usw. festgelegt werden */



@media all and (min-width: 1281px) {
  #row_content {
    grid-template-columns: repeat(12, 1fr);
    align-items: stretch;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--gap);
    grid-gap: var(--gap);
  }
}

@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/FiraSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/FiraSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

/* @font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/FiraSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
} */

@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/FiraSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}


:root {
  --gap: 1.6rem;

  --black: #221f20;
  /* --black_opacity: #221f20bf; */
  --black_opacity: #221f20d6;
  --highlight: #82c4e7;
  --white: #FFFFFF;

  --box-shadow: 0px 10px 10px rgb(0 0 0 / 0.37);
  --text-shadow: 0px 5px 5px rgb(0 0 0 / 0.75);

  --entryvideosize: 9rem;
  --headlinefontsize: 3rem;
  --headerfontsize: 2.5rem;
  --footerfontsize: 2.5rem;
  --textfontsize: 1.8rem;

  --bold: 700;
  --light: 300;
  --regular: 400;


  --top_bottom: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 1) 20rem,
      rgba(0, 0, 0, 1) calc(100% - 20rem),
      rgba(0, 0, 0, 0) 100%);
  --top_bottom_form: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 1) 15rem,
      rgba(0, 0, 0, 1) calc(100% - 14rem),
      rgba(0, 0, 0, 0) 100%);

  --verlaufobenunten: linear-gradient(to bottom,
      rgba(0, 0, 0, 1) 0%,
      rgba(0, 0, 0, 0.0) 45%,
      rgba(0, 0, 0, 0.0) 55%,
      rgba(0, 0, 0, 1) 100%);

  --right: linear-gradient(to right,
      rgba(0, 0, 0, 0) 30%,
      /* rgba(0, 0, 0, 0.5) 65%, */
      rgba(0, 0, 0, 1) 100%);

  --left: linear-gradient(to left,
      rgba(0, 0, 0, 0) 30%,
      /* rgba(0, 0, 0, 0.5) 65%, */
      rgba(0, 0, 0, 1) 100%);

  --verlauflinks: linear-gradient(to left,
      rgba(0, 0, 0, 1) 45%,
      rgba(0, 0, 0, 0.5) 65%,
      rgba(0, 0, 0, 0) 100%);

  --left_right: linear-gradient(to right,
      rgba(0, 0, 0, 0) 15%,
      rgba(0, 0, 0, 1) 65%,
      rgba(0, 0, 0, 0) 100%);
  --left_right_form: linear-gradient(to right,
      rgba(0, 0, 0, 0) 15%,
      rgba(0, 0, 0, 1) 85%,
      rgba(0, 0, 0, 0) 100%);

  --verlaufrechts: linear-gradient(to right,
      rgba(0, 0, 0, 1) 0%,
      rgba(0, 0, 0, 0.9) 45%,
      rgba(0, 0, 0, 0.3) 60%,
      rgba(0, 0, 0, 0) 65%,
      rgba(0, 0, 0, 1) 100%);

  --verlaufrechtslinks: linear-gradient(to right,
      rgba(0, 0, 0, 1) 0%,
      rgba(0, 0, 0, 0.9) 5%,
      rgba(0, 0, 0, 0.0) 10%,
      rgba(0, 0, 0, 0.0) 90%,
      rgba(0, 0, 0, 0.9) 95%,
      rgba(0, 0, 0, 1) 100%);

  --verlaufunten: linear-gradient(to bottom,
      rgba(0, 0, 0, 0.0) 0%,
      rgba(0, 0, 0, 0.0) 45%,
      rgba(0, 0, 0, 0.5) 85%,
      rgba(0, 0, 0, 0.75) 95%,
      rgba(0, 0, 0, 1) 100%);

}

html {
  background-color: var(--black);
  color: var(--white);
  font-size: 12px;
  line-height: 1.5;
}

body {
  font-family: sans-serif;
  background-color: var(--black);
  color: var(--white);
  font-family: 'Fira Sans', sans-serif;
  font-weight: var(--light);
  font-size: var(--textfontsize);
}

main {
  padding-left: var(--padding);
  padding-right: var(--padding);
  width: 100%;
  overflow: hidden;
  text-shadow: 0px 0px 2rem rgba(0,0,0,.5);
}

.headerslider .swiper {
  height: 30vh;
}

/* .content_block ol,
.content_block ul {
  padding-left: 1em;
} */

ul {
  list-style: square;
}

hr {
  border-bottom: 0.1rem solid;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4  {
  text-transform: uppercase;
}

/* h1, .h1 {
  margin-top: var(--header);
} */

h1,
.h1,
h2,
.h2 {
  border-bottom: 2.75px solid var(--white);
  font-size: var(--headlinefontsize);
  width: fit-content;
  margin-bottom: 3rem;
  padding-bottom: 1rem;
}

h3,
.h3 {
  font-size: calc(var(--headerfontsize) - 0.1em);
}

h4,
.h4 {
  font-size: calc(var(--headerfontsize) - 0.4em);
}

h5,
.h5 {
  font-size: calc(var(--headerfontsize) - 0.9em);
}

strong {
  font-weight: var(--bold, 700);
}

strong em {
  text-transform: uppercase;
  font-style: normal;
  font-size: var(--headerfontsize);
  line-height: 1.2;
  font-weight: var(--bold);
  margin: 3rem 0rem 3rem 0rem;
}


/* h2:not(:first-child),
h3:not(:first-child),
h4:not(:first-child),
h5:not(:first-child),
h6:not(:first-child) {
  margin-top: 2rem;
} */

.news_box+.news_box {
  margin-top: 2rem;
}

/* featherlight ändert nicht Höhe / Breite */
html.with-featherlight .featherlight .featherlight-content {
  height: 800px;
  max-height: 95vh;
  width: 1150px;
  max-width: 95vw;
}

html.with-featherlight .featherlight .featherlight-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: auto;
}

html.with-featherlight .featherlight-next:hover,
html.with-featherlight .featherlight-previous:hover {
  background: rgba(0, 0, 0, 0.2);
}

/* 404 */
.errorpage {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.errorpage h1 strong {
  font-size: 5em;
}

.errorpage img {
  width: 100%;
  max-width: 20rem;
  height: auto;
}

.errorpage .lg_6 {
  width: calc(100% / 12 * 6);
}

.errorpage_img {
  position: relative;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.2) 0%, rgba(255, 255, 255, 0) 60%);
  min-height: 20rem;
  max-width: 35rem;
}

.errorpage_img .mond {
  position: absolute;
  left: 12.5%;
  top: 0%;
  z-index: 1;
  width: 40%;
  height: auto;
}

.errorpage_img .astronaut {
  position: absolute;
  right: 12.5%;
  bottom: 0%;
  z-index: 2;
  width: 40%;
  height: auto;
  transform: rotate(0deg);
  animation-duration: 10s;
  animation-name: rotate;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(-360deg);
  }
}

@media only screen and (max-width: 768px) {
  .errorpage .md_12 {
    width: 100%;
  }

  .errorpage {
    flex-direction: column-reverse;
    align-items: center;
  }
}

/* ENDE 404 */

/* SOCIAL MEDIA MENU */
.social-media-menu-wrapper {
  display: flex;
  justify-content: flex-end;
}

.social-media-menu-wrapper ul {
  list-style: none;
  display: flex;
  flex-direction: row;
  margin-top: 2rem;
}

.social-media-menu-wrapper li {
  margin-left: 1rem;
}

/* END SOCIAL MEDIA MENU */


.menu_dummy {
  cursor: default;
}

main ul {
	padding: 0.6em 1em;
}

.text-pic-wrapper.flexbox.rightfloat ul {
  padding-left: 0;
}






/* Abstand erster Block */
main#row_content>div.content_block:first-child .content_wrapper {
  padding-top: 0!important;
  padding-bottom: 0!important;
}

/* MODULE form_select 
   background shadow
*/
.content_module.form_select::before {

}