@charset "utf-8";



/* RESETS */
/*! 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.
 */

html, body {
  position: static;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-overflow-scrolling: touch;
}


html {
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}


/* SELEKTIERUNGSMï¿½GLICHKEIT AUSSCHALTEN */

/*body ::selection {
  background: transparent;
  color: inherit;
}
body ::-moz-selection {
  background: transparent;
  color: inherit;
}*/

* {
  -webkit-touch-callout: none;
  -webkit-user-callout: none;
  -webkit-user-drag: none;
  -webkit-user-modify: none;
  -webkit-highlight: none;
}

body {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
          font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  -ms-content-zooming: none;
}

/*body input ::selection {
  background: #f86f1e;
}
body input ::-moz-selection {
  background: #f86f1e;
}*/

body input, body textarea {
  -webkit-user-select: text;
     -moz-user-select: text;
      -ms-user-select: text;
          user-select: text;
}


/* 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 {
  color: #f86f1e;
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active, li:active, ul:active,
a:hover, li:hover, ul:hover,
a:focus, li:focus, ul:focus {
  outline: none;
}

/* 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;
}
body.app h1 {
  display: none;
}

/**
 * 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; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * IE 11+ Normal Button behaviour
 */

button > span {
  position: relative;
}

/**
 * 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"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * 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;
}




html,
body,
div,
h1, h2, h3, h4, h5, h6,
p,
a,
video {
  margin: 0;
  padding: 0;
}









body {
  padding: 0px;
  margin: 0px;
  background-color: #fafafa;
  color: #000000;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  font-size: 20px;
  font-display: auto;
}


body.fixed, body.fixed.desktop {
  overflow: hidden;  
}




/* Sticky Footer */

html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;  
}

.centered-block {
  height: 100%;
}

.centered-block.rounded-corners {
  height: auto;
  margin-bottom: 40px;
}


footer {
  flex-shrink: 0;
}




/* Header */

.header {
  flex: none;
  position: fixed;
  width: 100%;
  height: 55px;
  top: 0;
  left: 0;
  padding: 0;
  z-index: 3000;
  box-shadow: 0 2px 3px rgb(1 1 1 / 30%);
  /*-webkit-transition: all ease-in-out 0.2s;
       -o-transition: all ease-in-out 0.2s;
          transition: all ease-in-out 0.2s;*/    
  -webkit-user-select: none;
     -moz-user-select: -moz-none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

.site-logo {
  float: left;
  padding-left: 15px;
}

.site-logo a {
  text-decoration: none;
}

.site-logo span {
  font-size: 22px;
  font-weight: 600;
}

.site-logo .tld {
  color: #ee942a;
  font-size: 14px;
  font-weight: normal;
}






/* Navbar */

nav {
  position: fixed;
  display: none;
  width: 80%;
  height: 100%;
  z-index: 500;
  top: 0px;
  right: 0px;
  background-color: #ffffff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.175);
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 1000;
}

nav.active {
  display: block;
  opacity: 1;  
  -webkit-user-select: none;
     -moz-user-select: -moz-none;
      -ms-user-select: none;
          user-select: none;
  -webkit-animation: slide-in 0.3s 0s ease-out;
     -moz-animation: slide-in 0.3s 0s ease-out;
      -ms-animation: slide-in 0.3s 0s ease-out;
       -o-animation: slide-in 0.3s 0s ease-out;
          animation: slide-in 0.3s 0s ease-out;
}

nav.slide-out {
  -webkit-transform: translateX(100%);
     -moz-transform: translateX(100%);
      -ms-transform: translateX(100%);
       -o-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-animation: slide-out 0.3s 0s ease-out;
     -moz-animation: slide-out 0.3s 0s ease-out;
      -ms-animation: slide-out 0.3s 0s ease-out;
       -o-animation: slide-out 0.3s 0s ease-out;
          animation: slide-out 0.3s 0s ease-out;
}

@-webkit-keyframes slide-in {
  0%   { -webkit-transform: translateX(100%); }
  100% { -webkit-transform: translateX(0px); }
}
@-moz-keyframes slide-in {
  0%   { -moz-transform: translateX(100%); }
  100% { -moz-transform: translateX(0px); }
}
@-ms-keyframes slide-in {
  0%   { -ms-transform: translateX(100%); }
  100% { -ms-transform: translateX(0px); }
}
@-o-keyframes slide-in {
  0%   { -o-transform: translateX(100%); }
  100% { -o-transform: translateX(0px); }
}
@keyframes slide-in {
  0%   { transform: translateX(100%); }
  100% { transform: translateX(0px); }
}


@-webkit-keyframes slide-out {
  0%   { -webkit-transform: translateX(0px); }
  100% { -webkit-transform: translateX(100%); }
}
@-moz-keyframes slide-out {
  0%   { -moz-transform: translateX(0px); }
  100% { -moz-transform: translateX(100%); }
}
@-ms-keyframes slide-out {
  0%   { -ms-transform: translateX(0px); }
  100% { -ms-transform: translateX(100%); }
}
@-o-keyframes slide-out {
  0%   { -o-transform: translateX(0px); }
  100% { -o-transform: translateX(100%); }
}
@keyframes slide-out {
  0%   { transform: translateX(0px); }
  100% { transform: translateX(100%); }
}


@-webkit-keyframes slide-fade-in  {
  0%   { opacity: 0; -webkit-transform: translateX(20%); }
  100% { opacity: 1; -webkit-transform: translateX(0px); }
}
@-moz-keyframes slide-fade-in  {
  0%   { opacity: 0; -moz-transform: translateX(20%); }
  100% { opacity: 1; -moz-transform: translateX(0px); }
}
@-ms-keyframes slide-fade-in  {
  0%   { opacity: 0; -ms-transform: translateX(20%); }
  100% { opacity: 1; -ms-transform: translateX(0px); }
}
@-o-keyframes slide-fade-in  {
  0%   { opacity: 0; -o-transform: translateX(20%); }
  100% { opacity: 1; -o-transform: translateX(0px); }
}
@keyframes slide-fade-in  {
  0%   { opacity: 0; transform: translateX(20%); }
  100% { opacity: 1; transform: translateX(0px); }
}



nav > ul {
  width: 100%;
  height: 100%;
  top: 0px;
  font-size: 13px;
  text-transform: uppercase;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-top: 65px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

nav a {
  text-decoration: none;
}

nav > ul > li {
  width: 100%;
  float: none;
}

nav > ul > li a {
  display: block;
  height: 20px;
  line-height: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 17px;
  padding-right: 17px;
  border-bottom: 1px solid #f5f5f5;
  color: #000000;
}

nav > ul > li  a:hover {
	background-color: #fcfcfc;
}

nav > ul > li a svg {
  display: none;
  vertical-align: middle;
}

nav #header_gratis_report {
  float: right;
}




/* Megamenu */

.megamenu div ul, .megamenu div ul li {
  -webkit-transition: 0.45s ease-out;
     -moz-transition: 0.45s ease-out;
      -ms-transition: 0.45s ease-out;
       -o-transition: 0.45s ease-out;
          transition: 0.45s ease-out;  
}
          
.megamenu span {
  display: block;                        
  cursor: pointer;
  float: right;
  padding: 13px 20px;
  background: #fafafa;
}

.megamenu span svg {
  margin-top: 6px;
  margin-left: -2px;
  fill: #999999;
}

.megamenu div {
  display: block;
  position: absolute;
  max-height: 0px;
  float: left;
  margin: 0;
  /*margin-top: 2px;*/
  padding: 0;
  /*padding-top: 15px;*/
  font-size: 14px;
  text-align: left;
  border: none;
  border-radius: 4px;  
  background: #fafafa;    
  /*box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.175);*/
  /*background-clip: padding-box;*/
  overflow: hidden;  
  z-index: 1000;
}

.megamenu::after {
  display: block;
  content: " ";
  clear: both;  
}

.megamenu div.open {
  display: block;
  position: relative;
  width: 100%;
  max-height: 1500px;    
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box; 
  -webkit-transition: 1s ease-out;
     -moz-transition: 1s ease-out;
      -ms-transition: 1s ease-out;
       -o-transition: 1s ease-out;
          transition: 1s ease-out;                     
}

.megamenu div.open > ul {
  float: none;
  width: 100%;
  padding: 0;
}

.megamenu div.open ul {
  -webkit-animation: slide-fade-in 0.3s 0s ease-out;
     -moz-animation: slide-fade-in 0.3s 0s ease-out;
      -ms-animation: slide-fade-in 0.3s 0s ease-out;
       -o-animation: slide-fade-in 0.3s 0s ease-out;
          animation: slide-fade-in 0.3s 0s ease-out;      
}

.megamenu div.open li a {
  font-size: 15px;
}

.megamenu div.open li a {  
  padding-left: 40px;             
}

.megamenu div.open li ul li a {
  font-size: 12px;  
  padding-left: 40px;             
}

nav li.megamenu div ul {
  list-style-type: none;
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 0;
}

nav li.megamenu div li ul {
  min-width: 240px;
  padding: 0px;
  margin-left: 0px;
}

nav li.megamenu div a {
  height: 50px;
  display: table-cell;
  width: 1%;  
  padding-top: 5px;
  padding-bottom: 5px;  
  vertical-align: middle;
  font-size: 17px;
  color: #3e82f7;
  text-transform: none;
}

nav li.megamenu div ul > li > ul a {
  font-size: 14px;
  color: #000000;
}

nav li.megamenu div ul > li > ul a:hover {
  background-color: #fcfcfc;
}

.megamenu div > ul {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

.br {
  clear: both;
}







/* Mobile-Hamburger-Icon */

#mobile-hamburger-icon {
  display: inline-block;
  float: right;
  margin-top: 15px;
  margin-right: 25px;
  cursor: pointer;
}

.bar1, .bar2, .bar3 {
  width: 23px;
  height: 2px;
  margin: 5px 0;
  background-color: #ffffff;
  -webkit-transition: all ease-in-out 0.4s;
       -o-transition: all ease-in-out 0.4s;
          transition: all ease-in-out 0.4s;    
}

.change .bar1 {
   -webkit-transform: rotate(-45deg) translate(-4.9px, 4.9px);
 /*        transform: rotate(-45deg) translate(-3.8px, 3.3px);*/
}

.change .bar2 {
  opacity: 0;
}

.change .bar3 {
    -webkit-transform: rotate(45deg) translate(-4.9px, -4.9px);
   /*    transform: rotate(45deg) translate(-8px, -8px);*/
}







/* Page-Layout */
main {
  display: block;
  margin: 0px;
  padding: 0px;
  margin-top: 55px;
}

.centered-block {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

main .centered-block {
  padding-bottom: 80px;
  background-color: #ffffff;
  box-shadow: 0 0 3px rgba(1, 1, 1, .15);
}


.column-left {
  padding-top: 15px;
  padding-left: 0px;
  padding-right: 0px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}


aside {
  display: block;
  margin-top: 40px;
  margin-bottom: 40px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

aside figure {
  display: block;
  width: 100%;
  max-width: 365px;
  margin: 0px auto;
  margin-bottom: 10px;
}

aside.bottom {
  margin-top: 150px;
}

aside + .column-left {
  padding-top: 0px;
}




.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

.column img {
  margin-top: 30px;
}

/*@media (min-width: 750px) {
  .column {
    float: left;
  }
  .column.two-thirds { width: 66.7%; }
  .column.half { width: 50%; }
  .column.third { width: 33.3%; }
}*/

















br.clear {
  clear: both;
}


footer {
  width: 100%;
  margin: 0;
  padding-top: 40px;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
  background: #424242;
  text-align: center;
  font-size: 14px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

footer a, footer .centered-block {
  padding-left: 5px;
  padding-right: 5px;
  line-height: 3;
  color: #bbbbbb;
  text-decoration: none;
}

footer .copyright {
  font-size: 13px;
  color: #888888;
}


/*#cookie-consent + footer {
  padding-bottom: 120px;
}*/


#cookie-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 8px 10px 8px;
  color: #000000;
  background-color: #f0f0f0;
  line-height: 2em;
  font-size: 13px;
  z-index: 10000;
}

#cookie-consent span{
  float: right;
  line-height: 1;
  /*padding-top: 5px;
  padding-bottom: 5px;
  line-height: 1.5em;
  font-size: 13px;*/
}

#cookie-consent a {
  float: right;
  padding: 7px 13px;
  margin-left: 5px;
  margin-right: 25px;
  text-decoration: none;
  font-weight: 600;
  color: #555555;
  -webkit-border-radius: 2px;
     -moz-border-radius: 2px;
          border-radius: 2px;
}

#cookie-consent a:hover {
  background-color: #dddddd;
}







