/* ### Text ### */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic,600,600italic);
.fontred {
  color: #e60000 !important; }
  
/* TEST TWT-4 */  

input[type="text"], input[type="textarea"] {
  font-size: 16px; }

body, input, select, button, textarea, a {
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
  font-size-adjust: none;
  color: #191919; }

strong {
  font-weight: 700; }

p.copy {
  font-size: 15px;
  line-height: 20px; }

.headline-1 {
  font-size: 34px;
  line-height: 38px; }

.headline-2 {
  font-size: 28px;
  line-height: 34px;
  font-weight: 600; }
  .headline-2.padbot {
    padding-bottom: 24px; }
  .headline-2.thin {
    font-weight: 400; }
    .headline-2.thin strong {
      font-weight: 600; }
  .headline-2.sub {
    padding-bottom: 0; }

.headline-3 {
  font-size: 24px;
  line-height: 30px; }

.headline-4 {
  font-size: 20px;
  line-height: 24px;
  font-weight: 600; }

.fa-chevron-down:before {
  content: "\f078"; }

p.copy {
  font-size: 15px;
  line-height: 20px; }

body #wrapper #main .font-12 {
  font-size: 12px;
  line-height: 15px; }

body #wrapper #main .font-13 {
  font-size: 13px;
  line-height: 20px; }

body #wrapper #main .font-14 {
  font-size: 14px;
  line-height: 17px; }

body #wrapper #main .font-15 {
  font-size: 15px;
  line-height: 20px; }

body #wrapper #main .font-16 {
  font-size: 15px;
  line-height: 24px; }

body #wrapper #main .font-18 {
  font-size: 18px;
  line-height: 22px; }

body #wrapper #main .font-20 {
  font-size: 20px;
  line-height: 26px; }

body #wrapper #main .font-26 {
  font-size: 25px;
  line-height: 30px; }

body #wrapper #main .font-28 {
  font-size: 28px;
  line-height: 34px;
  font-weight: 600; }

