@charset "UTF-8";
/* normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
@import url(../thirdparty/foundation-responsive-tables/responsive-tables.css);
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  border: 1px solid black;
    outline: none;
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1 1 12em;
    -moz-flex: 1 1 12em;
    -ms-flex: 1 1 12em;
    flex: 1 1 12em;   
  
  /* 3 */ }


input[type=text]:focus,
textarea:focus {
    box-shadow: 0 0 5px #b82929;
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    border: 1px solid #b82929; }


/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ 
  background: rgba(243, 139, 36, 0.9);
      border: none;
      color: white;
      font-size: 1.2em;
      font-weight: 800;
      padding: 0.5em 1em 0.5em 1em; 
      margin: 1em;
  
  }

input[type="submit"]:focus, input[type="submit"]:hover {
        background: #66b8a0;}


/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

@font-face {
  font-family: 'PTSans';
  src: url("../fonts/ptsans_regular/PTS55F-webfont.eot");
  src: url("../fonts/ptsans_regular/PTS55F-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/ptsans_regular/PTS55F-webfont.woff") format("woff"), url("../fonts/ptsans_regular/PTS55F-webfont.ttf") format("truetype"), url("../fonts/ptsans_regular/PTS55F-webfont.svg#pt_sansregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'PTSans';
  src: url("../fonts/ptsans_italic/PTS56F-webfont.eot");
  src: url("../fonts/ptsans_italic/PTS56F-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/ptsans_italic/PTS56F-webfont.woff") format("woff"), url("../fonts/ptsans_italic/PTS56F-webfont.ttf") format("truetype"), url("../fonts/ptsans_italic/PTS56F-webfont.svg#pt_sansitalic") format("svg");
  font-weight: normal;
  font-style: italic; }

@font-face {
  font-family: 'PTSans';
  src: url("../fonts/ptsans_bold/PTS75F-webfont.eot");
  src: url("../fonts/ptsans_bold/PTS75F-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/ptsans_bold/PTS75F-webfont.woff") format("woff"), url("../fonts/ptsans_bold/PTS75F-webfont.ttf") format("truetype"), url("../fonts/ptsans_bold/PTS75F-webfont.svg#pt_sansbold") format("svg");
  font-weight: 800;
  font-style: bold; }

@font-face {
  font-family: 'PTSans';
  src: url("../fonts/ptsans_bolditalic/PTS76F-webfont.eot");
  src: url("../fonts/ptsans_bolditalic/PTS76F-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/ptsans_bolditalic/PTS76F-webfont.woff") format("woff"), url("../fonts/ptsans_bolditalic/PTS76F-webfont.ttf") format("truetype"), url("../fonts/ptsans_bolditalic/PTS76F-webfont.svg#pt_sansbold_italic") format("svg");
  font-weight: 800;
  font-style: italic; }

@font-face {
  font-family: 'PTSansCaption';
  src: url("../fonts/ptsanscaption_regular/PTC55F-webfont.eot");
  src: url("../fonts/ptsanscaption_regular/PTC55F-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/ptsanscaption_regular/PTC55F-webfont.woff") format("woff"), url("../fonts/ptsanscaption_regular/PTC55F-webfont.ttf") format("truetype"), url("../fonts/ptsanscaption_regular/PTC55F-webfont.svg#pt_sans_captionregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'PTSansCaption';
  src: url("../fonts/ptsanscaption_bold/PTC75F-webfont.eot");
  src: url("../fonts/ptsanscaption_bold/PTC75F-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/ptsanscaption_bold/PTC75F-webfont.woff") format("woff"), url("../fonts/ptsanscaption_bold/PTC75F-webfont.ttf") format("truetype"), url("../fonts/ptsanscaption_bold/PTC75F-webfont.svg#pt_sans_captionbold") format("svg");
  font-weight: 800;
  font-style: normal; }

@font-face {
  font-family: 'PTMono';
  src: url("../fonts/ptmono_regular/PTM55F_W.eot");
  src: url("../fonts/ptmono_regular/PTM55F_W.eot?#iefix") format("embedded-opentype"), url("../fonts/ptmono_regular/PTM55F_W.woff") format("woff"), url("../fonts/ptmono_regular/PTM55F_W.ttf") format("truetype"), url("../fonts/ptmono_regular/PTM55F_W.svg#PTMono-Regular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'PTMono';
  src: url("../fonts/ptmono_bold/PTM75F_W.eot");
  src: url("../fonts/ptmono_bold/PTM75F_W.eot?#iefix") format("embedded-opentype"), url("../fonts/ptmono_bold/PTM75F_W.woff") format("woff"), url("../fonts/ptmono_bold/PTM75F_W.ttf") format("truetype"), url("../fonts/ptmono_bold/PTM75F_W.svg#PTMono-Bold") format("svg");
  font-weight: 800;
  font-style: normal; }

@font-face {
  font-family: 'inf-schule';
  src: url("../fonts/inf-schule.eot");
  src: url("../fonts/inf-schule.eot?#iefix") format("embedded-opentype"), url("../fonts/inf-schule.woff") format("woff"), url("../fonts/inf-schule.ttf") format("truetype"), url("../fonts/inf-schule.svg#inf-schule") format("svg");
  font-weight: 800;
  font-style: normal; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./../img/slick/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("../fonts/slick/slick.eot");
  src: url("../fonts/slick/slick.eot?#iefix") format("embedded-opentype"), url("../fonts/slick/slick.woff") format("woff"), url("../fonts/slick/slick.ttf") format("truetype"), url("../fonts/slick/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  margin-top: -10px;
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }

.slick-prev:before, .slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: #434343;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "â†"; }
    [dir="rtl"] .slick-prev:before {
      content: "â†’"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "â†’"; }
    [dir="rtl"] .slick-next:before {
      content: "â†"; }

/* Dots */
.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -45px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "â€¢";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: #434343;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #434343;
      opacity: 0.75; }

/*------------------------------------*    # Grundstruktur
\*------------------------------------*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

body {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -webkit-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  flex-flow: column;
  background: #f0f0f0;
  color: #434343;
  font-family: PTSans, "Helvetica Neue", "Helvetica", sans-serif;
  min-height: 100vh; }
  body.startseite {
    background: transparent; }

article {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: white;
  margin: 0 auto;
  padding: 8.637em 8em 2em;
  line-height: 1.75em;
  max-width: 1080px;
  width: 83.33333333%; }
  @media screen and (max-width: 1080px) {
    article {
      width: 83.33333333%; } }
  @media screen and (max-width: 1024px) {
    article {
      width: 96.875%; } }
  @media screen and (max-width: 800px) {
    article {
      width: 96.875%; } }
  @media screen and (max-width: 400px) {
    article {
      width: 96.875%; } }
  @media screen and (min-width: 1200px) {
    article {
      max-width: 1200px;
      width: 100%; } }
  @media screen and (max-width: 800px) {
    article {
      padding-left: 4em;
      padding-right: 4em; } }
  @media screen and (max-width: 400px) {
    article {
      padding-left: 2em;
      padding-right: 2em; } }
  @media screen and (min-width: 1200px) {
    article {
      padding-left: 3em; } }
  .startseite article {
    padding: 8.637em 0 2em; }
  .version11 article {
    padding-top: 0; }

@media screen and (min-width: 1200px) {
  .wrapper--article {
    max-width: 72.5%;
    margin: 0;
    position: relative;
    width: 72.5%; }
    .version11 .wrapper--article {
      max-width: 100%;
      width: 100%; } }

header {
  height: 6.637em;
  position: fixed;
  width: 100%;
  z-index: 100; }
  .shrink header {
    height: 4.637em; }
    .shrink header .wrapper--headertop {
      padding-top: 0.5em; }
    .shrink header h1 a {
      padding: 0;
      width: 25%; }
  header .header-top {
    background: rgba(243, 139, 36, 0.9);
    height: 5em;
    margin: 0;
    padding: 0; }
    .shrink header .header-top {
      height: 3em; }
  header .header-bottom {
    background: rgba(205, 209, 214, 0.9);
    height: 1.7em;
    margin: 0;
    margin-top: -0.063em;
    padding: 0.5em 0; }
  header .wrapper {
    margin: 0 auto;
    position: relative;
    max-width: 1080px;
    width: 83.33333333%; }
    @media screen and (max-width: 1080px) {
      header .wrapper {
        width: 83.33333333%; } }
    @media screen and (max-width: 1024px) {
      header .wrapper {
        width: 96.875%; } }
    @media screen and (max-width: 800px) {
      header .wrapper {
        width: 96.875%; } }
    @media screen and (max-width: 400px) {
      header .wrapper {
        width: 96.875%; } }
    @media screen and (min-width: 1200px) {
      header .wrapper {
        max-width: 1200px;
        width: 100%; } }
  header .wrapper--headertop {
    padding: 1em 0 0 0; }
  header .wrapper--headerbottom {
    padding: 0; }
  header h1 {
    margin: 0; }
    header h1 a {
      display: block;
      margin-bottom: .1%;
      padding-left: .01em;
      width: 35%; }
      header h1 a:hover {
        background: transparent; }
      header h1 a object,
      header h1 a img {
        width: 100%; }
  @media screen and (min-width: 1200px) {
    header h1 a {
      width: 28%; }
    .shrink header h1 a {
      width: 20%; } }
  header .draft-wrapper {
    position: absolute;
    top: 1em;
    left: 50%; }
  header .draft-wrapper__heading {
    background: #b82929;
    color: #fff;
    font-size: 1.2em;
    font-weight: 800;
    padding: .5em 1em;
    position: absolute;
    text-align: center;
    top: 0;
    left: -100px;
    width: 200px; }

header *,
.startseite * {
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out; }

footer * {
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out; }

/*------------------------------------*    # Navigation auf Standardseiten
\*------------------------------------*/
.mainnav {
  right: 8.333333335%;
  text-align: right;
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif;
  font-size: .75em;
  line-height: 1.2em; }
  .mainnav * {
    -webkit-transition: all 10ms ease-in-out;
    -moz-transition: all 10ms ease-in-out;
    transition: all 10ms ease-in-out; }
  .mainnav ul {
    background: rgba(255, 255, 255, 0.95);
    list-style: none;
    padding: 0;
    text-align: left; }
    .mainnav ul ul {
      padding-left: 3em; }
  .mainnav > ul {
    border-bottom: 1px solid whitesmoke;
    border-left: 1px solid whitesmoke;
    border-right: 1px solid whitesmoke;
    box-shadow: 0 5px 4px -4px #A3A3A3;
    margin: 0;
    -webkit-transition: opacity 300ms ease-in-out;
    -moz-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
    -webkit-transition: top 400ms ease-in-out;
    -moz-transition: top 400ms ease-in-out;
    transition: top 400ms ease-in-out;
    overflow-y: scroll;
    position: absolute;
    right: 0;
    top: 8.8493333333em;
    width: 35%;
    max-height: 100em; }
    .mainnav > ul.visible {
      display: block;
      opacity: 1.0;
      z-index: 1000000; }
    .mainnav > ul.invisible {
      display: none;
      opacity: 0.0;
      z-index: -10000; }
    .mainnav > ul ul > li:first-child {
      border-top: 1px dotted #c8c8c8; }
    @media screen and (min-width: 1200px) {
      .mainnav > ul {
        box-shadow: none;
        border-bottom: 0;
        padding-top: 2em;
        padding-bottom: 2em;
        top: 10.8493333333em;
        width: 30%; } }
  .shrink .mainnav > ul {
    top: 6.1826666667em; }
  .mainnav .menuitem--closed > ul {
    display: none; }
  .mainnav .menuitem--open > ul {
    display: block; }
  .mainnav .menuitem__sign {
    display: inline-block;
    font-family: "inf-schule", Helvetica, sans-serif; }

@media screen and (max-width: 800px) {
  .mainnav > ul {
    width: 100%; } }

.menuitem {
  margin: 0;
  padding: 0; }

.menuitem__sign {
  color: #146090;
  display: block;
  float: left;
  padding: .6em 1.5em .6em 1em; }

.menuitem__link {
  display: block;
  padding: .6em 1em .6em 3.5em;
  text-decoration: none; }

.menuitem__sign--has-children {
  cursor: pointer; }

.menuitem__sign--no-children {
  color: rgba(255, 255, 255, 0);
  cursor: inherit; }

.menuitem--open {
  cursor: pointer; }

.menulink {
  background: transparent; }

.menulink:focus,
.menulink:hover {
  background: rgba(2, 79, 127, 0.9); }

.menulink--current,
.menulink--current:active,
.menulink--current:visited,
.menulink--path,
.menulink--path:active,
.menulink--path:visited {
  color: #b82929; }

.menulink--current:focus,
.menulink--current:hover,
.menulink--path:focus,
.menulink--path:hover {
  background: #b82929;
  color: white; }

.menulink__counter {
  margin-right: .3em; }

.menulink__counter--homepage {
  font-family: "inf-schule", Helvetica, sans-serif; }

.menubutton {
  display: block;
  font-size: 10px;
  position: absolute;
  z-index: 10000;
  width: 3em;
  height: 2.5em;
  padding: 0;
  right: 0;
  bottom: .05em; }

.menubutton span,
.menubutton span:before,
.menubutton span:after {
  cursor: pointer;
  height: .4em;
  width: 3em;
  background: white;
  position: absolute;
  display: block;
  content: ''; }

.menubutton span:before {
  top: -.8em; }

.menubutton span:after {
  bottom: -.8em; }

.menubutton span, .menubutton span:before, .menubutton span:after {
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out; }

.menubutton.active span {
  background-color: transparent; }

.menubutton.active span:before {
  -webkit-transform: translateY(0.8em) rotate(45deg);
  -moz-transform: translateY(0.8em) rotate(45deg);
  -ms-transform: translateY(0.8em) rotate(45deg);
  -o-transform: translateY(0.8em) rotate(45deg);
  transform: translateY(0.8em) rotate(45deg); }
  .shrink .menubutton.active span:before {
    -webkit-transform: translateY(0.8em) rotate(45deg);
    -moz-transform: translateY(0.8em) rotate(45deg);
    -ms-transform: translateY(0.8em) rotate(45deg);
    -o-transform: translateY(0.8em) rotate(45deg);
    transform: translateY(0.8em) rotate(45deg); }

.menubutton.active span:after {
  -webkit-transform: translateY(-0.8em) rotate(-45deg);
  -moz-transform: translateY(-0.8em) rotate(-45deg);
  -ms-transform: translateY(-0.8em) rotate(-45deg);
  -o-transform: translateY(-0.8em) rotate(-45deg);
  transform: translateY(-0.8em) rotate(-45deg); }
  .shrink .menubutton.active span:after {
    -webkit-transform: translateY(-0.8em) rotate(-45deg);
    -moz-transform: translateY(-0.8em) rotate(-45deg);
    -ms-transform: translateY(-0.8em) rotate(-45deg);
    -o-transform: translateY(-0.8em) rotate(-45deg);
    transform: translateY(-0.8em) rotate(-45deg); }

.searchbutton,
.searchbutton:active,
.searchbutton:visited {
  color: white;
  display: block;
  font-family: "inf-schule", Helvetica, sans-serif;
  font-size: 2.1em;
  position: absolute;
  text-decoration: none;
  z-index: 10000;
  width: 1em;
  height: 0.625em;
  padding: 0.25em 0 0 0;
  right: 2em;
  bottom: 0.84375em; }
  .startseite .searchbutton, .startseite
  .searchbutton:active, .startseite
  .searchbutton:visited {
    bottom: 1em;
    font-size: 1.8em;
    right: .2em; }

/*------------------------------------*    # Brotkrumen
\*------------------------------------*/
.breadcrumbs {
  color: #343b45;
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif;
  font-size: .55em;
  height: 1.25em;
  padding-left: .3em;
  position: relative;
  line-height: 1em; }
  .breadcrumbs a,
  .breadcrumbs a:active,
  .breadcrumbs a:visited {
    color: #343b45;
    text-decoration: none; }
  .breadcrumbs a:focus,
  .breadcrumbs a:hover {
    background: transparent;
    text-decoration: underline; }

/*------------------------------------*    # Footer
\*------------------------------------*/
footer {
  background: white;
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif;
  font-size: .6em;
  margin: 0 auto;
  padding: 0;
  max-width: 1080px;
  width: 83.33333333%;
  color: #969696; }
  @media screen and (max-width: 1080px) {
    footer {
      width: 83.33333333%; } }
  @media screen and (max-width: 1024px) {
    footer {
      width: 96.875%; } }
  @media screen and (max-width: 800px) {
    footer {
      width: 96.875%; } }
  @media screen and (max-width: 400px) {
    footer {
      width: 96.875%; } }
  @media screen and (min-width: 1200px) {
    footer {
      max-width: 1200px;
      width: 100%; } }
  footer a,
  footer a:active,
  footer a:visited {
    color: #969696;
    text-decoration: none;
    padding: 0; }
  footer a:focus,
  footer a:hover {
    color: #0077b6;
    background: transparent;
    text-decoration: underline; }
  footer .footer__content {
    width: 100%; }
    .startseite footer .footer__content {
      border-top: 1px solid #f0f0f0; }
  footer .footer__line {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-bottom: 1rem; }
    @media screen and (max-width: 400px) {
      footer .footer__line {
        flex-direction: column;
        flex-wrap: wrap; } }
  footer .footer__page-details {
    background-color: rgba(2, 79, 127, 0.8);
    color: #fff; }
    footer .footer__page-details a,
    footer .footer__page-details a:active,
    footer .footer__page-details a:visited {
      color: #fff; }
    footer .footer__page-details a:focus,
    footer .footer__page-details a:hover {
      color: #fff;
      text-decoration: underline; }
    footer .footer__page-details .footer__linecol--feedback:hover {
      text-decoration: none; }
    .startseite footer .footer__page-details {
      background-color: transparent; }
  footer .footer__imprint {
    text-align: center; }
  footer .footer__linecol {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.75em;
    padding: 0.5rem 1rem;
    margin: 0 1rem; }
    footer .footer__linecol--feedback {
      display: flex;
      flex-direction: row;
      align-items: center;
      color: #66b8a0; }
      footer .footer__linecol--feedback:hover {
        background: #66b8a0;
        color: white;
        text-decoration: none; }
    footer .footer__linecol--no-didactics > div {
      height: 100%; }
      footer .footer__linecol--no-didactics > div a {
        display: flex;
        flex-direction: row;
        align-items: center;
        height: 100%; }
    footer .footer__linecol > * {
      width: 100%; }

.link--support,
.link--license {
  display: block;
  padding: 0;
  margin: 0.5rem 2rem;
  width: 10rem;
  position: relative; }
  @media screen and (max-width: 400px) {
    .link--support,
    .link--license {
      text-align: center;
      margin-left: auto;
      margin-right: auto;
      width: 100%; } }

.logo-support {
  max-width: 100%;
  -webkit-filter: opacity(20%) grayscale(100%);
  filter: opacity(20%) grayscale(100%); }
  @media screen and (max-width: 400px) {
    .logo-support {
      max-width: 50%; } }
  .link--support:hover .logo-support {
    -webkit-filter: opacity(100%) grayscale(0%);
    filter: opacity(100%) grayscale(0%); }

.link--support--netzmanufaktur {
  padding-top: 1.7em;
  width: 6rem; }
  @media screen and (max-width: 800px) {
    .link--support--netzmanufaktur {
      width: 12rem; } }

.link--support--pl {
  padding-top: 0.5em; }

.link--license > img {
  width: 100%; }

@media screen and (max-width: 800px) {
  .link--license {
    width: 50%; } }

.logo-license {
  -webkit-filter: opacity(20%) grayscale(100%);
  filter: opacity(20%) grayscale(100%); }
  .link--license:hover .logo-license {
    -webkit-filter: opacity(100%) grayscale(0%);
    filter: opacity(100%) grayscale(0%); }

/*------------------------------------*    # Links allgemein
\*------------------------------------*/
a {
  color: #146090;
  padding: .1em .3em .1em .025em;
  text-decoration: underline; }

a:active,
a:visited {
  color: #146090; }

a:focus,
a:hover {
  background: #146090;
  color: white;
  text-decoration: none; }
  a:focus.menubutton,
  a:hover.menubutton {
    background: transparent; }

/*------------------------------------*    # Navigation auf der Startseite
\*------------------------------------*/
.startseite .wrapper--article {
  max-width: 100%;
  width: 100%; }

.tiles,
.tile__chapterlist {
  list-style-type: none; }

.tiles {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: distribute;
  -moz-box-pack: distribute;
  box-pack: distribute;
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  -ms-justify-content: space-around;
  -o-justify-content: space-around;
  justify-content: space-around;
  -ms-flex-pack: distribute;
  -webkit-align-content: flex-start;
  -moz-align-content: flex-start;
  align-content: flex-start;
  -ms-flex-line-pack: start;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  position: relative;
  height: 100%;
  width: 100%; }

.tile {
  align-self: flex-start;
  background: whitesmoke;
  box-sizing: border-box;
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif;
  height: 10em;
  line-height: 1.2em;
  margin-bottom: 1em;
  position: relative;
  width: 24%; }
  .tile.tile--opac {
    opacity: .3; }
  .tile.tile--opac:hover {
    opacity: 1.0; }
  @media screen and (min-width: 1200px) {
    .tile {
      height: 12em; } }

.tile__chapterlist {
  background: whitesmoke;
  border-bottom: 1em solid white;
  border-top: 1px dotted white;
  min-height: 8em;
  padding: 0;
  position: absolute;
  top: 4em;
  width: 100%;
  z-index: 50; }

.tile__chapterlist--active {
  display: block; }

.tile__chapterlist--inactive {
  display: none; }

.tile__heading {
  font-size: .9em;
  display: block;
  height: 100%;
  margin: 0;
  padding: 1em;
  text-decoration: none; }

.tile__icon {
  margin: 0 auto;
  pointer-events: none;
  position: absolute;
  width: 24%;
  left: 38%;
  top: 43%; }

.chapterlist__chapter {
  font-size: .85em; }
  .chapterlist__chapter > .tile_heading {
    padding-left: 2em; }

@media screen and (max-width: 1080px) {
  width: 83.33333333%; }

@media screen and (max-width: 900px) {
  .tile {
    width: 32%; } }

@media screen and (max-width: 600px) {
  .tile {
    height: 6.5em;
    width: 48%; }
  .tile__icon {
    bottom: 10%;
    left: auto;
    margin: 0;
    right: 5%;
    top: auto;
    width: 16%; } }

@media screen and (max-width: 400px) {
  .tile {
    height: 3em;
    width: 100%; }
  .tile__chapterlist {
    top: 2.8em; }
  .tile__icon {
    display: none; } }

/*------------------------------------*    # Zusatzinformation auf der Startseite
\*------------------------------------*/
.home__about {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  width: 100%; }
  @media screen and (max-width: 400px) {
    .home__about {
      flex-direction: column; } }
  .home__about ul {
    list-style: none;
    padding: 0;
    margin: 0; }

.home__column {
  font-size: .9em;
  width: 49%;
  background-color: #f8f8f8;
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 1em; }
  @media screen and (max-width: 400px) {
    .home__column {
      width: 95%;
      margin: 0 auto; } }

.home__column__heading {
  margin-left: 0;
  margin-right: 0;
  margin-top: 1rem;
  font-size: 1rem;
  text-align: left;
  border-bottom: 2px solid rgba(205, 209, 214, 0.9); }

.home__column__content {
  columns: 2;
  font-size: 1em; }
  .home__column__content .menulink {
    padding: 0 0.25em; }
  @media screen and (max-width: 800px) {
    .home__column__content {
      columns: 1; } }

/*------------------------------------*    # Seitennavigation (vor/zurueck)
\*------------------------------------*/
.pagenavigation__link {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all 10ms ease-in-out;
  -moz-transition: all 10ms ease-in-out;
  transition: all 10ms ease-in-out;
  background: rgba(205, 209, 214, 0.9);
  line-height: 3.5em;
  position: fixed;
  text-decoration: none;
  top: 6.637em;
  z-index: 1000; }
  .shrink .pagenavigation__link {
    top: 4.637em; }
  .pagenavigation__link:before, .pagenavigation__link:after {
    font-family: "inf-schule", Helvetica, sans-serif;
    font-size: 2em; }
  .pagenavigation__link, .pagenavigation__link:active, .pagenavigation__link:visited {
    color: white; }
  .pagenavigation__link:focus, .pagenavigation__link:hover {
    background: rgba(205, 209, 214, 0.9);
    color: #343b45; }
    .pagenavigation__link:focus .pagenavigation__link__text, .pagenavigation__link:hover .pagenavigation__link__text {
      display: inline-block; }

.pagenavigation__link--prev {
  left: 0em; }
  .pagenavigation__link--prev .arrow--left {
    display: none; }
  .pagenavigation__link--prev:before {
    content: 'd'; }

.pagenavigation__link--next {
  right: 0em; }
  .pagenavigation__link--next .arrow--right {
    display: none; }
  .pagenavigation__link--next:after {
    content: 'e'; }

.pagenavigation__link__text {
  color: #343b45;
  display: none;
  vertical-align: middle;
  line-height: 3.5em; }

.pagenavigation__link__text--prev {
  padding-right: 1em; }

.pagenavigation__link__text--next {
  padding-left: 1em; }

@media screen and (max-width: 1024px) {
  .pagenavigation__link:before, .pagenavigation__link:after {
    font-size: 2em; }
  .pagenavigation__link--prev {
    left: -0.75em; }
  .pagenavigation__link--next {
    right: -0.75em; } }

/*------------------------------------*    # Inhalt
\*------------------------------------*/
article h1,
article h2,
article h3 {
  border-bottom: 0.2em solid rgba(243, 139, 36, 0.9);
  text-align: right;
  clear: both;
  margin-left: -5%;
  margin-right: -5%;
  margin-top: 2.4em;
  margin-bottom: 0.5em; }
  @media screen and (min-width: 1200px) {
    article h1,
    article h2,
    article h3 {
      margin-left: -2%;
      margin-right: -2%; } }

article h3 {
  border-bottom: 0.08em solid rgba(243, 139, 36, 0.9);
  text-align: left; }
  article h3.aufgabe {
    border-bottom-color: #66b8a0;
    margin-right: 0;
    margin-left: 0; }

article > * {
  margin-bottom: 1em; }

article figure {
  background: whitesmoke;
  display: block;
  max-width: 600px;
  max-width: -webkit-min-content;
  max-width: -moz-min-content;
  max-width: min-content;
  margin: 1em auto;
  padding: 1px;
  position: relative;
  line-height: .7em; }
  article figure a:focus,
  article figure a:hover {
    background: transparent !important; }
  article figure > img,
  article figure > a > img {
    background: white;
    max-width: 600px;
    margin: 0; }
  article figure.klickstrecke {
    background: whitesmoke;
    padding: 0;
    line-height: 1.5em; }
    article figure.klickstrecke li:hover {
      color: #0077b6;
      cursor: pointer; }
    article figure.klickstrecke > img,
    article figure.klickstrecke > a > img {
      padding: 1em;
      background: transparent; }
  article figure.klickstrecke--standard {
    display: block;
    max-width: none;
    padding: 2em; }
    article figure.klickstrecke--standard img {
      max-width: none;
      height: auto; }
  article figure .origin {
    display: block;
    font-size: .7em;
    margin: 0;
    padding: 0.5em; }
  article figure .hinweis {
    background: #e8e8e8;
    color: #545454;
    display: block;
    font-family: PTSansCaption;
    font-size: .7em;
    padding: 0.2em 2em; }
  article figure .hinweis--interaktiv:before {
    content: 'Interaktiv: '; }
  article figure.mitte {
    margin: 1em auto; }

article figcaption {
  font-family: PTSansCaption;
  font-size: .6em; }

article pre {
  font-family: PTMono;
  font-size: 0.8125em;
  margin: 1em 0 !important; }
  article pre.mitte {
    text-align: center;
    margin: 1em auto; }
  article pre.quelltext {
    background: whitesmoke;
    border-left: 4px solid #b82929;
    padding: 0.002em 2em;
    border-left-color: #0077b6; }
    article pre.quelltext:hover {
      background: #f0f0f0; }
    article pre.quelltext.line-numbers {
      padding-left: 46px; }

article code,
article code[class*="language-"],
article pre[class*="language-"] {
  font-family: PTMono; }

article .line-numbers-rows {
  margin-top: -5px;
  border-right: 0 !important; }

article .content > * {
  margin-bottom: 1em; }

article .def {
  background: whitesmoke;
  border-left: 4px solid #b82929;
  padding: 0.002em 2em; }
  article .def:hover {
    background: #f0f0f0; }


article .achtung {
  background: whitesmoke;
  border-left: 4px solid #b82929;
  padding: 0.002em 2em;
  position: relative;
  min-height: 3em; }
  article .achtung:hover {
    background: #f0f0f0; }
  article .achtung:before {
    position: absolute;
    top: 10px;
    left: -12px;
    color: #fff;
    width: 20px;
    height: 20px;
    border-radius: 100%;
    text-align: center;
    line-height: 20px;
    font-weight: bold;
    font-size: 14px;
    content: "!";
    background-color: #b82929; }

article .frage {
  background: whitesmoke;
  border-left: 4px solid #b82929;
  padding: 0.002em 2em;
  position: relative;
  min-height: 3em;
  border-left-color: #0077b6; }
  article .frage:hover {
    background: #f0f0f0; }
  article .frage:before {
    position: absolute;
    top: 10px;
    left: -12px;
    color: #fff;
    width: 20px;
    height: 20px;
    border-radius: 100%;
    text-align: center;
    line-height: 20px;
    font-weight: bold;
    font-size: 14px;
    content: "?";
    background-color: #0077b6; }

article .information {
  background: whitesmoke;
  border-left: 4px solid #b82929;
  padding: 0.002em 2em;
  position: relative;
  min-height: 3em;
  border-left-color: #fccb00; }
  article .information:hover {
    background: #f0f0f0; }
  article .information:before {
    position: absolute;
    top: 10px;
    left: -12px;
    color: #fff;
    width: 20px;
    height: 20px;
    border-radius: 100%;
    text-align: center;
    line-height: 20px;
    font-weight: bold;
    font-size: 14px;
    content: "i";
    background-color: #fccb00; }



article .aufgabenstellung {
  background: whitesmoke;
  border-left: 4px solid #66b8a0;
  padding: 0.002em 2em;
  position: relative;
  min-height: 3em;}
  article .aufgabenstellung:hover {
    background: #f0f0f0; }
  article .aufgabenstellung:before {
    position: absolute;
    top: 10px;
    left: -12px;
    color: #fff;
    width: 20px;
    height: 20px;
    border-radius: 100%;
    text-align: center;
    line-height: 20px;
    font-weight: bold;
    font-size: 14px;
    content: "??";
    background-color: #66b8a0; }
  article .aufgabenstellung > ol {
    list-style-type: lower-alpha; }

article .konzept {
  color: #b82929;
  font-weight: 800; }

article pre[class*="language-"]::selection,
article pre[class*="language-"] ::selection,
article code[class*="language-"]::selection,
article code[class*="language-"] ::selection {
  background: #0077b6; }

article pre[class*="language-"]::-moz-selection,
article pre[class*="language-"]::-moz-selection,
article code[class*="language-"]::-moz-selection,
article code[class*="language-"]::-moz-selection {
  background: #0077b6; }

article h3.aufgabe::selection {
  background: #66b8a0;
  color: #fff; }

article h3.aufgabe::-moz-selection {
  background: #66b8a0;
  color: #fff; }

article table {
  width: 90%;
  border-collapse: collapse;
  font-family: PTSansCaption;
  font-size: .9em;
  margin-bottom: 2em;
  margin-left: auto;
  margin-right: auto; }

article article,
article article table,
article article .wrapper--article table {
  table-layout: fixed; }

article thead,
article tbody {
  width: inherit; }

article tr:hover {
  background: whitesmoke; }

article th {
  border-bottom: 2px solid #000;
  padding: 0.2em;
  text-align: left; }

article .textZentriert th,
article .textZentriert td,
article th.textZentriert,
article td.textZentriert {
  text-align: center; }

article td {
  border-bottom: 1px solid #000;
  padding: 0.4em; }

article th,
article td {
  text-overflow: ellipsis;
  overflow: hidden;
  padding-left: 1em;
  padding-right: 1em; }

article div.quellen {
  margin-top: 3em;
  padding: 0; }

article ul.quellen {
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif;
  font-size: .75em;
  list-style-type: none;
  padding-left: 0; }

article .abbildung.mitte {
  margin: 1em auto; }

article img {
  display: block;
  max-width: 100%;
  margin: 1em auto; }

article .links {
  float: left;
  margin: 0 1em 1em 0; }

article .rechts {
  float: right;
  margin: 0 0 1em 1em; }

article .abbildung.rechts img.rechts,
article .abbildung.links img.links {
  margin: 0 0 0.5em 0; }

article dl {
  display: table;
  width: 100%; }
  article dl:after {
    content: ' ';
    clear: both;
    display: block; }

article dt {
  clear: left;
  display: block;
  font-weight: 800;
  float: left;
  margin-bottom: 0.25em;
  text-align: left;
  width: 25%; }

article dd {
  display: block;
  float: left;
  width: 70%; }

article p code {
  font-weight: 800;
  padding-left: 0.2em;
  padding-right: 0.2em; }

article li code {
  font-weight: 800;
  padding-left: 0.2em;
  padding-right: 0.2em; }

article li pre code {
  font-weight: normal; }

article .proportional {
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif;
  font-size: .90em;
  padding-left: 0 0.5em; }

article .ohne-listenpunkte {
  list-style-type: none; }

article .logneg {
  border-top: 1px solid #000;
  display: inline-block;
  line-height: 1em; }

::selection {
  background: #b82929;
  color: #fff; }

::-moz-selection {
  background: #b82929;
  color: #fff; }

/*------------------------------------*    # Feedbackformular
\*------------------------------------*/
.overlay {
  background: rgba(255, 255, 255, 0.96);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100000; }

.overlay--invisible,
.feedbackform--invisible {
  display: none; }

.overlay--visible,
.feedbackform--visible {
  display: block; }

.feedbackform {
  top: 2%;
  position: relative; }
  .feedbackform .field {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1.5em;
    width: 100%; }
  .feedbackform .field--test {
    left: -99999em;
    position: absolute; }
  .feedbackform label {
    margin-right: 2em;
    text-align: right;
    -webkit-box-flex: 0;
    -moz-box-flex: 0;
    box-flex: 0;
    -webkit-flex: 0 0 9em;
    -moz-flex: 0 0 9em;
    -ms-flex: 0 0 9em;
    flex: 0 0 9em; }

/*------------------------------------*    # Suchformular
\*------------------------------------*/
.searchform--invisible {
  display: none; }

.seachform--visible {
  display: block; }

.searchform {
  top: 10%; }
  .searchform input[type=text] {
    background-image: none !important;
    font-size: 3em;
    line-height: 1em;
    width: 100%; }
  .searchform input[type=submit] {
    width: 100%; }
  .searchform .field {
    margin-top: 1em; }
  .searchform .textinput.inactive {
    color: #d2d2d2; }

/*------------------------------------*    # Allgemeines zu Such- und Feedbackformular
\*------------------------------------*/
.form__close,
.form__close:active,
.form__close:visited {
  border-radius: 2em;
  color: black;
  display: inline-block;
  float: right;
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 3em;
  font-weight: 800;
  margin: 0 -0.5em 0 0;
  padding: .5em;
  text-decoration: none; }

.form__close:focus,
.form__close:hover {
  background: transparent;
  color: #b82929;
  text-decoration: none; }

.overlay__form {
  left: 30%;
  position: fixed;
  width: 40%;
  z-index: 100001; }
  .overlay__form h2 {
    border-bottom: 3px solid #b82929;
    margin-top: 3em; }
  .overlay__form input {
    border-bottom: 1px solid black;
    border-left: 1px solid rgba(255, 255, 255, 0);
    border-right: 1px solid rgba(255, 255, 255, 0);
    border-top: 1px solid rgba(255, 255, 255, 0);
    outline: none;
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1 1 12em;
    -moz-flex: 1 1 12em;
    -ms-flex: 1 1 12em;
    flex: 1 1 12em; }
    .overlay__form input[type="submit"] {
      background: #0077b6;
      border: none;
      color: white;
      font-size: 1.2em;
      font-weight: 800;
      padding: 1em; }
      .overlay__form input[type="submit"]:focus, .overlay__form input[type="submit"]:hover {
        background: #66b8a0; }
  .overlay__form textarea {
    border: 1px solid black;
    outline: none;
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1 1 12em;
    -moz-flex: 1 1 12em;
    -ms-flex: 1 1 12em;
    flex: 1 1 12em; }
  .overlay__form input[type=text]:focus,
  .overlay__form textarea:focus {
    box-shadow: 0 0 5px #b82929;
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    border: 1px solid #b82929; }

@media screen and (max-width: 1024px) {
  .overlay__form {
    left: 15%;
    width: 70%; } }

/*------------------------------------*    # Fehlermeldungstext
\*------------------------------------*/
.message {
  background: whitesmoke;
  color: black;
  margin-left: -5%;
  margin-right: -5%;
  padding: 1em 5%; }
  .message::selection {
    background: white;
    color: black; }
  .message::-moz-selection {
    background: white;
    color: black; }

.message--ok {
  background: #66b8a0;
  color: white; }
  .message--ok .message__close,
  .message--ok .message__close:active,
  .message--ok .message__close:visited {
    color: white; }
  .message--ok .message__close:focus,
  .message--ok .message__close:hover {
    background: white;
    color: #66b8a0; }

.message--danger {
  background: #b82929;
  color: white; }
  .message--danger .message__close,
  .message--danger .message__close:active,
  .message--danger .message__close:visited {
    color: white; }
  .message--danger .message__close:focus,
  .message--danger .message__close:hover {
    background: white;
    color: #b82929; }

.message__close,
.message__close:active,
.message__close:visited {
  color: black;
  float: right;
  padding: .1em .5em;
  text-decoration: none; }

.message__close:focus,
.message__close:hover {
  background: white;
  color: black; }

/*------------------------------------*    # Diverses
\*------------------------------------*/
.umfrage__link,
.umfrage__link:active,
.umfrage__link:visited {
  background: #b82929;
  display: block;
  margin: .5em .45em 1em;
  padding: 1em;
  text-decoration: none;
  color: #fff;
  text-align: center;
  font-weight: 800;
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif;
  -webkit-animation: colorPulse 5s infinite alternate; }

.umfrage__link:hover {
  background: #8a1f1f; }

@-webkit-keyframes colorPulse {
  0% {
    background-color: #b82929; }
  50% {
    background-color: #932121; }
  100% {
    background-color: #b82929; } }

.meldung,
.meldung:active,
.meldung:visited {
  display: block;
  margin: .5em .45em 3em;
  padding: 1em;
  text-decoration: none;
  color: #000;
  font-size: .8rem;
  font-weight: 400;
  font-family: PTSansCaption, "Helvetica Neue", "Helvetica", sans-serif; }

.meldung--info {
  background: whitesmoke;
  border-left: #b82929 3px solid; }

/*------------------------------------*    # Software-Werkzeuge
\*------------------------------------*/
.svg-inline--os-icon {
  width: 2rem;
  margin-left: 0.25em;
  margin-right: 0.25em; }

/*------------------------------------*    # Drucken
\*------------------------------------*/
@media print {
  body {
    background: transparent;
    display: block; }
  header {
    background: transparent;
    padding: 0;
    margin: 0;
    position: relative;
    height: auto !important; }
  .wrapper,
  .wrapper--breadcrumbs {
    margin: 0 !important;
    padding: 0 !important;
    display: block;
    position: relative; }
  .header-top,
  nav.mainnav,
  .pagenavigation__link {
    display: none; }
  .header-bottom {
    background: #c8c8c8;
    color: black;
    font-size: 14pt;
    padding: 5pt 5pt;
    line-height: 17pt;
    display: block !important;
    position: relative;
    width: 100%; }
    .header-bottom a,
    .header-bottom a:active,
    .header-bottom a:visited {
      color: black; }
  article {
    margin: 0 !important;
    min-width: 100%;
    padding: 0;
    width: 100%;
    font-size: 10pt;
    display: block !important; }
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0 0 10pt 0 !important;
    padding-top: 50pt !important;
    display: block !important; }
  footer {
    background: transparent;
    color: black;
    margin: 0;
    min-width: 100%;
    width: 100%; }
    footer a,
    footer a:active,
    footer a:visited {
      color: black; } }

/*------------------------------------*    # Thirdparty
\*------------------------------------*/