body.fixed #overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #000000;
  opacity: 0.4;
  z-index: 100;
  -webkit-animation: fade-in 0.3s 0s ease-in-out;
     -moz-animation: fade-in 0.3s 0s ease-in-out;
      -ms-animation: fade-in 0.3s 0s ease-in-out;
       -o-animation: fade-in 0.3s 0s ease-in-out;
          animation: fade-in 0.3s 0s ease-in-out;
}

body.fixed #overlay.top {
  -webkit-animation: fade-in-top 0.3s 0s ease-in-out;
     -moz-animation: fade-in-top 0.3s 0s ease-in-out;
      -ms-animation: fade-in-top 0.3s 0s ease-in-out;
       -o-animation: fade-in-top 0.3s 0s ease-in-out;
          animation: fade-in-top 0.3s 0s ease-in-out;
  opacity: 0.6;
  z-index: 5000;
}

body.fixed #overlay.fade-out {
  opacity: 0;
  -webkit-animation: fade-out 0.3s 0s ease-in-out;
     -moz-animation: fade-out 0.3s 0s ease-in-out;
      -ms-animation: fade-out 0.3s 0s ease-in-out;
       -o-animation: fade-out 0.3s 0s ease-in-out;
          animation: fade-out 0.3s 0s ease-in-out;
}

body.fixed #overlay.top.fade-out {
  -webkit-animation: fade-out-top 0.3s 0s ease-in-out;
     -moz-animation: fade-out-top 0.3s 0s ease-in-out;
      -ms-animation: fade-out-top 0.3s 0s ease-in-out;
       -o-animation: fade-out-top 0.3s 0s ease-in-out;
          animation: fade-out-top 0.3s 0s ease-in-out;
}

@-webkit-keyframes fade-in {
  0%   { opacity: 0; }
  100% { opacity: 0.4; }
}
@-moz-keyframes fade-in {
  0%   { opacity: 0; }
  100% { opacity: 0.4; }
}
@-ms-keyframes fade-in {
  0%   { opacity: 0; }
  100% { opacity: 0.4; }
}
@-o-keyframes fade-in {
  0%   { opacity: 0; }
  100% { opacity: 0.4; }
}
@keyframes fade-in {
  0%   { opacity: 0; }
  100% { opacity: 0.4; }
}


@-webkit-keyframes fade-out {
  0%   { opacity: 0.4; }
  100% { opacity: 0; }
}
@-moz-keyframes fade-out {
  0%   { opacity: 0.4; }
  100% { opacity: 0; }
}
@-ms-keyframes fade-out {
  0%   { opacity: 0.4; }
  100% { opacity: 0; }
}
@-o-keyframes fade-out {
  0%   { opacity: 0.4; }
  100% { opacity: 0; }
}
@keyframes fade-out {
  0%   { opacity: 0.4; }
  100% { opacity: 0; }
}


@-webkit-keyframes fade-in-top {
  0%   { opacity: 0; }
  100% { opacity: 0.6; }
}
@-moz-keyframes fade-in-top {
  0%   { opacity: 0; }
  100% { opacity: 0.6; }
}
@-ms-keyframes fade-in-top {
  0%   { opacity: 0; }
  100% { opacity: 0.6; }
}
@-o-keyframes fade-in-top {
  0%   { opacity: 0; }
  100% { opacity: 0.6; }
}
@keyframes fade-in-top {
  0%   { opacity: 0; }
  100% { opacity: 0.6; }
}


@-webkit-keyframes fade-out-top {
  0%   { opacity: 0.6; }
  100% { opacity: 0; }
}
@-moz-keyframes fade-out-top {
  0%   { opacity: 0.6; }
  100% { opacity: 0; }
}
@-ms-keyframes fade-out-top {
  0%   { opacity: 0.6; }
  100% { opacity: 0; }
}
@-o-keyframes fade-out-top {
  0%   { opacity: 0.6; }
  100% { opacity: 0; }
}
@keyframes fade-out-top {
  0%   { opacity: 0.6; }
  100% { opacity: 0; }
}





/* Breadcrumb-Navigation */
#breadcrumb {
  line-height: 1.5;
  color: #999999;
}

#breadcrumb a {
  font-size: 12px;
  padding-right: 3px;
  text-decoration: none;
}

#breadcrumb a:hover {
  text-decoration: underline;
}

#breadcrumb span > span {
  white-space: nowrap;
  padding-right: 2px;
}

#breadcrumb span > span > span {
  padding-right: 0px;
}





/* jRating CSS */

.rating {
  margin-top: 70px;
  padding-top: 20px;
  border-top: 1px solid rgb(221, 221, 221);
}

.rating .rating-headline {
  font-size: 20px;
  margin-bottom: 10px;
}

.rating .star-rating {
  float: left;
  margin-bottom: 10px;
  margin-right: 20px;
  background-color:#d0d0d0;
  height: 23px;
  width: 145px;
  overflow: hidden;
  z-index: 1;
  position: relative;
}

.rating .star-rating:hover {
  cursor: pointer;
}

.rating-message {
  font-size: 14px;
}

.rating-stats {
  clear: both;
  font-size: 10px;
}

.rating i {
  font-size: 11px;
  font-weight: 700;
}

.average-rating {
  position: relative;
  width: 0px; 
  top: -23px;
  left: 0;  
  background-color: #ff6600;    
  z-index: 2;
  height: 100%;  
}

.rating-marker {
  background-color: #ffbb00;
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
}

.rating-star {
  position: relative;  
  width: 146px;
  height: 25px;
  top: -47px;
  left: 0;
  z-index: 3;
}









.content-overview {
  padding: 0;
}

.content-overview h3, .content-overview p {
  margin-left: 0px;
  margin-right: 0px;
}

