@charset "utf-8";

@font-face {
  font-family: 'TextaThin';
  src: url('fonts/otf/TextaThin.otf')  format('otf'),
	   url('fonts/ttf/TextaThin.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaThinItalic';
  src: url('fonts/otf/TextaThinItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaThinItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaLight';
  src: url('fonts/otf/TextaLight.otf')  format('otf'),
	   url('fonts/ttf/TextaLight.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaLightItalic';
  src: url('fonts/otf/TextaLightItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaLightItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaRegular';
  src: url('fonts/otf/TextaRegular.otf')  format('otf'),
	   url('fonts/ttf/TextaRegular.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaItalic';
  src: url('fonts/otf/TextaItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaMedium';
  src: url('fonts/otf/TextaMedium.otf')  format('otf'),
	   url('fonts/ttf/TextaMedium.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaMediumItalic';
  src: url('fonts/otf/TextaMediumItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaMediumItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBook';
  src: url('fonts/otf/TextaBook.otf')  format('otf'),
	   url('fonts/ttf/TextaBook.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBookItalic';
  src: url('fonts/otf/TextaBookItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaBookItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBold';
  src: url('fonts/otf/TextaBold.otf')  format('otf'),
	   url('fonts/ttf/TextaBold.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBoldItalic';
  src: url('fonts/otf/TextaBoldItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaBoldItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBlack';
  src: url('fonts/otf/TextaBlack.otf')  format('otf'),
	   url('fonts/ttf/TextaBlack.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBlackItalic';
  src: url('fonts/otf/TextaBlackItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaBlackItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaHeavy';
  src: url('fonts/otf/TextaHeavy.otf')  format('otf'),
	   url('fonts/ttf/TextaHeavy.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaHeavyItalic';
  src: url('fonts/otf/TextaHeavyItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaHeavyItalic.ttf')  format('truetype');
}

@font-face {
  font-family: 'TextaThin';
  src: url('fonts/otf/TextaThin.otf')  format('otf'),
	   url('fonts/ttf/TextaThin.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaThinItalic';
  src: url('fonts/otf/TextaThinItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaThinItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaLight';
  src: url('fonts/otf/TextaLight.otf')  format('otf'),
	   url('fonts/ttf/TextaLight.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaLightItalic';
  src: url('fonts/otf/TextaLightItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaLightItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaRegular';
  src: url('fonts/otf/TextaRegular.otf')  format('otf'),
	   url('fonts/ttf/TextaRegular.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaItalic';
  src: url('fonts/otf/TextaItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaMedium';
  src: url('fonts/otf/TextaMedium.otf')  format('otf'),
	   url('fonts/ttf/TextaMedium.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaMediumItalic';
  src: url('fonts/otf/TextaMediumItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaMediumItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBook';
  src: url('fonts/otf/TextaBook.otf')  format('otf'),
	   url('fonts/ttf/TextaBook.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBookItalic';
  src: url('fonts/otf/TextaBookItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaBookItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBold';
  src: url('fonts/otf/TextaBold.otf')  format('otf'),
	   url('fonts/ttf/TextaBold.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBoldItalic';
  src: url('fonts/otf/TextaBoldItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaBoldItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBlack';
  src: url('fonts/otf/TextaBlack.otf')  format('otf'),
	   url('fonts/ttf/TextaBlack.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaBlackItalic';
  src: url('fonts/otf/TextaBlackItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaBlackItalic.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaHeavy';
  src: url('fonts/otf/TextaHeavy.otf')  format('otf'),
	   url('fonts/ttf/TextaHeavy.ttf')  format('truetype');
}
@font-face {
  font-family: 'TextaHeavyItalic';
  src: url('fonts/otf/TextaHeavyItalic.otf')  format('otf'),
	   url('fonts/ttf/TextaHeavyItalic.ttf')  format('truetype');
}

.TextaThin { font-family: 'TextaThin'; }
.TextaThinItalic { font-family: 'TextaThinItalic'; }
.TextaLight { font-family: 'TextaLight'; }
.TextaLightItalic { font-family: 'TextaLightItalic'; }
.TextaRegular { font-family: 'TextaRegular'; }
.TextaItalic { font-family: 'TextaItalic'; }
.TextaMedium { font-family: 'TextaMedium'; }
.TextaMediumItalic { font-family: 'TextaMediumItalic'; }
.TextaBook { font-family: 'TextaBook'; }
.TextaBookItalic { font-family: 'TextaBookItalic'; }
.TextaBold { font-family: 'TextaBold'; }
.TextaBoldItalic { font-family: 'TextaBoldItalic'; }
.TextaBlack { font-family: 'TextaBlack'; }
.TextaBlackItalic { font-family: 'TextaBlackItalic'; }
.TextaHeavy { font-family: 'TextaHeavy'; }
.TextaHeavyItalic { font-family: 'TextaHeavyItalic'; }

html { height: 100%; min-height: 100%; }
body { height: 100%; min-height: 100%; overflow-x: hidden; font-weight: 300; font-size: 18px; line-height: 1.44em; background: #ffffff; color: #2e2e2e; text-align: left; font-family: 'Source Sans Pro', sans-serif; }
body.ov_hidden { overflow: hidden; }
@media only screen and (max-width: 1500px) {
	body { }
}
@media only screen and (max-width: 1400px) {
	body { }
}
@media only screen and (max-width: 1300px) {
	body { }
}
@media only screen and (max-width: 1200px) {
	body { }
}
@media only screen and (max-width: 1100px) {
	body { }
}
@media only screen and (max-width: 1000px) {
	body { }
}
@media only screen and (max-width: 900px) {
	body { font-size: 17px; }
}
@media only screen and (max-width: 767px) {
	body { font-size: 16px; }
}

h1 { margin: 0 0 0.5em 0; font-size: 3.33em; line-height: 1em; font-weight: normal; font-family: 'TextaMedium'; }
h2 { margin: 0 0 0.5em 0; font-size: 2.22em; line-height: 1.05em; font-weight: normal; font-family: 'TextaMedium'; }
h3 { margin: 0 0 0.5em 0; font-size: 1.66em; line-height: 1.2em; font-weight: normal; font-family: 'TextaMedium'; }
h4 { margin: 0 0 0.5em 0; font-size: 1.33em; line-height: 1.24em; font-weight: normal; font-family: 'TextaBold'; }
h5 { margin: 0 0 0em 0; font-size: 1em; font-weight: 600; }
h6 { }

h4.underline { margin: 0 0 1.2em 0; padding: 1em 0 0.4em 0; border-bottom: solid 1px #000000; }

h2.text_56 { font-size: 1.86em; }

h3.mb-1 { margin-bottom: 1.5em!important; }
h4.mb-1 { margin-bottom: 1.5em!important; }

.text_20 { font-size: 1.11em; }
.text_24 { font-size: 1.33em; line-height: 1.2em; }
.text_30 { font-size: 1.66em; line-height: 1.2em; }
.text_40 { font-size: 2.22em; line-height: 1.2em; }

.text_big_38 { font-size: 1.26em; line-height: 1.26em; }
.text_small_22 { font-size: 0.73em; }

a { text-decoration: none; color: #009E59; font-family: 'TextaHeavy'; }
a:hover { text-decoration: underline; color: #018B4F; }
a.text-primary:hover { color: #009e59!important; }
p { margin-bottom: 1.44em; }
div { position: relative; }
img { -webkit-backface-visibility: hidden; -webkit-transform: translateZ(0); backface-visibility: hidden; transform: translateZ(0); }

ul { margin-bottom: 1.44em; padding-left: 1.3em; }
ul li { margin-bottom: 0; }

ul.checklist { padding-left: 1.4em; }
ul.checklist li { list-style: none; }
ul.checklist li .icon { width: 1em; position: absolute; left: -1.3em; top: -0.1em }

ol { margin-bottom: 1em; }
ol li {}

b, strong { font-weight: 600; }

dl.row { margin-right: 0; margin-left: 0; }
dd { margin-bottom: 0; }

table { width: 100%; }
table th { border-bottom: solid 1px #303030; padding: 1em 0; font-size: 1.66em; font-family: 'TextaMedium'; font-weight: normal; }
table td { border-bottom: solid 1px #303030; padding: 1em 0; }

table.head_small th { font-size: 0.77em; font-family: 'TextaHeavy'; text-transform: uppercase; }

.accordion, figure, .blockquote, .btn { margin-bottom: 1em; }

.blockquote { font-size: 1em; }
.blockquote p {}
.blockquote footer { padding: 0.5em 0 0 0; }

.quote { position: absolute; left: -11em; bottom: 2em; text-align: right; }

/* Colors bootstrap classes */
.text-primary { color: #009e59!important; }
.text-secondary { color: #2E2E2E!important; }
.text-light { color: #80cfac!important; }

.bg-primary { background-color: #009e59!important; }
.bg-secondary { background-color: #d4d4d4!important; }
.bg-light { background-color: #f5f5f5!important; }
.bg-dark { background-color: #727272!important; }

/* Colors custom classes */
.bg-green-medium { background-color: #80cfac!important; }
.bg-green-light { background-color: #ccecde!important; }

/* Button bootstrap classes */
.btn { border-radius: 0; font-size: 1em; text-transform: uppercase; border: 2px solid transparent; padding: .5em 1.66em; }
.btn:disabled { opacity: 0.5; }

.btn-round { padding: .2em 1.66em; border-radius: 1em; }

.btn-primary { background: #079657; border-color: #079657; }
.btn-primary:hover { background-color: #018B4F; border-color: #018B4F; }

.btn-primary.focus, .btn-primary:focus { box-shadow: none; background-color: #018B4F!important; color: #018B4F!important; }
.btn-primary.active, .btn-primary:active { box-shadow: none!important; background-color: #018B4F!important; border-color: #018B4F!important; }

.btn-primary.disabled, .btn-primary:disabled { background-color: #f7e8ac; border-color: #f7e8ac; pointer-events: none; }
.btn-primary.disabled:hover, .btn-primary:disabled:hover { color: #756419!important; background-color: #f7e8ac; border-color: #f7e8ac; }

.btn-outline-primary { color: #756419; border-color: #756419; }
.btn-outline-primary:hover { background-color: #756419; border-color: #756419; color: #f7e8ac!important; }

.btn-outline-primary.focus, .btn-outline-primary:focus { box-shadow: none; background-color: #756419!important; color: #f7e8ac!important; }
.btn-outline-primary.active, .btn-outline-primary:active { box-shadow: none!important; background-color: #756419!important; border-color: #756419!important; color: #f7e8ac!important; }

.btn-secondary { background: transparent; border-color: #009e59; color: #009e59!important; }
.btn-secondary:hover { background-color: #009e59; border-color: #009e59; color: #ffffff!important; }

.btn-secondary.focus, .btn-secondary:focus { box-shadow: none; background-color: #009e59!important; color: #ffffff!important; }
.btn-secondary.active, .btn-secondary:active { box-shadow: none!important; background-color: #009e59!important; border-color: #009e59!important; color: #ffffff!important; }

.btn-outline-secondary { color: #756419; border-color: #756419; }
.btn-outline-secondary:hover { background-color: #756419; border-color: #756419; color: #f7e8ac!important; }

.btn-outline-secondary.focus, .btn-outline-secondary:focus { box-shadow: none; background-color: #756419!important; color: #f7e8ac!important; }
.btn-outline-secondary.active, .btn-outline-secondary:active { box-shadow: none!important; background-color: #756419!important; border-color: #756419!important; color: #f7e8ac!important; }

.btn-light { background: #E8E8E8; border-color: #E8E8E8; color: #727272!important; }
.btn-light:hover { background-color: #009E59; border-color: #009E59; color: #ffffff!important; }

.btn-light.focus, .btn-light:focus { box-shadow: none; background-color: #009E59!important; color: #ffffff!important; }
.btn-light.active, .btn-light:active { box-shadow: none!important; background-color: #009E59!important; border-color: #009E59!important; color: #ffffff!important; }

.fill_green { fill: #009E59; }
.btn:hover .fill_green { fill: #ffffff; }

.fill_grey { fill: #727272; transition: 200ms; }
.btn:hover .fill_grey { fill: #ffffff; }

.btn-round .icon { width: 1em; margin-right: 0.2em; }
.btn .icon_arrow { width: 1.9em; margin-right: 0.4em; top: -1px; position: relative; }

/* Form bootstrap classes */
.formcontainer { margin-bottom: 3em; }
.form-group { margin-bottom: 2.6em; }
.form-floating { margin-bottom: 2.77em; }
.form-floating.padding_right { padding-right: 2em; }
.form-control { background-color: #E8E8E8; border: none; border-radius: 0; font-size: 1.11em; padding: 1.4em 1.5em; color: #2E2E2E; font-size: 600; border-bottom: solid 1px #2E2E2E; }
.form-control:focus { color: #2E2E2E; }
.form-select { border: none; border-radius: 0; background-color: #F8F8F8; border-bottom: solid 1px #2E2E2E; font-size: 1.11em; }
.bg-primary .form-control { background-color: #e6e6e6; }
@media only screen and (max-width: 767px) {
	.form-floating.padding_right_mobile { padding-right: 2em; }
}

input.rangeinput { font-size: 1.33em; line-height: 1.2em; text-align: right; font-family: 'TextaBold'; padding: 0 0.2em 0 0; border: none; background: transparent; }

.form-floating>label { font-size: 1.11em; padding: 1rem 1.5em; }
.form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label {
opacity: 1; transform: scale(.8) translateY(-3.2rem) translateX(-1.5em); }

.form-floating>.form-control { padding: 1.4em 1.5em; }
.form-floating>.form-control:focus, .form-floating>.form-control:not(:placeholder-shown) { padding-top: 1.4em; padding-bottom: 1.4em; background-color: #F8F8F8; }

.form-floating>.form-select { padding-top: 0.8rem; padding-bottom: .625rem; padding-left: 1.5em; }

.form-range { position: relative; }

.custom-control { position: relative; min-height: 1.5rem; padding-left: 2rem; }
.custom-control-label { margin-bottom: .5rem; }
.custom-control-inline { margin-right: 1.5em; }
.custom-control-label::before { width: 1.1em; height: 1.1em; top: 0.15em; left: -1.6em; border: solid 2px #2e2e2e; background-color: #ffffff; }
.custom-control-input:checked~.custom-control-label::before { background-color: #009e59; border-color: #ffffff; box-shadow: 0 0 3px #009e59; }

.custom-radio .custom-control-input:checked~.custom-control-label::after { background-image: none; }
.custom-checkbox .custom-control-input:checked~.custom-control-label::after { background-image: none; }

.custom-file-label { border-radius: 0; border: none; background-color: #e6e6e6; }
.custom-file-label:after { content: 'durchsuchen'; font-weight: 700; background: #80cfac; color: #ffffff; border-radius: 0; }

input, textarea, select { outline: 0 none; }

.range_container {}
.range_container .line { position: absolute; left: 0; top: 10px; height: 6px; border-radius: 3px; }
.range_container .line_1 { right: 0; background: #D4D4D4; }
.range_container .line_2 { max-width: 100%!important; }

/*input[type=range]::-webkit-slider-thumb {
  border: 1px solid #009e59;
  background: #009e59;
}
input[type=range]::-moz-range-thumb {
  border: 1px solid #009e59;
  background: #009e59;
}
input[type=range]::-ms-thumb {
  border: 1px solid #009e59;
  background: #009e59;
}*/

input[type=range] { background-color: transparent; -webkit-appearance: none; }
input[type=range]:focus { outline: none; }
input[type=range]::-webkit-slider-runnable-track { background: transparent; border: 0; }
input[type=range]::-webkit-slider-thumb { width: 20px; height: 20px; background: #009e59; }
input[type=range]:active::-webkit-slider-thumb { background: #009e59; }
input[type=range]:focus::-webkit-slider-runnable-track { background: transparent; }

input[type=range]::-moz-range-track { background: transparent; border: 0; cursor: pointer; }
input[type=range]::-moz-range-thumb { width: 20px; height: 20px; background: #009e59; cursor: pointer; }
input[type=range]:active::-moz-range-thumb { background: #009e59; }

.hypothek_schwankungen input[type=range]::-ms-track {
  background: transparent;
  border-color: transparent;
  border-width: 16.6px 0;
  color: transparent; }
input[type=range]::-ms-fill-lower { background: transparent; border: 0; }
input[type=range]::-ms-fill-upper { background: transparent; border: 0; }
input[type=range]::-ms-thumb { width: 20px; height: 20px; background: #009e59; cursor: pointer; margin-top: 7px; }
input[type=range]:focus::-ms-fill-lower { background: transparent; }
input[type=range]:focus::-ms-fill-upper { background: transparent; }
/*TODO: Use one of the selectors from https://stackoverflow.com/a/20541859/7077589 and figure out
how to remove the virtical space around the range input in IE*/
@supports (-ms-ime-align:auto) {
  /* Pre-Chromium Edge only styles, selector taken from hhttps://stackoverflow.com/a/32202953/7077589 */
  input[type=range] {
    margin: 0;
    /*Edge starts the margin from the thumb, not the track as other browsers do*/
  }
}

@media all and (-ms-high-contrast:none)
 {
	 .form-control, .hypothekenrechner_form .form-control { padding: .375rem .75rem; }
	 .custom-range { height: auto!important; }
     *::-ms-backdrop, .form-control { padding: .375rem .75rem!important; } /* IE11 */
	 *::-ms-backdrop, .hypothekenrechner_form .form-control { padding: .375rem .75rem!important; } /* IE11 */
	 *::-ms-backdrop, .custom-range { height: auto!important; }
 }

/* Custom */
.overlay { position: absolute; left: 0; top: 0; right: 0; bottom: 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.overlay div { width: 100%; }
.cover { background-position: center; background-repeat: no-repeat; background-size: cover; }
.border_radius_50 { border-radius: 50%; }

.width_full { }
.width_basic { max-width: 1300px; padding: 0 40px; }
.width_1200 { max-width: 1200px; padding: 0 40px; }
.width_840 { max-width: 840px; }
.width_370 { max-width: 370px; }
.height_470 { height: 15.66em; }
.width_90 { width: 90px; display: inline-block; }

@media only screen and (max-width: 1100px) {
	.width_basic { max-width: 1500px; padding: 0 30px; }
	.width_1200 { max-width: 1200px; padding: 0 30px; }
}

header { z-index: 10; position: relative; background: #f5f5f5; padding: 30px 0 0 0; box-shadow: 0 0 1em rgba(0,0,0,0.2); }
header .width_basic { position: static; }
@media only screen and (max-width: 1870px) {
	header .width_basic.container_1 { max-width: 100%; }
}

header .logo { width: 175px; float: left; }
footer .logo { margin: 0 0 50px; float: none; width: 150px; }
.logo img { width: 100%; }
@media only screen and (max-width: 1950px) {
	header .logo {  }
}
@media only screen and (max-width: 1100px) {
	header .logo { width: 150px; float: none; padding-bottom: 1em; }
}

.loginbereich { font-size: 0.66em; }
.loginbereich .icon { width: 1.4em; position: relative; top: -0.2em; }
.loginbereich a { color: #009e59; }

.kontakt_fixed { background: #f7e8ac; color: #756419; border-left: solid 0.5em #756419; position: fixed; top: 50%; right: -18em; margin-top: -7em; padding: 1em 2em; z-index: 100; font-size: 0.8em; line-height: 1.2em; width: 18em; box-shadow: 2em 0 2em rgba(0,0,0,0.2); transition: 300ms; }
.kontakt_fixed a.btn_kontakt { display: block; background: #756419; color: #f7e8ac; margin: 0 0 0.5em 0; padding: 0.4em 0.4em 0.4em 2.8em; position: relative; }
.kontakt_fixed a.btn_kontakt .icon { position: absolute; left: 0.4em; top: 0.6em; width: 2em; }
.kontakt_fixed.active { right: 0; }
.kontakt_fixed_button { position: absolute; top: 1em; left: -5.5em; border-left: solid 0.5em #756419; background: #f7e8ac; width: 5em; padding: 0.8em 1em; cursor: pointer; transition: 200ms; }
.kontakt_fixed_button .icon { width: 2.5em; }
.kontakt_fixed .custom_close { background: #756419; color: #f7e8ac; opacity: 1.0; }

.kontakt_fixed.active .kontakt_fixed_button { left: 0; width: 0; padding: 0.8em 0; overflow: hidden; opacity: 0.0; }

.mainnav { float: right; font-size: 1.11em; }
.mainnav ul { margin: 0; padding: 2.3em 0 0 0;  }
.mainnav ul li { list-style: none; float: left; margin-bottom: 0em; margin: 0 1em; }
.mainnav ul li a { display: block; color: #2E2E2E; padding: 0 0 1em 0; position: relative; border-bottom: solid 6px transparent; /*border-left: solid 1px #ffffff; border-right: solid 1px #ffffff;*/ font-family: 'Source Sans Pro', sans-serif; font-weight: 600; }
.mainnav ul li:hover a { border-bottom: solid 6px #009E59; color: #009E59; text-decoration: none; }
.mainnav ul li.active a { border-bottom: solid 6px #009E59; color: #009E59; }
/*.mainnav ul li a:hover { background-color: #80cfac; color: #ffffff; }*/

.mainnav.login  { float: right; }
.mainnav.login ul li { margin-right: 0; }
.mainnav.login ul li a { color: #009E59; padding-left: 0; font-weight: 400; }
.mainnav.login ul li a.icon_link { padding-left: 1.8em; }
.mainnav.login ul li:last-child { margin: 0 0 0 0.5em; }
.mainnav.login ul li:last-child a { }
.mainnav.login ul li:hover a { border-bottom: solid 6px transparent; }
.mainnav.login ul li.active a { border-bottom: solid 6px transparent; }
.mainnav.login ul li a .icon { position: absolute; width: 1.8em; top: -0.2em; left: 0; }

@media only screen and (max-width: 1100px) {
	.mainnav { float: none; display: none; }
	.mainnav ul { float: none; padding: 1em 0 0 0; }
	.mainnav ul li { float: none; margin: 0 0 1em 0; }
	.mainnav ul li a { display: inline-block; padding: 0 0 0.2em 0; }
	
	.mainnav.login  { float: none; }
	.mainnav.login ul li { float: left; }
	.mainnav.login ul li a {  }
}

main { z-index: 1; position: relative; padding: 5em 0 0 0; }
section.padding { padding: 5em 0; }
section.padding_top { padding-top: 5em; }
.padding_top_60 { padding-top: 3.33em; }
@media only screen and (max-width: 767px) {
	main { z-index: 1; position: relative; padding: 2em 0 0 0; }
}

.icon_home { width: 6em; }

.hypothekenrechner_slider { padding: 4em 0 0 0; }
.hypothekenrechner_slider .flex-viewport { padding: 0 0 1em 0; }
.hypothekenrechner_slider .overlay { bottom: 5.8em; }
.hypothekenrechner { padding: 2em; }
.hypothekenrechner .icon { width: 6.5em; margin-bottom: 0.5em; }
.hypothekenrechner .prozent { font-size: 3.33em; line-height: 1em; }

.hypothekenrechner_slider .bg { background: #ffffff; padding: 3em 3em 1.2em 3em; box-shadow: 0 0 10px rgba(0,0,0,0.2); }

.filternav {}
.filternav ul { padding: 0; }
.filternav ul li { list-style: none; width: 20%; float: left; margin: 0 0 2em 0; }
.filternav ul li a { display: block; transition: 300ms; padding: 2em 0.5em 1.33em; background: #f5f5f5; border-right: 1px solid #ffffff; }
.filternav ul li.active a { background: #009e59; color: #ffffff; }

.filternav ul li a .icon { margin-bottom: 1em; width: 4.44em; height: 4.44em; padding: 0; transition: 300ms; }
.filternav ul li.active a .icon { }
.filternav ul li a:hover { text-decoration: none; background: #009e59; color: #ffffff; }
.filternav ul li a:hover {  }	

.filternav ul li a span { display: block; }

.fill { fill: #009E59; }
.display_none { display: none; }
.display_inline { display: inline; }

.filternav ul li a:hover .fill { fill:#ffffff; }
.filternav ul li.active a .fill { fill:#ffffff; }

@media only screen and (max-width: 767px) {
	.filternav ul li a span.text-uppercase { display: none; }
	.filternav ul li a .icon { margin-bottom: 1em; width: 80%; padding: 0; }
	.filternav ul li a { padding: 1em 0.5em 0.5em; }
}

.next_steps_nav {}
.next_steps_nav ul { padding: 0; }
.next_steps_nav ul li { list-style: none; width: 33.3%; float: left; margin: 0 0 2em 0; }
.next_steps_nav ul li a { display: block; transition: 300ms; padding: 5em 0.5em 2em; background: #f5f5f5; border-right: 4px solid #ffffff; }
.next_steps_nav ul li.active a { background: #009e59; color: #ffffff; }

.next_steps_nav ul li a .icon { margin-bottom: 4em; width: 5em; height: 5em; padding: 0; transition: 300ms; }
.next_steps_nav ul li.active a .icon { }
.next_steps_nav ul li a:hover { text-decoration: none; background: #009e59; color: #ffffff; }
.next_steps_nav ul li a:hover {  }

.next_steps_nav ul li a span { display: block; }

.next_steps_nav ul li a:hover .fill { fill:#ffffff; }
.next_steps_nav ul li.active a .fill { fill:#ffffff; }

.in3Schritten_container {}
.in3Schritten_container b { display: block; }
.in3Schritten_container .icon { width: 6em; }
.in3Schritten_container .zahl { width: 4em; height: 4em; border-radius: 50%; margin: 0 auto; padding-top: 0.3em; border: solid 1em #009e59; }
.in3Schritten_container .overlay { left: 2em; right: 2em; background: rgba(255,255,255,0.9); opacity: 0.0; transition: 300ms; }
.in3Schritten_container .icon_container:hover .overlay { opacity: 1.0; }
.in3Schritten_container .line { position: absolute; left: 7.7em; right: 7.7em; bottom: 2em; height: 1px; }
@media only screen and (max-width: 767px) {
	.in3Schritten_container .line { display: none; }
}

/* ------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------------ */

.berechnungsverlauf { }
.berechnungsverlauf .line { height: 2px; margin-left: 5.55%; margin-right: 5.55%; background: #cccccc; }
.berechnungsverlauf .step { width: 11.11%; float: left; text-align: center; }
.berechnungsverlauf .step a {  display: block; color: #c0e4d7; }
.berechnungsverlauf .step p { font-size: 0.88em; line-height: 1.2em; margin-bottom: 0; opacity: 0.0; }
.berechnungsverlauf .punkt { width: 2.77em; height: 2.77em; background: #cccccc; color: #ffffff; border-radius: 50%; margin: -1.5em auto 0.5em; }
.berechnungsverlauf .punkt .zahl { position: absolute; left: 0; top: 0; right: 0; bottom: 0; padding-top: 0.2em; transition: 150ms; font-size: 1.66em; line-height: 1.2em; font-weight: normal; font-family: 'TextaMedium'; }
.berechnungsverlauf .punkt .icon_check { opacity: 0; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: 0 auto; transition: 150ms; }

.berechnungsverlauf .step.active a { color: #009e59; }
.berechnungsverlauf .step.active p { opacity: 1.0; }
.berechnungsverlauf .step.active .punkt { background: #009e59; }
.berechnungsverlauf .step:hover { }

.berechnungsverlauf .punkt.punkt_ok .zahl { opacity: 0; }
.berechnungsverlauf .punkt.punkt_ok .icon_check { opacity: 1; }

.berechnungsverlauf .step:hover .punkt.punkt_ok .zahl { opacity: 1; }
.berechnungsverlauf .step:hover .punkt.punkt_ok .icon_check { opacity: 0; }

.vergleichstabelle_neu { font-size: 0.86em; }
.vergleichstabelle_neu .span33 { width: 33.3%; float: left; }
.vergleichstabelle_neu .box { background-color: #ccecde; color: #009e59; border: solid 1px #ffffff; padding: 1.5em; z-index: 1; transition: 300ms; }
.vergleichstabelle_neu .box .btn-primary { background-color: #009e59; border-color: #009e59; color: #ffffff!important; }
.vergleichstabelle_neu .box .icon_title { width: 6em; margin-bottom: 0.5em; }
.vergleichstabelle_neu .box h3 { font-weight: 300; margin-bottom: 0.7em; }
.vergleichstabelle_neu .box ul { padding-left: 1.2em; }
.vergleichstabelle_neu .box ul li { }
.vergleichstabelle_neu .box ul li.inactive { opacity: 0.5; }
.vergleichstabelle_neu .box hr { border-top: solid 1px #009e59; }
.vergleichstabelle_neu .box .icon_zeitaufwand { width: 1.4em; position: relative; top: -0.15em; }
.vergleichstabelle_neu .box .zeitaufwand { font-size: 0.8em; }
.vergleichstabelle_neu .custom_control_button { background-color: #80cfac; color: #ffffff; padding: .375rem .75rem; }
.vergleichstabelle_neu .custom_control_button .custom-control-label::before { top: 0.2em; }

.vergleichstabelle_neu .box.active { background-color: #009e59; color: #ffffff; border: solid 0.4em #ffffff; margin-top: -0.4em; -webkit-transform: scale(1.06, 1.06); transform: scale(1.06, 1.06); z-index: 10; box-shadow: 0 0 5em rgba(0,0,0,0.3); }
.vergleichstabelle_neu .box.active .btn-primary { background: rgba(255,255,255,1); border-color: rgba(255,255,255,1); color: #009e59!important; }
.vergleichstabelle_neu .box.active h3 { color: #ffffff; font-weight: 700; }
.vergleichstabelle_neu .box.active hr { border-top: solid 1px #ffffff; }

.vergleichstabelle_neu:hover .box.active { -webkit-transform: scale(1, 1); transform: scale(1, 1); z-index: 1; box-shadow: 0 0 0 rgba(0,0,0,0.3); }
.vergleichstabelle_neu:hover .box:hover { -webkit-transform: scale(1.06, 1.06); transform: scale(1.06, 1.06); z-index: 10; box-shadow: 0 0 5em rgba(0,0,0,0.3); }

.vergleichstabelle_neu .custom-control-label::before { border: solid 0.2em #ffffff; background-color: #ffffff; }
.vergleichstabelle_neu .custom-control-input:checked~.custom-control-label::before { background-color: #009e59; border-color: #ffffff; }

.vergleichstabelle_cards { padding: 0; margin: 0; }
.vergleichstabelle_cards .col { padding: 0!important; }
.vergleichstabelle_cards .card { box-shadow: none; border: none; border-left: solid 2px #ffffff; border-right: solid 2px #ffffff; background-color: #f5f5f5; transition: 300ms; cursor: pointer; }
.vergleichstabelle_cards .card .card-body { padding: 1.5em 1.5em 0 1.5em; }
.vergleichstabelle_cards .card .card-footer { padding: 1em 1.5em 1em 1.5em; background: #e8e8e8; transition: 300ms; font-family: 'TextaHeavy'; color: #727272; }
.vergleichstabelle_cards .card .icon_title { width: 7.77em; margin-bottom: 1.2em; }
.vergleichstabelle_cards .card h4 { margin-bottom: 0.7em; color: #009e59; transition: 300ms; font-family: 'TextaHeavy'; }
.vergleichstabelle_cards .card ul { padding-left: 1.2em; }
.vergleichstabelle_cards .card ul li.inactive { opacity: 0.5; }
.vergleichstabelle_cards .card hr { height: 2px; background-color: #009e59; opacity: 1; transition: 300ms; }

.vergleichstabelle_cards .custom-control-label::before { border: solid 0.2em #ffffff; background-color: #ffffff; }
.vergleichstabelle_cards .custom-control-input:checked~.custom-control-label::before { top: 0.35em; left: -1.3em; background-color: #009e59; border-color: #ffffff; }

.vergleichstabelle_cards .card.active { background-color: #009e59; color: #ffffff; }
.vergleichstabelle_cards .card.active h4 { color: #ffffff; }
.vergleichstabelle_cards .card.active hr { background-color: #ffffff; }
.vergleichstabelle_cards .card.active .card-footer { background: #018b4f; color: #ffffff; }

.vergleichstabelle_cards:hover .card.active { background-color: #f5f5f5; color: #2e2e2e; }
.vergleichstabelle_cards:hover .card.active h4 { color: #009e59; }
.vergleichstabelle_cards:hover .card.active hr { background-color: #009e59; }
.vergleichstabelle_cards:hover .card.active .card-footer { background: #e8e8e8; color: #727272; }

.vergleichstabelle_cards:hover .card.active:hover { background-color: #009e59; color: #ffffff; }
.vergleichstabelle_cards:hover .card.active:hover h4 { color: #ffffff; }
.vergleichstabelle_cards:hover .card.active:hover hr { background-color: #ffffff; }
.vergleichstabelle_cards:hover .card.active:hover .card-footer { background: #018b4f; color: #ffffff; }

.vergleichstabelle_cards:hover .card:hover { background-color: #009e59; color: #ffffff; }
.vergleichstabelle_cards:hover .card:hover h4 { color: #ffffff; }
.vergleichstabelle_cards:hover .card:hover hr { background-color: #ffffff; }
.vergleichstabelle_cards:hover .card:hover .card-footer { background: #018b4f; color: #ffffff; }

.zinserwartung { }
.zinserwartung_mannli_container { background: #d4d4d4; border-bottom: solid 0.33em #d4d4d4; }
.zinserwartung_mannli_container .mannli { width: 10%; float: left; margin-top: -2px; }
.zinserwartung .balken { position: absolute; top: 0; bottom: -0.33em; left: 0; transition: 300ms; }
.zinserwartung .balken_1 { background: #727272; }
.zinserwartung .balken_2 { background: #009e59; }
.zinserwartung_text_container { padding: 1em 0.4em; }
.zinserwartung_text_container .text { float: left; text-align: center; }
.zinserwartung_text_container .prozent { width: 2.5em; height: 2.5em; font-size: 1.66em; line-height: 2.5em; border-radius: 50%; margin: 0 auto; font-family: 'TextaMedium'; margin-bottom: 0.2em; }

.einkommen_vermoegen_2 { border-bottom: solid 2px #727272; padding: 0 1.66em; }
.einkommen_vermoegen_2 .height_100 { height: 100%; }
.einkommen_vermoegen_2 .layer_1 { }
.einkommen_vermoegen_2 .layer_1.height_540 { height: 18em; }

.einkommen_vermoegen_2 .layer_2 { float: left; transition: 300ms; }
.einkommen_vermoegen_2 .layer_2.width_12 { width: 12.2%; }
.einkommen_vermoegen_2 .layer_2.width_25 { width: 25.2%; }
.einkommen_vermoegen_2 .layer_2.width_62 { width: 62.6%; }
.einkommen_vermoegen_2 .layer_2.height_100 { height: 100%; }

.einkommen_vermoegen_2 .layer_3 { float: left; }
.einkommen_vermoegen_2 .layer_3.width_20 { width: 19.6%; }
.einkommen_vermoegen_2 .layer_3.width_40 { width: 40.2%; }
.einkommen_vermoegen_2 .layer_3.width_60 { width: 59.8%; }

.einkommen_vermoegen_2 .layer_4 { float: left; }
.einkommen_vermoegen_2 .layer_4.width_33 { width: 32.5%; }
.einkommen_vermoegen_2 .layer_4.width_67 { width: 67.5%; }

.einkommen_vermoegen_2 .absolute_bottom { position: absolute; bottom: 0; width: 100%; }
.einkommen_vermoegen_2 .pfeil_1 { width: 60%; margin-bottom: 1em; }
.einkommen_vermoegen_2 .pfeil_2 { width: 70%; margin-bottom: 0.5em; }

.einkommen_vermoegen_2 .balken_1 { background: #727272; }
.einkommen_vermoegen_2 .balken_2 { background: #009e59; }
.einkommen_vermoegen_2 .balken_3 { background: #a6a6a6; }

.einkommen_vermoegen_2 .borer_bottom { border-bottom: dashed 2px #009e59; }
.einkommen_vermoegen_2 .borer_top { border-top: dashed 2px #009e59; }

.einkommen_vermoegen_2_beschreibung { padding: 0.8em 1.66em 0; }
.einkommen_vermoegen_2_beschreibung .layer { float: left; }
.einkommen_vermoegen_2_beschreibung .layer.width_12 { width: 12.2%; }
.einkommen_vermoegen_2_beschreibung .layer.width_25 { width: 25.2%; }

/*.einkommen_vermoegen_2 .layer_2 .opacity { opacity: 0.0; border-bottom: dashed 4px transparent; }*/
.einkommen_vermoegen_2 .transition { transition: 300ms; }
.einkommen_vermoegen_2 .opacity { opacity: 0.0; }
.einkommen_vermoegen_2 .borer_bottom.borer_opacity { border-bottom: dashed 4px transparent; }

.strategie_hypothekaufteilung {}
.strategie_hypothekaufteilung { border-left: solid 1px #4d4d4f; padding: 1.5em 0 0.1em; }
.strategie_hypothekaufteilung .line { margin-bottom: 1.5em; }
.strategie_hypothekaufteilung .prozent { height: 3em; float: left; padding: 0; margin-right: 0.6em; }
.strategie_hypothekaufteilung .prozent.balken_1 { background: #007e47; }
.strategie_hypothekaufteilung .prozent.balken_2 { background: #009e59; }
.strategie_hypothekaufteilung .prozent.balken_3 { background: #33b17a; }
.strategie_hypothekaufteilung .text { line-height: 1.2em; float: left; padding: 0; }

.strategie_hypothekaufteilung_stoerer { width: 9.16em; height: 9.16em; border-radius: 50%; margin: 0 auto; }

.hypothek_schwankungen {}
.hypothek_schwankungen .range_beschreibung { float: left; width: 20%; }
.hypothek_schwankungen .range_beschreibung ul { background: #e6e6e6; padding: 0.5em 0.5em 0.5em 1.6em; font-size: 0.8em; line-height: 1.4em; margin-bottom: 0.5em; margin-left: -1em; margin-right: -1em; }
.hypothek_schwankungen .range_beschreibung .arrow { width: 0; height: 0; border-style: solid; border-width: 1em 1em 0 1em; border-color: #9a9c9d transparent transparent transparent; margin: 0.3em auto; }
.hypothek_schwankungen .range_beschreibung.active_1 { margin-left: 0; }
.hypothek_schwankungen .range_beschreibung.active_2 { margin-left: 20%; }
.hypothek_schwankungen .range_beschreibung.active_3 { margin-left: 40%; }
.hypothek_schwankungen .range_beschreibung.active_4 { margin-left: 60%; }
.hypothek_schwankungen .range_beschreibung.active_5 { margin-left: 80%; }

.hypothek_schwankungen .range_outer_container { padding: 0 8.6%; }
.hypothek_schwankungen .prozent { font-size: 1em; line-height: 1.2em; float: left; text-align: center; width: 20%; }
.hypothek_schwankungen .prozent .line { width: 2px; height: 1em; margin: 0 auto 1em; background: #000000; }

.unterlagen_upload_container {  }
.unterlagen_upload_container .header { border-bottom: solid 1px #303030; padding-bottom: 0.7em; }
.unterlagen_upload_container .header.first { transition: 300ms; }
.unterlagen_upload_container .header.first.active { padding-bottom: 6.5em; }
.unterlagen_upload_container .header.first h3 { margin-bottom: 0; padding-top: 0em; }
.unterlagen_upload_container .header h4 { margin: 0; }
.unterlagen_upload_container .header .icon_container { position: absolute; right: 0; bottom: 0.5em; transform: scale(1, 1); transition: 300ms; }
.unterlagen_upload_container .header.active .icon_container { right: 50%; margin-right: -4.8em; transform: scale(1.8, 1.8); bottom: 2em; }
.unterlagen_upload_container .header .icon_container .icon { float: left; width: 2.5em; height: 2.5em; padding: 0.25em 0.35em; border-radius: 50%; text-align: center; margin-left: 0.7em; cursor: pointer; }
.unterlagen_upload_container .header .icon_container .icon.icon_1 { margin-left: 0em; }
.unterlagen_upload_container .header .icon_container .icon.icon_2 { padding: 0.25em 0.3em 0.25em 0.4em; }
.unterlagen_upload_container .header .icon_container .icon .anzahl { position: absolute; bottom: -0.4em; right: 0; width: 1.9em; height: 1.9em; border-radius: 50%; text-align: center; background: #C10003; color: #ffffff; font-size: 0.6em; line-height: 1em; line-height: 1.8em; }
.unterlagen_upload_container .content { padding: 0; }
.unterlagen_upload_container .content .borderrow { border-bottom: solid 1px #303030; padding: 0.5em 0 0.5em 0.5em; }
.unterlagen_upload_container .content .borderrow p { margin: 0; padding: 0.3em 0 0 0; }

.upload_photo_container { padding: 1em 0 0em 0; }
.upload_photo_container .upload_photo { height: 6em; margin-bottom: 0.2em; }
.upload_photo_container .upload_photo .close { position: absolute; top: -0.55em; right: -0.55em; }

ul.checklist li .icon { width: 1em; position: absolute; left: -1.3em; top: -0.1em }

ul.borderlist { padding: 0; font-weight: 300; border-top: solid 1px #303030; }
ul.borderlist li { list-style: none; border-bottom: solid 1px #303030; padding: 1em 0 1em 0; margin-bottom: 0; }
ul.borderlist.checklist li { padding: 0.4em 0 0.4em 1.4em; }
ul.borderlist.checklist .icon { top: 0.3em; left: 0; }

ul.borderlist .icon_container { float: right; }
ul.borderlist .icon_container .icon { position: relative; left: auto; top: auto; float: left; padding: 0 0.2em; }
ul.borderlist .icon_container .icon_2 { width: 2em; }

ul.borderlist .padding_left { padding-left: 4.5em; }
ul.borderlist .padding_right { padding-right: 6em; }
ul.borderlist .nummer { font-size: 1.66em; line-height: 1.5em; width: 1.6em; height: 1.6em; margin-top: -0.8em; border: solid 3px #009e59; border-radius: 50%; font-family: 'TextaMedium'; position: absolute; top: 50%; left: 0.4em; }
ul.borderlist .icon_pfeil { position: absolute; left: 0.9em; top: 50%; margin-top: -1.1em; }
ul.borderlist .icon_edit { position: absolute; right: 1em; top: 50%; margin-top: -1.1em; }
ul.borderlist .icon_close { position: absolute; right: 0; top: 0.7em; display: block; }
ul.borderlist .icon_close img { width: 2em; }

ul.modal_list .icon_container { float: right; }
ul.modal_list .icon_container .icon { position: relative; left: auto; top: auto; float: left; padding: 0 0.2em; }
ul.modal_list .icon_container .icon_2 { width: 2em; }

.icon_upload_erfolgreich { width: 1.2em; float: left; }

.upload {}
ul.uploadnav {  }
ul.uploadnav { padding: 0; margin: 0; }
ul.uploadnav li { list-style: none; float: left; padding: 1.3em; border-left: solid 2px #ffffff; cursor: pointer; }
ul.uploadnav li .anzahl {}
ul.uploadnav li .anzahl {
    position: absolute; bottom: 0.4em; right: 0.4em;
    width: 1.6em; height: 1.6em; border-radius: 50%; text-align: center;
    background: #ff0000; color: #ffffff; font-size: 1.33em; line-height: 1.6em; font-family: 'TextaMedium';
}

table .icon { width: 1.66em; }

.modal_close { cursor: pointer; margin-top: 1em; }
.modal_close img { width: 2em; }

.modal_list li { margin-bottom: 0.5em; }
.modal { background: rgba(0,0,0,0.8); }
.modal .modal-dialog { max-width: 50em; }
.modal-content { border: none; border-radius: 0; }
.modal-header { border-bottom: none; padding: 0.2em 1.8em; border-radius: 0; }
.modal-body { padding: 0.5em 1.8em; }
.modal-footer { padding: 0.5em 1.8em; display: block; }

.modal .logo { width: 150px; margin-bottom: 2em; }

#Modal_Loader {}
#Modal_Loader .border_right { border-right: solid 1px #009e59; }
#Modal_Loader .modal-dialog { max-width: 38em; }
#Modal_Loader .modal-content { background: transparent; border: none; }
#Modal_Loader .modal-body { padding: 0 1em 2em 1em; }
#Modal_Loader .logo { width: 11em; margin: 0 auto 2.5em; float: none; }
#Modal_Loader .spinner-border { width: 11em; height: 11em; border-width: 0.65em; border-right-color: rgba(255,255,255,0.2); border-bottom-color: rgba(255,255,255,0.2); border-left-color: rgba(255,255,255,0.2); margin-bottom: 2.5em; animation-duration: 1500ms; }
#Modal_Loader .loader_text { position: absolute; top: 3.5em; width: 100%; }

.custom_close.close { width: 1.1em; height: 1.1em; padding-top: 0.02em; border-radius: 50%; text-align: center; cursor: pointer; float: none; display: inline-block; line-height: 0.8em; }
.custom_close.close span { line-height: 0; }

.timeline {}
.timeline .col-12 { padding: 0 2.22em 5em; }
.timeline .row:nth-child(odd) .col-12:first-child { border-left: solid 0.15em #009e59; }
.timeline .row:nth-child(odd) .col-12:last-child { text-align: right; border-right: solid 0.15em #009e59; }
.timeline .row:nth-child(even) .col-12:first-child { text-align: right; border-right: solid 0.15em #009e59; }
.timeline .row:nth-child(even) .col-12:last-child { border-left: solid 0.15em #009e59; }

.timeline .row:last-child .col-12:first-child { border-color: transparent; }
.timeline .row:last-child .col-12:last-child { border-color: transparent; }
.timeline .row:last-child .col-12:first-child { border-color: transparent; }
.timeline .row:last-child .col-12:last-child { border-color: transparent; }

.timeline .row:nth-child(odd) .col-12:first-child .circle { left: -0.9em; }
.timeline .row:nth-child(even) .col-12:first-child .circle { right: -0.9em; }

.timeline .circle { position: absolute; width: 1.55em; height: 1.55em; background: #009e59; border-radius: 50%; top: -0.304em; }
@media only screen and (max-width: 767px) {
	.timeline .row:nth-child(odd) .col-12:last-child { text-align: left; border-left: solid 0.15em #009e59; border-right: none; }
	.timeline .row:nth-child(even) .col-12:first-child { text-align: left; border-left: solid 0.15em #009e59; border-right: none; }
	
	.timeline .row:last-child .col-12:first-child { border-color: transparent; }
	.timeline .row:last-child .col-12:last-child { border-color: transparent; }
	.timeline .row:last-child .col-12:first-child { border-color: transparent; }
	.timeline .row:last-child .col-12:last-child { border-color: transparent; }
	
	.timeline .row:nth-child(even) .col-12:first-child .circle { left: -0.9em; }
	
	.timeline .row .col-12:first-child { padding: 0 2.22em 1em; }
}

/* ------------------------------------------------------------------------------------------------------------------------------ */

footer { padding: 60px 0; font-size: 0.88em; line-height: 1.25em; background: #e8e8e8; position: relative; }
.footernav_container { padding-top: 3em; border-top: solid 1px #727272; }

.footernav { float: right; }
.footernav ul { padding: 0; margin: 0; }
.footernav ul li { list-style: none; display: inline-block; padding: 0 25px; }
.footernav ul li:last-child { padding: 0 0 0 25px; }
.footernav ul li a { display: block; color: #2E2E2E; font-weight: 400; }

.copyright { float: left; }
.scroll_top_button { position: absolute; right: 40px; top: -1.4em; width: 2.8em; height: 2.8em; background-color: #009e59; border-radius: 50%; cursor: pointer; box-shadow: 0 2px 2px rgba(0,0,0,0.2); text-align: center; padding: 0.6em 0 0 0; }

@media only screen and (max-width: 767px) {
	.footernav { float: none; }
	.footernav ul li { display: block; padding: 0; }
	.footernav ul li:last-child { padding: 0; }
	
	.copyright { float: none; margin-bottom: 24px; }
}

.tooltipicon { position: absolute; right: 0; top: 0.8em; padding: 0; border-radius: 50%; display: inline-block; text-align: center; width: 1.2em; height: 1.2em; }
.tooltipicon.range { top: 0.1em; }
.tooltipicon img { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.tooltip.show { opacity: 1; }
.tooltip-inner { background: #009e59; text-align: left; border-radius: 0; padding: 1em 1em 1em 1em; max-width: 20em; }

.tooltip-inner .tooltipicon { position: absolute; left: 0.5em; top: 0.5em; font-size: 2.2em; }
.tooltip-inner .tooltipicon img { width: 0.4em; -webkit-transform: translate3d(0, -0.32em, 0); transform: translate3d(0, -0.32em, 0); }

.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .bs-tooltip-bottom .arrow::before { border-bottom-color: #009e59; }
.bs-tooltip-auto[x-placement^=top] .arrow::before, .bs-tooltip-top .arrow::before { border-top-color: #009e59; }

.menuicon { display: none; position: absolute; right: 25px; top: 30px;  width: 25px; height: 25px; margin: -2px 0 0 0; transition: 0ms; }
.menuicon .line { width: 25px; height: 2px; background: #000000; position: absolute; }
.menuicon .line:nth-of-type(1) { top: 0px; }
.menuicon .line:nth-of-type(2) { top: 8px; }
.menuicon .line:nth-of-type(3) { top: 16px; }
.menuicon.active .line:nth-of-type(1) { top: 8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.menuicon.active .line:nth-of-type(2) { opacity: 0.0; visibility: hidden; }
.menuicon.active .line:nth-of-type(3) { top: 8px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

@media only screen and (max-width: 1100px) {
	.menuicon { display: block; }
}

/* ------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------------ */

ul.square { list-style-type:square; }
ul.circle { list-style-type:circle; }
ul.square { list-style-type:square; }
ul.image { list-style-image: url('img/sqpurple.gif'); }

ol.decimal-leading-zero { list-style-type:decimal-leading-zero; }
ol.lower-alpha { list-style-type:lower-alpha; }
ol.upper-alpha { list-style-type:upper-alpha; }
ol.upper-roman { list-style-type:upper-roman; }

ul.linklist { list-style-type:none; }
ul li { position: relative; }
ul.linklist span { position: absolute; left: -20px; top: 2px; }

.card { border-radius: 0; }
.card h4 { font-size: 1.33em; }
.card .card-body { padding: 2em 2em 2em; }
.card .card-footer { background: transparent; padding: 0 2em 2em 2em; }

.accordion  { border-top: solid 1px #727272!important; }
.accordion .card { margin-bottom: 0; border-bottom: solid 1px #727272!important; }
.accordion .card .card-header { background: transparent; position: static; z-index: 10; }
.accordion .card .card-body { padding: 0 3.6em 1.66em 0; z-index: 1; }
.custom_accordion_trigger { cursor: pointer; padding: 1.66em 3.6em 1.66em 0; position: static; }
.custom_accordion_trigger_icon { width: 1.5em; position: absolute; right: 1em; top: 1.66em; -webkit-transform: rotate(180deg); transform: rotate(180deg); }
.collapsed .custom_accordion_trigger_icon { -webkit-transform: rotate(-0deg); transform: rotate(-0deg); }


.height_250 { height: 250px; }
@media (min-width: 576px) {
	.galerieUebersicht.card-deck { -ms-flex-flow: column; flex-flow: column; margin-right: 0; margin-left: 0; }
	.galerieUebersicht.card-deck .card { margin-right: 0; margin-left: 0; margin-bottom: 15px; }
}
@media (min-width: 776px) {
	.galerieUebersicht.card-deck { -ms-flex-flow: row wrap; flex-flow: row wrap; margin-right: -15px; margin-left: -15px; }
	.galerieUebersicht.card-deck .card { margin-right: 15px; margin-left: 15px; margin-bottom: 30px; }
}

.plugin_galerie_height { height: 180px; }

.responsive-video { position: relative; padding-bottom: 56.25%; padding-top: 0px; height: 0; overflow: hidden; width: 100%; }
.responsive-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

figure video { width: 100%; height: auto; display: block; }

hr { margin: 0; border: 0 none; background-color: #727272; height: 1px; }
hr.space1 { height: 1px; }
hr.space2 { height: 2px; }
hr.space3 { height: 3px; }
hr.space4 { height: 4px; }
hr.space5 { height: 5px; }
hr.space10 { height: 10px; }

.plugin_customcontainer_full_width { display: block; left: 50%; position: relative; transform: translateX(-50%); width: 100vw; /* border:1px dotted blue; */ }

.mb-1 { margin-bottom: 1em!important; }
.mb-2 { margin-bottom: 2em!important; }
.mb-3 { margin-bottom: 3em!important; }
.mb-4 { margin-bottom: 4em!important; }
.mb-5 { margin-bottom: 5em!important; }

.pb-1 { padding-bottom: 1em!important; }
.pb-2 { padding-bottom: 2em!important; }
.pb-3 { padding-bottom: 3em!important; }
.pb-4 { padding-bottom: 4em!important; }
.pb-5 { padding-bottom: 5em!important; }