.js-breakpoint:after,
.js-breakpoint {
  content: "}";
  font-family: "}"
}

.close-icon {
  position: relative;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  top: 1.25rem;
  overflow: hidden
}

.close-icon::before,
.close-icon::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0;
  margin-top: -1px;
  background: #000
}

.close-icon::before {
  transform: rotate(45deg)
}

.close-icon::after {
  transform: rotate(-45deg)
}

.close-icon.thick::before,
.close-icon.thick::after {
  height: 2px;
  margin-top: -2px
}

.icon-button:hover {
  cursor: pointer
}

.fe-icon,
.fe-icon-label-qualicert,
.fe-icon-label-sichergehen-icon,
.fe-icon-label-sichergehen-visual,
.fe-icon-label-krankenkasse-herz,
.fe-icon-label-bsv-subsidized-plus {
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  width: 1em;
  height: 1em;
  background-color: #fff
}

.fe-icon-label-bsv-subsidized-plus {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-bsv-subsidized-plus.svg")
}

.fe-icon-img-label-bsv-subsidized-plus {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-bsv-subsidized-plus.svg")
}

.fe-icon-label-krankenkasse-herz {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-krankenkasse-herz.svg")
}

.fe-icon-img-label-krankenkasse-herz {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-krankenkasse-herz.svg")
}

.fe-icon-label-sichergehen-visual {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-sichergehen-visual.svg")
}

.fe-icon-img-label-sichergehen-visual {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-sichergehen-visual.svg")
}

.fe-icon-label-sichergehen-icon {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-sichergehen-icon.svg")
}

.fe-icon-img-label-sichergehen-icon {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-sichergehen-icon.svg")
}

.fe-icon-label-qualicert {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-qualicert.svg")
}

.fe-icon-img-label-qualicert {
  background-color: rgba(0, 0, 0, 0);
  background-image: url("../assets/icons/label-qualicert.svg")
}

.no-border-radius {
  border-radius: 3px !important
}

.fe .form-row {
  margin-bottom: 2rem
}

.fe .form-row.no-margin {
  margin: 0
}

.fe .form-row.overline {
  border-top: 1px solid #000
}

@media only screen and (max-width: 48.125em) {
  .fe .form-row .form-item {
    margin: 0
  }
}

.fe .form-row .form-item-half {
  margin-right: 1.5%;
  width: 48.5%;
  float: left
}

.fe .form-row .form-item-half.last {
  margin-right: 0;
  margin-left: 1.5%;
  width: 48.5%
}

.fe .form-row .form-item-half.has-icon {
  width: 46.5%;
  margin-top: 1rem;
  margin-bottom: 1rem
}

@media only screen and (max-width: 48.125em) {
  .fe .form-row .form-item-half.has-icon {
    width: 45%
  }
}

@media only screen and (max-width: 48.125em) {

  .fe .form-row .form-item.mobile-one-whole,
  .fe .form-row .form-item-half.mobile-one-whole {
    margin-right: 0;
    width: 100%;
    float: left;
    margin-bottom: 1rem
  }

  .fe .form-row .form-item.mobile-one-whole.last,
  .fe .form-row .form-item-half.mobile-one-whole.last {
    margin-right: 0;
    margin-left: 0;
    width: 100%
  }
}

.fe input[type=number].error,
.fe input[type=text].error {
  border-color: red !important;
  color: red !important
}

.fe label.error {
  color: red !important
}

.fe .error-message {
  color: red !important;
  line-height: 2rem !important;
  margin-top: 0rem !important
}

.fe .black-text {
  color: #000 !important
}

.fe .top-space-l {
  padding-top: 2.5rem
}

.fe .bottom-space-xs {
  padding-bottom: .5rem
}

.fe .margin-top-m {
  margin-top: 3rem
}

@media only screen and (min-width: 48.1875em) {
  .fe label.mobile-only {
    display: none
  }
}

.fe .font-xl {
  font-size: 2.0625rem
}

.fe .font-l {
  font-size: 1.5625rem
}

.fe .font-m {
  font-size: 1.1875rem
}

.fe .font-s {
  font-size: 1rem
}

.fe .semibold-font {
  font-family: "NeueSansPro-Semibold", Verdana, Arial
}

.fe .light-font {
  font-family: "NeueSansPro-Light", Verdana, Arial
}

.fe .section-on-gray {
  background-color: #f4f4f4
}

.fe .section-on-white {
  background-color: #fff
}

.top-left-tooltip {
  background-color: #d3d3d3;
  position: relative;
  top: 1.5rem;
  width: 25rem;
  height: auto;
  overflow: visible;
  display: block;
  white-space: normal;
  padding: 1rem !important;
  text-align: left;
  border-radius: 5%;
  text-indent: 0
}

@media only screen and (max-width: 48.125em) {
  .top-left-tooltip {
    width: 20rem
  }
}

.hidden {
  visibility: hidden
}

.not-displayed {
  display: none
}