.content-overview a {
  display: block;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-left: 15px;
  padding-right: 15px;
  text-decoration: none;
  font-size: 15px;
  line-height: 24px;
}

.content-overview a:hover {
  text-decoration: underline;
  /*background-color: #fcfcfc;*/
}

.content-overview span {
  display: block;
  font-size: 20px;
  line-height: 32px;
  color: #777777;
  margin: 24px 0 16px;
  margin-bottom: 16px;
  padding-top: 7px;
  padding-left: 15px;
  font-weight: 300;
  -moz-osx-font-smoothing: grayscale;
}


.content-overview.side-information {
  margin-top: 280px;
  padding-left: 30px;
  padding-bottom: 15px;
}

.content-overview.side-information h3 {
  font-size: 22px;
}

.content-overview.side-information p {
  font-size: 13px;
}

.content-overview.side-information a {
  display: inline;
  padding-left: 30px;
  font-weight: normal;
}

.content-overview.side-information a:hover {
  background: transparent;
}

.content-overview.side-information table {
  margin-bottom: 60px;
}

.content-overview.side-information table p {
  margin-top: 26px;
}

.content-overview.side-information svg {
  display: inline-block;
  position: absolute;
  width: 18px;
}


.content-overview.payment-information {
  margin-top: 280px;
  padding-left: 30px;
  padding-bottom: 15px;
}

.content-overview.payment-information h3 {
  font-size: 22px;
}

.content-overview.payment-information p {
  font-size: 13px;
}

.content-overview.payment-information a {
  display: inline;
  padding-left: 30px;
  font-weight: normal;
}

.content-overview.payment-information a:hover {
  background: transparent;
}

.content-overview.payment-information table {
  margin-bottom: 60px;
}

.content-overview.payment-information table p {
  margin-top: 26px;
}

.content-overview.payment-information svg {
  display: inline-block;
  position: absolute;
  width: 18px;
}


.confirmation-box {
  margin-top: 30px;
  margin-bottom: 50px;  
}

.confirmation-box .payment-type {
  padding-bottom: 20px;    
}

.confirmation-box .payment-type h3 {
  padding-top: 0px;
  padding-bottom: 25px;
  font-size: 26px;
}




.report {
  position: relative;
  max-width: 650px;
  margin: 0px auto;
  margin-top: 200px;
}

.report .round-button {
  display: block;
  z-index: 10;
}

.report .round-button a {
  display: block;
  width: 130px;
  height: 130px;
  padding: 0;
  padding-top: 27px;
  border: none;
  line-height: 25px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  text-transform: none;
  text-decoration: none;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
  -webkit-transition: background-color 0.25s ease-in-out;
     -moz-transition: background-color 0.25s ease-in-out;
      -ms-transition: background-color 0.25s ease-in-out;
       -o-transition: background-color 0.25s ease-in-out;
          transition: background-color 0.25s ease-in-out;
  -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
          border-radius: 50%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

.round-button .big {
  font-size: 22px;
  font-weight: 700;
  line-height: 27px;
}

.report svg {
  position: absolute;
  top: 84px;
  left: 101px;
}


.report img {
  width: 90%;
  max-width: 305px;
}

.report > a img {
  height: 98%;
}

.report div {
  position: absolute;
  top: -80px;
  right: -15px;
}

.report figcaption {
  margin-left: 0px;
  margin-right: 0px;
}










h1 {
  margin: 0px;
  padding: 0px;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 25px;  
  line-height: 1.5;
  font-weight: 600;  
}

h2 {
  margin: 0px;
  margin-top: -50px;
  padding: 0;
  padding-top: 80px;
  padding-bottom: 20px;
  font-size: 20px;
  line-height: 1.5;  
  font-weight: 900;
}

h2.subhead {
  margin: 0;
  padding: 0;
  padding-bottom: 8px;
  color: #000000;
  font-weight: 400;
}

h1 + h2 + p {
  margin-top: 20px;
}

img + h2 {
  margin-top: 0px;
}

h3 {
  margin: 0px;
  padding: 25px 0;
  font-size: 17px;
  font-weight: 600; 
}

h4 {
  margin: 0px;
  padding: 25px 0 0;
  font-size: 20px;
  font-weight: 900; 
}

p {
  margin: 0px;
  margin-bottom: 27px;
  padding: 0px;
  color: #333;
  font-size: 15px;
}

p.last-update {
  margin: 0;
  padding: 0;
  padding-bottom: 20px;
  font-size: 13px;
  color: #aaaaaa;
  font-weight: 300;
  line-height: 1.3;
}

p + div.button {
  margin-top: 0px;
}

b, strong {
  font-weight: bolder;
}

.nobr {
  white-space: nowrap;
}

table td {
  font-size: 14px;
}

figure {
  max-width: 700px;
  margin: 0px auto;
  margin-bottom: 10px;
}

figure > img {
  width: 100%;
  height: 84.6%;
  border: 0px;
}

aside figure img {
  -webkit-border-radius: 0px;
     -moz-border-radius: 0px;
          border-radius: 0px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

figure figcaption {
  position: relative;
  padding: 0;
  padding-bottom: 20px;
  font-size: 13px;
  color: #000000;
}


aside figure figcaption {
  padding-top: 6px;
  padding-left: 50px;
  font-size: 13px;
}

figcaption img {
  position: absolute;
  width: auto !important;
  top: 10px;
  left: 0px;
}

figure.center {
  margin: 0px auto;
  max-width: 700px;
}


figure.report {
  max-width: 316px;
}

.report a {
  text-decoration: none;
  color: #000000;
}




.cls {
  position: relative;
  display: block;
}

.cls::before {
  content: "";
  display: block;
}

.cls.cls-image::before {
  padding-bottom: 60%;
}

.cls.cls-cover::before {
  padding-bottom: 115%;
}

.cls.cls-aside::before {
  padding-bottom: 202%;
}

.cls img {
  position: absolute;
  top: 0;
  left: 0;
}  




blockquote {
  position: relative;
  margin: 35px 0 35px 0;
  padding: 25px 15px 1px 50px;
  background-color: #ebe6e5;
  -webkit-border-radius: 25px;
     -moz-border-radius: 25px;
          border-radius: 25px;
}

.full-width blockquote {
  max-width: 630px;
}

blockquote:before {
  content: '\201c';
  position: absolute;
  top: -15px;
  left: 10px;
  font-size: 60px;
  font-weight: bold;
  font-family: "Times New Roman";
  color: #aa9988;
}

blockquote p {
  color: #552200;
}


p.head {
  font-weight: bold;
  margin-top: 20px;
  margin-bottom: 5px;
}

div.separator p {
  float: left;
  margin: 0;
}

div.separator br {
  clear: both;
}

div.separator:after {
  clear: both;
}

img.link {
  display: block;
  width: 250px;
  margin: 0px auto;
  margin-top: 0px;
  margin-bottom: 20px;
  border: 1px solid #000000;
}

img.responsive {
  width: 100%;
}







main ol {
  padding-left: 17px;
  margin-bottom: 30px;
}

main ol li {
  padding-left: 10px;
}

main ul, #content-window ul, #cookie-window ul {
  list-style: none;
  padding-left: 0px;
  margin-top: 20px;
  margin-bottom: 40px;
}

main ul li::before, #content-window ul li::before, #cookie-window ul li::before {
  display: block;
  position: absolute;
  content: '\25a0'; /*'\25cf';*/
  font-size: 15px;
  margin-top: -2px;
  margin-left: -20px;
}

main li, #content-window li, #cookie-window li {
  font-size: 15px;
  padding-left: 20px;
  margin-top: 10px;
  margin-bottom: 10px;
}

ol li p, ul li p {
  margin-left: 0px;
  margin-right: 0px;
}



