/* ==========================================================================
   Allgemein
   ========================================================================== */

:root {
  --blau: #3ba5e3;
  --blassgrau: #fbfbfb;
  --hellgrau: #e1e1e1;
  --mittelgrau: #585858;
  --dunkelgrau: #424242;;
  --schwarzgrau: #212124;
}


/* ==========================================================================
   Fonts
   ========================================================================== */

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/poppins/regular.eot'); /* IE9 Compat Modes */
  src: local('Poppins Regular'), local('Poppins-Regular'), 
     url('../fonts/poppins/regular.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/regular.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/regular.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/regular.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/regular.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/poppins/italic.eot'); /* IE9 Compat Modes */
  src: local('Poppins Italic'), local('Poppins-Italic'), 
     url('../fonts/poppins/italic.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/italic.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/italic.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/italic.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/italic.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/poppins/100.eot'); /* IE9 Compat Modes */
  src: local('Poppins Thin'), local('Poppins-Thin'), 
     url('../fonts/poppins/100.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/100.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/100.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/100.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/100.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/poppins/200.eot'); /* IE9 Compat Modes */
  src: local('Poppins ExtraLight'), local('Poppins-ExtraLight'), 
     url('../fonts/poppins/200.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/200.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/200.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/200.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/200.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/poppins/300.eot'); /* IE9 Compat Modes */
  src: local('Poppins Light'), local('Poppins-Light'), 
     url('../fonts/poppins/300.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/300.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/300.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/300.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/300.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/poppins/500.eot'); /* IE9 Compat Modes */
  src: local('Poppins Medium'), local('Poppins-Medium'), 
     url('../fonts/poppins/500.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/500.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/500.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/500.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/500.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/poppins/600.eot'); /* IE9 Compat Modes */
  src: local('Poppins SemiBold'), local('Poppins-SemiBold'), 
     url('../fonts/poppins/600.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/600.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/600.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/600.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/600.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/poppins/700.eot'); /* IE9 Compat Modes */
  src: local('Poppins Bold'), local('Poppins-Bold'), 
     url('../fonts/poppins/700.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/700.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/700.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/700.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/700.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/poppins/800.eot'); /* IE9 Compat Modes */
  src: local('Poppins ExtraBold'), local('Poppins-ExtraBold'), 
     url('../fonts/poppins/800.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/800.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/800.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/800.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/800.svg') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/poppins/900.eot'); /* IE9 Compat Modes */
  src: local('Poppins Black'), local('Poppins-Black'), 
     url('../fonts/poppins/900.eot?#iefix') format('embedded-opentype'),  /* IE6-IE8 */
     url('../fonts/poppins/900.woff2') format('woff2'), /* Super Modern Browsers */
     url('../fonts/poppins/900.woff') format('woff'), /* Modern Browsers */
     url('../fonts/poppins/900.ttf') format('truetype'), /* Safari, Android, iOS */
     url('../fonts/poppins/900.svg') format('svg'); /* Legacy iOS */
}


/* ==========================================================================
   Basic
   ========================================================================== */

* {
  box-sizing: border-box;
  -webkit-appearance: none;
}

body {
  background: var(--blassgrau) no-repeat top center fixed;
  margin: 0;
  padding: 0;
  color: var(--mittelgrau);
  font: normal 300 14px/1.5 'Poppins', sans-serif;
}

a {
  color: var(--blau);
  font-weight: 400;
  text-decoration: none;
  transition: color 0.25s ease 0s;
}

a:hover {
  color: #3595cc;
  text-decoration: underline;
}

h1,
h2 {
  margin: 0;
  font: normal 700 40px/1.5 'Poppins', sans-serif;
  color: var(--dunkelgrau);
  text-transform: uppercase;
}

h3 {
  margin: 0 0 10px 0;
  font: normal 700 20px/1.5 'Poppins', sans-serif;
  color: var(--dunkelgrau);
  text-transform: uppercase;
}

h1 span,
h2 span,
h3 span {
  color: var(--blau);
}

h3 small {
  font-size: 10px;
}

strong {
  font-weight: 600;
}

img {
  border: 0;
}

sup {
  color: #d12727;
}

hr {
  border: 0;
  background: var(--hellgrau);
  margin: 10px 0 4px 0;
  height: 1px;
}