:root {
  --black: #000000;
  --pro-text: #000000;
  --pro-olivgreen: #bbcf00;
  --pro-green: #37aa32;
  --pro-yellow: #ffed00;
  --white: #ffffff;
  --pro-darkgreen: #007b48;
  --pro-petrol: #00726f;
  --pro-darkblue: #005771;
  --pro-blue-pine: #537880;
  --pro-lightgrey: #edece5;
  --pro-pearlgrey: #E1E3E1;
  --pro-carbongrey: #919291;
  --pro-brown: #9a8b80;
  --pro-violet: #88696c;
  --pro-pink: #c68f99;
  --pro-darkblue-80: #5c7390;
  --pro-darkblue-60: #6982a8;
  --pro-darkblue-40: #7d9ab1;
  --pro-turquoise: #70aebb;
  --pro-light-teal-blue: #9BC6CF;
  --pro-olivgreen-80: #9b9f37;
  --pro-darkgreen-80: #b9ba05;
  --pro-bg-grey-40: #f3f3ee;
  --pro-bg-grey-60: #eeeee5;
  --pro-dividers: #e8e8dd;
  --pro-cookie-link-grey: #b9d6d5;
  --pro-cararra: #F6F6F2;
  --pro-cinnabar: #E14B34;
  --pro-mandypink: #F3B7AE;
  --pro-mandypink1: #F9DBD6;
  --pro-hairline-light: #e2e2d4;
  --pro-hairline-dark: #d2d2bc;
  --pro-bordeaux: #8a4653;
  --pro-pink-light: #e3c7cc;
  --pro-darkgrey-40: #646464;
  --pro-darkgrey-80: #1e1e1e;
  --padding-half: 0.5em;
  --padding-single: 1em;
  --padding-double: 2em;
  --padding-trible: 3em;
  --padding-base-vertical: 6px;
  --padding-base-horizontal: 12px;
  --padding-large-vertical: 10px;
  --padding-large-horizontal: 16px;
  --padding-small-vertical: 5px;
  --padding-small-horizontal: 10px;
  --padding-xs-vertical: 1px;
  --padding-xs-horizontal: 5px;
  --line-height-large: 1.3333333;
  --line-height-small: 1.5;
  --border-radius-base: 4px;
  --border-radius-large: 6px;
  --border-radius-small: 3px;
  --gray-base: #000;
  --gray-darker: hsl(from var(--gray-base) h s calc(l + 13.5));
  --gray-dark: hsl(from var(--gray-base) h s calc(l + 20));
  --gray: hsl(from var(--gray-base) h s calc(l + 33.5));
  --gray-light: hsl(from var(--gray-base) h s calc(l + 46.7));
  --gray-lighter: hsl(from var(--gray-base) h s calc(l + 93.5));
  --gray-lightbox: rgba(158, 158, 158, 0.57);
  --zindex-navbar: 1000;
  --zindex-navbar-fixed: 1060;
  --zindex-lightbox-overlay: 1070;
  --zindex-skip-link: 1300;
  --brand-primary: hsl(from #428bca h s calc(l - 6.5));
  --brand-success: #5cb85c;
  --brand-info: #5bc0de;
  --brand-warning: #f0ad4e;
  --brand-danger: #d9534f;
  --link-color: var(--brand-primary);
  --link-hover-color: var(--pro-green);
  --link-hover-decoration: underline;
  --btn-default-color: #333;
  --btn-default-bg: #fff;
  --btn-default-border: #ccc;
  --btn-primary-color: #fff;
  --btn-primary-bg: var(--brand-primary);
  --btn-primary-border: hsl(from var(--btn-primary-bg) h s calc(l - 5));
  --btn-success-color: #fff;
  --btn-success-bg: var(--brand-success);
  --btn-success-border: hsl(from var(--btn-success-bg) h s calc(l - 5));
  --btn-info-color: var(--white);
  --btn-info-bg: var(--pro-petrol);
  --btn-info-hover: var(--pro-lightgrey);
  --btn-info-border: var(--pro-petrol);
  --btn-warning-color: #fff;
  --btn-warning-bg: var(--brand-warning);
  --btn-warning-border: hsl(from var(--btn-warning-bg) h s calc(l - 5));
  --btn-danger-color: #fff;
  --btn-danger-bg: var(--brand-danger);
  --btn-danger-border: hsl(from var(--btn-danger-bg) h s calc(l - 5));
  --btn-link-disabled-color: var(--gray-light);
  --btn-border-radius-base: 20px;
  --screenwidth: 182.857142857em;
  --logo-width-small: 115px;
  --logo-width-normal: 230px;
  --font-size-base: 16px;
  --font-size-large: round(up, calc(var(--font-size-base) * 1.25));
  --font-size-small: round(up, calc(var(--font-size-base) * 0.85));
  --spacer-top-factor: 0.6;
  --line-height-base: 1.428571429;
  --line-height-computed: round(down, calc(var(--font-size-base) * var(--line-height-base)));
  --navbar-height: 52px;
  --navbar-margin-bottom: var(--line-height-computed);
  --navbar-border-radius: var(--border-radius-base);
  --navbar-padding-horizontal: 32px;
  --navbar-padding-vertical: 15px;
  --navbar-collapse-max-height: 340px;
  --navbar-default-color: #777;
  --navbar-default-bg: #f8f8f8;
  --navbar-default-border: hsl(from var(--navbar-default-bg) h s calc(l - 6.5));
  --navbar-default-link-color: #777;
  --navbar-default-link-hover-color: #333;
  --navbar-default-link-hover-bg: transparent;
  --navbar-default-link-active-color: #555;
  --navbar-default-link-active-bg: hsl(from var(--navbar-default-bg) h s calc(l - 6.5));
  --navbar-default-link-disabled-color: #ccc;
  --navbar-default-link-disabled-bg: transparent;
  --navbar-default-brand-color: var(--navbar-default-link-color);
  --navbar-default-brand-hover-color: hsl(from var(--navbar-default-brand-color) h s calc(l - 10));
  --navbar-default-brand-hover-bg: transparent;
  --navbar-default-toggle-hover-bg: #ddd;
  --navbar-default-toggle-icon-bar-bg: #888;
  --navbar-default-toggle-border-color: #ddd;
  --navbar-inverse-color: hsl(from var(--gray-light) h s calc(l + 15));
  --navbar-inverse-bg: #222;
  --navbar-inverse-border: hsl(from var(--navbar-inverse-bg) h s calc(l - 10));
  --navbar-inverse-link-color: hsl(from var(--gray-light) h s calc(l + 15));
  --navbar-inverse-link-hover-color: #fff;
  --navbar-inverse-link-hover-bg: transparent;
  --navbar-inverse-link-active-color: var(--navbar-inverse-link-hover-color);
  --navbar-inverse-link-active-bg: hsl(from var(--navbar-inverse-bg) h s calc(l - 10));
  --navbar-inverse-link-disabled-color: #444;
  --navbar-inverse-link-disabled-bg: transparent;
  --navbar-inverse-brand-color: var(--navbar-inverse-link-color);
  --navbar-inverse-brand-hover-color: #fff;
  --navbar-inverse-brand-hover-bg: transparent;
  --navbar-inverse-toggle-hover-bg: #333;
  --navbar-inverse-toggle-icon-bar-bg: #fff;
  --navbar-inverse-toggle-border-color: #333;
  --input-height-base: calc(var(--line-height-computed) + calc(var(--padding-base-vertical) * 2) + 2);
  --input-height-large: calc(round(up, calc(var(--font-size-large) * var(--line-height-large))) + calc(var(--padding-large-vertical) * 2) + 2);
  --input-height-small: calc(round(down, calc(var(--font-size-small) * var(--line-height-small))) + calc(var(--padding-small-vertical) * 2) + 2);
  --colorbox-primary-color: #000;
  --h1-color: var(--pro-petrol);
  --h2-color: var(--pro-petrol);
  --h3-color: var(--pro-petrol);
  --h4-color: var(--pro-text);
  --h5-color: var(--pro-text)
}

@media print {
  :root {
    --font-size-base: 12px
  }
}

.courseDetail-line {
  border-bottom: 1px solid #d3d3d3;
  margin-bottom: 3rem;
  margin-top: 3rem;
  margin-left: -20rem;
  margin-right: -20rem
}

.mod-courseDetail .detail-text-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: space-between
}

.mod-courseDetail .detail-text-wrapper .detail-asset,
.mod-courseDetail .detail-text-wrapper .detail-text {
  flex: 1 0 auto;
  width: 50%;
  margin-bottom: 1.5rem
}

@media only screen and (max-width: 48.125em) {

  .mod-courseDetail .detail-text-wrapper .detail-asset,
  .mod-courseDetail .detail-text-wrapper .detail-text {
    width: 100%
  }
}

.mod-courseDetail .courseDetails.flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: space-between
}

.mod-courseDetail .courseDetails.flex-container .flex-item {
  flex: 0 1 50%;
  margin-bottom: 1.5rem;
  padding-right: 1rem
}

@media only screen and (max-width: 48.125em) {
  .mod-courseDetail .courseDetails.flex-container .flex-item {
    flex: 0 1 100%
  }
}

.mod-courseDetail .courseDetails.flex-container .flex-item h4 {
  padding-bottom: 0rem
}

.mod-courseDetail .courseDetails.flex-container .flex-item .info-text__green {
  color: #42aa32
}

.mod-courseDetail .courseDetails.flex-container .wrap-whitespace {
  white-space: pre-wrap
}

.mod-courseDetail.course-form {
  padding-top: 1rem
}

.mod-courseDetail .bsv-subvention {
  border-bottom: 2px solid #147a7b;
  padding-bottom: 1rem;
  margin-top: 2rem;
  margin-bottom: 3rem;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  align-content: center;
  flex-wrap: nowrap
}

@media only screen and (max-width: 26em) {
  .mod-courseDetail .bsv-subvention {
    flex-wrap: wrap
  }
}

.mod-courseDetail .bsv-subvention i.fe-icon-label-bsv-subsidized-plus {
  flex: 1 1 auto;
  margin-top: auto;
  margin-bottom: auto;
  width: 4rem;
  height: 4rem
}

.mod-courseDetail .bsv-subvention span.bsv-subvention-text {
  padding-bottom: 0;
  flex: 2 1 80%;
  align-content: center
}

@media only screen and (max-width: 26em) {
  .mod-courseDetail .bsv-subvention span.bsv-subvention-text {
    padding-top: 1rem;
    flex: 1 1 100%
  }
}

@media only screen and (max-width: 48.125em)and (min-width:26em) {
  .mod-courseDetail .bsv-subvention span.bsv-subvention-text {
    margin-left: 1rem
  }
}