.box {
  position: relative;  
  margin: 50px auto;
  padding: 20px;
  background-color: #fffae3;
  -webkit-border-radius: 25px;
     -moz-border-radius: 25px;
          border-radius: 25px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

.full-width .box {
  max-width: 700px;
}

.full-width .box.testimonial {
  margin: 50px auto;
}

.box-title {
  font-weight: 600;
}

.box-footer {
  margin: 0;
  text-align: right;
  font-style: italic;
}




.box.testimonial p {
  margin: 0 0 12px;
  font-size: 16px;
}

.box.testimonial p.content {
  font-family: courier;
}



.box.suggestion, .box.warning, .box.question{
  padding: 10px 15px 1px 60px; 
}

.box.suggestion {  
  background-color: #009688;
}

.box.warning {  
  background-color: #654455;;
}

.box.question{  
  background-color: #0288d1;;
}

.box svg {
  position: absolute;
  top: 10px;
  left: 13px;
  width: 40px;  
}

.box.suggestion svg, .box.warning svg, .box.question svg {
  fill: #fff;  
}

.box.suggestion p, .box.warning p, .box.question p, .box.suggestion li, .box.warning li, .box.question li {
  color: #fff;
  margin-bottom: 12px;
}



.box.action {
  overflow: hidden;
}

.box.action .box-left {
  margin: 0px auto;
  margin-bottom: 20px;
  width: 210px;
}

.box.action img {
  width: 90%;
  height: 100%;
  max-width: 190px;
}

.box.action .box-right {
  text-align: center;
  margin-bottom: 10px;  
}

.box.action .box-title {
  font-size: 19px;
  margin-bottom: 30px; 
}

.box .box-leadin {
  font-size: 16px;
  font-weight: bold;
}

.box.action .button {
  margin-top: 20px;
  margin-bottom: 10px;  
}

.box .box-leadout {
  font-size: 12px;
  font-weight: bold;  
}





p.sonderangebot {
  margin-top: 30px;
  margin-bottom: 15px;
  font-weight: bold;
  color: #00dd00;
}

p.sonderangebot.dark {
  color: #dd0000;
}



.form-box {
  max-width: 670px;
  margin: 0;
  margin-top: 40px;
  margin-bottom: 100px;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 25px;
  padding-bottom: 25px;
  background-color: #f9f9f9;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-border-radius: 25px;
     -moz-border-radius: 25px;
          border-radius: 25px;
}

.form-box .box-title {
  margin-bottom: 25px;
  font-size: 28px;
  line-height: 1.5;
}

.form-box a {
  text-decoration: underline;
}

.form-box table img {
  width: 60px;
  margin-right: 20px;
  text-align: right;
}

.form-box table th {
  width: 70%;
  vertical-align: top;
  padding-top: 10px;
  padding-bottom: 6px;
  font-size: 16px;
  font-weight: 600;
  text-align: left;
}

.form-box table th.product-image {
  width: 0%;
  vertical-align: middle;
  padding-top: 0px;
}

.form-box table .right {
  width: 30%;
  text-align: right;
}

.form-box table td {
  vertical-align: top;
  padding-top: 1px;
}

.form-box table td.price {
  padding-top: 0px;
  font-size: 16px;
  font-weight: 600;
}

.form-box table td.price div.mwst {
  font-size: 12px;
  font-weight: normal;
  padding-top: 2px;
  padding-bottom: 7px;
}

.form-box svg {
  display: block;
  width: 100px;
  height: 34px;
  margin: 0px auto;
  margin-top: 40px;
}

.form-box.kontakt {
  margin-bottom: 40px;
}


.form-box .label {
  margin-bottom: 5px;
  color: #bfbfbf;
}

#anrede, #produktversion {
  width: 100%;
}

#produktversion {
  margin-bottom: 30px;
}



form {
  margin: 0;
  margin-top: 40px;
  margin-bottom: 20px;
  padding: 0;
}

.form-box p {
  font-size: 13px;
  margin: 0 0 15px;
}

.form-box .response p {
  font-size: 20px;
}

.form-control {
  display: block;
  position: relative;
  margin: 0;
  vertical-align: top;
}






main form ul {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: auto;
}

main form li {
  color: #757575;
  display: block;
  position: relative;
  float: left;
  width: 50%;
  height: 20px;
  margin: 0;
  padding-left: 0;
  padding-bottom: 10px;
}

main form li::before {
  content: none;
}

form ul li input[type=radio] {
  position: absolute;
  visibility: hidden;
}

form ul li label {
  display: block;
  position: relative;
  font-weight: 300;
  font-size: 16px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 35px;
  padding-right: 20px;
  margin: 0;
  text-align: left;
  color: #333;
  z-index: 9;
  cursor: pointer;
  -webkit-transition: color ease-in-out 0.25s;
       -o-transition: color ease-in-out 0.25s;
          transition: color ease-in-out 0.25s;    
}

form ul li .check {
  display: block;
  position: absolute;
  border: 3px solid #757575;
  border-radius: 100%;
  height: 15px;
  width: 15px;
  top: 3px;
  left: 0px;
  z-index: 5;
  -webkit-transition: border-color ease-in-out 0.25s;
       -o-transition: border-color ease-in-out 0.25s;
          transition: border-color ease-in-out 0.25s;  
}

form ul li .check::before {
  display: block;
  position: absolute;
  content: '';
  height: 11px;
  width: 11px;
  top: 2px;
  left: 2px;
  margin: auto;  
  background-color: #ffffff;
  -webkit-border-radius: 100%;
     -moz-border-radius: 100%;
          border-radius: 100%;
  -webkit-transition: background-color ease-in-out 0.25s;
       -o-transition: background-color ease-in-out 0.25s;
          transition: background-color ease-in-out 0.25s;  
}


form ul.error form li {
  background: #ff0000;
}

form ul.error li .check {
  border: 3px solid #ff0000;
}

form ul.error li label {
  color: #ff0000;
}




form .form-control label {
  display: block;
  position: absolute;
  max-width: 100%;
  bottom: 100%;
  width: 100%;
  color: #757575;
  font-size: 13px;
  line-height: 25px;
  letter-spacing: 0px;
  margin-bottom: 0px;
  pointer-events: none;       
}

form .form-control label.animated {       
  -webkit-transition: all ease-in-out 0.25s;
       -o-transition: all ease-in-out 0.25s;  
          transition: all ease-in-out 0.25s;
}

form .form-control label.unfocused {
  font-size: 16px;
  color: #bfbfbf !important;
  -webkit-transform: translate(15px, 37px);
      -ms-transform: translate(15px, 37px);
       -o-transform: translate(15px, 37px);
          transform: translate(15px, 37px);
}




form .form-control.select select::-ms-expand {
  display: none;
}

form .form-control.select select {
  /*display: block;
  width: 100%;
  height: 50px;
  margin: 6px 0px;
  padding: 0px 12px;
  font-size: 16px;
  line-height: 1.75;
  background-color: #ffffff;
  background-image: none;*/
  -ms-word-break: normal;
  word-break: normal;  
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

form .form-control.select::after {
  content: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='28' height='28' viewBox='0 0 24 24'><path stroke='rgb(25, 144, 108)' fill='rgb(25, 144, 108)' d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  position: absolute;
  right: 9px;
  top: 7px;
  height: 28px;
  width: 28px;
  padding: 6px 0px 5px 7px;
  pointer-events: none;
}



form input[type="text"], form input[type="email"], form input[type="password"], form select, form textarea {
  display: block;
  width: 100%;
  height: 50px;
  margin-bottom: 1px;
  padding-top: 0px;
  padding-left: 12px;
  padding-right: 12px;
  font-size: 16px;
  color: #555555;
  background: #ffffff;
  border: none;
  border-bottom: 2px solid #ececec;
  -webkit-border-radius: 4px;
          border-radius: 4px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

form textarea {
  height: 187px;
  padding: 10px 12px;
  resize: vertical;
  outline: none;
}

form .has-error input, form .has-error textarea {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
          box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}

input[type="text"], input[type="email"], input[type="password"], textarea {
  -webkit-transition: all ease-in-out 0.25s;
       -o-transition: all ease-in-out 0.25s;
          transition: all ease-in-out 0.25s;
}

form input[type="text"]:focus, form input[type="email"]:focus, form input[type="password"]:focus {
  outline: none;
}

form .form-control.error label {
  color: #ff0000;
}

form .error input[type="text"], form .error input[type="email"], form .error input[type="password"], form .error select, form .error textarea {
  border-bottom: 2px solid #ff0000;
}


#msg-password {
  width: 50%;
}

#password-forgotten {
  float: right;
  margin-top: 10px;
  font-size: 15px;
  text-decoration: none;
}

#password-forgotten:hover {
  text-decoration: underline;
}






.form-check {
  position: relative;
  margin: 12px 0;
  text-align: left;
  line-height: 1.3;
  color: #333333;  
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;  
}

.form-check label, .form-radio label {
  font-size: 16px;
  cursor: pointer;
}
 
.form-check label::before, .form-check label::after {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
}
 
.form-check label::before {
  width: 20px;
  height: 20px;
  background: #ffffff;
  border: 2px solid rgba(0, 0, 0, 0.54);
  border-radius: 2px;
  cursor: pointer;
  -webkit-transition: 0.25s ease-in-out;
     -moz-transition: 0.25s ease-in-out;
      -ms-transition: 0.25s ease-in-out;
       -o-transition: 0.25s ease-in-out;
          transition: 0.25s ease-in-out;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;    
}


.form-check input[type="checkbox"] { 
  float: left;
  height: 60px;  
  margin-right: 20px;
  visibility: hidden;
  outline: 0; 
}

.form-check input[type="checkbox"]:checked + label:before{
  border: none;
}

.form-check input[type="checkbox"]:checked + label:after {
  transform: rotate(-45deg);
  top: 11px;
  left: 4px;
  width: 12px;
  height: 6px;       
  border: 2px solid #ffffff;
  border-top-style: none;
  border-right-style: none;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;    
} 

.form-check input[type="checkbox"]:disabled + label::before {
  background: #cccccc !important;
}

form .form-check.error label:before {
  border: 2px solid #ff0000;
}


   
   
    




#captcha-image {
  position: absolute;
  top: 0px;
  right: 0px;
}










#content-window, #cookie-window {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 92%;
  height: 92%;
  padding-bottom: 60px;
  background-color: #ffffff;
  overflow: hidden;
  z-index: 10000;              
  -webkit-border-radius: 10px;
     -moz-border-radius: 10px;
          border-radius: 10px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;          
  -webkit-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
       -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-animation: fade-in 0.3s 0s ease-in-out;
     -moz-animation: fade-in 0.3s 0s ease-in-out;
      -ms-animation: fade-in 0.3s 0s ease-in-out;
       -o-animation: fade-in 0.3s 0s ease-in-out;
          animation: fade-in 0.3s 0s ease-in-out;
}