table {
  border-collapse: collapse;
  margin: 20px auto;
  width: 100%;
}

thead > tr {
  background: #ffffff;
  color: var(--mittelgrau);
  font: normal 600 14px/1.5 'Poppins', sans-serif;
  text-transform: uppercase;
}

thead > tr a {
  color: var(--mittelgrau);
  font-weight: 600;
  transition: none;
}

thead > tr a:hover {
  color: var(--blau);
}

tbody > tr {
  background: var(--hellgrau);
}

tbody > tr:nth-child(2n) {
  background: #ffffff;
}

tbody > tr:hover {
  background: var(--hellgrau) !important;
}

td {
  border: 1px solid var(--mittelgrau);
  padding: 8px 10px;
  width: auto;
  height: auto;
  vertical-align: top;
}

.flexwrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-wrap: wrap;
  -moz-box-wrap: wrap;
  -ms-flexbox-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  flex: 0 0 100%;
  justify-content: start;
  align-items: stretch;
  margin: 0;
  padding: 0;
}

.drittel > div {
  margin: 0 2% 0 0;
  width: 32%;
}

.drittel > div:nth-child(3n) {
  margin: 0;
}

.zweidrittel > div:first-child {
  margin: 0 2% 0 0;
  width: 32%;
}

.zweidrittel > div:nth-child(2n) {
  margin: 0;
  width: 66%;
}

.zweispaltig {
  width: 100% !important;
}

.container {
  margin: 0 auto;
  width: 90%;
  max-width: 1200px;
}

/* Basic-Einstellungen für Smartphones */

@media all and (max-width: 768px) {
  .drittel > div {
    margin: 0 0 10px 0;
    width: 100%;
  }

  .drittel > div:last-child {
    margin: 0;
  }
}


/* ==========================================================================
   Formulare
   ========================================================================== */

fieldset {
  border: 0;
  margin: 30px auto 0 auto;
  padding: 0;
  width: 60%;
  text-align: left;
}

fieldset .flexwrapper > div {
  margin: 0 1% 0 0;
  width: 49.5%;
}

fieldset .flexwrapper > div:nth-child(2n) {
  margin: 0;
}

input,
select,
textarea {
  border: 2px solid var(--hellgrau);
  background: #ffffff;
  margin: 0 0 10px 0;
  padding: 10px 20px;
  width: 100%;
  color: var(--mittelgrau);
  font: normal 300 14px/1.0 'Poppins', sans-serif;
}

input:focus,
select:focus,
textarea:focus {
  background: var(--blassgrau);
}

input[type=submit] {
  cursor: pointer;
  border: 0;
  border-radius: 30px;
  background: var(--blau);
  padding: 15px 30px;
  color: #ffffff;
  font: normal 500 14px/1.0 'Poppins', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.25s ease 0s;
}

input[type=submit]:hover {
  background: #3595cc;
}

input[type=checkbox] {
  -webkit-appearance: checkbox;
  margin: 12px 0;
  width: 20px;
}

textarea {
  font: normal 300 14px/1.5 'Poppins', sans-serif;
}

.buttonlink {
  cursor: pointer;
  display: inline-block;
  border: 0;
  border-radius: 30px;
  background: var(--blau);
  padding: 15px 30px;
  color: #ffffff;
  font: normal 500 14px/1.0 'Poppins', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.25s ease 0s;
}

.buttonlink:hover {
  background: #3595cc;
  color: #ffffff;
  text-decoration: none;
}

/* Formular-Einstellungen für Smartphones */

@media all and (max-width: 768px) {
}



/* ==========================================================================
   Header
   ========================================================================== */

header {
  width: 100%;
}

header > img {
  width: 100%;
}

/* Header-Einstellungen für Smartphones */

@media all and (max-width: 768px) {
  header {
    display: none;
  }
}


/* ==========================================================================
   Navigation
   ========================================================================== */

nav {
  z-index: 2;
  display: block;
  position: fixed;
  top: 0;
  background: #ffffff;
  box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);
  width: 100%;
  color: var(--blau);
  font: normal 600 16px 'Poppins', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

nav img {
  margin: 12px 0 5px 0;
  height: 46px;
}

nav ul {
  list-style: none;
}

