/* ===================================================           Variablen*/
/*  ===================================================          Farben */
/* ===================================================           Typo*/
body,
a,
a:visited {
  font-family: 'Open Sans', sans-serif;
  color: rgba(0, 0, 0, 0.8);
}

h1,
h2,
h3,
h4,
h5,
.subline-h1,
.quote {
  font-family: 'Dosis', sans-serif;
  font-weight: 500;
  line-height: 1.2;
}

p + h2,
section h2 {
  margin-top: 40.5px !important;
}

article h1 {
  font-size: 36px;
  color: #ff2767;
  margin-bottom: 40.5px;
}
article p.subline-h1 {
  font-size: 27px;
}
article h2 {
  font-size: 22.5px;
  margin: 13.5px 0 13.5px 0;
  color: #ff2767;
}
article .inhalt ol {
  margin: 27px 0 27px 81px;
}
@media (max-width: 599px) {
  article .inhalt ol {
    margin-left: 27px;
  }
}
article .inhalt ul {
  margin: 27px 0 27px 81px;
}
@media (max-width: 599px) {
  article .inhalt ul {
    margin-left: 27px;
  }
}
article .inhalt ul li {
  list-style: none;
}
article .inhalt ul li + li {
  margin-top: 13.5px;
}
article .inhalt ul li ul {
  margin-top: 13.5px;
}
article .inhalt ul li ul li:before {
  color: #FF5F90;
}
article .inhalt ul li:before {
  content: '\f185';
  font-family: 'FontAwesome';
  float: left;
  margin-left: -40.5px;
  color: #C1E24B;
  font-size: 18px;
}
@media (max-width: 599px) {
  article .inhalt ul li:before {
    margin-left: -27px;
  }
}

a {
  text-decoration: none;
}

a:hover {
  cursor: pointer;
}

p,
li,
td {
  font-size: 18px;
  line-height: 27px;
}

/* =============================================================   Navigation*/
header.siteheader {
  background-color: white;
  position: fixed;
  width: 100vw;
  top: 0;
  left: 0;
  z-index: 1000;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
}
@media (max-width: 599px) {
  header.siteheader {
    position: relative;
  }
}
header.siteheader .inner {
  max-width: 80vw;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: stretch;
  align-items: center;
  color: rgba(0, 0, 0, 0.8);
}
header.siteheader .inner nav.primaerlinks {
  flex: 1 1 200px;
  text-align: right;
}
header.siteheader .inner nav.primaerlinks .menu {
  float: right;
  display: flex;
}
header.siteheader .inner nav.primaerlinks .menu li {
  flex: 1 0 auto;
  white-space: nowrap;
}
header.siteheader .inner nav.primaerlinks .menu li a {
  padding: 13.5px;
  display: block;
}
header.siteheader .inner nav.primaerlinks .menu li.active {
  background-color: #ADD322;
}
header.siteheader .inner nav.primaerlinks .menu li.active a {
  color: white;
}
header.siteheader .inner nav.primaerlinks .menu li.active:hover {
  background-color: #ADD322;
}
header.siteheader .inner nav.primaerlinks .menu li:hover {
  background-color: #DAF577;
}
header.siteheader .inner nav.sublinks,
header.siteheader .inner nav.siblinks {
  flex: 1 1 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.6);
  text-align: right;
}
header.siteheader .inner nav.sublinks .submenu,
header.siteheader .inner nav.sublinks .sibmenu,
header.siteheader .inner nav.siblinks .submenu,
header.siteheader .inner nav.siblinks .sibmenu {
  display: flex;
  justify-content: flex-end;
}
header.siteheader .inner nav.sublinks li,
header.siteheader .inner nav.siblinks li {
  font-size: 14.4px;
  padding: 0 13.5px;
}
header.siteheader .inner nav.sublinks li + li,
header.siteheader .inner nav.siblinks li + li {
  padding-left: 27px;
}
header.siteheader .inner nav.sublinks li.active,
header.siteheader .inner nav.siblinks li.active {
  background-color: #ADD322;
  color: white;
}
header.siteheader .inner nav.sublinks li.active:hover,
header.siteheader .inner nav.siblinks li.active:hover {
  background-color: #ADD322;
}
header.siteheader .inner nav.sublinks li:hover,
header.siteheader .inner nav.siblinks li:hover {
  background-color: #DAF577;
}
@media (max-width: 599px) {
  header.siteheader .inner .sibmenu {
    display: none !important;
  }
  header.siteheader .inner .menu {
    width: 100%;
  }
  header.siteheader .inner li {
    flex: 1 1 100%;
    font-size: 14.4px;
    padding: 0;
  }
  header.siteheader .inner li.active {
    padding: 0 13.5px;
  }
  header.siteheader .inner li a {
    padding: 0 13.5px;
  }
  header.siteheader .inner nav.primaerlinks .menu {
    flex-direction: column;
    justify-content: flex-start;
    text-align: left;
  }
  header.siteheader .inner nav.sublinks .submenu {
    flex-direction: column;
  }
  header.siteheader .inner nav.sublinks li {
    align-self: stretch;
  }
}
header.siteheader h1 {
  font-size: 28.8px;
  font-weight: 500;
  max-width: 100%;
}
header.siteheader h1 b {
  font-style: normal;
  color: #ff2767;
  margin-right: 27px;
  font-weight: 500;
}

