* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

/* New Css framework
  ========================================================================== */
button,
.btn {
  padding: 0;
  margin: 0;
  border: 0;
  background-color: #fff;
  outline: none;
  user-select: none;
}

/* Fonts
  ========================================================================== */
@font-face {
  font-family: "Nunito";
  src: url("./assets/fonts/Nunito/Nunito-Regular.ttf");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Nunito";
  src: url("./assets/fonts/Nunito/Nunito-SemiBold.ttf");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Open Sans";
  src: url("./assets/fonts/Open_Sans/OpenSans-Regular.ttf");
  font-weight: 400;
  font-style: normal;
}

/* Generell elements
  ========================================================================== */
h1 {
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  margin: 40px 0 20px 0;
}

h2 {
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  margin: 30px 0 10px 0;
}

h3 {
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  margin: 20px 0 10px 0;
  font-size: 18px;
}

p,
li,
input,
textarea {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  margin: 20px 0;
  color: #4d4d4d;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.25px;
}

a {
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
  text-decoration: none;
  outline: none;
  color: #000000;
}

.btn-blue {
  display: inline-block;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #fff;
  background-color: #2790c3;
  margin: 0;
  padding: 10px 25px;
  border-radius: 1px;
}

@media (max-width: 349px) {
  h1,
  h2 {
    font-size: 22px;
    line-height: 28px;
  }
}

@media (min-width: 350px) and (max-width: 999px) {
  h1,
  h2 {
    font-size: 25px;
    line-height: 36px;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  h1 {
    font-size: 35px;
    line-height: 50px;
  }

  h2 {
    font-size: 30px;
    line-height: 40px;
    margin-bottom: 15px;
  }
}

@media (min-width: 1200px) {
  h1 {
    font-size: 40px;
    line-height: 55px;
    letter-spacing: 0.25px;
    margin-bottom: 45px;
  }

  h2 {
    font-size: 35px;
    line-height: 47px;
    margin-bottom: 25px;
    letter-spacing: 0.25px;
  }

  p {
    margin-bottom: 45px;
  }
}

/* Navigation
  ========================================================================== */
#navigation {
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
}

#navigation ul {
  margin: 0;
  list-style: none;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  letter-spacing: 0.5px;
}

#navigation ul li a {
  text-decoration: none;
  color: #4d4d4d;
}

#navigation ul li a.active {
  color: #2790c3;
}

@media (max-width: 499px) {
  #navigation {
    padding: 20px 25px;
  }

  #navigation ul {
    padding-left: 25px;
  }
}

@media (min-width: 500px) and (max-width: 999px) {
  #navigation {
    padding: 20px 75px;
  }

  #navigation ul {
    padding-left: 75px;
  }
}

@media (max-width: 999px) {
  #navigation {
    position: fixed;
    height: 100px;
    width: 100%;
    border-bottom: 1px solid #eee;
  }

  #navigation img {
    height: 100%;
  }

  #toggleNavigation {
    cursor: pointer;
    display: inline-block;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }

  #toggleNavigation .navigationBar {
    display: block;
    height: 2px;
    width: 35px;
    background: #000;
    margin: 7px auto;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }

  #toggleNavigation .navigationBar.top {
    margin-top: 0;
  }

  #toggleNavigation .navigationBar.middle {
    margin: 0 auto;
  }

  #toggleNavigation .navigationBar.bottom {
    margin-bottom: 0;
  }

  #toggleNavigation.open .top {
    -webkit-transform: translateY(9px) rotateZ(45deg);
    -moz-transform: translateY(9px) rotateZ(45deg);
    -ms-transform: translateY(9px) rotateZ(45deg);
    -o-transform: translateY(9px) rotateZ(45deg);
    transform: translateY(9px) rotateZ(45deg);
  }

  #toggleNavigation.open .bottom {
    -webkit-transform: translateY(-9px) rotateZ(-45deg);
    -moz-transform: translateY(-9px) rotateZ(-45deg);
    -ms-transform: translateY(-9px) rotateZ(-45deg);
    -o-transform: translateY(-9px) rotateZ(-45deg);
    transform: translateY(-9px) rotateZ(-45deg);
  }

  #toggleNavigation.open .middle {
    width: 0;
  }

  #navigation ul {
    overflow: hidden;
    max-height: 0;
    position: fixed;
    top: 100px;
    left: 0px;
    width: 100%;
    background-color: #fff;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }

  #navigation ul.open {
    max-height: 360px !important;
  }

  #navigation ul li {
    line-height: 45px;
  }

  #navigation ul li:first-of-type {
    margin-top: 11px;
  }

  #navigation ul li:last-of-type {
    margin-bottom: 11px;
  }

  .navigationMargin {
    margin-top: 100px;
  }
}

