#content-smo {
  margin-top: 1em;
  padding: 1.5em 0;
  border-top: 1px solid #979797;
  line-height: 21px;
}

#content-smo.lang-de {
  display: none;
}

body {
  margin: 0;
  padding: 0;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 16px;
  background: #f6f7f8;
  color: #3c3c3c;
  overflow-x: hidden;
}

a {
  color: #3c3c3c;
  text-decoration: underline;
  text-decoration-color: #a7a7a7;
}

a.external {
  padding: 1px 0 1px 18px;
  background: url('./external_link.svg') no-repeat 0 center;
}

.header,
.content,
.footer {
  box-sizing: border-box;
  margin: 0 auto;
}

.header-container {
  background: #fff;
  color: #111314;
  width: 100vw;
}

.header {
  max-width: 1260px;
  min-width: 1024px;
  padding: 40px 50px 30px 50px;
}

.header .logos {
  display: flex;
  position: relative;
}

.header .portal-logo,
.header .bmds-link {
  flex: 1 0 auto;
}

.header img {
  max-width: 100%;
  max-height: 95px;
}

.header .portal-logo {
  text-align: right;
  margin-left: 5%;
}

.header .portal-logo img {
  display: inline-block;
}

.header .language-switch {
  display: block;
  position: absolute;
  top: -25px;
  right: 0;
  font-size: 14px;
  font-weight: bold;
  color: #6b7581;
  text-decoration: none;
}

.header h1 {
  display: block;
  clear: both;
  border-top: 2px solid #d8d8d8;
  font-weight: 100;
  font-size: 32px;
  padding: 20px 0 0 0;
  margin: 20px 0 0 0;
}

.content {
  max-width: 1260px;
  min-width: 1024px;
  padding: 20px 50px;
}

.content .btn {
  line-height: 1.5em;
  padding: 0.75em 1em;
  color: #000000;
  background: #ffffff;
  box-shadow: none;
  border: 1px solid #d8d8d8;
  border-radius: 1px;
  cursor: pointer;
  font-size: 1em;
  outline: none;
}

.content .btn:hover, .content .btn:focus {
  background: #dee2e4;
}

.content .box {
  max-width: 590px;
  margin: 0 auto;
}

.content .box.padded {
  padding: 0 0 30px;
}

.content p, .content ol, .content ul {
  line-height: 1.4em;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.content p.pre {
  white-space: pre-line;
}

.content .bold {
  font-weight: bold;
}

.content h1 {
  padding: 0;
  margin: 30px 0 0 0;
  font-size: 1.5rem;
  font-weight: bold;
  font-style: normal;
}

.content h2 {
  padding: 0;
  margin: 0;
  font-size: 1.2rem;
  font-weight: bold;
  font-style: normal;
}

.content h3 {
  padding: 0;
  margin: 0;
  font-size: 100%;
  font-weight: bold;
  font-style: normal;
}

.content h4 {
  padding: 0;
  margin: 0;
  font-size: 100%;
  font-weight: normal;
  font-style: italic;
}

.footer-container {
  background: #023e6c;
}

.footer {
  max-width: 1260px;
  min-width: 1024px;
  padding: 30px 50px;
  color: white;
  position: relative;
  overflow: hidden;
}

.footer ul {
  padding: 0;
  margin: 0;
}

.footer ul li {
  display: inline-block;
  list-style-type: none;
  margin-right: 20px;
}

.footer a {
  color: white;
  text-decoration: none;
}

.footer a.active {
	font-weight: bold;
}

.footer a:hover, .footer a:focus {
  text-decoration: underline;
}

.footer a.your-europe-link {
  position: absolute;
  top: 0;
  right: 33px;
  margin-right: 0;
  margin-left: 10px;
}

.hidden {
  display: none;
}

@media (max-width: 1023px) {
  .header {
    max-width: 1023px;
    min-width: 640px;
    margin: 0 auto;
    padding: 40px 30px 20px 30px;
  }

  .header .portal-logo,
  .header .bmds-link {
    flex-basis: 280px;
  }

  .content {
    max-width: 1023px;
    min-width: 640px;
    padding: 20px 0;
  }
  
  .content .box.padded {
    padding: 0 30px 30px;
  }
  
  .footer {
    max-width: 1023px;
    min-width: 640px;
    padding: 30px;
  }

  .footer a.your-europe-link {
    right: 13px;
  }
}

@media (max-width: 639px) {
  .header {
    min-width: auto;
    max-width: 639px;
    margin: 0 auto;
    padding: 40px 20px 20px 20px;
  }

  .header .logos {
    height: auto;
  }

  .header .portal-logo,
  .header .bmds-link {
    flex-basis: 45%;
  }

  .content {
    min-width: auto;
    max-width: 639px;
    padding: 20px 0;
  }

  .content .box {
    max-width: none;
    margin: 0;
  }

  .content .box.padded {
    padding: 0 20px 30px;
  }

  .footer {
    min-width: auto;
    max-width: 639px;
    padding: 30px 20px;
  }

  .footer a.your-europe-link {
    right: 10px;
    top: 16px;
  }

  .footer a.your-europe-link img {
    width: 100px;
  }
}