.mod-courseDetail .health-Insurance {
  border-bottom: 2px solid #147a7b;
  padding-bottom: 1rem;
  margin-top: 2rem;
  margin-bottom: 3rem;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  align-content: center;
  flex-wrap: nowrap
}

@media only screen and (max-width: 26em) {
  .mod-courseDetail .health-Insurance {
    flex-wrap: wrap
  }
}

.mod-courseDetail .health-Insurance i.fe-icon-label-krankenkasse-herz,
.mod-courseDetail .health-Insurance i.fe-icon-label-qualicert {
  flex: 1 1 auto;
  margin-top: auto;
  margin-bottom: auto;
  width: 4rem;
  height: 4rem
}

.mod-courseDetail .health-Insurance span.health-Insurance-text {
  padding-bottom: 0;
  flex: 2 1 80%;
  align-content: center
}

@media only screen and (max-width: 26em) {
  .mod-courseDetail .health-Insurance span.health-Insurance-text {
    padding-top: 1rem;
    flex: 1 1 100%
  }
}

@media only screen and (max-width: 48.125em)and (min-width:26em) {
  .mod-courseDetail .health-Insurance span.health-Insurance-text {
    margin-left: 1rem
  }
}

.mod-courseDetail .stand-Secure {
  border-bottom: 2px solid #147a7b;
  padding-bottom: 1rem;
  margin-top: 2rem;
  margin-bottom: 3rem;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  align-content: center;
  flex-wrap: nowrap
}

@media only screen and (max-width: 26em) {
  .mod-courseDetail .stand-Secure {
    flex-wrap: wrap
  }
}

.mod-courseDetail .stand-Secure i.fe-icon-label-sichergehen-visual {
  flex: 1 1 auto;
  margin-top: auto;
  margin-bottom: auto;
  width: 4rem;
  height: 4rem
}

.mod-courseDetail .stand-Secure i.fe-icon-label-sichergehen-icon {
  flex: 1 1 auto;
  margin: auto;
  width: 4rem;
  height: 4rem
}

.mod-courseDetail .stand-Secure span.stand-Secure-text {
  padding-bottom: 0;
  flex: 2 1 80%;
  align-content: center
}

@media only screen and (max-width: 26em) {
  .mod-courseDetail .stand-Secure span.stand-Secure-text {
    padding-top: 1rem;
    flex: 1 1 100%
  }
}

@media only screen and (max-width: 48.125em)and (min-width:26em) {
  .mod-courseDetail .stand-Secure span.stand-Secure-text {
    margin-left: 1rem
  }
}

.mod-courseDetail .page-abstract {
  overflow-y: hidden;
  max-height: 7.5rem;
  transition: max-height .1s linear;
  margin-bottom: 2rem;
  padding-bottom: 0;
}

@media(min-width: 770px) {
  .mod-courseDetail .page-abstract {
    max-height: 9rem
  }
}

.mod-courseDetail .page-abstract.full {
  max-height: 100%
}

.mod-courseDetail .btn.btn-tile-more.read-more,
.mod-courseDetail button.btn-signup {
  margin: -1rem 0 3rem;
  background-color: var(--pro-petrol);
  border-color: var(--pro-petrol);
  color: var(--white);
  cursor: pointer;
  font-family: "NeueSansPro-Normal", Verdana, Arial
}

.mod-courseDetail .btn.btn-tile-more.read-more:hover,
.mod-courseDetail button.btn-signup:hover {
  background-color: var(--pro-lightgrey);
  border-color: var(--pro-petrol);
  color: var(--pro-petrol)
}

.mod-courseDetail button.btn-signup {
  color: var(--white)
}

.no-js {
  visibility: hidden
}

@media only screen and (max-width: 48.125em) {
  courses breadcrumb-navigation .rte .page-abstract {
    margin-bottom: 1em
  }
}

courses .course-overview {
  display: block;
  padding-bottom: 5rem
}

.course-form .form-row {
  margin-bottom: 1.5rem
}

.course-form .form-row.control-group.error label.error span {
  color: red
}

@media only screen and (max-width: 48.125em) {
  .course-form .form-row {
    margin-bottom: 0
  }

  .course-form .form-row .form-item {
    margin-bottom: 1.5rem
  }

  .course-form .form-row .form-item.error {
    margin-bottom: 0
  }
}

.course-form .form-row .error-message {
  color: red;
  line-height: 2rem;
  margin-top: 0rem
}

@media only screen and (max-width: 48.125em) {
  .course-form .form-row .error-message {
    margin-bottom: 1rem
  }
}

.course-form .form-row .form-item input[type=text],
.course-form .form-row .form-item textarea {
  margin-top: .5em;
  color: #000;
  border-color: #000;
  background-color: #fff
}

.course-form .form-row .form-item textarea {
  resize: none
}

.course-form .form-row .form-item.checkbox input[type=checkbox] {
  visibility: hidden
}

.course-form .form-row .form-item.checkbox input[type=checkbox]:checked+label .checkbox-span {
  background: #000
}

.course-form .form-row .form-item.checkbox input[type=checkbox]:checked+label .checkbox-span:after {
  opacity: 1;
  border-color: #fff
}

.course-form .form-row .form-item.checkbox label {
  cursor: pointer;
  margin-left: -20px
}

.course-form .form-row .form-item.checkbox .checkbox-span {
  position: absolute;
  width: 23px;
  height: 23px;
  top: 3px;
  left: 0;
  background: #fff;
  border: 1px solid #000;
  border-radius: 3px
}

.course-form .form-row .form-item.checkbox .checkbox-span:after {
  opacity: 0;
  content: "";
  position: absolute;
  width: 18px;
  height: 9px;
  background: rgba(0, 0, 0, 0);
  top: 4px;
  left: 2px;
  border: 3px solid rgba(0, 0, 0, 0);
  border-top: none;
  border-right: none;
  transform: rotate(-45deg)
}

.course-form .form-row .form-item.error label.error {
  color: red
}

.course-form .form-row .form-item.error.checkbox .checkbox-span {
  border: 1px solid red
}

.course-form .form-row .form-item.error input[type=text] {
  border-color: red
}

.course-form .button-wrapper button[type=submit] {
  float: left;
  margin-left: 0
}

.course-form signup-summary .link-wrapper {
  padding-top: 13px;
  left: 30px;
  position: relative;
  z-index: 1
}

@media only screen and (max-width: 48.125em) {
  .course-form signup-summary .link-wrapper {
    padding-top: 90px;
    left: 0px
  }
}

.course-form signup-summary .form-summary {
  margin-bottom: 2rem
}

.course-form signup-summary .flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: space-between
}

.course-form signup-summary .flex-container .flex-item {
  flex: 0 1 50%
}

.course-form signup-summary .flex-container .flex-item h4 {
  padding-bottom: 6px
}

@media only screen and (max-width: 48.125em) {
  .course-form signup-summary .flex-container .flex-item {
    flex: 0 1 100%
  }

  .course-form signup-summary .flex-container .flex-item.not-first {
    margin-top: 1.5rem
  }
}

@media only screen and (min-width: 48.1875em) {
  .course-form signup-summary .flex-container .flex-item .message {
    margin-top: 1.5rem
  }
}

.course-form signup-summary .flex-container .flex-item.whole-size {
  flex: 0 1 100%
}

@media only screen and (min-width: 48.1875em) {
  .course-form signup-summary .flex-container .flex-item.whole-size {
    margin-top: 1.5rem
  }
}

.course-form signup-summary .flex-container .flex-item.new-line {
  margin-top: 1.5rem
}

.course-form .form-row .form-item input[type=text] {
  line-height: 1.5rem
}

.course-form .form-row .form-item input[type=text] .error {
  border-color: red
}

.course-form .form-row .form-item-half {
  margin-right: 1.5%;
  width: 48.5%;
  float: left
}