@media (min-width: 1000px) {
  #navigation.fixed {
    position: fixed;
    width: 100%;
    border-bottom: 1px solid #eee;
    max-width: 1440px;
  }

  #navigation img {
    height: 50px;
  }

  #navigation #toggleNavigation {
    display: none;
  }

  #navigation ul {
    display: flex;
    align-items: center;
  }

  #navigation.fixed ul li:last-of-type {
    padding-right: 0;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  #navigation {
    position: absolute;
    padding-left: 50px;
    height: 120px;
    width: 75vw;
  }

  #navigation.fixed {
    padding: 0 50px;
  }

  #navigation ul li {
    padding-right: 13px;
  }

  #navigation.fixed ul li {
    padding-right: 25px;
  }

  #navigation.fixed ul li:last-of-type {
    padding-right: 0;
  }

  .navigationMargin {
    margin-top: 120px;
  }
}

@media (min-width: 1200px) {
  .maxContainerNav {
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
  }

  #navigation {
    position: absolute;
    padding-left: 75px;
    height: 140px;
    width: 75vw;
    max-width: 1080px;
  }

  #navigation.fixed {
    padding: 0 75px;
    left: unset;
  }

  #navigation ul li {
    padding-right: 30px;
  }

  .navigationMargin {
    margin-top: 140px;
  }
}

/* Footer
  ========================================================================== */
footer .firstRow {
  display: flex;
  align-items: center;
}

footer .logo img {
  width: 100%;
  max-width: 150px;
}

footer .socialMedia img {
  width: 25px;
}

footer .secondRow {
  margin-top: 30px;
  border-top: 1px solid #efefef;
  padding-top: 15px;
  display: flex;
  align-items: center;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}

footer .secondRow .linkAD {
  font-weight: 400;
}

footer .secondRow ul {
  display: flex;
  flex-direction: row;
  list-style: none;
  padding: 0;
}

footer .secondRow ul li a {
  display: inline-block;
  margin: 0 5px;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 14px;
}

@media (max-width: 349px) {
  footer {
    padding: 40px 20px;
  }
}

@media (min-width: 350px) and (max-width: 999px) {
  footer {
    padding: 50px 25px;
  }
}

@media (max-width: 999px) {
  footer .firstRow {
    flex-direction: column;
  }

  footer .firstRow a:nth-of-type(2) {
    margin: 30px 0;
  }

  footer .logo {
    width: 60%;
    display: inline-block;
    text-align: center;
  }

  footer .secondRow {
    flex-direction: column-reverse;
  }

  footer .secondRow ul {
    margin: 0 0 10px 0;
  }
}

@media (min-width: 1000px) {
  footer .firstRow {
    flex-direction: row;
    justify-content: space-between;
  }

  footer .firstRow > a {
    width: 170px;
  }

  footer .firstRow > a:nth-of-type(1) {
    text-align: left;
  }

  footer .firstRow > a:nth-of-type(3) {
    text-align: right;
  }

  footer .secondRow {
    margin-top: 0;
    padding: 30px 0;
    flex-direction: row;
    justify-content: space-between;
  }

  footer .firstRow {
    padding: 75px 0;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  footer {
    padding: 0 50px;
  }
}

@media (min-width: 1200px) {
  footer {
    padding: 0 75px;
    /* max-width: 1440px;
    margin: 0 auto; */
  }
}

/* Max Container
  ========================================================================== */
.maxContainer > * {
  max-width: 1440px;
  margin: 0 auto;
}

.sectionGrey {
  background-color: #fafafa;
}

/* Startseite
  ========================================================================== */
#heroStartseite #heroBackgroundImage {
  background-image: url("./assets/images/startseite//7D4A5998.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

#heroStartseite h1 {
  margin-top: 0;
}

#heroStartseite .quote {
  font-family: "Nunito", sans-serif;
}

#heroStartseite .quote p {
  font-style: italic;
  font-weight: 600;
}

#heroStartseite .quote span {
  font-weight: 400;
  color: #4d4a4a;
}

.twoColImgSection .content h2 {
  margin-top: 0;
}

.twoColImgSection img {
  width: 100%;
}

#newsSection h2 {
  margin: 0 0 20px 0;
}

#newsSection .bigNews,
#newsSection .smallNews {
  background-color: #fff;
}

#newsSection .date {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: #4d4d4d;
}

#newsSection .btn-blue {
  margin-top: 20px;
}

#newsSection .newsImage {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 20%;
}

#newsSection .newsContainer div:nth-of-type(1) .newsImage {
  background-image: url("./assets/images/news1.jpg");
}

#newsSection .newsContainer div:nth-of-type(2) .newsImage {
  background-image: url("./assets/images/news2.jpg");
}

