body {
  font-size: 14px;
  line-height: 18px;
  overflow-wrap: break-word;
  font-family: 'Roboto', 'sans-serif', 'ArialMT', 'Arial';
  color: #222;
  margin: 0;
}

header {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 90px;
}

header img {
  width: 240px;
}

.newsletter-header {
  margin: 96px auto 0 auto;
  font-size: 20px;
  line-height: 24px;
  width: 205px;
  font-family: 'Roboto Medium', 'Roboto', 'sans-serif';
  text-align: center;
}

.newsletter-text {
  width: 340px;
  text-align: center;
}

.newsletter-success {
  font-size: 16px;
  line-height: 22px;
  margin: 30px auto 0 auto;
}

.newsletter-info {
  line-height: 18px;
  margin: 90px auto 0 auto;
}

.newsletter-update {
  font-size: 16px;
  line-height: 22px;
  margin: 30px auto 180px auto;
}

form {
  width: 375px;
  margin: 0 auto;
}

.sign-up-row {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.sign-up-block .top-block {
  margin-bottom: 2px;
  margin-top: 36px;
}

.sign-up-block .bottom-block {
  margin-top: 62px;
}

.sign-up-block .sign-up-title {
  padding-bottom: 6px;
  padding-left: 28px;
  display: flex;
}

.sign-up-block .optional {
  color: #787878;
  padding-left: 12px;
}

.sign-up-block input {
  margin-left: 28px;
  height: 38px;
  width: 314px;
  border: 1px solid #aaaaaa;
  border-radius: 3px;
}

.sign-up-block input:focus {
  outline: none;
}

.sign-up-block input[type=text] {
  text-indent: 6px;
}

.sign-up-block input[type=email] {
  text-indent: 6px;
}

.sign-up-block select {
  width: 150px;
  height: 42px;
  margin-left: 28px;
  border: 1px solid #aaaaaa;
  border-radius: 3px;
  text-indent: 6px;
  font-family: 'Roboto', 'sans-serif', 'ArialMT', 'Arial';
  font-size: 14px;
}

.sign-up-block .title {
  padding-left: 20px;
}

.sign-up-block input#title {
  width: 144px;
  margin-left: 20px;
}

.sign-up-block input#birthday {
  width: 138px;
  height: 30px;
  font-size: 14px;
  line-height: 18px;
  font-family: 'Roboto', 'sans-serif', 'ArialMT', 'Arial';
  padding: 5px;
  border: 1px solid #aaaaaa;
  border-radius: 3px;
}

.submit-block {
  margin-top: 42px;
}

button#submit-button {
  width: 320px;
  background: linear-gradient(180deg, rgba(242, 242, 242, 1) 50%, rgba(228, 228, 228, 1) 100%);
  height: 42px;
  border: 1px solid #aaaaaa;
  border-radius: 3px;
  margin-left: 28px;
  font-size: 14px;
  cursor: pointer;
}

footer {
  text-align: center;
}

footer .divider {
  border-top: 1px solid #f2f2f2;
  width: 320px;
  margin: 60px auto 0 auto;
  height: 1px;
}

footer .footer-block {
  display: flex;
  height: 18px;
  justify-content: center;
  margin: 0 auto 60px auto;
  padding-top: 12px;
  width: 320px;
}

footer a {
  color: #787878;
  text-decoration: underline;
}

footer .impressum-divider {
  border-right: 1px solid #aaaaaa;
  margin-right: 18px;
  margin-left: 18px;
  height: 18px;
}

/* Responsive Block */
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  form {
    width: 460px;
  }

  .newsletter-header {
    margin: 96px auto 0 auto;
  }

  .newsletter-text {
    width: 400px;
  }

  .sign-up-block input {
    width: 394px;
  }

  .sign-up-block select {
    width: 180px;
  }

  .sign-up-block input#title {
    width: 174px;
    margin-left: 40px;
  }

  .sign-up-block .title {
    padding-left: 40px;
  }

  .sign-up-block input#birthday {
    width: 168px;
  }

  button#submit-button {
    width: 400px;
  }

  footer .footer-block {
    width: 400px;
  }

  footer .divider {
    width: 400px;
  }
}