.course-form .form-row .form-item-half.last {
  margin-right: 0;
  margin-left: 1.5%;
  width: 48.5%
}

.course-form .form-row .form-item-one-quarter {
  margin-right: 1.5%;
  width: 23.5%;
  float: left
}

.course-form .form-row .form-item-one-quarter.last {
  margin-right: 0;
  margin-left: 1.5%;
  width: 23.5%
}

.course-form .form-row .form-item-three-quarter {
  margin-right: 1.5%;
  width: 73.5%;
  float: left
}

.course-form .form-row .form-item-three-quarter.last {
  margin-right: 0;
  margin-left: 1.5%;
  width: 73.5%
}

@media only screen and (max-width: 48.125em) {
  .course-form .form-row .form-item.mobile-one-whole {
    margin-right: 0;
    width: 100%;
    float: left
  }

  .course-form .form-row .form-item.mobile-one-whole.last {
    margin-right: 0;
    margin-left: 0;
    width: 100%
  }
}

@media only screen and (max-width: 48.125em) {
  .course-form .form-row.control-group {
    margin-bottom: .75rem
  }
}

.course-form .form-row .radio input[type=radio] {
  visibility: hidden;
  top: 0
}

@media only screen and (min-width: 48.1875em) {
  .course-form .form-row .radio {
    margin-bottom: 8px
  }
}

.course-form .form-row .radio label.control-radio {
  font-family: "NeueSansPro-Light", Verdana, Arial;
  font-size: 1.1875rem;
  line-height: 1.5789473684em;
  color: #2f2f2d;
  font-weight: normal
}

@media(min-width: 770px) {
  .course-form .form-row .radio label.control-radio {
    font-size: 1.1875rem;
    line-height: 1.5789473684em
  }
}

.course-form .form-row .form-item.radio {
  margin-top: 0;
  margin-right: 8rem
}

@media only screen and (max-width: 48.125em) {
  .course-form .form-row .form-item.radio .error {
    margin-bottom: 0
  }
}

.course-form .form-row .form-item.radio .error .control_indicator {
  border-color: red
}

.course-form .form-row .control {
  display: initial;
  position: relative;
  padding-left: 32px;
  margin-bottom: 4px;
  padding-top: 0px;
  cursor: pointer;
  font-size: 17px
}

.course-form .form-row .control input {
  position: absolute;
  z-index: -1;
  opacity: 0
}

.course-form .form-row .control_indicator {
  position: absolute;
  top: 2px;
  left: 0;
  height: 20px;
  width: 20px;
  background: #fff;
  border: 1px solid #000
}

.course-form .form-row .control-radio .control_indicator {
  border-radius: 50%
}

.course-form .form-row .control:hover input~.control_indicator,
.course-form .form-row .control input:focus~.control_indicator {
  background: #fff
}

.course-form .form-row .control input:checked~.control_indicator {
  background: #fff
}

.course-form .form-row .control:hover input:not([disabled]):checked~.control_indicator,
.course-form .form-row .control input:checked:focus~.control_indicator {
  background: #fff
}

.course-form .form-row .control input:disabled~.control_indicator {
  background: #e6e6e6;
  opacity: .6;
  pointer-events: none
}

.course-form .form-row .control_indicator:after {
  box-sizing: unset;
  content: "";
  position: absolute;
  display: none
}

.course-form .form-row .control input:checked~.control_indicator:after {
  display: block
}

.course-form .form-row .control-radio .control_indicator:after {
  left: 4px;
  top: 4px;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background: #000
}

.course-form .form-row .control-radio input:disabled~.control_indicator:after {
  background: #7b7b7b
}

.rte ul.list-unstyled li {
  list-style-type: none
}

.rte course-list {
  scroll-margin: 6rem
}

.rte course-list ul {
  padding-left: 0
}

.rte course-list ul li {
  margin-bottom: 0;
  padding-left: 0
}

.rte course-list ul li .course-container {
  border-top: 1px solid #d3d3d3;
  margin-left: -20rem;
  margin-right: -20rem;
  padding-bottom: 2rem;
  padding-left: 20rem;
  padding-right: 20rem;
  padding-top: 1rem;
  scroll-margin: 6rem
}

.rte course-list ul li .course-container .details-image-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap
}

@media only screen and (max-width: 26em) {
  .rte course-list ul li .course-container .details-image-wrapper {
    flex-wrap: wrap
  }
}

.rte course-list ul li .course-container .details-image-wrapper .details-container {
  display: flex;
  flex-basis: 75%;
  flex-direction: column;
  flex-grow: 1;
  flex-wrap: nowrap;
  justify-content: space-between
}

.rte course-list ul li .course-container .details-image-wrapper .details-container .flex-container .zip-search {
  text-align: left
}

.rte course-list ul li .course-container .details-image-wrapper .details-container .flex-container .zip-search-30 {
  flex-basis: 30%
}

.rte course-list ul li .course-container .details-image-wrapper .details-container .flex-container .zip-search-40 {
  flex-basis: 40%
}

.rte course-list ul li .course-container .details-image-wrapper .course-overview-image {
  max-width: 25rem;
  max-height: 15rem
}

@media only screen and (max-width: 48.125em) {
  .rte course-list ul li .course-container {
    cursor: pointer
  }
}

.rte course-list ul li .course-container h3 {
  margin-top: .5rem;
  margin-bottom: 0;
  padding-bottom: .5rem
}

.rte course-list ul li .course-container h3 .national-course-accordion-icon {
  padding-left: .5rem
}

.rte course-list ul li .course-container .text-grey {
  color: #d3d3d3
}

.rte course-list ul li .course-container .text-green {
  color: #42aa32
}

.rte course-list ul li .course-container .flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: space-between
}

.rte course-list ul li .course-container .flex-container.column {
  flex-direction: column
}

@media only screen and (max-width: 48.125em) {
  .rte course-list ul li .course-container .flex-container {
    flex-direction: column
  }
}

.rte course-list ul li .course-container submit-button {
  padding-top: 1rem;
  float: left;
  margin-left: 0
}

.rte course-list ul li .course-container submit-button .button-wrapper {
  text-align: unset
}

.rte course-list ul li .course-container submit-button .button-wrapper button[type=submit] {
  margin-top: 0;
  margin-left: 0
}

.rte course-list ul li .course-container:hover {
  background-color: #f9f9f6
}

.rte course-list ul li .course-container:hover button {
  background-color: rgba(0, 0, 0, 0);
  border-color: var(--pro-petrol);
  color: var(--pro-petrol)
}

@media only screen and (max-width: 48.125em) {
  .rte course-list ul li .course-container {
    padding-bottom: 1rem
  }

  .rte course-list ul li .course-container .mobile-inactive {
    display: none
  }
}

.rte course-list ul li .button-container {
  padding-top: 1rem;
  padding-bottom: 6rem;
  border-top: 1px solid #d3d3d3;
  margin-right: -20rem;
  margin-left: -20rem;
  padding-right: 20rem;
  padding-left: 20rem
}

.rte course-list ul li .button-container submit-button {
  padding-top: 1rem;
  float: left;
  margin-left: 0
}

.rte course-list ul li .button-container submit-button .button-wrapper button[type=submit] {
  margin-top: 0;
  margin-left: 0
}

.rte course-list ul li .bsv-subvention {
  margin-top: 1.75rem;
  margin-left: 2rem;
  z-index: 2
}

@media only screen and (max-width: 48.125em) {
  .rte course-list ul li .bsv-subvention {
    margin-top: .5rem;
    margin-left: 0rem
  }
}

.rte course-list ul li .bsv-subvention .bsv-subvention-text {
  visibility: hidden
}

.rte course-list ul li .bsv-subvention:hover {
  display: inline-block;
  overflow: visible
}

.rte course-list ul li .bsv-subvention:hover .bsv-subvention-text {
  visibility: visible
}