#newsSection .newsContainer div:nth-of-type(3) .newsImage {
  background-image: url("./assets/images/news3.jpg");
}

@media (max-width: 349px) {
  #heroStartseite .heroContent,
  .twoColImgSection .content,
  #newsSection {
    padding: 40px 20px;
  }
}

@media (min-width: 350px) {
  #heroStartseite .btn-blue {
    margin: 10px 0;
  }
}

@media (min-width: 350px) and (max-width: 499px) {
  #heroStartseite .heroContent,
  .twoColImgSection .content,
  #newsSection {
    padding: 50px 25px;
  }
}

@media (max-width: 499px) {
  #newsSection .content {
    padding: 25px 15px;
  }
}

@media (min-width: 500px) and (max-width: 999px) {
  #heroStartseite .heroContent,
  .twoColImgSection .content,
  #newsSection {
    padding: 75px;
  }

  #newsSection .content {
    padding: 40px;
  }
}

@media (max-width: 999px) {
  #heroStartseite {
    margin-top: 100px;
  }

  #heroStartseite #heroBackgroundImage {
    height: 55vh;
    background-position: 50% 50%;
  }

  #newsSection .bigNews,
  #newsSection .smallNews {
    margin-bottom: 25px;
  }

  #newsSection .newsImage {
    height: 50vh;
  }
}

@media (min-width: 1000px) {
  #heroStartseite {
    display: flex;
    flex-direction: row-reverse;
  }

  #heroBackgroundImage {
    width: 33vw;
    -webkit-clip-path: polygon(31% 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(31% 0, 100% 0, 100% 100%, 0% 100%);
    background-position: 41% 50%;
  }

  #heroStartseite .heroContent {
    width: 67vw;
  }

  .twoColImgSection {
    display: flex;
  }

  .twoColImgSection.reverse {
    flex-direction: row-reverse;
  }

  #newsSection .newsContainer {
    padding-top: 20px;
    display: flex;
  }

  #newsSection .bigNews {
    display: flex;
    flex: 0 0 53%;
  }

  #newsSection .smallNews {
    display: flex;
  }

  #newsSection .smallNewsContainer {
    margin-left: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  #newsSection .smallNewsContainer .smallNews:first-of-type {
    margin-bottom: 25px;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  #heroStartseite .heroContent {
    margin-top: 120px;
    padding: 50px;
  }

  .twoColImgSection {
    padding: 75px 50px;
  }

  .twoColImgSection.imgLeft .imageContainer {
    margin-top: 10%;
    flex: 0 0 46%;
    text-align: left;
  }

  .twoColImgSection.imgLeft .imageContainer img {
    width: 80%;
  }

  .twoColImgSection.imgRight .imageContainer {
    margin-top: 16%;
    flex: 0 0 39%;
    text-align: right;
  }

  .twoColImgSection.imgRight .imageContainer img {
    width: 76%;
  }

  #newsSection {
    padding: 75px 50px;
  }

  .bigNews .newsImage {
    flex: 0 0 175px;
  }

  #newsSection .content {
    padding: 25px 30px;
  }

  .smallNews .newsImage {
    flex: 0 0 150px;
  }
}

@media (max-width: 1199px) {
  #heroStartseite .quote {
    margin-top: 30px;
  }

  #heroStartseite .quote p {
    margin-bottom: 5px;
    font-weight: 600;
  }

  #heroStartseite .quote span {
    font-size: 14px;
  }
}

@media (min-width: 1200px) {
  /* #heroStartseite {
    max-width: 1440px;
    margin: 0 auto;
  } */

  #heroStartseite .heroContent {
    margin-top: 140px;
    padding: 100px 75px;
  }

  #heroStartseite h1 {
    max-width: 660px;
  }

  #heroStartseite p {
    max-width: 580px;
  }

  #heroStartseite .quote {
    margin-top: 50px;
    display: flex;
    align-items: center;
  }

  #heroStartseite .quote p {
    letter-spacing: 0.25px;
    margin: 0 10px 0 0;
  }

  #heroStartseite .quote span {
    font-size: 14px;
  }

  .twoColImgSection {
    padding: 100px 75px;
    /* max-width: 1440px;
    margin: 0 auto; */
  }

  .twoColImgSection.imgLeft .imageContainer {
    margin-top: 9%;
    flex: 0 0 52%;
    text-align: left;
  }

  .twoColImgSection.imgLeft .imageContainer img {
    width: 77%;
  }

  #individualSection h2 {
    max-width: 490px;
  }

  .twoColImgSection.imgRight .imageContainer {
    margin-top: 9%;
    flex: 0 0 48%;
    text-align: right;
  }

  .twoColImgSection.imgRight .imageContainer img {
    width: 59%;
  }

  #newsSection {
    padding: 100px 75px;
    /* max-width: 1440px;
    margin: 0 auto; */
  }

  .bigNews .newsImage {
    flex: 0 0 35%;
    max-width: 250px;
  }

  #newsSection .content {
    padding: 40px;
  }

  .smallNews .newsImage {
    flex: 0 0 30%;
    max-width: 150px;
  }
}