.down nav.sublinks {
  display: none;
}

/* ============================================================          Layout*/
body {
  background-color: #e9ded4;
}

/* =======================================================          Startseite*/
.startseite,
.folgeseiten {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: white;
}

.startseite .wrapper {
  padding: 20vh 20vw;
}
.startseite .wrapper h1 {
  font-size: 10vh;
  font-weight: 200;
  margin-bottom: 27px;
}
.startseite .wrapper h1 b {
  display: block;
  font-style: normal;
  color: #ff2767;
  font-weight: 200;
}
.startseite .wrapper .subline-h1 {
  font-size: 7vh;
  line-height: 27px;
  font-weight: 200;
  color: #ff2767;
  margin-bottom: 27px;
}
@supports (display: grid) {
  .startseite .wrapper {
    padding: 0;
    margin: 0 auto;
    max-width: 1200px;
    display: grid;
    grid-template-columns: 54px 1fr 2fr 2fr 13.5px;
    grid-template-rows: 2fr 1fr 1fr 2fr 2fr;
    grid-row-gap: 27px;
    height: 100vh;
  }
  @media (max-width: 599px) {
    .startseite .wrapper {
      height: auto;
      grid-template-columns: 1fr;
      grid-template-rows: auto;
    }
  }
  .startseite .wrapper h1 {
    grid-column: 2 / span 3;
    grid-row: 2 / 3;
    margin-bottom: 0;
  }
  @media (max-width: 599px) {
    .startseite .wrapper h1 {
      padding-left: 13.5px;
    }
  }
  .startseite .wrapper .subline-h1 {
    grid-column: 3 / span 2;
    grid-row: 3 / 4;
    align-self: end;
    margin-bottom: 0;
    line-height: 1.2;
  }
}
.startseite .wrapper .banner {
  grid-column: 1 / 6;
  grid-row: 1;
  background-color: rgba(255, 255, 255, 0.49);
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  padding: 27px 81px 0 81px;
  color: rgba(0, 0, 0, 0.8);
}
@media (max-width: 599px) {
  .startseite .wrapper .banner {
    padding: 13.5px;
  }
}
.startseite .wrapper .banner p {
  margin-bottom: 27px;
}
.startseite .wrapper .banner .quote {
  font-size: 2rem;
  color: #ff2767;
}
.startseite .wrapper .intro {
  grid-column: 3 / span 2;
  grid-row: 4 / 5;
}
.startseite .wrapper .footerblock1 {
  grid-column: 1/ 6;
  grid-row: 5 / 6;
  width: 100%;
}

/* ==============================================          Folgeseiten*/
/* ============================================= schmales Main */
.folgeseiten .schmal main {
  max-width: 1200px;
  margin: 150px auto 100vh auto;
  hyphens: auto;
}
@media (max-width: 599px) {
  .folgeseiten .schmal main {
    margin-top: 54px;
  }
}

article {
  color: rgba(0, 0, 0, 0.8);
  background-color: rgba(255, 255, 255, 0.9);
  padding: 27px;
  border-radius: 13.5px;
}
article > .header {
  padding: 40.5px;
  max-width: 100%;
  hyphens: none;
}
article > .header h1 {
  font-size: 54px;
  line-height: 54px;
  font-weight: 300;
  padding-bottom: 27px;
}

@supports (display: grid) {
  .prim main.content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-gap: 27px;
    grid-auto-flow: row dense;
  }
}
.prim main.content article.inline {
  grid-column: 1 / span2;
}

article {
  margin-bottom: 54px;
}
@supports (display: grid) {
  article {
    margin-bottom: 0;
  }
}
article .inhalt {
  flex: 1 1 auto;
  padding: 40.5px;
  max-width: 80em;
  max-width: 100%;
}
article .inhalt a {
  text-decoration: underline;
  text-decoration-color: #ADD322;
  text-decoration-style: double;
}
article p + p {
  margin-top: 27px;
}

article.card {
  display: flex;
  flex-direction: column;
}
article.card h1 {
  font-size: 54px;
  line-height: 54px;
  font-weight: 300;
  padding-bottom: 13.5px;
  hyphens: manual;
}
article.card a {
  flex-grow: 1;
}
article.card ul.footerlinks {
  margin: 27px 0 0;
  padding: 0;
}

