@font-face {
    font-display: swap;
    font-family: 'Montserrat Bold';
    font-style: normal;
    src: url('./fonts/Montserrat-Bold.ttf') format('truetype');
  }

  @font-face {
    font-display: swap;
    font-family: 'Montserrat Semibold';
    font-style: normal;
    src: url('./fonts/Montserrat-SemiBold.ttf') format('truetype');
  }

  @font-face {
    font-display: swap;
    font-family: 'Montserrat';
    font-style: normal;
    src: url('./fonts/Montserrat-Regular.ttf') format('truetype');
  }

  @font-face {
    font-display: swap;
    font-family: 'Montserrat';
    font-style: normal;
    src: url('./fonts/Montserrat-Light.ttf') format('truetype');
  }

  @font-face {
    font-display: swap;
    font-family: 'BarlowSemiCondensed';
    font-style: normal;
    src: url('./fonts/BarlowSemiCondensed-SemiBold.ttf') format('truetype');
  }

  @font-face {
    font-display: swap;
    font-family: 'BarlowSemiCondensed';
    font-style: normal;
    src: url('./fonts/BarlowSemiCondensed-Medium.ttf') format('truetype');
  }

  @font-face {
    font-display: swap;
    font-family: 'BarlowSemiCondensed';
    font-style: normal;
    src: url('./fonts/BarlowSemiCondensed-Regular.ttf') format('truetype');
  }

  @font-face {
    font-display: swap;
    font-family: 'Lato Thin';
    font-style: normal;
    src: url('./fonts/Lato-Light.ttf') format('truetype');
  }

  @font-face {
    font-display: swap;
    font-family: 'Lato Light';
    font-style: normal;
    src: url('./fonts/Lato-Light.ttf') format('truetype');
  }

body {
  padding: 0;
  margin: 0;
  background: #fafafa;
  }

.wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  overflow-y: auto;
}

  .main {
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
  }

  .brand {
    flex-basis: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  @media screen and (min-width: 45em) {
    .brand {
      flex-basis: 95vh;
      flex-direction: row;
      flex-wrap: wrap;
    }
  }

  .person {
    position: relative;
    overflow: hidden;
    background-color: #d3c9bc;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    object-position: top right;
    background-image: url(./person_edit.jpg);
    flex: 7 1 auto;
  }

  @media screen and (min-width: 45em) {
    .person {
      flex-basis: 50%;
    }
  }

  #person-img {
    display: none;
    width: 100%;
  }

  @media screen and (min-width: 45em) {
    #person-img {
      display: block;
    }
  }

  #person-info {
    position: absolute;
    width: 100%;
    top: 4%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 1.5em;
    color: #fff;
    width: 80%;
  }

  @media screen and (min-width: 45em) {
    #person-info {
      top: 45%;
    }
  }

  #person-name {
    margin-top: 28vh;
    font-size: 1.2em;
  }

  @media screen and (min-width: 45em) {
    #person-name {
      margin-top: 0;
    }
  }

  .person hr {
    color: rgba(211, 201, 188, 0.5);
    width: 60%;
    margin: 5px 0;
  }

  @media screen and (min-width: 45em) {
    #person-info {
      font-size: 4.0em;
    }
  }

  #person-frosch {
    font-size: 0.5em;
    font-weight: 300;
    color: #f5e9da;
    text-shadow: 1px 1px 0px #7D7D7D;
  }

  #person-license {
    /*background: #343434;
    background: linear-gradient(to right, #343434 0%, #434343 27%, #E6E6E6 62%, #E6E6E6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;*/

    font-size: 0.6em;
    color: #e6e6e6;
    text-shadow: 1px 1px 0px #7D7D7D;
    font-family: 'BarlowSemiCondensed';
    font-weight: 400;
  }

  #person-color-overlay {
    background-color: rgba(211, 201, 188, 0.5);
    width: 100%;
  	position: absolute;
  	height: 150px;
  	bottom: 0;
  }

  @media screen and (min-width: 45em) {
    #person-color-overlay {
      display: hidden;
    }
  }

  .info {
    position: relative;
    flex: 0.4 1 auto;
    background-color: #d3c9bc;
  }

  .info > .hyla-brand {
    width: calc(100% - 20px);
    padding: 10px;
    position: absolute;
    top: -32vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    font-size: 0.85rem;
  }

  @media screen and (min-width: 45em) {
    .info {
      position: relative;
      flex-basis: 50%;
    }

    .info > .hyla-brand {
      position: absolute;
      display: flex;
      flex-direction: row;
      overflow: hidden;
      top: 32%;
      left: -30%;
      font-size: 1.1em;
      transform: none;
      align-items: flex-start;
    }
  }

  .hidden {
    display: none;
    visibility: hidden;
  }

  #hyla-title {
    font-family: 'Montserrat Bold', sans-serif;
    font-size: 9em;
    line-height: 0.84em;
    color: #fdfdfd;
    z-index: 999;
  }

  #hyla-next-level {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  #hyla-next-level-header {
    background-color: rgba(211, 201, 188, 0.5);
    font-family: 'Montserrat Bold', sans-serif;
    font-size: 4.5em;
    color: #fdfdfd;
    line-height: 1em;
    padding: 20px;
    margin-top: -20px;
    z-index: 1;
  }

  @media screen and (min-width: 45em) {
    #promotion {
      display: none;
    }
  }

  @media screen and (min-width: 45em) {
    #hyla-next-level {
      margin-left: 30px;
    }

    #hyla-next-level-header {
      font-size: 5.0em;
    }
  }

  #key-points {
    display: none;
    font-family: 'Lato Thin', sans-serif;
    font-size: 1.3em;
    color: #989187;
    line-height: 1.32em;
    margin-top: 10px;
    padding-left: 6px;
    text-shadow: 1px 1px 2px #ccc;
  }

  #promotion {
    height: 10px;
    font-family: 'Montserrat Bold', sans-serif;
    background-color: #d3c9bc;
    padding: 0 20px;
    font-weight: 600;
    font-size: 1.0em;
    color: #fff;
    text-transform: uppercase;
    line-height: 1.6em;
    border-top: 8px solid #333;
    text-align: center;
  }

  #promotion .big-font {
    font-family: 'Montserrat Bold', sans-serif;
    font-size: 3.0em;
    line-height: 1.3em;
    color: #000;
  }

  #promotion .big-font-2 {
    font-family: 'Lato Thin', sans-serif;
    font-size: 2.6em;
    line-height: 1.3em;
    color: #fff;
  }

  #promotion .small-font {
    display: inline-block;
    margin-top: 10px;
    font-family: 'Lato Thin', sans-serif;
    font-size: 1.0em;
    line-height: 1.3em;
    color: #333;
  }

  #hello {
    font-family: 'Lato Thin', sans-serif;
    color: #746f67;
    line-height: 1.6em;
    margin-bottom: 30px;
  }

  #hello-cta {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.4em;
    margin-bottom: 12px;
  }

  #quick-contact {
    background-color: #ede2d3;
    padding: 20px 40px 75px 40px;
    border-top: 2px solid #ede2d3;
  }

  .contact-element {
    display: flex;
    align-items: center;
    margin-bottom: 1.4em;
  }

  .contact-element:last-of-type {
    margin-bottom: 0;
  }

  .contact-element .contact-link {
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    text-decoration: none;
    font-family: 'Montserrat Bold', sans-serif;
    color: #333;
    cursor: pointer;
  }

  .contact-element .contact-icon {
    display: flex;
    align-items: center;
    height: 20px;
    width: 20px;
    border: 1px solid #fff;
    background-color: #fff;
    border-radius: 50%;
    padding: 6px;
    margin-right: 8px;
  }

  .pipe {
    font-size: 1.5em;
    font-family: 'Lato Thin', sans-serif;
    margin: 0 10px;
    color: #b4aba0;
  }

  .contact-info {
    color: #555;
    font-family: 'Lato Thin', sans-serif;
  }

  #ribbon {
    height: 15px;
    overflow: hidden;
    position: relative;
  }

  #ribbon > img {
    position: absolute;
    right: -420px;
  }

  #the-hyla {
    position: relative;
    background-color: #d3c9bc;
    height: 380px;
  }

  #the-hyla img {
    position: absolute;
    top: -40px;
    left: -25vw;
  }

  .lime {
    color: #e6ff6b;
  }

  .lime-bg {
    background-color: #e6ff6b;
  }

  .white {
    color: #fff;
  }

  .pink {
    color: #e848ae;
  }

  .beige {
    color: #fdf1e1;
  }

  .dark-beige {
    color: #989187;
  }

  .presentation-container {
    flex-grow: 1;
    background-color: #ede2d3;
    padding-left: 250px;
    padding-top: 80px;
    padding-bottom: 100px;
  }

  #presentationForm {
    display: none;
    scroll-behavior: smooth;
  }

  #presentation-hint {
    font-size: 1.2em;
    font-family: 'Lato Light';
    line-height: 1.5em;
    margin-top: 30px;
    max-width: 700px;
    color: #989187;
  }

  .impressum-container {
      flex-grow: 1;
      background-color: #ede2d3;
      padding-left: 20px;
      padding-top: 20px;
      padding-bottom: 20px;
      font-size: 0.8em;
  }

    @media screen and (min-width: 45em) {
      .impressum-container {
          padding-left: 250px;
          padding-top: 80px;
          padding-bottom: 100px;
      }
    }

  .impressum-container .title, .presentation-container .title {
    font-family: 'BarlowSemiCondensed';
    font-weight: 500;
    font-size: 2.5em;
  }

  .impressum-container .title {
    color: #303030;
  }

  .presentation-container .title {

  }

  .presentation-form {
    margin-top: 20px;
  }

  .presentation-form label {
    font-family: 'BarlowSemiCondensed';
    font-weight: 500;
    font-size: 0.9em;
    color: #606060;
    margin-top: 18px;
    display: inline-block;
  }

  .presentation-form input {
    width: 400px;
    height: 25px;
    border-radius: 10px;
    border: 0;
    outline: 0;
    padding: 10px;
    margin-top: 8px;
    font-size: 1.0em;
    font-family: 'Lato Thin';
    font-weight: 500;
  }

  .presentation-form textarea {
    width: 400px;
    height: 200px;
    border-radius: 10px;
    border: 0;
    outline: 0;
    padding: 10px;
    margin-top: 8px;
    font-family: 'Lato Thin';
    font-size: 1.0em;
  }

  .presentation-form .submit-btn {
    margin-top: 20px;
    font-weight: 200;
    background-color: #e848ae;
    color: #fff;
  }

  .impressum-container .address {
    display: flex;
    flex-direction: column;
    font-family: 'Montserrat';
    font-size: 1.3em;
    line-height: 1.4em;
    font-weight: 300;
    color: #303030;
    margin-top: 10px;
  }

  .impressum-container .address > div:first-child {
    margin-bottom: 10px;
  }

  @media screen and (min-width: 45em) {
    .impressum-container .address {
      flex-direction: row;
      margin-top: 30px;
    }
  }

  @media screen and (min-width: 45em) {
    .impressum-container .address div:first-child {
      margin-right: 150px;
    }
  }