.button {
  text-align: center;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  -ms-border-radius: 25px;
  -o-border-radius: 25px;
  border-radius: 25px;
  font-size: 18px;
  line-height: 22px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  display: inline-block;
  vertical-align: top;
  padding: 14px 20px;
  outline: none; }
  .button.cta {
    background-color: #fff;
    color: #e60000;
    border: 1px solid #e60000; }
    .button.cta:hover {
      background-color: #e60000;
      border-color: #e60000;
      color: #fff !important; }
  .button.wide {
    padding: 14px 60px; }
  .button.simple {
    border: 1px solid #ccc;
    font-size: 15px;
    line-height: 24px;
    font-weight: 400;
    color: #000;
    background: #fff; }
  .button.next:after {
    content: " ";
    width: 8px;
    height: 8px;
    border: solid #000;
    border-width: 1px 1px 0 0;
    transform: rotate(45deg);
    display: inline-block;
    margin-left: 34px;
    vertical-align: 2px; }
  .button.low {
    padding: 9px 20px; }

/**** ICONS ****/
.arrowlist .svg {
  width: 18px; }
  .arrowlist .svg path {
    fill: #abc111; }

.content_infobox .svg {
  width: 13px; }
  .content_infobox .svg path {
    fill: #abc111; }

.bulb .svg {
  width: 21px; }
  .bulb .svg path {
    fill: #fff; }

.playbutton .svg {
  width: 70px; }
  .playbutton .svg path {
    fill: #fff; }

.accordion h3 .svg {
  width: 13px; }
  .accordion h3 .svg path {
    fill: #e60000; }

.pulldown-main .svg {
  width: 16px; }
  .pulldown-main .svg path {
    fill: #fff; }

.modul_credit_overview .svg {
  width: 12px; }
  .modul_credit_overview .svg path {
    fill: #fff; }

.tooltipp .svg, .tooltipp-html .svg {
  width: 16px;
  height: 26px;
  cursor: pointer; }
  .tooltipp .svg path, .tooltipp-html .svg path {
    fill: #abc111;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out; }
  .tooltipp .svg:hover path, .tooltipp-html .svg:hover path {
    fill: #e60000; }

.pulldown .svg {
  width: 12px; }
  .pulldown .svg path {
    fill: #e60000; }

.pulldown.active .svg {
  transform: rotate(180deg); }

.modul_credit_steps li.check .svg {
  width: 13px; }
  .modul_credit_steps li.check .svg path {
    fill: #abc111; }

a.phone .svg {
  width: 15px; }
  a.phone .svg path {
    fill: #000; }

.secure .svg {
  width: 13px; }
  .secure .svg path {
    fill: #fff; }

.icon_newsletter {
  position: relative;
  padding-left: 80px; }
  .icon_newsletter:before {
    content: url(../img/icon_newsletter.png);
    position: absolute;
    left: 0;
    top: 0; }

/***** LISTEN ****/
.arrowlist li {
  font-size: 18px;
  line-height: 22px;
  font-weight: 600; }

.numberlist li {
  font-size: 15px;
  line-height: 20px;
  font-weight: 400; }
  .numberlist li i {
    background-color: #abc111;
    color: #fff; }
  .numberlist li.check {
    color: #abc111; }
    .numberlist li.check a {
      color: #abc111; }

/***** HEADER ****/
.metaheader {
  background-color: #fff; }
  @media all and (max-width: 640px) {
    .metaheader {
      border-bottom: 1px solid #dedede; } }

/***** FOOTER ****/
footer {
  background-color: #f0f0f0; }
  footer li:before {
    color: #ddd; }
  footer li:first-child:before {
    content: ""; }
  footer a {
    font-size: 12px;
    line-height: 15px;
    font-weight: 700;
    color: #e60000; }

/***** Global ****/
#main .content-wrapper a:hover {
  color: #e60000; }

/***** FORMELEMENTE ****/
input[type=radio] + label:before,
input[type=checkbox] + label:before {
  border: 1px solid #cdcdcd; }

input[type=radio]:checked + label:after {
  content: url("../img/check.png"); }

input[type=checkbox]:checked + label:after {
  border: solid #e60000;
  border-width: 0 3px 3px 0; }

input[type=checkbox]:focus + label {
  color: #494949; }
  input[type=checkbox]:focus + label:before {
    border-color: #666; }

input[type=radio]:focus + label:before {
  border-color: #abc111; }

input[type=radio].error + label:before,
input[type=checkbox].error + label:before {
  border-color: #e60000; }

.formrow label {
  font-size: 15px;
  line-height: 24px;
  font-weight: 700; }

.formrow .formelement {
  font-size: 15px;
  line-height: 20px; }

.formrow .pulldown select, .formrow input.textfield, .formrow select {
  font-size: 15px;
  line-height: 20px;
  border: 1px solid #ccc;
  background-color: #fff;
  line-height: 38px; }
  .formrow .pulldown select.error, .formrow input.textfield.error, .formrow select.error {
    border-color: #e60000; }
  .formrow .pulldown select.check, .formrow input.textfield.check, .formrow select.check {
    border-color: #abc111; }
  .formrow .pulldown select:focus, .formrow input.textfield:focus, .formrow select:focus {
    border-color: #000; }

.formrow .error .pulldown, .formrow .error input.textfield, .formrow .error select {
  border-color: #e60000; }

.formrow .check .pulldown, .formrow .check input.textfield, .formrow .check select {
  border-color: #abc111; }

.formrow select {
  border: 1px solid #ccc;
  background: url(../img/pulldown_arrow_std.png) right center no-repeat #fff;
  padding: 0 8px;
  cursor: pointer; }
  .formrow select option {
    padding: 5px; }
  @media all and (max-width: 1023px) {
    .formrow select {
      background-image: url(../img/pulldown_arrow_std_mobile.png); } }

.formrow .pulldown {
  background: url(../img/pulldown_arrow.png) right 15px no-repeat #fff; }

.form_subheadline {
  font-size: 20px;
  line-height: 26px;
  font-weight: 700; }

.mfp-inline-holder .antrag_formblock button.mfp-close {
  background-color: #dedede;
  font-size: 25px;
  line-height: 30px;
  color: #e60000; }

/***** Modul Antrag Absicherung ****/
.formblock_absicherung .safety {
  border: 1px solid #ccc; }
  .formblock_absicherung .safety label {
    font-size: 15px;
    line-height: 20px; }

.antrag_formblock .subline {
  font-size: 15px;
  line-height: 20px; }
  .antrag_formblock .subline a {
    color: #e60000;
    text-decoration: none;
    font-weight: 700; }

/* Donatdiagramm */
.radial-progress {
  background-color: #f0f0f0; }

.full .radial-progress .circle .mask .fill {
  background-color: #abc111; }

.standard .radial-progress .circle .mask .fill {
  background-color: #abc111; }

.standard .radial-progress {
  background-color: #f0f0f0; }

.minimum .radial-progress .circle .mask .fill {
  background-color: #abc111; }

.minimum .radial-progress {
  background-color: #f0f0f0; }

.none .radial-progress .circle .mask .fill {
  background: none; }

.radial-progress .inset {
  background-color: #fff; }

/***** Modul Calculator ****/
slider span.bar.unselected, [slider] span.bar.unselected {
  background: #a00; }

slider span.bar.selection, [slider] span.bar.selection {
  background: #0a0; }

.kreditrechner .kreditrechner_inner ul li.monatliche_rate #rate_abweichung {
  display: block; }

.rechner-holder .rechner {
  background-color: #f0f0f0;
  border: 1px solid #dedede; }
  .rechner-holder .rechner .rechner-top {
    background-color: #fff; }

@media all and (max-width: 640px) {
  .rechner-holder .rechner {
    border-width: 1px 0; } }

.teaser-calculator .calculator-col {
  background-color: #fff;
  border-top: 1px solid #dedede; }
  .teaser-calculator .calculator-col:first-child {
    border: none; }
  .teaser-calculator .calculator-col .col-headline {
    font-size: 15px;
    line-height: 20px;
    font-weight: 600; }
  .teaser-calculator .calculator-col .t-field {
    font-size: 25px;
    line-height: 30px;
    font-weight: 700; }
  .teaser-calculator .calculator-col .slider {
    background-color: #a7a7a7; }
  .teaser-calculator .calculator-col .ui-slider-range {
    background-color: #a7a7a7; }
  .teaser-calculator .calculator-col .dragger_outer {
    background-color: #ccc; }
  .teaser-calculator .calculator-col .pointer {
    background-color: #e60000; }
    .teaser-calculator .calculator-col .pointer:before {
      background-color: #fff; }
  .teaser-calculator .calculator-col .input-row input {
    font-size: 25px;
    line-height: 30px;
    border: 1px solid #dedede; }
    .teaser-calculator .calculator-col .input-row input.emptyborder {
      border: 2px solid #e60000; }
  .teaser-calculator .calculator-col .input-row p {
    font-size: 15px;
    line-height: 24px;
    font-weight: 700; }
  .teaser-calculator .calculator-col.calculator-col-result {
    background-color: #f0f0f0; }
    .teaser-calculator .calculator-col.calculator-col-result .col-headline {
      font-size: 15px;
      line-height: 20px;
      font-weight: 600;
      line-height: 20px; }

.rechner-strecke .teaser-calculator {
  border: none; }
  .rechner-strecke .teaser-calculator .calculator-col.calculator-col-result {
    background-color: #fff; }
    .rechner-strecke .teaser-calculator .calculator-col.calculator-col-result a.modal {
      color: #191919; }

/***** Modul Content Infobox ****/
.content_infobox .infobox {
  border: 1px solid #ccc; }

.content_infobox.antrag_modul {
  font-size: 15px;
  line-height: 20px; }

/***** Modul Content Table ****/
.content_table table {
  border-bottom: 2px solid #f0f0f0; }
  .content_table table th {
    font-size: 20px;
    line-height: 24px;
    font-weight: 600; }
  .content_table table td {
    font-size: 15px;
    line-height: 20px; }
  .content_table table tbody tr:nth-child(odd) td {
    background-color: #f0f0f0; }

.content_table .subline {
  font-size: 15px;
  line-height: 20px; }

/***** Modul Content Text ****/
.content_text.antrag_modul {
  font-size: 15px;
  line-height: 20px; }

/***** Modul Credit Overview ****/
.modul_credit_overview ul li {
  font-size: 25px;
  line-height: 30px;
  font-weight: 700; }
  .modul_credit_overview ul li .inner {
    background-color: #f0f0f0;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px; }
  .modul_credit_overview ul li small {
    font-size: 15px;
    line-height: 24px; }
  .modul_credit_overview ul li label {
    font-size: 15px;
    line-height: 24px;
    font-weight: 600; }

.modul_credit_overview .toggle-element .col {
  font-size: 15px;
  line-height: 24px; }

.modul_credit_overview .toggle-element label {
  font-size: 15px;
  line-height: 24px;
  font-weight: 600; }

.antrag_modul {
  border-bottom: 2px solid #ddd; }

/***** Modul Credit Steps ****/
.modul_credit_steps li.separator {
  background: url(../img/credit_steps_arrow.png) left center no-repeat; }

.modul_credit_steps li span {
  font-size: 15px;
  line-height: 20px;
  font-weight: 700;
  border: 2px solid #ccc;
  color: #ccc;
  line-height: 36px; }

.modul_credit_steps li label {
  font-size: 14px;
  line-height: 17px;
  color: #ccc;
  padding-right: 5px;
  position: relative; }

.modul_credit_steps li:last-child label:after {
  content: "";
  margin-left: 0; }

.modul_credit_steps li.active span, .modul_credit_steps li.active label {
  color: #e60000;
  border-color: #e60000; }

.modul_credit_steps li.check em {
  display: none; }

.modul_credit_steps li.check .svg {
  display: inline-block;
  width: 13px;
  height: 11px; }

@media all and (max-width: 1200px) {
  .modul_credit_steps li label {
    padding-right: 20px; } }

@media all and (max-width: 1023px) {
  .modul_credit_steps li label {
    padding-right: 5px; } }

@media all and (min-width: 1201px) {
  .modul_credit_steps li label {
    padding-right: 30px; } }

@media all and (max-width: 480px) {
  .modul_credit_steps li {
    width: 16%; }
    .modul_credit_steps li.separator {
      width: 14px; } }

/***** FAQ ****/
.modul_faq {
  background-color: #ddd; }
  .modul_faq .headline-2 {
    color: #000; }
  .modul_faq .accordion .item {
    background-color: #f0f0f0; }
    .modul_faq .accordion .item h3 {
      font-size: 14px;
      line-height: 17px;
      font-weight: 600; }
    .modul_faq .accordion .item .content {
      font-size: 15px;
      line-height: 20px; }
      .modul_faq .accordion .item .content i {
        background-color: #e6e6e6; }
    .modul_faq .accordion .item.active {
      background-color: #fff; }
  .modul_faq .subline {
    color: #000;
    font-size: 14px;
    line-height: 17px; }
    .modul_faq .subline a {
      color: #000; }

.subline_small {
  font-size: 12px;
  line-height: 15px; }

/***** Mainnav ****/
nav {
  background: rgba(51, 51, 51, 0.8); }
  @media all and (max-width: 640px) {
    nav.main {
      background: #fff; } }
  nav .pulldown-main {
    line-height: 50px; }
  nav .mainnav li a {
    font-size: 14px;
    line-height: 17px;
    font-weight: 700;
    text-decoration: none;
    color: #fff; }
    nav .mainnav li a:hover {
      background-color: #f0f0f0;
      color: #191919; }
  nav .mainnav li.active a {
    background-color: #f0f0f0;
    color: #191919; }
  nav .navholder.form a.phone {
    font-size: 14px;
    line-height: 17px;
    font-weight: 700;
    color: #000;
    background-color: #f0f0f0; }
  nav .navholder.form span.secure {
    font-size: 14px;
    line-height: 17px;
    font-weight: 700;
    color: #fff; }
  @media all and (max-width: 640px) {
    nav .pulldown-main {
      font-size: 18px;
      line-height: 22px;
      font-weight: 700;
      color: #fff;
      background-color: #e60000;
      line-height: 50px; }
    nav.main .mainnav {
      background-color: #e60000; }
      nav.main .mainnav li a {
        color: #fff; }
        nav.main .mainnav li a:hover {
          background: none;
          color: #fff; }
    nav.form .mainnav li .secure {
      font-size: 12px;
      line-height: 15px; } }

/***** Teaser Maininfo ****/
.teaser_maininfo .back .left {
  background-color: #fff; }

.teaser_maininfo .back .right {
  background-color: #f0f0f0; }

.teaser_maininfo .col .bulb {
  background-color: #abc111; }

@media all and (max-width: 768px) {
  .teaser_maininfo .col.right {
    background-color: #f0f0f0; } }

/***** Modul Video ****/
.modul_video .inner .headline-2 {
  color: #fff; }

.modul_video.antrag_modul {
  font-size: 15px;
  line-height: 20px; }

/***** Modul Visual Stage ****/
.visual-stage .stage-inner .fade {
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.7) 30%, rgba(255, 255, 255, 0) 80%);
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.7) 30%, rgba(255, 255, 255, 0) 80%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.7) 30%, rgba(255, 255, 255, 0) 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ccffffff', endColorstr='#00ffffff', GradientType=1); }

.visual-stage .stage-inner.visualleft .fade {
  background: -moz-linear-gradient(right, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.7) 80%);
  background: -webkit-linear-gradient(right, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.7) 80%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.7) 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ccffffff', GradientType=1); }

.visual-stage .stage-inner .stoerer .inner {
  font-size: 25px;
  line-height: 30px;
  font-weight: 600; }

.visual-stage .stage-inner .stoerer .cramp {
  border: solid #e60000; }

.visual-stage .stage-inner .stoerer .subline strong {
  color: #e60000;
  font-size: 40px;
  line-height: 45px;
  font-weight: 700; }
  .visual-stage .stage-inner .stoerer .subline strong em {
    font-size: 25px;
    line-height: 30px;
    font-weight: 600; }
  .visual-stage .stage-inner .stoerer .subline strong span {
    font-size: 20px;
    line-height: 26px;
    font-weight: 600;
    line-height: 18px; }

.visual-stage .stage-inner .stoerer .subline span.info {
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
  color: #e60000; }

.modul_teaser_video.teaser_2col .embed-container + .embed-container {
  margin-top: 40px; }

@media all and (min-width: 1201px) {
  .modul_teaser_video.teaser_2col {
    margin: auto; }
    .modul_teaser_video.teaser_2col .content-wrapper {
      max-width: 1544px;
      padding: 40px 40px;
      box-sizing: border-box; }
      .modul_teaser_video.teaser_2col .content-wrapper .embed-container {
        margin: 0 20px;
        max-height: 400px;
        width: calc(50% - 20px);
        padding-bottom: 400px; }
        .modul_teaser_video.teaser_2col .content-wrapper .embed-container:first-child {
          margin-left: 0;
          float: left; }
        .modul_teaser_video.teaser_2col .content-wrapper .embed-container:last-child {
          float: right;
          margin-right: 0; }
      .modul_teaser_video.teaser_2col .content-wrapper:after {
        content: '';
        display: block;
        clear: both; }
      .modul_teaser_video.teaser_2col .content-wrapper iframe {
        margin: auto;
        display: inline-block;
        max-height: 400px; } }

/***** Tooltipp ****/
.tooltipster-default {
  background-color: #f2f6dc;
  border: 2px solid #abc111; }

.tooltipster-default .tooltipster-content {
  font-size: 14px;
  line-height: 17px;
  color: #494949; }

.formelement.error .tooltipster-base, .formelement .error .tooltipster-base, .formblock_absicherung.error .tooltipster-base, .formblock_absicherung .error .tooltipster-base {
  font-size: 13px;
  line-height: 20px; }
  .formelement.error .tooltipster-base .tooltipster-content, .formelement .error .tooltipster-base .tooltipster-content, .formblock_absicherung.error .tooltipster-base .tooltipster-content, .formblock_absicherung .error .tooltipster-base .tooltipster-content {
    background-color: #f6dcdc;
    border: 2px solid #e60000; }

.formelement.error .tooltipster-arrow .tooltipster-arrow-border, .formelement .error .tooltipster-arrow .tooltipster-arrow-border, .formblock_absicherung.error .tooltipster-arrow .tooltipster-arrow-border, .formblock_absicherung .error .tooltipster-arrow .tooltipster-arrow-border {
  border-color: #e60000; }

.formelement.error .tooltipster-arrow .tooltipster-arrow-border-inner, .formelement .error .tooltipster-arrow .tooltipster-arrow-border-inner, .formblock_absicherung.error .tooltipster-arrow .tooltipster-arrow-border-inner, .formblock_absicherung .error .tooltipster-arrow .tooltipster-arrow-border-inner {
  border-color: #f6dcdc; }

/***** Lightboxc Magnific ****/
.magnific_info_layer {
  background-color: #fff; }
  .magnific_info_layer .bottom_close a {
    font-size: 15px;
    line-height: 24px;
    font-weight: 700;
    text-decoration: none; }


/***** Fixes Usercentric ****/
#usercentrics-button input[type="checkbox"].uc-form-check-input:checked + label::after,
#usercentrics-button input[type="checkbox"].uc-form-check-input:checked:disabled + label::after,
.uc-embed input[type="checkbox"].uc-form-check-input:checked + label::after,
.uc-embed input[type="checkbox"].uc-form-check-input:checked:disabled + label::after {
  border-right: none;
  border-top: none; }

#usercentrics-button input[type="checkbox"].uc-form-check-input.intermediate + label::after,
.uc-embed input[type="checkbox"].uc-form-check-input.intermediate + label::after {
  line-height: normal; }