article.inline {
  display: flex;
  flex-wrap: wrap;
}
@supports (display: grid) {
  article.inline {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-row-gap: 13.5px;
  }
}
article.inline > .header {
  flex: 0 0 auto;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
article.inline > .header .sticky {
  position: sticky;
  top: 100px;
}
article.inline > .header figure img {
  max-width: 100%;
  margin: 27px 0;
}
@media (max-width: 599px) {
  article.inline {
    display: flex;
    padding: 0;
    margin: 54px 6.75px;
  }
  article.inline .header .sticky {
    margin: 0;
    padding: 0;
    position: relative;
    top: 0;
  }
  article.inline .header h1 {
    font-size: 36px;
    line-height: 40.5px;
    font-weight: 400;
    padding-bottom: 0;
  }
  article.inline .inhalt {
    padding: 13.5px;
  }
  article.inline .inhalt h1 {
    font-size: 27px;
  }
}

article.maps {
  display: flex;
  flex-direction: column;
}
article.maps > .header {
  flex: 0 0 auto;
}
article.maps > .header h1 {
  margin-bottom: 54px;
}
article.maps .inhalt {
  padding-top: 0;
}
article.maps iframe {
  max-width: 100%;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.6);
}

h3.footerlinks {
  padding: 6.75px 13.5px;
  text-align: right;
  color: #ff2767;
}

ul.footerlinks {
  grid-column: 2 / 3;
  display: flex;
  flex-wrap: wrap;
  padding: 0 40.5px;
}
@media (max-width: 599px) {
  ul.footerlinks {
    padding: 0 13.5px 27px 13.5px;
  }
}
ul.footerlinks li {
  flex: 0 0 100%;
  list-style: none;
  margin-right: 2px;
  margin-bottom: 2px;
}
ul.footerlinks li a {
  display: block;
  padding: 6.75px 16.875px;
  font-size: 14.4px;
}
ul.footerlinks.intern li {
  background-color: #ADD322;
}
ul.footerlinks.intern li:hover {
  background-color: #88A810;
}
ul.footerlinks.intern li:hover a {
  color: white;
}
ul.footerlinks.extern li {
  background-color: #ADD322;
}
ul.footerlinks.extern li:hover {
  background-color: #88A810;
}
ul.footerlinks.extern li:hover a {
  color: white;
}

/* =====================================          spezielle Elemente*/
article .ctitem .cvitem {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  margin-bottom: 13.5px;
}
article .ctitem .cvitem div {
  padding: 6.75px 16.875px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  background-color: #CEE385;
}
article .ctitem .cvitem .cvwhat {
  flex: 1 0 100%;
  font-size: 18px;
  line-height: 27px;
}
article .ctitem .cvitem .cvwho {
  flex: 3 1 200px;
  background-color: #e5f2b8;
  font-size: 14.4px;
}
article .ctitem .cvitem .cvwhere {
  flex: 1 1 150px;
  background-color: #e5f2b8;
  font-size: 14.4px;
}

/*================================================== footer ==*/
div[class*='footerblock'] {
  background-color: white;
  max-width: 1200px;
  margin: 0 auto;
  padding: 27px 54px;
  color: rgba(0, 0, 0, 0.8);
}
div[class*='footerblock'] li {
  list-style: none;
}
div[class*='footerblock'] .mainpages {
  flex: 1 1 auto;
  display: flex;
  justify-content: space-between;
}
div[class*='footerblock'] .mainpages > li {
  color: #ff2767;
}
div[class*='footerblock'] .mainpages > li:hover > a {
  color: white;
  background-color: #ff2767;
  display: block;
  margin-left: -13.5px;
  padding-left: 13.5px;
}
div[class*='footerblock'] .mainpages > li > ul > li {
  font-size: 16px;
}
div[class*='footerblock'] .mainpages > li > ul > li:hover a {
  background-color: #ADD322;
  color: white;
}
div[class*='footerblock'] .mainpages > li > ul > li a {
  padding: 0 13.5px;
  display: block;
}
div[class*='footerblock'] .sekpages {
  padding-top: 27px;
  border-top: 1px solid rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
}
div[class*='footerblock'] .sekpages li {
  padding: 13.5px;
}
div[class*='footerblock'] .sekpages li:hover a {
  color: #ff2767;
}
div[class*='footerblock'] .credits2kirby {
  margin: 0 auto 54px auto;
  text-align: center;
}
div[class*='footerblock'] .credits2kirby span {
  color: #ff2767;
}
div[class*='footerblock'] .credits2kirby a {
  font-size: 12.6px;
}
div[class*='footerblock'] .credits2kirby a:hover {
  color: #ff2767;
}

div.footerblock1 {
  border-top-left-radius: 13.5px;
  border-top-right-radius: 13.5px;
}
@media (max-width: 599px) {
  div.footerblock1 .subpages {
    display: none;
  }
  div.footerblock1 .mainpages {
    flex-direction: column;
  }
  div.footerblock1 .mainpages li a {
    padding: 13.5px 0;
    display: block;
  }
}

.back-to-top {
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 1em;
  color: white;
}

/*# sourceMappingURL=screen.css.map */
