/* Grundlagen ================================================================== */

/*
  Farben:
  $red: #b5152b;
  $red-light: rgba(211, 64, 32, 0.25)
  $bg:  #f4f7fb;
*/

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  background-color: #fff;

  display: flex;
  flex-direction: row;
  align-items: stretch;
}

img {
  display: block;
  width: 100%;
}

/* Typographie ================================================================= */

body, input, textarea, select, h2, h3 {
  font-family: 'Alegreya', serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;

  color: #4a4a4a;
}

nav {
  font-family: 'Roboto', serif;
  font-weight: 300;
}

h1 {
  font-family: 'Roboto', serif;
  font-weight: 300;
}

a {
  color: inherit;
  text-decoration: none;
}

a:link, a:hover, a:active, a:visited {
  color: #b5152b;
}

a:hover {
  text-decoration: underline;
}

b, strong { font-weight: 500; }

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

.nav__sidebar {
  display: block;
  width: 300px;
  min-height: 100vh;

  padding: 40px 0 0 0;

  background-color: #f4f7fb;
}

.nav__logowrapper {
  display: block;
  margin: 0 40px;
}

.nav__logo {
  display: block;
}

.nav__items {
  margin: 40px 0 0 0;
  padding: 0;
}

.nav__item {
  display: block;
  position: relative;
  padding-left: 40px;

  line-height: 40px;
  font-size: 18px;
}

.nav__item.is--disabled {
  opacity: 0.5;
  pointer-events: none;
}

.nav__item.is--active:before,
.nav__item:not(.is--disabled):hover:before {
  content: " ";
  position: absolute;
  width: 5px;
  height: 40px;
  left: 0;
  background: rgba(211, 64, 32, 0.25);
}

a.nav__link {
  display: block;
  color: inherit;
}

a.nav__link:hover { text-decoration: none; }

/* Inhalte ===================================================================== */

.content {
  flex: 1 1 500px;
  padding: 40px;
}

.content > h1:first-child { margin-top: 14px; }
.content p { max-width: 600px; }

.news__item + .news__item, .member__item + .member__item {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(0,0,0,0.05);
}

.news__headline, .member__name {
  margin-bottom: 0;

  font-size: 18px;
  font-weight: 500;
}

.news__subheadline, .member__title {
  margin-top: 0;
}