#content-window {
  max-width: 960px;
  overflow-y: scroll;
  padding: 30px;
}

#cookie-window {
  max-width: 640px;
  max-height: 550px;
  box-shadow: 0px 5px 27px 0px rgba(0, 0, 0, 0.25), 0px 20px 30px 0px rgba(0, 0, 0, 0.32);
}

#cookie-window .hide {
  display: none;
}

#cookie-window h2 {
  padding: 0px;
  margin-top: 0px;
  padding-bottom: 10px;
  font-size: 20px;
}

#cookie-window p {
  font-size: 12px;
  line-height: 1.7;
}

#cookie-window a.back {
  display: block;
  text-decoration: none;
  font-size: 16px;
  margin-bottom: 15px;
}

#cookie-window .window_header {
  width: 100%;
  height: 55px;
  background-color: #263238;
}

#cookie-window .window_header .site-logo {
  padding-top: 13px;
  padding-left: 15px;
}

#cookie-window .window_body {
  padding: 20px 15px;
}

#cookie-window .window_body input {
  float: none;
  height: auto;
}

#cookie-window .window_body .form-check label {
  float: left;
  padding-top: 4px;
  padding-left: 35px;
  font-weight: bold;
}

#cookie-window .window_body .form-check p {
  padding-left: 35px;
  padding-top: 6px;
}

#cookie-window .link a {
  display: block;
  float: left;
  margin-top: 10px;
  color: #117b8f;
  font-size: 16px;
  text-decoration: none;
}

#cookie-window .content-wrapper {
  position: absolute;
  top: 55px;
  left: 0;
  right: 0;
  bottom: 90px;
  padding: 20px 15px;
  border-bottom: 1px solid #cccccc;
  overflow-y: scroll;
}

#cookie-window .button-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 130px;
  padding: 0px 15px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

#cookie-window .button-wrapper .button {
  margin: 23px 0 0 0;
}


#content-window.fade-out, #cookie-window.fade-out {
  opacity: 0;
  -webkit-animation: fade-out 0.3s 0s ease-in-out;
     -moz-animation: fade-out 0.3s 0s ease-in-out;
      -ms-animation: fade-out 0.3s 0s ease-in-out;
       -o-animation: fade-out 0.3s 0s ease-in-out;
          animation: fade-out 0.3s 0s ease-in-out;
}


#cc2 .button-wrapper {
  height: 90px;
}

#cc2 .button {
  float: left;
}

#cc2 .link a {
  margin-top: 32px;
  margin-left: 50px;
}


@media (min-width: 530px) {
  #cookie-window .button-wrapper {
    height: 90px;
  }

  #cookie-window .button {
    float: left;
  }

  #cookie-window .link a {
    margin-top: 32px;
    margin-left: 50px;
  }
}


@media (min-height: 500px) and (min-width: 450px) {
  #cookie-window p {
    font-size: 14px;
  }
}

@media (min-height: 500px) and (min-width: 750px) {
  #cookie-window .window_header {
    height: 70px;
  }

  #cookie-window .window_header .site-logo {
    padding-top: 20px;
    padding-left: 30px;
  }

  #cookie-window .window_body, #cookie-window .content-wrapper {
    padding: 20px 30px;
  }

  #cookie-window .content-wrapper {
    top: 70px;
  }

  #cookie-window h2 {
    padding-bottom: 20px;
    font-size: 34px;
  }

  #cookie-window .button-wrapper {
    padding: 0px 30px;
  }
}








a {
  text-decoration: underline;
}

a.anchor {
  position: absolute;
  margin-top: -180px;
}

.autor a {
  position: relative;
  padding-left: 25px;
  font-size: 13px;
}

.autor a svg {
  position: absolute;
  width: 16px;
  top: -3px;
  left: 0px;
}

.button, form button.formular {
  margin-top: 25px;
  margin-bottom: 35px;   
}

.button a, form button.formular {
  display: table-cell;
  position: relative;
  border: 0;
  padding: 4px;  
  padding-left: 30px;
  padding-right: 30px;        
  color: #ffffff;
  line-height: 1.5;
  font-size: 17px;
  font-weight: 600;
  text-align: center;  
  vertical-align: middle;
  -webkit-box-shadow: 0 2px 2px rgba(0,0,0,.3);
          box-shadow: 0 2px 2px rgba(0,0,0,.3);  
  -webkit-border-radius: 5px;
     -moz-border-radius: 5px;
          border-radius: 5px;
  -webkit-transition: padding ease-in-out 0.3s, background ease-in-out 0.3s;
       -o-transition: padding ease-in-out 0.3s, background ease-in-out 0.3s; 
          transition: padding ease-in-out 0.3s, background ease-in-out 0.3s;     
  -webkit-tap-highlight-color: transparent;     
}

.button {
  display: inline-block;
}

.button a {
  height: 35px;
  text-decoration: none;
}

form button.formular {
  display: block;
  min-height: 43px;
}

form button.center {     
  margin: 0px auto;            
}
  
.button span:after, form button.formular span:after {
  content: '\00bb';
  position: absolute;
  opacity: 0;
  margin-top: -6px;
  right: 25px;
  font-size: 24px;
  -webkit-transition: right ease-in-out 0.3s, opacity ease-in-out 0.3s;
       -o-transition: right ease-in-out 0.3s, opacity ease-in-out 0.3s;  
          transition: right ease-in-out 0.3s, opacity ease-in-out 0.3s; 
}

form button.formular span:after {
  right: 0px;
}

form button.formular span {
  display: inline-block;
  position: relative;
}

.button:hover a, form button.formular:hover {
  padding-left: 15px;
  padding-right: 45px;    
}

.button:hover span:after, form button.formular:hover span:after {
  opacity: 1;
  right: 15px;
}  

form button.formular:hover span:after {
  opacity: 1;
  right: -25px;
}  





.small {
  font-size: 13px;
}

.message {
  height: 22px;
  margin-bottom: 20px;
  color: #ff0000;
  font-size: 12px;
  opacity: 0;
  -webkit-transition: opacity ease-in-out 0.25s;
       -o-transition: opacity ease-in-out 0.25s;
          transition: opacity ease-in-out 0.25s;  
}

.message.show {
  opacity: 1; 
}
  

.description {
  color: #555555;
  font-size: 18px;
  font-weight: bold;
  line-height: 20pt;
}


td {
  font-size: 14px;
}


#breadcrumb, h1, h2, h2.subhead, h2, h3, h4, .column-left > p, aside > p, .form-area > p, .full-width > p, p.last-update, .separator, figcaption, ol, ul, .button, blockquote, .box, .form-box, .rating, .content-overview {
  margin-left: 15px;
  margin-right: 15px;
}

#content-window h1, #content-window h2, #content-window .button,
#cookie-window h1, #cookie-window h2, #cookie-window .button {
  margin-left: 0px;
  margin-right: 0px;
}

aside > figure > img {
  padding-left: 15px;
  padding-right: 15px;
}






/* ========== INTERACTIVE ========== */

#interactive {
  margin-top: 50px;
  margin-bottom: 100px;
  overflow: hidden;
}

#interactive:before {
  content: "Interaktiver Test";
  display: table;
  width: 150px;
  height: 28px;
  margin-top: -20px;
  margin-left: -20px;
  margin-bottom: 15px;
  background: #117b8f;
  border-radius: 0 0 20px 0;
  padding-top: 2px;
  padding-left: 20px;
  font-weight: bold;
  font-size: 14px;
  color: #ffffff;
}

#interactive_dialogue {
  position: absolute;
  padding-left: 20px;
  padding-right: 20px;
  z-index: 300;
}

#interactive_dialogue.display {
  position: relative;
}

#interactive ul {
  list-style-type: none;
}
    
#interactive #interactive_heading.fadeout {
  opacity: 0;
  -webkit-transition: opacity 0.6s;
     -moz-transition: opacity 0.6s;
      -ms-transition: opacity 0.6s;
       -o-transition: opacity 0.6s;
          transition: opacity 0.6s;
} 

#interactive #interactive_heading h1 {
  margin-top: 25px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.25em;
  white-space: normal;
}

#interactive h2 {
  margin: 0 0 20px;
  font-weight: normal;
  font-size: 24px;
  line-height: 1.25em;
  white-space: normal;
  padding-bottom: 0px;
  padding-top: 10px;
}

#interactive h2.headline {
  color: #117b8f;
  font-weight: bold;
}

#interactive .page_subheadline {
  font-weight: 300;
  font-size: 16px;
  line-height: 1.5em;
  white-space: normal;
  margin-bottom: 0px;
}

#interactive .message-text {
  min-height: 31px;
  font-size: 16px;
  color: #ff0000;
}

#interactive .message-text svg {
  position: relative;
  width: 24px;
  height: 24px;
  top: 6px;
  left: 0px;
  margin-right: 6px;
  fill: #ff0000;
}