.impressum-container .ust-idnr {
  font-family: 'Montserrat';
  font-size: 1.3em;
  font-weight: 300;
  color: #303030;
  margin-top: 20px;
}

.impressum-container .label {
  font-family: 'BarlowSemiCondensed';
  font-weight: 800;
  margin-right: 20px;
  color: #666;
}

.impressum-container .ust-idnr span:first-child {
  margin-right: 20px;
}

.impressum-container .streitbeilegung {
  font-family: 'BarlowSemiCondensed';
  font-size: 1.2em;
  line-height: 1.3em;
  color: #999;
  margin-top: 40px;
  max-width: 90%;
}

@media screen and (min-width: 45em) {
  .impressum-container .streitbeilegung {
    max-width: 60%;
  }
}

#actions {
  margin-top: 76%;
  padding-left: 260px;
}

.btn {
  padding: 16px 25px;
  border-radius: 18px;
  border: 0;
  font-family: 'Montserrat SemiBold';
  font-size: 1.0em;
  cursor: pointer;
  -webkit-box-shadow: 1px 3px 5px -2px #484848;
  box-shadow: 1px 3px 5px -2px #484848;
  transition: background-color linear 300ms, color linear 300ms;
  }

.btn-cta {
  background-color: #e848ae;
  color: #fff;
}

.btn-cta:hover {
  background-color: #be3b8f;
}

.btn-secondary {
    margin-left: 20px;
    background-color: #111;
    color: #e6ff6b;
}

.btn-secondary:hover {
  color: #e848ae;
}


h1 {
    font-family: 'Montserrat Bold', sans-serif;
    font-size: 4.6em;
     color: #fff;
    font-weight: 500;
    margin-bottom: 0;
    margin-top: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

  @media screen and (max-width: 1200px) {

  }