.rte course-list ul li.bsv-subvention-remark {
  border-top: 1px solid #d3d3d3;
  padding-top: 2rem;
  margin-right: -20rem;
  margin-left: -20rem;
  padding-right: 20rem;
  padding-left: 20rem
}

.national-course-accordion {
  animation: accordionTransition .25s linear
}

@keyframes accordionTransition {
  from {
    transform: translateY(-0.5rem);
    opacity: 0
  }

  to {
    transform: translate(0)
  }
}

.national-course-accordion-description {
  padding: 1.5rem 0
}

.national-course-accordion-details {
  padding-bottom: 1rem
}

.national-course-accordion-details .flex-item h4 {
  padding-bottom: 0
}

@media only screen and (max-width: 48.125em) {
  .national-course-accordion-details .flex-item:not(:last-child) {
    padding-bottom: 1.5rem
  }
}

.national-course-accordion submit-button .button-wrapper button[type=submit] {
  width: auto
}

.course-filter.flex-container {
  align-content: flex-start;
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  height: auto;
  justify-content: space-between;
  margin-right: -5px;
  margin-top: 30px
}

.course-filter.flex-container .bottom-10 {
  margin-bottom: 10px
}

.course-filter.flex-container .bottom-35 {
  margin-bottom: 35px
}

.course-filter.flex-container .desktop-mb-35 {
  margin-bottom: 35px
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .desktop-mb-35 {
    margin-bottom: 0
  }
}

.course-filter.flex-container .top-20 {
  margin-top: 20px
}

.course-filter.flex-container .top-10 {
  margin-top: 10px
}

.course-filter.flex-container .flex-item {
  flex: 1 30%;
  margin-left: 5px;
  margin-right: 5px
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item {
    flex: 0 1 100%
  }
}

.course-filter.flex-container .flex-item .selector-online {
  margin-left: 20px;
  margin-top: 44px;
  margin-bottom: 60px
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item .selector-online {
    margin-top: 33px;
    margin-bottom: 40px
  }
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item radio-control-group .form-row.control-group.flex-row {
    padding-bottom: 0
  }
}

.course-filter.flex-container .flex-item radio-control-group label {
  font-family: "NeueSansPro-Normal", Verdana, Arial;
  font-size: 1.5625rem;
  line-height: 1.36em;
  color: var(--h2-color);
  margin-top: 8px;
  padding-bottom: 50px
}

@media(min-width: 770px) {
  .course-filter.flex-container .flex-item radio-control-group label {
    font-size: 2.0625rem;
    line-height: 1.1333333333em
  }
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item radio-control-group label {
    margin-top: 0;
    padding-bottom: 10px
  }
}

.course-filter.flex-container .flex-item radio-control-group radio-control-group .form-row.control-group.flex-row {
  flex-direction: row;
  padding-bottom: 40px
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item radio-control-group radio-control-group .form-row.control-group.flex-row {
    padding-bottom: 0
  }
}

.course-filter.flex-container .flex-item radio-control-group .form-row radio-control {
  color: var(--black);
  width: auto;
  margin-right: 20px
}

.course-filter.flex-container .flex-item radio-control-group .form-row radio-control label {
  font-family: "NeueSansPro-Light", Verdana, Arial;
  color: #000;
  font-size: 1.375rem;
  margin-top: 14.4px
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item radio-control-group .form-row radio-control label {
    font-size: 1.1875rem;
    margin-top: -0.5rem;
    margin-bottom: -1rem
  }
}

.course-filter.flex-container .flex-item radio-control-group .form-row radio-control .control_indicator:after {
  background: var(--pro-petrol)
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item radio-control-group .form-row radio-control {
    padding-left: 20px;
    width: 100%
  }

  .course-filter.flex-container .flex-item radio-control-group .form-row radio-control>.form-item.radio {
    margin-bottom: 0
  }
}

.course-filter.flex-container .flex-item radio-control-group>.form-item .radio label {
  margin-bottom: 60px;
  font-size: 22px
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item radio-control-group>.form-item .radio label {
    font-size: 19px
  }
}

.course-filter.flex-container .flex-item radio-control-group>.form-item .radio>.radio {
  width: 100%;
  height: 100%
}

.course-filter.flex-container .flex-item radio-control-group>.form-item .radio>.radio .control-radio .control_indicator {
  border: 1px solid #fff
}

.course-filter.flex-container .flex-item radio-control-group>.form-item .radio>.radio .control-radio .control_indicator::after {
  background: var(--pro-darkgreen)
}

.course-filter.flex-container .flex-item.one-half {
  flex: 1 47.5%
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item.one-half {
    flex: 0 1 100%
  }
}

.course-filter.flex-container .flex-item.eight-ninths {
  flex: 1 80%
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item.eight-ninths {
    flex: 0 1 100%
  }
}

.course-filter.flex-container .flex-item.four-ninths {
  flex: 1 40%
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item.four-ninths {
    flex: 0 1 100%
  }
}

.course-filter.flex-container .flex-item.one-ninth {
  flex: 0 10%
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item.one-ninth {
    flex: 0 1 100%
  }
}

.course-filter.flex-container .flex-item .dropdown-special {
  margin-bottom: 1rem
}

.course-filter.flex-container .flex-item text-input input[type=text] {
  background-color: #fff;
  border-color: #000;
  color: #000;
  margin-bottom: 1rem;
  margin-top: 0
}

.course-filter.flex-container .flex-item .detailed-search-button {
  text-decoration: none;
  font-family: "NeueSansPro-SemiBold", Verdana, Arial;
  font-size: 1.1875rem;
  line-height: 1.3684210526em;
  color: var(--h4-color);
  color: var(--pro-petrol);
  text-decoration: none;
  border-bottom: none;
  position: relative;
  padding: 0 32px 0 0;
  height: 68px;
  display: block;
  align-content: center;
  vertical-align: top;
  width: auto
}

@media(min-width: 770px) {
  .course-filter.flex-container .flex-item .detailed-search-button {
    font-size: 1em;
    line-height: 1.5789473684em
  }
}

.course-filter.flex-container .flex-item .detailed-search-button img {
  width: auto !important;
  max-width: 160px
}

.course-filter.flex-container .flex-item .detailed-search-button .icon-x24_pfeil_nach_oben {
  display: block
}

.course-filter.flex-container .flex-item .detailed-search-button .icon-24x24_pfeil_nach_unten {
  display: none
}

@media(min-width: 770px) {
  .course-filter.flex-container .flex-item .detailed-search-button {
    height: auto
  }
}

.course-filter.flex-container .flex-item .detailed-search-button .icon-x24_pfeil_nach_oben,
.course-filter.flex-container .flex-item .detailed-search-button .icon-24x24_pfeil_nach_unten {
  position: absolute;
  right: 0;
  top: 22px
}

@media(min-width: 770px) {

  .course-filter.flex-container .flex-item .detailed-search-button .icon-x24_pfeil_nach_oben,
  .course-filter.flex-container .flex-item .detailed-search-button .icon-24x24_pfeil_nach_unten {
    top: 5px
  }
}

.course-filter.flex-container .flex-item .detailed-search-button.collapsed {
  color: var(--pro-carbongrey)
}

.course-filter.flex-container .flex-item .detailed-search-button.collapsed .icon-x24_pfeil_nach_oben {
  display: none
}

.course-filter.flex-container .flex-item .detailed-search-button.collapsed .icon-24x24_pfeil_nach_unten {
  display: block
}

.course-filter.flex-container .flex-item .search-button {
  background-color: #a2c91b;
  border: 1px solid #000;
  border-radius: 3px;
  color: #fff;
  font-size: 1.875rem;
  line-height: 1.825rem;
  margin-bottom: 1rem;
  padding: 10px 2.5rem;
  width: 100%
}