#interactive h3 {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.25em;
  white-space: normal;
  padding-bottom: 0px;
  color: #333333;
}
#interactive .inner {
  position: relative;
  min-height: 400px;
  border: 1px solid #00000;
  -webkit-transition: min-height ease-in-out 0.6s;
       -o-transition: min-height ease-in-out 0.6s;
          transition: min-height ease-in-out 0.6s;
}

#interactive .results {
  opacity: 0;
}

#interactive .results .box-column-left a {
  display: block;
  margin-top: 25px;
}

#interactive .results .box-column-right {
  display: block;
  margin: 0px auto;
  max-width: 210px;
}

#interactive .fadein {
  opacity: 1;
  -webkit-transition: opacity 2s;
     -moz-transition: opacity 2s;
      -ms-transition: opacity 2s;
       -o-transition: opacity 2s;
          transition: opacity 2s;
}   

#interactive .page {
  opacity: 0;
  position: absolute;
  width: 100%;
  margin-left: 0px;
}              
#interactive .active {
  opacity: 1;
  position: relative;
  top: 0px;
}
#interactive .scroll-from-right {
  position: absolute;
  -webkit-animation: scrollFromRight 0.6s 0s linear;
     -moz-animation: scrollFromRight 0.6s 0s linear;
      -ms-animation: scrollFromRight 0.6s 0s linear;
       -o-animation: scrollFromRight 0.6s 0s linear;
          animation: scrollFromRight 0.6s 0s linear;
}
#interactive .scroll-from-left {
  position: absolute;
  -webkit-animation: scrollFromLeft 0.6s 0s linear;
     -moz-animation: scrollFromLeft 0.6s 0s linear;
      -ms-animation: scrollFromLeft 0.6s 0s linear;
       -o-animation: scrollFromLeft 0.6s 0s linear;
          animation: scrollFromLeft 0.6s 0s linear;
}
#interactive .scroll-to-left {
  position: absolute;
  -webkit-animation: scrollToLeft 0.6s 0s linear;
     -moz-animation: scrollToLeft 0.6s 0s linear;
      -ms-animation: scrollToLeft 0.6s 0s linear;
       -o-animation: scrollToLeft 0.6s 0s linear;
          animation: scrollToLeft 0.6s 0s linear;
}
#interactive .scroll-to-right {
  position: absolute;
  -webkit-animation: scrollToRight 0.6s 0s linear;
     -moz-animation: scrollToRight 0.6s 0s linear;
      -ms-animation: scrollToRight 0.6s 0s linear;
       -o-animation: scrollToRight 0.6s 0s linear;
          animation: scrollToRight 0.6s 0s linear;
}

@-webkit-keyframes scrollFromRight {
  0%   { opacity: 0; -webkit-transform: translateX(650px); }
  100% { opacity: 1; -webkit-transform: translateX(0px); }
}
@-moz-keyframes scrollFromRight {
  0%   { opacity: 0; -moz-transform: translateX(650px); }
  100% { opacity: 1; -moz-transform: translateX(0px); }
}
@-ms-keyframes scrollFromRight {
  0%   { opacity: 0; -ms-transform: translateX(650px); }
  100% { opacity: 1; -ms-transform: translateX(0px); }
}
@-o-keyframes scrollFromRight {
  0%   { opacity: 0; -o-transform: translateX(650px); }
  100% { opacity: 1; -o-transform: translateX(0px); }
}
@keyframes scrollFromRight {
  0%   { opacity: 0; transform: translateX(650px); }
  100% { opacity: 1; transform: translateX(0px); }
}


@-webkit-keyframes scrollFromLeft {
  0%   { opacity: 0; -webkit-transform: translateX(-650px); }
  100% { opacity: 1; -webkit-transform: translateX(0px); }
}
@-moz-keyframes scrollFromLeft {
  0%   { opacity: 0; -moz-transform: translateX(-650px); }
  100% { opacity: 1; -moz-transform: translateX(0px); }
}
@-ms-keyframes scrollFromLeft {
  0%   { opacity: 0; -ms-transform: translateX(-650px); }
  100% { opacity: 1; -ms-transform: translateX(0px); }
}
@-o-keyframes scrollFromLeft {
  0%   { opacity: 0; -o-transform: translateX(-650px); }
  100% { opacity: 1; -o-transform: translateX(0px); }
}
@keyframes scrollFromLeft {
  0%   { opacity: 0; transform: translateX(-650px); }
  100% { opacity: 1; transform: translateX(0px); }
}


@-webkit-keyframes scrollToLeft {
  0%   { opacity: 1; -webkit-transform: translateX(0px); }
  100% { opacity: 0; -webkit-transform: translateX(-650px); }
}
@-moz-keyframes scrollToLeft {
  0%   { opacity: 1; -moz-transform: translateX(0px); }
  100% { opacity: 0; -moz-transform: translateX(-650px); }
}
@-ms-keyframes scrollToLeft {
  0%   { opacity: 1; -ms-transform: translateX(0px); }
  100% { opacity: 0; -ms-transform: translateX(-650px); }
}
@-o-keyframes scrollToLeft {
  0%   { opacity: 1; -o-transform: translateX(0px); }
  100% { opacity: 0; -o-transform: translateX(-650px); }
}
@keyframes scrollToLeft {
  0%   { opacity: 1; transform: translateX(0px); }
  100% { opacity: 0; transform: translateX(-650px); }
}


@-webkit-keyframes scrollToRight {
  0%   { opacity: 1; -webkit-transform: translateX(0px); }
  100% { opacity: 0; -webkit-transform: translateX(650px); }
}
@-moz-keyframes scrollToRight {
  0%   { opacity: 1; -moz-transform: translateX(0px); }
  100% { opacity: 0; -moz-transform: translateX(650px); }
}
@-ms-keyframes scrollToRight {
  0%   { opacity: 1; -ms-transform: translateX(0px); }
  100% { opacity: 0; -ms-transform: translateX(650px); }
}
@-o-keyframes scrollToRight {
  0%   { opacity: 1; -o-transform: translateX(0px); }
  100% { opacity: 0; -o-transform: translateX(650px); }
}
@keyframes scrollToRight {
  0%   { opacity: 1; transform: translateX(0px); }
  100% { opacity: 0; transform: translateX(650px); }
}


#interactive .navigation {
  margin-left: 8px;
}
#interactive .navigation-sections {
  display: inline-table;
  width: 100%;
  height: 50px;
  padding-left: 7px;  
}
#interactive .navigation-section {
  display: table-cell;
  position: relative;
}
#interactive .navigation-line {
  width: 100%;
  height: 22px;
  border-bottom: 1px solid #117b8f;
}
#interactive .navigation-section a {
  display: none;
  width: 15px;
  height: 15px;
}
#interactive .navigation-section .navigation-icon.checked a {
  display: block;
}
#interactive .navigation-section .navigation-icon.selected a {
  display: none;
}
#interactive .navigation-section.right {
  display: table-cell;
  background: none;
  width: 15px;
}


#interactive .navigation-section label::before {
  display: block;
  content: '';  
  position: absolute;
  width: 50px;
  height: 50px;
  background-color: #f0f5f5;
  border: 1px solid #117b8f;  
  border-radius: 100%;
  height: 11px;
  width: 11px;
  top: 16px;
  left: -6px;
}

#interactive .navigation-section.checked label::before {
  background-color: #ffffff;
  border: 1px solid #117b8f;
  height: 17px;
  width: 17px;
  top: 14px;
  left: -8px;
  cursor: pointer;
}

#interactive .navigation-section.selected label::before {
  background-color: #117b8f;
  height: 17px;
  width: 17px;
  top: 14px;
  left: -8px;
  cursor: pointer;   
}

#interactive .navigation-icon {
  width: 15px;
  height: 15px;
}

#interactive form {
  margin: 0px;
}
#interactive .navigation-label {
  display: none;
  position: absolute;
  width: 150px;
  margin-top: -50px;
  margin-left: -75px;
  white-space: nowrap;
  text-align: center;
}


#interactive .pullright {
  padding-top: 1px;
  padding-right: 5px;
  padding-bottom: 6px;
}
#interactive input {
  float: left;
  height: 10px;
  margin-top: 6px;
  margin-bottom: 6px;  
  margin-left: 5px;
  margin-right: 7px;
  cursor: pointer;
}
#interactive input:checked {
  border: 1px solid #f86f1e;
  background-color: #f86f1e;
}
#interactive .checkbox, #interactive .radiobox, #interactive .yesnobox, #interactive .choicebox {
  display: block;
  position: relative;
  height: auto;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.5em;
  white-space: normal;
  background: rgba(255, 255, 255, 0.7);
  padding-top: 7px;
  padding-bottom: 7px;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 15px;
  -webkit-border-radius: 18px;
     -moz-border-radius: 18px;
          border-radius: 18px;
}
#interactive .checkbox {
  cursor: pointer;
  border: 1px solid #117b8f;
}
#interactive .checkbox:hover {
  background: rgba(255, 255, 255, 0.9) none repeat scroll 0% 0%;
}
#interactive .checkbox:hover .icon-check {
  color: #000000;
}
#interactive label.checkbox {
  display: block;
  padding-left: 20px;  
}

#interactive .form-check label::before {
  top: 2px;
}
#interactive .form-check label::after {
  top: 7px;
}

#interactive ul li .check {
  top: 2px; 
}