/* Leistungen
  ========================================================================== */

.quoteAlone p {
  margin: 0;
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.25px;
  color: #c7ace6;
}

.leistungenCards .leistungCard {
  background-color: #fff;
  text-align: center;
  border-radius: 5px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  display: block;
  cursor: pointer;
}

.leistungenCards .leistungCard.couple {
  background-color: #d3c3e6;
}

.leistungenCards .leistungCard.vegan {
  background-color: #d5fff5;
}

.leistungenCards .leistungCard.personal {
  background-color: #c1ecff;
}

.leistungenCards .leistungCard.sport {
  background-color: #a5aee8;
}

.textBlockImage img {
  width: 100%;
}

@media (max-width: 499px) {
  .quoteAlone,
  .textBlock,
  .textBlockImage {
    padding: 50px 25px;
  }

  .leistungenCards {
    padding: 0 25px 50px 25px;
  }

  .leistungenCards .leistungCard {
    margin-bottom: 25px;
    padding: 50px;
  }
}

@media (min-width: 500px) {
  .leistungenCards {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (min-width: 500px) and (max-width: 999px) {
  .quoteAlone,
  .textBlock,
  .textBlockImage {
    padding: 75px;
  }

  .textBlockImage h1 {
    margin-bottom: 40px;
  }

  .textBlock h2 {
    margin-top: 0;
  }

  .leistungenCards {
    padding: 0 75px 75px 75px;
    max-width: 800px;
    margin: 0 auto;
  }

  .leistungenCards .leistungCard {
    margin: 0 auto 30px auto;
    padding: 60px;
    flex: 0 0 275px;
  }
}

@media (max-width: 999px) {
  #leistungen h1 {
    margin-top: 0;
  }
}

@media (min-width: 1000px) {
  .quoteAlone {
    text-align: center;
  }

  .quoteAlone p {
    font-size: 20px;
  }

  .textBlock h2 {
    margin-top: 0;
  }

  .textBlockImage h1 {
    margin-bottom: 50px;
  }

  .textBlockImage .imageContainer {
    float: left;
    width: 39%;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  .quoteAlone {
    padding: 75px 50px;
  }

  .textBlock,
  .textBlockImage {
    padding: 75px 50px;
  }

  .leistungenCards {
    padding: 0 50px 75px 50px;
    max-width: 860px;
    margin: 0 auto;
    justify-content: space-between;
  }

  .leistungenCards .leistungCard {
    flex: 0 0 360px;
    padding: 90px 50px;
    margin-bottom: 40px;
  }

  .textBlockImage .imageContainer {
    margin-right: 35px;
    margin-bottom: 17px;
  }
}

@media (min-width: 1200px) {
  .quoteAlone,
  .textBlock,
  .textBlockImage {
    padding: 100px 75px;
  }

  .leistungenCards {
    padding: 0 45px 75px 45px;
    max-width: 900px;
    margin: 0 auto;
    justify-content: space-between;
  }

  .leistungenCards .leistungCard {
    flex: 0 0 360px;
    padding: 90px 50px;
    margin-bottom: 90px;
  }

  .textBlockImage .imageContainer {
    margin-right: 50px;
    margin-bottom: 40px;
  }

  .textBlockImage p {
    margin-top: 120px;
  }

  #sportspezifischeEr {
    margin-bottom: 150px;
  }
}

/* Legal stuff
  ========================================================================== */
.legalContainer {
  word-break: break-word;
}

/* Kontaktformualr
  ========================================================================== */

#kontaktformular input,
#kontaktformular textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid #bdbdbd;
  outline: none;
  margin: 0;
}

#kontaktformular textarea {
  border: 1px solid #bdbdbd;
  border-radius: 5px;
  padding: 10px;
  resize: none;
}

#kontaktformular button {
  margin-top: 50px;
}

@media (max-width: 999px) {
  #kontaktformular {
    margin-top: 50px;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  #kontaktformular {
    margin-top: 100px;
    max-width: 500px;
  }
}

@media (max-width: 1199px) {
  #kontaktformular .inputWrapper {
    margin-bottom: 40px;
  }
}

@media (min-width: 1200px) {
  #kontaktformular {
    margin-top: 200px;
    max-width: 600px;
  }

  #kontaktformular .inputWrapper {
    margin-bottom: 65px;
  }
}