@media only screen and (max-width: 48.125em) {
  .course-filter.flex-container .flex-item .search-button {
    margin-top: 0
  }
}

.course-filter.flex-container .flex-item .search-button:focus {
  outline: none
}

.course-filter .course-filter-select .dropdown-special {
  border-radius: 3px;
  /* border-color: #ff0000; */
  padding: .33333333em 1.8em .5em 1em;
  margin-top: 0px
}

.course-filter .course-filter-select .dropdown-special :after {
  border-top: 6px dashed #000
}

.course-filter .course-filter-select label {
  color: #000
}

.course-filter .course-filter-select.disabled .dropdown-special {
  border-color: #d3d3d3
}

.course-filter .course-filter-select.disabled .dropdown-special :after {
  border-top: 6px dashed #d3d3d3
}

.course-filter .course-filter-select.disabled label {
  color: #d3d3d3
}

.course-filter-reset {
  margin-bottom: 2rem;
  height: auto
}

.detailed-search-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 2s cubic-bezier(0, 1, 0, 1)
}

.detailed-search-content.open {
  max-height: 1000px;
  transition: max-height 2s ease-out
}

.detailed-search-container {
  margin-top: 10px;
  margin-bottom: 10px
}

@media only screen and (max-width: 48.125em) {
  .detailed-search-container {
    margin-top: 0;
    margin-bottom: 0
  }
}

.bottom-border {
  border-bottom: 1px solid #d2d2bc
}

.mod.mod-gallery a,
.mod.mod-gallery picture>img {
  max-width: 100%
}

step-one .form-row .form-item-half.municipal-wrapper {
  margin-top: 1em
}

step-one .form-row .form-item-half.municipal-wrapper .municipal {
  margin-top: 1rem;
  font-size: 1.5rem;
  line-height: 1.875rem;
  color: #000
}

step-one .button-row submit-button .button-wrapper button[type=submit] {
  float: left;
  margin-left: unset
}

step-one submit-button.back-button {
  float: left;
  padding-top: 3rem
}

step-one submit-button.back-button .button-wrapper button[type=submit] {
  margin-left: 2.75rem
}

navigation {
  padding-bottom: 7rem
}

navigation .navigation-container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: stretch;
  width: 110%;
  margin-left: -5%;
  margin-right: -5%
}

navigation .navigation-container .navigation-step {
  flex-basis: 16%;
  flex-grow: 0
}

navigation .navigation-container .navigation-step .circle {
  color: #fff;
  background: #42aa32;
  border-radius: 50%;
  width: 1rem;
  height: 1rem;
  line-height: 1rem;
  margin-left: 37%;
  text-align: center;
  margin-bottom: .5rem;
  cursor: pointer
}

navigation .navigation-container .navigation-step .circle::after {
  content: " ";
  display: block;
  border-bottom: 2px solid #42aa32;
  top: .45rem;
  margin-left: 1rem;
  width: 14%;
  position: absolute
}

navigation .navigation-container .navigation-step .circle::before {
  content: " ";
  display: block;
  border-bottom: 2px solid #42aa32;
  top: .45rem;
  margin-left: -15%;
  width: 15%;
  position: absolute
}

navigation .navigation-container .navigation-step .circle i.icon-check {
  display: block;
  position: relative;
  width: 10px;
  height: 6px;
  background: rgba(0, 0, 0, 0);
  top: .3rem;
  left: .2rem;
  border: 2px solid #fff;
  border-top: none;
  border-right: none;
  transform: rotate(-45deg)
}

navigation .navigation-container .navigation-step label {
  display: table-cell;
  vertical-align: bottom;
  text-align: center;
  cursor: pointer;
  color: #42aa32
}

@media only screen and (max-width: 48.125em) {
  navigation .navigation-container .navigation-step label.mobile-hidden {
    display: none
  }
}

navigation .navigation-container .navigation-step label.desktop-hidden {
  display: none
}

@media only screen and (max-width: 48.125em) {
  navigation .navigation-container .navigation-step label.desktop-hidden {
    display: table-cell
  }
}

navigation .navigation-container .navigation-step:last-child .circle::after {
  border: 0 none rgba(0, 0, 0, 0)
}

navigation .navigation-container .navigation-step:first-child .circle::before {
  border: 0 none rgba(0, 0, 0, 0)
}

navigation .navigation-container .navigation-step.active .circle {
  background: #000
}

navigation .navigation-container .navigation-step.active .circle::after {
  border-color: #ccc
}

navigation .navigation-container .navigation-step.active .circle i.icon-check {
  display: none
}

navigation .navigation-container .navigation-step.active label {
  color: #000
}

navigation .navigation-container .navigation-step.active~.navigation-step .circle {
  background-color: #ccc
}

navigation .navigation-container .navigation-step.active~.navigation-step .circle::after {
  border-color: #ccc
}

navigation .navigation-container .navigation-step.active~.navigation-step .circle::before {
  border-color: #ccc
}

navigation .navigation-container .navigation-step.active~.navigation-step .circle i.icon-check {
  display: none
}

navigation .navigation-container .navigation-step.active~.navigation-step label {
  color: #ccc
}

navigation .navigation-container .navigation-step.result.active .circle {
  background: #42aa32
}

navigation .navigation-container .navigation-step.result.active .circle i.icon-check {
  display: block
}

navigation .navigation-container .navigation-step.result.active label {
  color: #42aa32
}

.title-calculation {
  padding-top: 2.5rem
}

.fe el-result {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start
}

.fe el-result .flex-child {
  width: 100%
}

.fe el-result .flex-child.section-on-gray {
  padding: 3rem;
  padding-bottom: 0;
  margin: -3rem;
  margin-right: -3rem;
  margin-bottom: 0;
  width: calc(100% + 6rem)
}

.fe el-result .flex-table {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start
}

.fe el-result .flex-table .flex-table-row {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
  width: 100%;
  padding-top: .5rem
}

.fe el-result .flex-table .flex-table-row.result {
  margin-top: auto;
  padding-top: 1.75rem;
  font-family: "NeueSansPro-Semibold", Verdana, Arial;
  font-size: 1.1875rem
}

.fe el-result .flex-table .flex-table-row.result .flex-row-indent {
  border-bottom: 2px solid #000
}

.fe el-result .flex-table .flex-table-row.result .flex-row-label {
  border-bottom: 2px solid #000
}

.fe el-result .flex-table .flex-table-row.result .flex-row-value {
  border-bottom: 2px solid #000
}

.fe el-result .flex-table .flex-table-row.hide-underline .flex-row-indent {
  border-bottom: unset
}

.fe el-result .flex-table .flex-table-row.hide-underline .flex-row-label {
  border-bottom: unset
}

.fe el-result .flex-table .flex-table-row.hide-underline .flex-row-value {
  border-bottom: unset
}

.fe el-result .flex-table .flex-table-row.hide-underline .info-box {
  border-bottom: unset
}

.fe el-result .flex-table .flex-table-row .flex-row-indent {
  width: 5%;
  padding-top: .25rem
}

.fe el-result .flex-table .flex-table-row .flex-row-indent-arrow {
  width: 5%
}

.fe el-result .flex-table .flex-table-row .flex-row-label {
  flex-basis: 55%;
  flex-grow: 2;
  padding-bottom: .5rem;
  border-bottom: 1px solid #000
}

.fe el-result .flex-table .flex-table-row .flex-row-value {
  padding-bottom: .5rem;
  border-bottom: 1px solid #000
}

.fe el-result .flex-table .flex-table-row .info-box {
  padding-bottom: .5rem;
  border-bottom: 1px solid #000;
  padding-right: .5rem
}

.fe el-result .flex-table .underline {
  border-bottom: 1px solid #000
}

.fe el-result .flex-table .underline .info-description {
  padding-bottom: .3rem;
  padding-left: 1.2rem
}

.fe el-result .flex-container {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: flex-start
}