#interactive .form-radio, #interactive .yesnobox {
  margin-top: 12px;
  margin-bottom: 15px;
}

#interactive .form-radio .check {
  top: 9px;
  left: 13px;
}


#interactive #proceed {
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
  outline: none;
}
#interactive #proceed.hide {
  opacity: 0;
}

#interactive ul li input[type=radio] {
  position: relative;
}
#interactive .yesnobox .question {
  padding-top: 3px;
  padding-right: 20px;
  margin-bottom: 5px;
}
#interactive .choicebox {
  padding-top: 5px;
  padding-bottom: 0px;
  margin-bottom: 25px;
}
#interactive .choicebox .question {
  padding-top: 13px;
  padding-right: 20px;  
  margin-bottom: 5px;
}
#interactive .field {
  width: 100%;
  height: auto;
  margin-bottom: 0px;
  padding-left: 0px;
  padding-bottom: 0px;
}
#interactive select {
  opacity: 0.9;
  min-width: 150px;
  color: #333333;
  font-size: 16px;
  padding-top: 2px;
  padding-bottom: 2px;
}
#interactive .radio:hover {
  color: #f86f1e;
}
#interactive .radio:hover input {
  border: 1px solid #f86f1e;
}

#interactive .radiobox.checked i, #interactive .checkbox.checked i {
  top: 0px;
}
#interactive .done {
  display: none;
  opacity: 0;
  text-align: center;
}
#interactive .done img {
  margin-top: 60px;
  margin-left: -150px;
}
#interactive .done h2 {
  color: #bbbbbb;
}







/* PP */

#pp .column-full {
  padding-top: 30px;
  padding-left: 15px;
  padding-right: 15px;
}

#pp .column-full.center {
  max-width: 750px;
  margin: 0px auto;
  text-align: center;
}

#pp-intro {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

#pp-visual {
  margin-top: 100px;
  border: 0;
}

@media (min-width: 750px) {
  #pp-intro {
    float: left;
    padding-right: 60px;
  }
  #pp-visual {
    float: right;
    margin-top: 35px;
  }
  #pp-intro, #pp-visual {
    width: 50%;
  }

  #pp .column-full {
    padding-left: 40px;
    padding-right: 40px;
  }
}


#pp-visual img {
  width: 100%;
  margin-bottom: 5px;
  box-shadow: 8px 12px 12px 0 rgba(0,0,0,.14), 0 13px 11px -12px rgba(0,0,0,.2), 0 -3px 15px 0 rgba(0,0,0,.12);
  -webkit-border-radius: 0;
     -moz-border-radius: 0;
          border-radius: 0;
}

#pp-visual figcaption {
  margin-left: 0px;
}


#pp .button {
  margin-bottom: 10px;
}


#pp-info {
  position: relative;
  margin: 90px 0 20px;
}

#pp-infoline {
  position: relative;
  width: 68%;
  height: 50px;
  margin: 0px auto;
  padding: 10px 25px 10px 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;   
}

#pp-infoline .pp-infopoint {
  position: relative;
  float: left;
  width: 50%;
}

#pp-infoline .pp-infopoint.right {
  position: relative;
  float: left;
  width: 0%;
}


#pp-infoline .pp-line {
  height: 22px;
  border-bottom: 2px solid #117b8f;
}

#pp-infoline .pp-svg {
  background-color: #ffffff;
  height: 40px;
  width: 40px;
  top: 0px;
  left: -8px;
  display: block;  content: '';
  position: absolute;
  border: 2px solid #117b8f;
  border-radius: 100%;
}

#pp-infoline svg {
  width: 26px;
  height: 26px;
  margin-top: 7px;
  margin-left: 7px;
  fill: #117b8f;
}

#pp-infoline .pp-infopoint.right svg  {
  margin-left: 5px;
}

#pp-info .pp-infosection {
  padding: 0 10px;
  text-align: center;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;    
}

#pp-info .pp-infosection h3 {
  padding: 20px 0 15px;
  font-size: 28px;
  line-height: 1.3em; 
  color: #117b8f;
}

#pp-info .pp-infosection p {
  margin-bottom: 5px;
}

@media (min-width: 750px) {
  #pp-info .pp-infosection {
    float: left;
    width: 33.333%;
  }
}


#pp h1, #pp h2, #pp h2.subhead, #pp .button {
  margin-left: 0px;
  margin-right: 0px;
}

#pp h1, #pp h2 {
  margin-top: 0px;
}

#pp img.visual {
  width: 100%;
  max-width: 315px;
  max-height: 154;
  border: 0;
  margin: 75px auto 0px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);  
}

#pp img.visual + h2 {
  padding-top: 20px;
}

#pp .info svg {
  display: inline-block;
  position: absolute;
  margin-top: 5px;
  margin-left: -30px;
  width: 18px;
  height: 18px;
  fill: #117b8f;
}

@media (min-width: 900px) {
  #pp .info svg {
    margin-top: 9px;
  }
}

#pp .leadout {
 font-size: 15px;
 font-weight: bold;
}










/* Responsive Layout */


@media (min-width: 550px) {
  #interactive .question {
    width: 70%;
    float: left;
  }
  #interactive .pullright {
    text-align: right;
  }
}


@media (min-width: 500px) {
  .form-box table th {
    font-size: 20px;
  }

  .form-box table td {
    padding-top: 6px;
  }

  .form-box table td.price {
    font-size: 20px;
  }

  #captcha-image {
    right: 20px;
  }
}


@media (min-width: 600px) {
  #anrede, #produktversion {
    width: 50%;
  }

  img.link {
    float: right;
    margin-top: 10px;
    margin-bottom: 80px;
    margin-left: 30px;
    margin-right: 10px;
  }

  .form-control.half, .form-control.third, .form-control.two-thirds {
    display: inline-block;
    float: left;
    width: 45%;
  }
  
  .form-control.half {
    width: 45%;
  }
  
  .form-control.third {
    width: 30%;
  }
  
  .form-control.two-thirds {
    width: 60%;
  }
  
  .form-control.right {
    float: right;
  }

  .box.action .box-left {
    float: left;
    width: 210px;
    margin: 0;
  }
  
  .box.action .box-right {
    margin: 0;
  }   
}


@media (min-width: 700px) {
  .confirmation-box .payment-type {
    float: left;
    width: 33%;
    min-width: 220px;
  }
  
  .confirmation-box .payment-instruction {
    float: left;
    width: 67%;
  }     
}


@media (min-width: 900px) {
  .header {
    position: relative;
    height: 140px;
  }

  .site-logo {
    padding-left: 38px;
  }

  .site-logo span {
    font-size: 26px;
  }

  .site-logo .tld {
    font-size: 16px;
  }

  #mobile-hamburger-icon {
    display: none;
    float: right;
    cursor: pointer;
  }

  nav {
    display: block;
    position: absolute;
    top: 77px;
    width: 100%;
    height: auto;
    right: auto;
    background-color: transparent;
    box-shadow: none;
    overflow-x: visible;
    overflow-y: visible;
    z-index: 5000;
    -webkit-user-select: none;
       -moz-user-select: -moz-none;
        -ms-user-select: none;
            user-select: none;
  }
       
  nav > ul {
    width: auto;
    height: auto;
    top: auto;
    padding-top: 0px;
    padding-left: 20px;
    padding-right: 20px;    
  }

  nav > ul > li {
    float: left;
    width: auto;
    border-bottom: 3px solid transparent;    
  }

  nav > ul > li.active {
    border-bottom: 3px solid #18FFFF;
  }

  nav > ul > li a {
    border-bottom: none;
  }

  nav > ul > li a svg {
    display: inline-block;
  }

  #header_artikel svg {
    margin-right: -8px;
  }

  #header_gratis_report svg {
    margin-right: 8px;
  }

  nav > ul > li > a:hover {
    color: #ffffff;
    background-color: transparent;
  }

  nav > ul > li a:hover svg {
    fill: #ffffff;
  }

  nav > ul > li.active > a {
    color: #ffffff;
  }

  nav > ul > li.active > a svg {
    fill: #ffffff;
  }

  .megamenu span {
    display: none;
  }

  .megamenu div {
    display: none;
    position: absolute;
    max-height: none;
    margin-top: 2px;
    padding-top: 15px;
    padding-bottom: 5px;    
    border: 1px solid rgba(0,0,0,.15);
    background: #ffffff;  
    /*box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.175);*/
    /*background-clip: padding-box;*/
    overflow: visible;
  }

  .megamenu div.visible {
    display: block;
    max-width: 1030px;
  }
  
  .megamenu div > ul {
    float: left;
    width: 33.33333%;
  }  
  
  nav li.megamenu div ul > li > ul a {
    border-top: 1px solid #f5f5f5; 
  }  

  main {
    margin-top: 0px;
  }

  main ol {
    padding-left: 23px;
  }

  main ol, main ul, #content-window ul, #cookie-window ul {
    margin-left: 0px; 
  }

  main ul li::before, #content-window ul li::before, #cookie-window ul li::before {
    font-size: 22px;
    margin-left: -30px;
    margin-top: -4px;
  }

  h1 {
    padding-bottom: 20px;  
    font-size: 43px;
  }

  h2 {
    margin: 0px;    
    padding-top: 50px;
    font-size: 28px;
  }

  h2.subhead {
    padding-bottom: 15px;
  }
  
  h3 {
    font-size: 24px;
  }

  p {
    font-size: 20px;
    line-height: 1.7;
  }
  
  #breadcrumb a {
    font-size: 13px;
    padding-right: 5px;
  }

  #breadcrumb span > span {
    padding-right: 5px;
  }
  
  figure {
    margin-top: 40px;
    margin-bottom: 10px;
  }

  figure > img {
    margin-bottom: 10px;
    -webkit-border-radius: 25px;
       -moz-border-radius: 25px;
            border-radius: 25px;
  }

  figure figcaption {
    font-size: 14px;
  }
  
  table td {
    font-size: 17px;
  }

  main li, #content-window li, #cookie-window li {
    font-size: 20px;
    padding-left: 30px;
  }
  
  .button a, form button.formular {
    font-size: 18px;
  }

  body.fixed {
    background-color: #fafafa; 
    overflow: visible;
  }
  
  body.fixed #overlay {
    display: none;
  } 
  
  body.fixed.desktop #overlay {
    display: block;
  }    

  .column-left {
    float: left;
    padding-top: 30px;    
    padding-left: 40px;
    padding-right: 30px;
    width: 66.66666%;
  }

  .full-width {
    padding: 0 40px;
  }

  .full-width blockquote, .full-width .box {
    margin: 50px auto;
  }

  aside {    
    float: right;
    padding-left: 20px;
    padding-right: 30px;
    width: 33.33333%;
  }

  aside figure {
    margin-top: 100px;
  }

  aside + .column-left .form-box {
    margin-top: 0px;
  }

  aside.top {
    margin-top: 140px;
    margin-bottom: 100px;
  }

  aside.bottom {
    margin-top: 100px;
  }

  .content-overview {
    margin-top: 80px;
  }
  
  #breadcrumb, h1, h2, h2.subhead, h2, h3, h4, .column-left > p, aside > p, .form-area > p, .full-width > p, p.last-update, .separator, figcaption, ol, ul, .button, blockquote, .box, .form-box, .rating, .content-overview {
    margin-left: 0px;
    margin-right: 0px;
  }

  aside > figure > img {
    padding-left: 0px;
    padding-right: 0px;
  }

  #cookie-consent {
    padding: 8px 15px 8px 40px;
    font-size: 14px;
  }

  #cookie-consent div {
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 14px;
  }

  /*#cookie-consent + footer {
    padding-bottom: 80px;
  }*/
}