nav ul > li {
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-transform: uppercase;
}

nav ul > li > a {
  display: block;
  margin: 28px 0 28px 28px;
  color: var(--dunkelgrau);
  font: normal 600 16px/1.0 'Poppins', sans-serif;
  transition: color 0.35s ease-in-out 0s;
}

nav ul > li > a:hover,
.selected {
  color: var(--blau);
  text-decoration: none;
}

nav ul > li > ul {
  display: none;
  margin: 0;
  padding: 0;
  color: #ffffff;
}

nav ul > li > ul > li > a {
  padding: 10px 0 10px 20px !important;
  color: #ffffff;
  font-size: 14px !important;
}

nav ul > li > ul > li > a:hover {
  color: var(--blau);
  text-decoration: none;
}

#logo {
  width: 25%;
}

#buttons {
  width: 75%;
}

#buttons ul {
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
}

#menubtn {
  display: none;
}

#menubtn ~ label > em {
  z-index: 11
  display: none;
}

#menubtn ~ label > em:hover {
  cursor: pointer;
}

#menubtn ~ label > em::before {
  padding: 0 5px;
  color: var(--dunkelblau);
  font: normal 24px/0px 'FontAwesome';
  transition: color 0.25s ease 0s;
}

.dropdown:hover ul,
.opened {
  display: block;
}

/* Navigation-Einstellungen für Smartphones */

@media all and (max-width: 768px) {
  nav ul > li {
    padding: 5px;
    width: 50%;
  }

  nav ul > li > ul {
    width: 100%;
  }

  nav ul > li > a {
    margin: 14px 0;
    padding: 0;
  }

  #logo,
  #buttons {
    display: block;
    width: 100% !important;
    text-align: center;
  }

  #logo {
    margin: 10px 0;
  }

  #buttons {
    border-top: 0.5px solid #ffffff;
  }

  #menubtn {
    display: inline;
    position: absolute;
    top: -50px;
    left: -50px;
  }

  #menubtn ~ label > em {
    display: block;
  }

  #menubtn ~ label > em::before {
    position: absolute;
    top: 42px;
    right: 5%;
    content: "\f0c9";
  }

  #menubtn:checked ~ #buttons {
    display: flex;
  }

  #menubtn:checked ~ label > em::before {
    content: "\f00d";
  }

  #buttons {
    display: none;
  }
}


/* ==========================================================================
   Content
   ========================================================================== */

main {
  width: 100%;
}

section {
  padding: 60px 0;
  width: 100%;
}

section:nth-child(2n) {
  background: var(--hellgrau);
}

#team .flexwrapper {
  margin: 20px 0 0 0;
  text-align: center;
}

#team .flexwrapper > div img {
  border-radius: 50%;
  margin: 0 auto;
  width: 60%;
}

#impressum,
#datenschutz {
  margin: 50px 0 0 0;
}

/* Content-Einstellungen für Smartphones */

@media all and (max-width: 768px) {
}


/* ==========================================================================
   Footer
   ========================================================================== */

footer {
  background: var(--schwarzgrau);
  padding: 60px 0 0 0;
  width: 100%;
  color: #ffffff;
  font-size: 14px;
}

footer a {
  color: #ffffff;
}

footer a:hover {
  color: var(--blau);
}

footer h3 {
  margin: 0 0 16px 0;
  color: #ffffff;
  font-weight: 600;
}

footer img {
  margin: 0 0 12px 0;
  height: 60px;
}

#footer2 {
  background: var(--dunkelgrau);
  margin: 40px 0 0 0;
  padding: 16px 0;
  width: 100%;
  text-align: center;
}

#footer2 small {
  font-size: 8px;
}

.facebook,
.instagram,
.twitter {
  text-decoration: none !important;
}

.facebook::before,
.instagram::before,
.twitter::before {
  padding: 0 14px 0 0;
  color: var(--blau);
  font: normal 22px/0px 'FontAwesome';
  transition: color 0.25s ease 0s;
}

.facebook::before {
  content: "\f09a";
}

.instagram::before {
  content: "\f16d";
}

.twitter::before {
  content: "\f099";
}

.facebook:hover::before,
.instagram:hover::before,
.twitter:hover::before,
.youtube:hover::before {
  color: #ffffff;
}