.fe el-result .flex-container .half-width {
  width: 48.75%
}

@media only screen and (max-width: 48.125em) {
  .fe el-result .flex-container .half-width {
    width: 100%
  }
}

.fe el-result .flex-container .full-width {
  width: 100%
}

.fe el-result .flex-container .full-width.result-difference {
  background-color: #fff;
  width: 100%;
  padding: 3rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
  font-size: 1.75rem
}

.fe el-result .flex-container .full-width .entryBarrierText {
  margin-bottom: 3rem;
  display: block
}

autocomplete {
  display: block
}

autocomplete .autocomplete-container .autocomplete-wrapper {
  margin-bottom: 1rem;
  position: relative
}

autocomplete .autocomplete-container .autocomplete-wrapper .reset-button {
  cursor: pointer;
  color: var(--pro-petrol);
  display: inline;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  margin: 0;
  right: 2.1em
}

@media only screen and (max-width: 48.125em) {
  autocomplete .autocomplete-container .autocomplete-wrapper .reset-button {
    right: 2.25em
  }
}

autocomplete .autocomplete-container .autocomplete-wrapper .reset-button:after {
  font-family: "icomoon";
  font-size: 1.375em;
  font-weight: normal;
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%)
}

autocomplete .autocomplete-container .autocomplete-wrapper .autocomplete-suggestions-container {
  background-color: #fff;
  border: 1px solid gray;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, .1);
  color: #000;
  list-style-type: none;
  margin: 0;
  max-height: 10.5rem;
  max-width: 100%;
  min-width: 20rem;
  overflow: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  z-index: 2
}

@media only screen and (max-width: 48.125em) {
  autocomplete .autocomplete-container .autocomplete-wrapper .autocomplete-suggestions-container {
    max-width: 77vw;
    min-width: unset
  }
}

autocomplete .autocomplete-container .autocomplete-wrapper .autocomplete-suggestions-container ul.autocomplete-suggestions {
  margin: unset;
  padding: unset
}

autocomplete .autocomplete-container .autocomplete-wrapper .autocomplete-suggestions-container ul.autocomplete-suggestions li.autocomplete-suggestion {
  cursor: pointer;
  list-style: none;
  padding: 5px 10px;
  text-align: left
}

autocomplete .autocomplete-container .autocomplete-wrapper .autocomplete-suggestions-container ul.autocomplete-suggestions li.autocomplete-suggestion.selected,
autocomplete .autocomplete-container .autocomplete-wrapper .autocomplete-suggestions-container ul.autocomplete-suggestions li.autocomplete-suggestion:hover {
  background-color: #1e90ff
}

autocomplete .autocomplete-container .autocomplete-wrapper input[type=text] {
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 3px;
  color: #000;
  line-height: 1.5rem;
  margin-top: 0;
  min-height: 50px;
  padding-right: 2.3em
}

button-row .button-row {
  padding-top: 4rem
}

button-row .button-row link-button {
  display: inline;
  padding-right: 1rem
}

button-row .button-row link-button div.link-button {
  display: inline
}

button-row .button-row submit-button {
  display: inline
}

button-row .button-row submit-button div.button-wrapper {
  display: inline
}

.info-box {
  cursor: pointer;
  color: #000;
  padding-left: .5rem
}

link-button .link-button a {
  color: #000;
  border-bottom-color: #000
}

.spinner {
  background-image: url("../assets/img/spinner.gif");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 7rem;
  height: 7rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0
}

.spinner-container {
  width: 100%;
  height: 10rem;
  position: relative
}

number-input .form-item .asterisk:after {
  content: " *";
  color: var(--pro-petrol);
  font-weight: bold
}

number-input .form-item .error.asterisk:after {
  color: red
}

number-input .form-item input[type=number] {
  border: 1px solid #000;
  margin-top: .3rem;
  color: #000;
  border-color: #000;
  background-color: #fff;
  line-height: 1.5rem;
  min-height: 50px
}

number-input .form-item input[type=number]:focus {
  border-color: #000;
  background-color: #fff;
  color: #000
}

number-input .form-item input[type=number] .error {
  border-color: red
}

number-input .form-item input[type=number]::-webkit-inner-spin-button,
number-input .form-item input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0
}

number-input .form-item-half {
  margin-right: 1.5%;
  width: 48.5%;
  float: left
}

number-input .form-item-half.last {
  margin-right: 0;
  margin-left: 1.5%;
  width: 48.5%
}

number-input .form-item-one-quarter {
  margin-right: 1.5%;
  width: 23.5%;
  float: left
}

number-input .form-item-one-quarter.last {
  margin-right: 0;
  margin-left: 1.5%;
  width: 23.5%
}

number-input .form-item-three-quarter {
  margin-right: 1.5%;
  width: 73.5%;
  float: left
}

number-input .form-item-three-quarter.last {
  margin-right: 0;
  margin-left: 1.5%;
  width: 73.5%
}

@media only screen and (max-width: 48.125em) {
  number-input .form-item.mobile-one-whole {
    margin-right: 0;
    width: 100%;
    float: left
  }

  number-input .form-item.mobile-one-whole.last {
    margin-right: 0;
    margin-left: 0;
    width: 100%
  }
}

number-input .form-item input[type=number]+.info-description {
  color: #000
}

@media only screen and (min-width: 48.1875em) {
  number-input .form-item.desktop-no-margin-top {
    margin-top: 0 !important
  }
}

range-input .form-item .asterisk:after {
  content: " *";
  color: var(--pro-petrol);
  font-weight: bold
}

range-input .form-item .error.asterisk:after {
  color: red
}

range-input .form-item .range-value {
  margin-left: .2rem
}

range-input .form-item input[type=range] {
  -webkit-appearance: none;
  width: 100%
}

range-input .form-item input[type=range] .error {
  border-color: red
}

range-input .form-item input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 12px;
  cursor: pointer;
  border-radius: 10px;
  background: linear-gradient(to right, var(--pro-olivgreen), var(--pro-darkgreen))
}

range-input .form-item input[type=range]::-ms-track {
  width: 100%;
  height: 12px;
  cursor: pointer;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0);
  border-color: rgba(0, 0, 0, 0);
  color: rgba(0, 0, 0, 0)
}

range-input .form-item input[type=range]::-moz-range-track {
  width: 100%;
  height: 12px;
  cursor: pointer;
  border-radius: 10px;
  background: linear-gradient(to right, var(--pro-olivgreen), var(--pro-darkgreen))
}

range-input .form-item input[type=range]::-webkit-slider-thumb {
  height: 22px;
  width: 22px;
  border-radius: 50%;
  border: 2px solid var(--pro-text);
  background: var(--pro-hairline-light);
  cursor: pointer;
  margin-top: -4px;
  -webkit-appearance: none
}

range-input .form-item input[type=range]::-moz-range-thumb {
  height: 22px;
  width: 22px;
  border-radius: 50%;
  border: 2px solid var(--pro-text);
  background: var(--pro-hairline-light);
  cursor: pointer
}

range-input .form-item input[type=range]::-ms-thumb {
  height: 22px;
  width: 22px;
  border-radius: 50%;
  border: 2px solid var(--pro-text);
  background: var(--pro-hairline-light);
  cursor: pointer
}

range-input .form-item input[type=range]::-ms-fill-lower {
  background: linear-gradient(to right, var(--pro-olivgreen), var(--pro-darkgreen))
}

range-input .form-item input[type=range]::-ms-fill-upper {
  background: linear-gradient(to right, var(--pro-olivgreen), var(--pro-darkgreen))
}

range-input .form-item input[type=range]:focus {
  outline: none
}

range-input .form-item input[type=range]:focus::-webkit-slider-runnable-track {
  background: linear-gradient(to right, var(--pro-olivgreen), var(--pro-darkgreen))
}