@media (min-width: 1070px) {
  .form-box svg {
    float: right;
    margin: 0;
    margin-top: -37px;
  }

  #interactive .results .box-column-left {
    float: left;
    max-width: 390px;
  }

  #interactive .results .box-column-right {
    float: right;
  }
}

@media (min-width: 1200px) {
  .centered-block.rounded-corners {
    -webkit-border-radius: 25px;
       -moz-border-radius: 25px;
            border-radius: 25px;
  } 
}





/* ZP-specific Styles */

#keyvisual {
  position: relative;
  width: 100%;
  max-height: 355px;
  height: 355px;
  padding-top: 5px;
  padding-left: 15px;
  background-color: #000000;
  background: url(images/expartner-zurueck-system-sunset.jpg) no-repeat top left;
  background-size: auto auto;
  box-shadow: 0 2px 2px rgba(0,0,0,.3);
  -webkit-background-size: cover !important;
     -moz-background-size: cover !important;
       -o-background-size: cover !important;
          background-size: cover !important;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

#keyvisual h1 {
  color: #ffffff;
  font-size: 32px;
  font-weight: bold;
  margin: 10px 0 0;
}

#keyvisual p {
  color: #ffffff;
  font-size: 16px;
  margin-bottom: 40px;
  font-weight: bold;
  max-width: 500px;
}

#keyvisual p.nomargin {
  margin-bottom: 0px;
}

#keyvisual ul {
  max-width: 500px;
  margin-left: 0px;
}

#keyvisual ul li {
  color: #ffffff;
  font-size: 16px;
}

#keyvisual ul li::before {
  color: #ffffff;
}

#keyvisual .button {
  margin-left: 0px;
}

main .centered-block.keyvisual {
  height: auto;
  padding: 0;
}


.responsive-video {
  position: relative;
  margin-top: 40px;
  margin-bottom: 30px;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}

.responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.header {
  background-color: #29303a;
}


.site-logo {
  padding-top: 13px;
}

.site-logo svg {
  float: left;
  width: 30px;
  height: 26px;
  padding-top: 3px;
  margin-right: 10px;
}

.site-logo img {
  float: left;
  margin-right: 10px;
  margin-top: 2px;
}

.site-logo span {
  color: #ffffff;
  font-size: 22px;
}

.site-logo .tld {
  color: #f7d611;
}

nav > ul > li a svg {
  fill: #b3b7b7;
}


.megamenu div > ul {
  width: 50%;
}


nav li.megamenu div a {
  color: #117b8f;
}

#breadcrumb a {
  color: #117b8f;
}

.content-overview {
  border-left: 3px solid #117b8f;
}

.content-overview a {
  color: #117b8f;
}

.content-overview.side-information svg, .content-overview.payment-information svg {
  fill: #117b8f;
}

h2 + img.right {
  margin-top: 20px;
}

img.right {
  display: block;
  max-width: 400px;
  margin: 0px auto;
  margin-top: 80px;
}

img.right + h2 {
  padding-top: 0px;
}

img.border {
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
}

img.right.border {
  width: 100%;
}

a {
  color: #21b5e5;
}

.red {
  color: #dd0000;
}

.autor a svg {
  fill: #21b5e5;
}

.unterschrift {
  position: relative;
  margin-left: 15px;
  margin-right: 15px;
}

.unterschrift img {
  position: absolute;
  width: 200px;
  top: 40px;
}

.unterschrift p {
  margin: 50px 0 0;
}

.box.testimonial {
  background-color: #f9f9f9;
}

.round-button a {
  background-color: #117b8f;
}

.round-button a:hover {
  background-color: #218b9f;
}

.button a, form button {
  background-color: #117b8f;
}

.button a:hover, form button:hover {
  background-color: #218b9f;
}

main li::before, #content_window li::before {
  color: #117b8f;
}

aside figure figcaption {
  margin-top: -100px;
}

figure.report {
  max-width: 330px;
}

.report {
  margin-top: 100px;
}

.report img {
  width: 100%;
  max-width: 320px;
}

.report div {
  top: -80px;
  left: 10px;
  right: 5px;
}

.box.suggestion {
  background-color: #117b8f;
}

.box.action {
  border: 3px solid #117b8f;
  background-color: #f0f5f5;
}

.box.action .box-left {
  width: 270px;
}

.box.action .box-title {
  color: #117b8f;
  font-size: 30px;
  line-height: 1.5;
}

.box.action img {
  width: 100%;
  max-width: 270px;
}

.form-box {
  border: 3px solid #117b8f;
  background-color: #f0f5f5;
}

.form-box .box-title {
  color: #117b8f;
}

.form-box a {
  color: #117b8f;
}

form input[type=radio]:checked ~ .check {
  border: 3px solid #117b8f;
}

form input[type=radio]:checked ~ .check::before {
  background: #117b8f;
}

form input[type=radio]:checked ~ label {
  color: #117b8f;
}

form .form-control label {
  color: #117b8f;
}

input[type="text"]:focus, input[type="email"]:focus, form textarea:focus {
  border-bottom: 2px solid #117b8f;
}

.form-check input[type="checkbox"]:checked + label:before{
  background: #117b8f;
}



@media (min-width: 400px) {
  .report div {
    top: -79px;
    left: -30px;
  }
}


@media (min-width: 600px) {
  .box.action .box-left {
    margin-left: -40px;
  }
}


@media (min-width: 720px) {
  img.border {
    border: 1px solid #000000;
  }
}


@media (min-width: 900px) {
  .site-logo {
    padding-top: 20px;
  }

  .site-logo svg {
    width: 32px;
    height: 27px; 
  }

  nav > ul > li a {
    color: #b3b7b7;
  }

  nav #header_kontakt, nav #header_feedback {
    display: none;
  } 

  .megamenu div.visible {
    max-width: 700px;
  }

  .megamenu div {
    margin-left: -250px;
  }

  #keyvisual {
    padding-left: 40px;
  }

  img.right {
    float: right;
    margin-top: 55px !important;
    margin-bottom: 50px;
    margin-left: 30px;
    margin-right: 10px;
  }

  img.right + h2 {
    padding-top: 40px;
  }

  .unterschrift {
    margin: 0px;
  }
}


@media (min-width: 1040px) {
  nav #header_feedback {
    display: block;
  }   
}
 
 
@media (min-width: 1130px) {
  nav #header_kontakt {
    display: block;
  }    
}


@media (min-width: 1200px) {
  #keyvisual {
    -webkit-border-radius: 25px;
       -moz-border-radius: 25px;
            border-radius: 25px;
  }  

  main .centered-block.keyvisual {
    margin-top: 40px;
  }
}


@media (min-width: 1500px) {
  .megamenu div {
    margin-left: 0px;
  }
}