range-input .form-item input[type=range]:focus::-ms-fill-lower {
  background: linear-gradient(to right, var(--pro-olivgreen), var(--pro-darkgreen))
}

range-input .form-item input[type=range]:focus::-ms-fill-upper {
  background: linear-gradient(to right, var(--pro-olivgreen), var(--pro-darkgreen))
}

@media only screen and (max-width: 48.125em) {
  range-input .form-item.mobile-one-whole {
    margin-right: 0;
    width: 100%;
    float: left
  }

  range-input .form-item.mobile-one-whole.last {
    margin-right: 0;
    margin-left: 0;
    width: 100%
  }
}

range-input .form-item input[type=range]+.info-description {
  color: var(--black)
}

@media only screen and (min-width: 48.1875em) {
  range-input .form-item.desktop-no-margin-top {
    margin-top: 0 !important
  }
}

section-on-gray .section-on-gray {
  background-color: #f4f4f4;
  padding: 2.75rem
}

section-on-gray .section-on-gray h4 {
  font-size: 1.25rem;
  padding-bottom: .25rem;
  color: #000
}

section-on-gray .section-on-gray p {
  padding-top: 1.5rem;
  padding-bottom: unset;
  color: 70707
}

section-on-gray .section-on-gray p a {
  color: 70707
}

.dropdown-special {
  border-radius: 3px;
  border-color: #000;
  margin-top: .3rem;
  margin-bottom: unset;
  padding-bottom: 1rem;
  display: block
}

.dropdown-special :after {
  border-top: 6px dashed #000
}

.dropdown-special.span-dropdown span {
  font-family: "NeueSansPro-Light", Verdana, Arial;
  font-size: 1.25rem;
  line-height: 1.5rem;
  display: block;
  color: #000;
  text-align: left;
  padding: 0;
  margin-top: 3px;
}

.dropdown-special.span-dropdown span.dropdown-disabled {
  color: #d3d3d3
}

select-control .info-box {
  cursor: pointer;
  color: #000;
  padding-left: .5rem
}

select-control .info-description {
  display: inline-block;
  margin-top: 1rem;
  color: #000
}

.button-wrapper.summary {
  z-index: 2;
  margin-top: 0;
  margin-bottom: 0
}

.loader {
  width: 48px;
  height: 48px;
  display: inline-block;
  position: relative;
  border: 3px solid;
  border-color: #d1d900 #0000 #007b48 #0000;
  border-radius: 50%;
  box-sizing: border-box;
  animation: 1s rotate linear infinite;
}

.loader:before,
.loader:after {
  content: '';
  top: 0;
  left: 0;
  position: absolute;
  border: 10px solid transparent;
  border-bottom-color: #007b48;
  transform: translate(-10px, 19px) rotate(-35deg);
}

.loader:after {
  border-color: #d1d900 #0000 #0000 #0000;
  transform: translate(32px, 3px) rotate(-35deg);
}

@keyframes rotate {
  100% {
    transform: rotate(360deg)
  }
}

/* registration form */
.birthday input {
  width: 100% !important;
}

.remarks textarea {
  padding: 10px 10px !important;
  border-radius: 5px !important;
}

.anrede-component {
  font-family: Arial, sans-serif;
  max-width: 500px;
  margin: 20px auto;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.anrede-component__title {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #333;
}

.anrede-component__required {
  color: #e74c3c;
}

.anrede-component__options {
  display: flex;
  gap: 20px;
  margin-top: 6px;
}

.anrede-component__option {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.anrede-component__input {
  display: none;
}

.anrede-component__radio {
  width: 20px;
  height: 20px;
  border: 2px solid #4a4a4a;
  border-radius: 50%;
  margin-right: 8px;
  position: relative;
  transition: all 0.2s ease;
}

.anrede-component__radio::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #000000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.2s ease;
}

.anrede-component__input:checked+.anrede-component__radio::after {
  transform: translate(-50%, -50%) scale(1);
}

.anrede-component__input:checked+.anrede-component__radio {
  border-color: #404040;
}

.anrede-component__label {
  font-size: 1.1875rem;
  color: #333;
  font-weight: 100 !important;
}

.anrede-component__option:hover .anrede-component__radio {
  border-color: #404040;
}

/* Responsive adjustments */
@media (max-width: 480px) {
  .anrede-component__options {
    flex-direction: column;
    gap: 10px;
  }
}

/* Custom checkbox container - scoped to avoid conflicts */
.custom-checkbox-container {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-family: Arial, sans-serif;
  margin: 8px 0;
}

/* Hide the default checkbox */
.custom-checkbox-container input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* Custom checkbox appearance */
.custom-checkbox-container .checkbox-visual {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
  margin-right: 8px;
  transition: all 0.2s ease;
  background-color: white;
}

/* Checkmark (hidden by default) */
.custom-checkbox-container .checkbox-visual::after {
  content: "";
  position: absolute;
  display: none;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Checked state */
.custom-checkbox-container input[type="checkbox"]:checked+.checkbox-visual {
  background-color: #000000;
  border-color: #000000;
}

.custom-checkbox-container input[type="checkbox"]:checked+.checkbox-visual::after {
  display: block;
}

/* Focus state */
.custom-checkbox-container input[type="checkbox"]:focus+.checkbox-visual {
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

/* Disabled state */
.custom-checkbox-container input[type="checkbox"]:disabled+.checkbox-visual {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  cursor: not-allowed;
}

.custom-checkbox-container input[type="checkbox"]:disabled:checked+.checkbox-visual {
  background-color: #6c757d;
  border-color: #6c757d;
}

/* Hover state */
.custom-checkbox-container:hover .checkbox-visual {
  border-color: #007bff;
}

.custom-checkbox-container:hover input[type="checkbox"]:disabled+.checkbox-visual {
  border-color: #dee2e6;
}

/* Label styling */
.custom-checkbox-container .checkbox-label {
  color: #333;
  font-size: 1.1875rem;
  font-weight: normal;
  font-family: "NeueSansPro-Light", Verdana, Arial, serif;
}

.dropdown-special {
  padding-bottom: 0 !important;
}

/* detail page */
.course-form .form-row .form-item input[type=number],
.course-form .form-row .form-item input[type=email],
.course-form .form-row .form-item input[type=date] {
  margin-top: .5em !important;
  color: #000 !important;
  border-color: #000 !important;
  background-color: #fff !important;
}

.course-form .form-row .form-item input[type=number],
.course-form .form-row .form-item input[type=email],
.course-form .form-row .form-item input[type=date] {
  line-height: 1.5rem !important;
}

/* filter */
.filter-selects-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Flex child items */
.filter-select-item {
  flex: 1 1 100%;
}

/* 2 items → 50% each */
.filter-select-item:nth-child(1):nth-last-child(2),
.filter-select-item:nth-child(2):nth-last-child(1) {
  flex-basis: calc(50% - 12px);
}

/* 3 items → 33% each */
.filter-select-item:nth-child(1):nth-last-child(3),
.filter-select-item:nth-child(2):nth-last-child(2),
.filter-select-item:nth-child(3):nth-last-child(1) {
  flex-basis: calc(33.33% - 12px);
}

@media (max-width: 600px) {
  .filter-select-item {
    flex-basis: 100%;
  }
}

.error {
  color: red !important;
  margin-top: 5px !important;
}

.form-item:has(.help-block.error) input[type=text] {
  border-color: red !important;
}

.form-item:has(.help-block.error) input[type=number] {
  border-color: red !important;
}

.form-item:has(.help-block.error) input[type=email] {
  border-color: red !important;
}

.form-item:has(.help-block.error) input[type=date] {
  border-color: red !important;
}

.form-item:has(.help-block.error) select {
  border-color: red !important;
}

.form-item:has(.help-block.error) label {
  color: red !important;
}

.form-item:has(.help-block.error) span {
  color: red !important;
  border-color: red !important;
}
