

/** css/theme.css **/
html {
}

/** css/hypotizer.css **/
html { /* --neutral-6 */ /* --neutral-6 */
}

/** css/hypotizer/ui/icons.css **/
/* Generated by Glyphter (http://www.glyphter.com)*/
body {
}

@font-face {
    font-family: 'HypothekeIcons';
    src: url('/fonts/HypothekeIcons.eot');
    src: url('/fonts/HypothekeIcons.eot') format('embedded-opentype'),
         url('/fonts/HypothekeIcons.woff') format('woff'),
         url('/fonts/HypothekeIcons.ttf') format('truetype'),
         url('/fonts/HypothekeIcons.svg') format('svg');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}

.ff-i {
	font-style: normal;
	font-weight: normal;
}

.ff-i:before {
	display: inline-block;
	font-family: 'HypothekeIcons';
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

.ff-i-account:before{content:'A';}
.ff-i-add:before{content:'B'}
.ff-i-plus:before{content:'B'}
.ff-i-continue:before{content: 'V';}
.ff-i-download:before{content: 'V'; transform: rotate(90deg) }
.ff-i-upload:before{content:'V'; transform: rotate(-90deg) }
.ff-i-back:before{content:'G';}
.ff-i-close:before{content:'R';}
.ff-i-copy:before{content:'Y'}
.ff-i-slider-handle:before{content: 'u';}
.ff-i-undo:before{content:'1';}
.ff-i-rotate:before{content:'1'; transform: scale(-1,1) }
.ff-i-reload:before{content:'q';}
.ff-i-menu:before{content:'O';}
.ff-i-messages:before{content: 'S';}
.ff-i-message-read:before{content:'j';}
.ff-i-send:before{content:'n';}
.ff-i-contact:before{content:'U';}
.ff-i-creditor:before{content:'W';}
.ff-i-cut:before{content:'X';}
.ff-i-edit:before{content:'Z';}
.ff-i-home:before{content:'a';}
.ff-i-info:before{content:'c';}
.ff-i-help:before{content:'%'; margin-top: -2px;}
.ff-i-message-help:before{content:'&';}

.ff-i-logout:before{content:'i';}
.ff-i-privacy:before{content:'o';}
.ff-i-trash:before,
.ff-i-remove:before{content:'r';}
.ff-i-minus:before{content:'k'}
.ff-i-check:before{content:'Q'}
.ff-i-select:before {content:'s'}
.ff-i-cog:before,
.ff-i-settings:before{content:'t';}
.ff-i-source:before{content:'v'}
.ff-i-split:before{content:'w';}

.ff-i-creditor-bold:before{content:'x'}
.ff-i-zins-potential:before{content:'y';}
.ff-i-mortgage-bold:before{content:'y';}
.ff-i-owner-bold:before{content:'z';}
.ff-i-real-estate-bold:before{content:'0';}
.ff-i-lock:before{content:'h';}
.ff-i-unlock:before{content:'2';}

.ff-i-warning:before {
	content: '3';
	color: #E2A116;
}

.ff-design-icon-box.ff-i-warning:before {
	bottom: 0px;
	right: 30px;
}

.ff-i-view:before{content:'6';}
.ff-i-house-age:before{content:'4';}
.ff-i-search:before{content: '!';}
.ff-i-bath:before{content:'5';}
.ff-i-toilet:before{content:'#';}
.ff-i-shower:before{content:'"';}

.ff-i-estimate-location:before {content:'7';}
.ff-i-estimate-inside:before{content:'8';}
.ff-i-estimate-outside:before{content:'9';}
.ff-i-estimate-quality:before{content:'!';}
.ff-i-estimate-result:before{content:'P';}

.ff-i-select-light:before{content:'H';}
.ff-i-warning-light:before{content:'I';}
.ff-i-creditor-light:before{content:'K';}
.ff-i-real-estate-light:before{content:'J';}
.ff-i-real-estate-estimation:before{
	content:'p';
	right: 20px;
	bottom: -50px !important;
}
.ff-i-document-light:before{ content:'L'; }
.ff-i-document-pile-light:before{content:'M';}
.ff-i-document-list-light:before {content:'N';}

.ff-i-owner:before{content:'m';}
.ff-i-additional-owner:before{content:'C';}

.ff-design-icon-box.ff-i-owner:before {
	right: 8px;
}

.ff-design-icon-box.ff-i-document-light:before{
	bottom: -75px !important;
	right: -36px;
}

.ff-design-icon-box.ff-i-document-pile-light:before {
	bottom: -75px !important;
	right: -30px;
}

.ff-design-icon-box.ff-i-document-list-light:before {
	bottom: -30px !important;
}

.ff-i-offers:before{content:'d';}
.ff-i-offer:before{content:'e';}
.ff-i-asset-situation:before{content:'F';}
.ff-i-mortgage-configuration:before{content:'T';}
.ff-i-mortgage:before{content:'b';}
.ff-i-conditions:before{content:'d';}
.ff-i-conditions-v2:before{content:'E';}
.ff-i-location:before{content:'f';}
.ff-i-location-v2:before{content:'g';}
.ff-i-optimizations:before{content:'l';}
.ff-i-additional-safety:before{content:'$';}

.ff-i.ff-i-legal:before {
	font-family: Times, "Times New Roman", Georgia, serif;
	content: '\0A7';
	font-size: 21px;
	width: 18px;
	font-weight: bold;
}

/** css/flowform/helpers.css **/
.ff-justify-centered {
	display: flex;
	justify-content: center;
}

@media screen and (min-width : 1281px) {
	.ff-centered-content {
		max-width: 900px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.ff-centered-content-limited {
	}
}


.ff-vertical-content {
    display: flex;
    flex-direction: column;
}

.ff-vertical-content-expander {
	flex: 100%;
}

.ff-padded-content {
	margin-left: clamp(5px,2vw,20px);
	margin-right: clamp(5px,2vw,20px);
}

/** css/flowform/navigation.css **/
/* Header-Menu */

.ff-menu {
	order: 5;
	padding: 31px;
}

.ff-slim .ff-menu-options .form-group {
    background: transparent;
    padding: 0;
    margin: 0;
}

.ff-menu-toggle {
	cursor: pointer;
	font-size: 18px;
}

.ff-menu-title {
	margin: 20px 20px 5px;
	font-weight: normal;
	font-size: 20px;
	color: white;
	white-space: nowrap;
}

.ff-menu-content {
	display:none;
	position: absolute;
	right: 20px;
	top: 60px;
	z-index: 1;
	background-color: #4E545F;
	box-shadow: 1px 1px 10px 0px #C4C8CE;
	padding: 30px 0;
}

.ff-menu-content.active:before {
    content: '.';
    position: absolute;
    right: 13px;
    top: -5px;
    font-size: 0;
    z-index: 1;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7.5px 5px 7.5px;
    border-color: transparent transparent #4E545F transparent;
}

.ff-menu-content .btn-group {
	display:block;
}

.ff-menu-content .btn span {
	color: #FFFFFF;
}

.ff-menu-content .btn {
	display: flex;
	margin-bottom: 5px;
	margin-right: 0;
	padding: 5px 70px 5px 20px;
	line-height: 20px;
	background-color: transparent;
}

.ff-menu-content .btn:hover {
	color: #FFFFFF;
	background-color: #3CA079;
}

.ff-menu-content .btn-group .btn i {
	margin-right: 15px;
}

.ff-menu-content.active {
	display: block;
}

/* Header-Toolbar */
.ff-tb-home {
    order: 1;
    width: 170px;
    min-width: 170px;
	box-sizing: border-box;
    height: 80px;
}

.ff-tb-home .btn {
    width: 100%;
    height: 80px;
    opacity: 0;
}

.ff-toolbar {
	flex: 1;
	order: 1;
	display: flex;
	justify-content: center;
}

.ff-tb-btn {
	cursor: pointer;
}

.ff-tb-process {
	line-height: 80px;
	height: 60px;
	padding: 0 25px;
	white-space: nowrap;
}

.ff-tb-btn.active.disabled:hover span,
.ff-tb-btn.disabled:hover span,
.ff-tb-btn.disabled span,
.ff-tb-btn.disabled {
    cursor: default;
    color: #D6D9DF;
}

.ff-tb-process.active {
	color: #3A8AE4;
	border-bottom: 4px solid #3A8AE4;
}

.ff-tb-process:hover span,
.ff-tb-process.active span {
	color: #3A8AE4;	
}

.ff-tb-symbols {
	line-height: 80px;
	font-size: 20px;
	order: 2;
}

.ff-slim .ff-tb-languages.buttongroup-text-link {
	padding-right: 20px;
}

.ff-tb-languages .btn {
	padding: 2px;
	font-size: 14px;
	line-height: 60px;
}

.ff-tb-languages .btn.active {
	font-weight: bold;
}

.ff-tb-languages .btn::after {
	content: ' | ';
	font-weight: normal;
}

.ff-tb-languages .btn:last-child::after {
	display: none;
}

.ff-tb-btn {
	margin-left: 10px;
}

.ff-slim .form-group.ff-tb-symbols {
	line-height: inherit;
	padding-right: 0;
}

.ff-tb-messages-badge {
	border-radius: 50%;
	box-shadow: -1px 1px 2px 0px white;
	width: 15px;
	height: 15px;
	line-height: 15px;
	font-size: 10px;
	text-align: center;
	background-color: red;
	color: white;
	font-weight: bold;
	display: block;
	position: absolute;
	top: 50%;
	margin-left: 15px;
	margin-top: -20px;
}

@media screen and (max-width : 1000px) {
	.ff-tb-process {
		font-size: 14px;
	}
}

@media screen and (max-width : 900px) {	
	.ff-tb-process {
		padding: 7px;
		height: 30px;
		line-height: 40px;
	}
	
	.ff-wide.flowform-head .ff-toolbar,
	.ff-main.flowform-head .ff-toolbar {
		display: none;
	}
}

.ff-sub-navigation {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #FFFFFF;
	z-index: 5;

	padding: 10px 20px;
	box-shadow: 0 0 20px #4E545F;
}

.flowform-input-group.ff-sub-navigation {
	display: flex;
	flex-direction: row;
	justify-content: center;
}

/* Inline Navigation */
.ff-slim .form-group.ff-inline-navigation {
	padding: 0;
}

.ff-inline-navigation .btn-group {

}

.ff-in-warning-content {
    position: fixed;
    bottom: 0;
    background: rgba(253, 247, 236, 0.8);
    padding: 20px;
    box-shadow: 0 0 20px #848C9C;
    border-radius: 10px 10px 0 0;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    transition: all 0.2s ease-out;
	z-index: 4;
	width: 75vw;
	max-width: 400px;
}

.ff-in-warning-content.open {
	transform: translate(-50%, -65px);
}

.ff-in-warning-content h5 {
	font-size: 20px; 
	margin-bottom: 10px;
    color: #E2A116;	
}

.ff-in-warning-content > ul > li {
	margin-bottom: 10px;
}

.ff-in-warning-content > ul > li li {
	list-style-type: disc;
	margin-left: 15px;
	list-style-position: outside;
}

/** css/start.css **/
/* Promo-Carousel */

a:hover {
	text-decoration: underline;
}

.ff-carousel-init {
	--cb-box-count : 4;
	--cb-box-count-double : calc(var( --cb-box-count ) * 2);
}

.ff-carousel-wrapper {
	margin-left: clamp(5px,2vw,20px);
	margin-right: calc(clamp(5px,2vw,20px) - 5px);
}

.ff-carousel-scroll-padding:first-child {
	min-width: clamp(5px,2vw,20px);
	max-width: clamp(5px,2vw,20px);
}

.ff-carousel-scroll-padding:last-child {
	min-width: calc(clamp(5px,2vw,20px) - 5px);
	max-width: calc(clamp(5px,2vw,20px) - 5px);
}

.ff-carousel-scroll-wrapper {
	overflow-x: hidden;
	overflow-y: visible;
	
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	
	position: relative;
	z-index: 0;
}

.ff-carousel-loader {
	max-width: 100%;
	width: 100%;
	overflow: hidden;
	background-color: #FFFFFF;
}

.ff-carousel-loader .ff-carousel-box {
	background-color: transparent;
}

.ff-carousel-loader .ff-carousel {
	position: relative;
	transition: all 0.2s ease-in-out;
}

.ff-carousel-loader .ff-carousel-box-wrapper {
	opacity: 0;
	transition: all 0.1s ease-in-out;
}

.ff-carousel-loader .ff-carousel-box-wrapper.ff-cl-visible {
	opacity: 1;
	transition: all 0.2s ease-in-out;
}

.ff-carousel-scroller {
	max-width: 100%;
	width: 100%;
	overflow-x: auto;
	overflow-y: visible;
	scrollbar-width: thin;
	scrollbar-color: #3A8AE4 transparent;
}

.ff-carousel-scroller::-webkit-scrollbar {
	height: 8px;
}

.ff-carousel-scroller::-webkit-scrollbar-track {
    background: transparent;
}

.ff-carousel-scroller::-webkit-scrollbar-thumb {
    background: #3A8AE4;
}

.ff-carousel-nav {
	width: clamp(5px,2vw,20px);
	z-index: 2;
	position: absolute;
	top: 0;
	bottom: 0;
}

.ff-carousel-nav-left {
	left: 0;
	background: linear-gradient(270deg, rgba(255,255,255,0) 0%, rgb(226, 230, 236) 100%)
}

.ff-carousel-nav-right {
	right: 0;
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgb(226, 230, 236) 100%)
}

.white-background .ff-carousel-nav-right {
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgb(255, 255, 255) 100%);
}

.white-background .ff-carousel-nav-left {
	background: linear-gradient(270deg, rgba(255,255,255,0) 0%, rgb(255, 255, 255) 100%);
}

.ff-carousel-nav i {
	position: absolute;
	display: block;
	top: 50%;
	
	background: #E2E6EC;
	box-shadow: 0 0 20px gray;
	color: #2B78CE;
	border-radius: 50%;
	width: 25px;
	height: 30px;
	box-sizing: border-box;
	font-size: 14x;
	line-height: 30px;
	text-align: center;
	transform: translateY(-50%);
	
	transition: all 0.2s ease-in;
	
	cursor: pointer;
}

.white-background .ff-carousel-nav i {
	background: #FFFFFF;
}

.ff-carousel-nav.invisible i {
	opacity: 0;
}

.ff-carousel-nav-right i {
	right: 0;
	border-radius: 50% 0 0 50%;
}

.ff-carousel-nav-right.invisible i {
	right: -25px;
}

.ff-carousel-nav-left i {
	left: 0;
	border-radius: 0 50% 50% 0;
}

.ff-carousel-nav-left.invisible i {
	left: -25px;
}

.ff-carousel {
	margin-top: 5px;
	margin-bottom: 25px;
	display: flex;
	flex-direction: row;
}

.ff-carousel-wrapped {
	flex-wrap: wrap;
	justify-content: center;
}

.ff-carousel-box {
	position: relative;
	box-sizing: border-box;
	height: 100%;
	margin: 0;
	margin-top: 5px;
	margin-right: 5px;
	overflow: hidden;
	
	transition: all 0.2s ease-in;
	cursor: pointer;
}

.ff-carousel-box-frame {
	padding: 10px;
	padding-left: 15px;
	background-color: #FFFFFF;
}

.white-background .ff-carousel-box-frame {
	border: 1px solid #AEB4C0;
}

.ff-carousel-box-wrapper {
	max-width: calc(16.666666%);
	min-width: calc(16.666666%);
}

.ff-carousel-message {
	line-height: 20px;
	font-size: 14px;
	color: #4E545F;
	margin: 0;
	transition: all 0.2s ease-in;
	
	display: flex;
	position: relative;
	z-index: 1;
}

.ff-cb-topzins {
	color: #4E545F;
	text-align: center;
}

.ff-cb-topzins-modell {
	margin-bottom: 10px;
	font-size: clamp(12px,1.25vw,15px);
    line-height: 1.3;
	
	text-align: center;
}

.ff-cb-topzins-zins {
	display: block;
	font-size: clamp(18px,3vw,45px);
    line-height: clamp(18px,3vw,45px);
	text-align: center;
}

.ff-cb-topzins-details {
	display: block;
	font-size: clamp(10px,2vw,16px);
    line-height: clamp(10px,2vw,16px);
	text-align: center;
	margin-top: 10px;
}

.ff-cb-topzins-box-wrapper-less .ff-i,
.ff-cb-topzins-box-wrapper-more .ff-i {
	font-size: 25px;
	line-height: 50px;
}

.ff-carousel-box-wrapper.ff-cb-topzins-box-wrapper-less {
	width: 100%;
	max-width: 100%;
	flex: 1;
}

.ff-cb-topzins-box-wrapper-less .ff-carousel-box {
	background-color: transparent;
	margin-left: auto;
	max-width: 250px;
}

.ff-cb-topzins-details a i.ff-i,
.ff-cb-topzins-details a i.ff-i::before,
.ff-cb-topzins-details a {
	text-decoration: underline;
	font-size:smaller;
	color: #3A8AE4;
}

.ff-cb-topzins-top-models {
	color: #4E545F;
	margin-bottom: -25px;
	margin-top: 25px;
	margin-left: clamp(5px,2vw,20px);
}

.ff-carousel-with-headers {
	margin-top: 25px;
}

.ff-carousel-box-header {
	color: #4E545F;	
	max-width: 0;
	min-width: 0;
	margin-top: -16px;
	white-space: nowrap;
	font-size: 16px;
}

.ff-cb-topzins-more {
	text-align: center;
	background: #3A8AE4;
	border-radius: 50%;
	color: white;
	padding: 14px;
	max-width: 50px;
	max-height: 50px;
	margin: auto;
	margin-top: 10px;
}

.ff-carousel-message .ff-i {
	font-size: 45px;
    line-height: 45px;
    margin-right: 10px;
}

.ff-carousel-box::before {
	width: 150px;
	height: 150px;
	line-height: 150px;
	font-size: 150px;
}

.ff-carousel-box-green::before {
	top: -50%;
}

.open > .ff-carousel-box-green::before,
.ff-carousel-box-green:hover::before,
.ff-carousel-box-green.active::before {
	opacity: 0.1;
}

.open > .ff-carousel-box-green .ff-carousel-message,
.ff-carousel-box-green:hover .ff-carousel-message,
.ff-carousel-box-green.active .ff-carousel-message {
	color: #FFFFFF;
}

.open > .ff-carousel-box,
.ff-carousel-box:hover,
.ff-carousel-box.active {
	transform: scale(1.02);
	z-index: 1;
	/* box-shadow: 0px 5px 5px gray; */
}

.open > .ff-carousel-box-green,
.ff-carousel-box-green:hover,
.ff-carousel-box-green.active {
	background-color: #48B58B;
	color: #FFFFFF;
}

.Start .MatchingResultatListe {
	margin-top: 0;
}

.Start .app-legend-star:before,
.Start .ff-ptz-wrapper .ff-promo-title span:after,
.Start .MR-tab:first-child .MR-tab-title span:after {
    content: '*';
    transform: translateY(-0.3em);
    display: inline-block;
    color: #2B78CE;
}

.ff-promo-title {
	text-align: center;
	
	margin-top: 30px;
	margin-bottom: 10px;
}

.flowform-box-group > .ff-promo-title {
	flex: calc(100% - 5px);
}

.ff-promo-main-title {
	text-align: center;
    font-size: 30px;
    margin-bottom: 50px;
    text-transform: uppercase;
	letter-spacing: 2px;
}

.ff-promo-main-title b {
    font-size: 80px;
    font-weight: bold;
    line-height: 1;
	letter-spacing: 10px;
}

.ff-promo-main-title em {
    font-size: 40px;
    letter-spacing: 11px;
	margin-right: -3px;
    font-style: normal;
}

.flowform-box-group .ff-promo-title {
	margin-top: 15px;
	margin-bottom: 25px;
	color: #4E545F;
}

.promo-header .ff-promo-title {
	color: #4E545F;
}

.ff-popup-title {
	text-align: left;
}

h2.ff-promo-title + h3.ff-promo-title {
	margin-top: -10px;
}

h2.ff-promo-title,
.ff-promo-title h2 {
	font-size: 20px;
	line-height: 23px;
}

h3.ff-promo-title,
.ff-promo-title h3 {
	font-size: 18px;
	line-height: 20px;
}

.ff-promo-title.ff-promo-configuration-title {
    margin-bottom: 40px;
    margin-top: 50px;
}

.ff-promo-title.ff-promo-configuration-title h3 {
    font-size: 32px;
	line-height: 1.2;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.ff-popup-container {
	position: relative;
}

.ff-popup-content {
	box-shadow: 0 0 15px 0 #848C9C;
	background-color: #FFFFFF;
	
	position: absolute;
	width: 100%;
	margin-top: 1px;
	/*transition: all 0.2s ease-in;*/
	left: 50%;
	top: 0;
	z-index: 3;
	padding: 40px clamp(5px,2vw,20px);
	box-sizing: border-box;
	transform: translateX(-50%) scale(0);
	width: clamp(320px,100vw,900px);
}

.ff-popup-content.open {
    box-shadow: 0 0 15px 0 #848C9C;
    background-color: #FFFFFF;
	transform: translateX(-50%) scale(1);
	box-shadow: 0 0 5000px 100px rgba(0,0,0,0.8);
}

.ff-popup-content-fixed {
	position: fixed;
	top: calc(50% + 40px);
	max-height: calc(100vh - 80px);
	left: 50%;
	transform: translate(-50%,-50%) scale(0);
	overflow-y: auto;
}

.ff-popup-content-fixed.open {
	transform: translate(-50%,-50%);
}

.ff-popup-title h3,
.ff-popup-title {
	font-weight: bold;
	font-size: 24px;
	line-height: 28px;
	color: #2B78CE;
	margin-bottom: 20px;
}

.ff-popup-subtitle h4,
.ff-popup-subtitle {
	font-size: 20px;
	line-height: 22px;
	color: #2B78CE;
	margin-bottom: 20px;
}

.ff-popup-title-with-icon { display: flex; } 
.ff-popup-title-with-icon .ff-i { font-size: 50px; margin: auto; } 
.ff-popup-title-with-icon span { margin-left: 20px; flex: 1; }

.ff-popup-content .ff-input-label {
	font-size: 18px;
	line-height: 22px;
	color: #4E545F;
	margin: 15px 0 5px 0px;
	display: block;
}

.ff-popup-content .form-group {
	margin: 7px 0;
}

@media screen and (min-width : 1281px) {
	.ff-cb-topzins-details a {
		line-height: 25px;
	}
}

@media screen and (max-width : 1280px) {
	.ff-carousel {
	}

	.ff-carousel-box {
		padding: 5px;
	}

	.ff-carousel-message {
		flex-direction: column;
	}
	
	.ff-carousel-message {
		line-height: 1.2;
		font-size: 12px;
		text-align: center;
	}
	
	.ff-carousel-message .ff-i {
		font-size: 26px;
		line-height: 30px;
		text-align: center;
		display: block;
		margin: auto;
		margin-bottom: 3px;
	}
}

.promo-header,
.promo-footer {
	width: 100%;
	background-color: #FFFFFF;
	z-index: 2;
	justify-content: center;
	box-shadow: 0 0 20px #848C9C;
	box-sizing: border-box;
}

.promo-header {
    margin-bottom: 20px;
    padding-bottom: 30px;
    padding-top: 50px;
}

.promo-footer {
	margin-top: 100px;
	padding-bottom: 50px;
}

.Dossier .promo-footer {
	margin-bottom: 200px;
	padding-bottom: 10px;
}

.promo-footer .flowform-subtitle {
	font-size: 20px;
	line-height: 23px;
	text-align: center;
	
	margin-bottom: 0;
	padding-top: 30px;
}

.ff-carousel-box .aa-kg-logo-content {
	margin: 10px;
	height: 3vw;
}

.ff-carousel-box-wrapper {
	min-width: calc(100% / 4);
	max-width: calc(100% / 4);
	min-width: calc(100% / var( --cb-box-count ));
	max-width: calc(100% / var( --cb-box-count ));
}

.ff-carousel-scroll-wrapper .ff-carousel-box-wrapper {
	/*
	min-width: calc((100% - 2*clamp(5px,2vw,20px) + 5px) / 4);
	max-width: calc((100% - 2*clamp(5px,2vw,20px) + 5px) / 4);
	*/
	min-width: calc((100% - 2*clamp(5px,2vw,20px) + 5px) / var( --cb-box-count ));
	max-width: calc((100% - 2*clamp(5px,2vw,20px) + 5px) / var( --cb-box-count ));
}

.ff-cb-box-half {
	--cb-box-count : var( --cb-box-count-double );
}

.ff-carousel-promo-messages {
	--cb-box-count : 6;
    margin-top: 40px;
}

.ff-carousel-modell-picker {
	--cb-box-count : 6;
	
    margin-bottom: 20px;
}

.ff-cb-cite {
	--cb-box-count : 3;
}

.app-customer-ratings .ff-cb-cite {
	min-height: 100px;
}

.ff-cb-kg {
	--cb-box-count : 7;
	margin-bottom: 5px;
}

.ff-cb-topzins-loader {
	--cb-box-count : 3;
}

.ff-cb-kg-loader {
	--cb-box-count : 1;
}

.ff-cmp-wrapped {
	--cb-box-count : 5;
}

.ff-cmp-wrapped .ff-carousel-box:hover {
	z-index: 0;
}

.ff-cmp-wrapped .ff-carousel-box.active {
	background-color: #48B58B;
	color: #FFFFFF;
	z-index: 1;
	transform: scale(1.1);
}

.ff-cmp-wrapped .ff-carousel-box-wrapper {
	margin-bottom: 5px;
}

.ff-popup-content .ff-cb-kg { --cb-box-count : 4; }


.ff-cite-date {
	text-align: right;
	font-size: 12px;
}

.ff-cite-author {
	text-align: right;
	font-size: 20px;
	margin-right: 20px;
}

.ff-cite-date {
	margin-bottom: 10px;
}

.app-customer-ratings .ff-cite {
	font-size: 10px;
	margin: auto 20px;
	text-align: center;
}

.ff-cb-cite .ff-carousel-box {
	display: flex;
	flex-direction: column;
}

.ff-design-icon-box .ff-cite {
    position: relative;
    z-index: 1;
}

@media screen and (max-width : 1280px) {
	.ff-carousel-nav i {
		background: #FFFFFF;
	}
	
	.ff-cb-cite { --cb-box-count : 2; }
	
	.ff-popup-content .buttongroup-final .btn-group {
		flex-direction: column;
	}

	.ff-popup-content .buttongroup-final .btn {
		margin: 1px 0;
	}
	
	/*
	.ff-cb-topzins-modell {
		font-size: 15px;
		line-height: 18px;
		white-space: normal;
	}
	
	.ff-cb-topzins-zins {
		font-size: 30px;
		line-height: 30px;
	}
	*/
	
	.ff-carousel .aa-kg-logo-content {
		margin: 5px;
		height: 5vw;
	}
	
	.promo-footer-meta .ff-col {
	    min-width: 320px;
	}
	
	.promo-footer-meta .ff-col {
		position: relative;
	}

	.promo-footer-meta iframe {
		position: absolute;
		right: 10px;
		max-width: 50%;
		top: 10px;
	}
}

@media screen and (max-width : 800px) {
	.ff-promo-title.ff-promo-configuration-title h3 {
		font-size: 26px;
	}

	.ff-cmp-wrapped { --cb-box-count : 3; }
}

@media screen and (max-width : 740px) {
	

	.ff-promo-main-title {
		font-size: 15px;
		letter-spacing: 2.6px;
	}

	.ff-promo-main-title b {
		font-size: 47px;
		letter-spacing: 5px;
	}

	.ff-promo-main-title em {
		font-size: 20px;
		letter-spacing: 8px;
	}
	
	.ff-carousel-box-header {
		font-size: 12px;
	}
	
	.ff-carousel-scroll-wrapper .ff-cb-box-half {
		min-width: 10px;
		max-width: 10px;
	}

	.ff-carousel-promo-messages,
	.ff-carousel-modell-picker {
		--cb-box-count : 4;
	}
	
	
	.ff-cb-cite { --cb-box-count : 1; }
	
	.ff-popup-content .ff-cb-kg,
	.ff-cb-kg { --cb-box-count : 3; }
	
	.ff-popup-content img[src="img/garantie.weiss.200.png"] {
		display:none;
	}
}

@media screen and (max-width : 400px) {
	.ff-carousel-promo-messages,
	.ff-carousel-modell-picker {
		--cb-box-count : 3;
	}
	
	.ff-cb-cite { --cb-box-count : 1; }
	
	.ff-popup-content .ff-cb-kg,
	.ff-cb-kg { --cb-box-count : 2; }
	
	.ff-carousel .aa-kg-logo-content {
		height: 15vw;
	}
}

.promo-form {
	background-color: white;
	color: #4E545F;
	height: 100%;
}

.promo-form .form-input-title p {
	font-size: 14px;
	margin: 0;
	margin-top: 10px;
}

.promo-form,
.promo-form p,
.promo-form input,
.promo-form textarea {
	font-size: 14px;
}

.promo-form .ff-main-action .btn-text {
	font-size: 18px;
}

.promo-form .form-group {
	margin: 10px 0;
	z-index: auto;
}

.promo-form .flowform-input {
	padding: 4px;
}

.promo-form .ff-input-label {
	margin: 0;
	color: #4E545F;
}

.promo-form .ff-inline-label,
.promo-form .ff-inline-help {
	margin: 0;
}

.promo-form .form-input-title {
	margin: 0;
}

.promo-form .input-group-addon {
	line-height: 25px;
	padding: 0 10px;
}

.promo-form .choice {
	padding: 4px 10px;
	min-width: auto;
	white-space: nowrap;
}

.promo-form .choice-group {
	width: 100%;
}

.promo-form.flowform-box,
.promo-form .flowform-box {
	padding: 10px 10px;
	min-height: 100px;
	flex: calc(25% - 5px);
	min-width: calc(200px - 5px);
}

@media screen and (max-width : 740px) {
	.promo-form {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	.promo-form .flowform-box {
		padding: 0;
		min-width: calc(250px - 5px);
	}
}

.Start .flowform-box .ff-choice-inline .ff-input-label,
.promo-form .flowform-box .ff-choice-inline .ff-input-label {
	font-size: inherit;
	margin-top: 0;
	margin-bottom: 10px;
}

.promo-form .form-group {
	display: flex;
	flex-direction: column;
}

.promo-form .ff-input-label {
	margin-bottom: 10px;
}

.promo-form .ff-slider {
	margin: 0;
}

.promo-form .flowform-input[type=text],
.promo-form .input-group-addon,
.promo-form .ff-input-rangeslider {
	color: #3A8AE4;
	border: 0 none;
	background: transparent;
	font-size: 24px;
	line-height: 26px;
	padding: 0 10px;
}

.promo-form .typeahead__field .flowform-input::placeholder {
    font-size: 12px;
}

.promo-form .typeahead__field .flowform-input {
	border-bottom: 1px solid #3A8AE4;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.promo-form .choice.choice-active {
	background-color: #3A8AE4;
	border-color: #3A8AE4;
}



.promo-form .ff-slider {	
	
	height: 20px;
	margin-bottom: 3px;
}

.promo-form .ff-slider::-webkit-slider-runnable-track {
	height: 2px;
	background: #3A8AE4;
	border: 0 none;
	margin: 0;
	padding: 0;
}

.promo-form .ff-slider::-moz-range-track {
	height: 2px;
	background: #3A8AE4;
	border: 0 none;
}

.promo-form .ff-slider::-ms-track {
	height: 2px;
	background: #3A8AE4;
	border: 0 none;
}

.promo-form .ff-slider::-webkit-slider-thumb {
	height: 20px;
	width: 20px;
	background-image: none;
	background: #3A8AE4;
	margin: 0;
	margin-top: calc( 20px / -2 + 2px / 2);
}

.promo-form .ff-slider::-moz-range-thumb {
	height: 20px;
	width: 20px;
	background-image: none;
	background: #3A8AE4;
}

.promo-form .ff-slider::-ms-thumb {
	height: 20px;
	width: 20px;
	background-image: none;
	background: #3A8AE4;
}

.ff-cols {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}


.ff-col {
	min-width: 240px;
	margin-top: 40px;
	margin-bottom: 20px;
}

.ff-col:first-child { padding-left: 0; }

.ff-col-1 { flex: 1; }
.ff-col-2 { flex: 2; }
.ff-col-3 { flex: 3; }
.ff-col-4 { flex: 4; }
.ff-col-5 { flex: 5; }
.ff-col-6 { flex: 6; }


.ff-ptz-wrapper {
	text-align: center;
}

.ff-promo-top-zins {
	margin-top: 10px;
}

.ff-ptz-topzins {
	padding: 10px;
	background: #48B58B;
	margin: 15px;
	text-align: center;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ff-ptz-topzins p {
	opacity: 0.9;
	color: #FFFFFF;
}

.ff-ptz-start-button {
	margin: 20px;
	display: inline-block;
	padding: 0 30px;
	margin-bottom: 5px;
}

.ff-ptz-tiny-comment {
	color: #848C9C;
	font-size: 12px;
}

.start-app-button {
	margin: 40px;
	text-align: center;
	padding: 0 30px;
}

.start-app-button .btn {
	font-size: 20px;
	max-width: 350px;
	margin: auto;
	margin-bottom: 10px;
}

.Start .MR-group:first-of-type .MR-choose-offer.btn-foldout .btn-text {
	width: 282px;
	padding-right: 40px;
}

@media screen and (min-width : 500px) {
	.ff-promo-top-zins {
		display: flex;
		justify-content: center;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.ff-ptz-topzins:nth-child(2) {
		scale: 1.1;
	}


	.ff-ptz-laufzeit {
		font-size: clamp(12px,2.25vw,25px);
	    line-height: clamp(13px,2.25vw,26px);
		margin-bottom: clamp(10px,2.25vw,20px);
	}
	
	.ff-ptz-modell {
		font-size: clamp(12px,1.25vw,15px);
	    line-height: clamp(13px,1.25vw,16px);
	}
	
	.ff-ptz-zins {
		font-size: clamp(18px,3vw,45px);
	    line-height: clamp(18px,3vw,45px);
	}
}

@media screen and (max-width : 500px) {
	.ff-ptz-zins {
		font-size: 25px;
		line-height: 60px;
		padding-right: clamp(5px,2vw,20px);
		position: absolute;
		top: 0;
		right: clamp(5px,2vw,20px);
		text-align: right;
	}
	
	.ff-ptz-laufzeit,
	.ff-ptz-modell {
		font-size: 18px;
		line-height: 20px;
		text-align: left;
	}	

	.ff-ptz-topzins {
		margin: 1px 0;
		position: relative;
	}
}

.app-start-konfigurator-navigation {
	flex: calc(100% - 5px);
	margin: 0 0 20px 0 !important;
	height: 42px;
	box-shadow: 0 10px 10px 0 #E2E6EC;
}

.app-start-process {
}

.app-start-process.app-start-mitarbeiter .app-sp-bulb > div {
	background-size: contain
}

.app-sp-bulb > img {
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	margin: 5px;
}

.app-start-process.app-start-mitarbeiter {
}

.app-sp-step.app-sp-step-right .app-sp-bulb-connector { order: 2; }
.app-sp-step.app-sp-step-right .app-sp-description { order: 1; }

.app-sp-step:first-child .app-sp-arrow { display:none; }

.app-sp-content {
	display: flex;
}

.app-spd-more {
	max-height: 0;
	opacity: 0;
	overflow-y: auto;
	transition: all 0.2s ease-in;
	border-top: 1px dashed #3A8AE4;
	margin-top: -10px;
	padding-top: 10px;
}

.app-spd-more-link {
	text-align: right;
	border-bottom: 0 none;
}

.app-spd-more-link.ff-more-link::after {
	margin-right: -20px;
}

.app-spd-more-link span {
	transition: all 0.2s ease-in;
}

.app-spd-more-link.open span {
	opacity: 0;
}

.app-spd-more.open {
	max-height: 75vh;
	opacity: 1;
}

.app-sp-description {
	margin: 10px;
	font-size: 14px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
}

.app-sp-bulb {
	border-radius: 50%;
	height: 90px;
	width: 90px;
	min-width: 90px;
	border: 2px solid #48B58B;
	box-sizing: border-box;
	z-index: 1;
}

.app-sp-bulb > div {
	border-radius: 50%;
	border-style: solid;
	border-color: white;
	border-width: calc( (90px - 85px) / 2 );
	background-color: white;
	color: #4E545F;
	width: 100%;
	height: 100%;
	
	text-align: center;
	box-sizing: border-box;
}

.app-sp-bulb > div > i {
	font-size: calc(85px * 0.55);
	line-height: calc(85px*0.95);
}

.app-sp-arrow {
	position: relative;
	width: calc( 100% - 90px + 10px);
	margin: auto;
}

.app-sp-bulb-connector {
	display:flex;
	flex-direction: column;
}

.app-sp-bulb-arrow-connector,
.app-sp-arrow > * {
	display: block;
	background-color: #48B58B;
	width: 10px;
	height: 10px;

	clear: both;
}

.app-sp-bulb-arrow-connector {
	flex: 1;
	margin-left: calc(50% - 10px*0.5 );
}

.app-sp-arrow > *:nth-child(1) { /* vertical-start */
	margin-top: calc(10px / -2);
}

.app-sp-arrow > *:nth-child(4) { /* arrow */
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #48B58B transparent transparent transparent;
	background-color: transparent;

	margin-bottom: 3px;
}

.app-spa-down > *:nth-child(1), /* vertical-start */
.app-spa-down > *:nth-child(2) { /* horizontal */
	display: none;
}

.app-spa-down > *:nth-child(4) { /* arrow */
	margin-left: calc(10px * -0.5);
}

.app-sp-step-right .app-spa-down > * {
	margin-left: calc(100% - 10px);
}

.app-sp-step-right .app-spa-down > *:nth-child(4) { /* arrow */
	margin-left: calc(100% - 10px * 1.5);
}

.app-spa-left-to-right > *:nth-child(2) { /* horizontal */
	width: 100%;
	border-radius: 0 100px 0 100px;
}

.app-spa-left-to-right > *:nth-child(3) { /* vertical-end */
	height: calc(10px / 2);

	margin-left: calc(100% - 10px);
}

.app-spa-left-to-right > *:nth-child(4) { /* arrow */
	margin-left: calc(100% - 10px * 1.5);
}

.app-spa-right-to-left > *:nth-child(4) { /* arrow */
	margin-left: calc(10px * -0.5);
}

.app-spa-right-to-left > *:nth-child(1) { /* vertical-start */
	margin-left: calc(100% - 10px);
}

.app-spa-right-to-left > *:nth-child(2) { /* horizontal */
	width: 100%;
	border-radius: 100px 0 100px 0;
}

.app-spa-right-to-left > *:nth-child(3) { /* vertical-end */
	margin-left: 0;
}

.Start .MR-Angebot h5 {
    font-size: 20px;
}

.app-customer-testimonial {
	flex: 1;
	margin-right: 5px;

	display: flex;
	flex-direction: column;
}

.app-customer-testimonial-image {
    max-width: 250px;
	max-height: 250px;

	border-radius: 50%;
	background-color: white;
	padding: 5px;
	box-sizing: border-box;
	margin:auto;
	z-index: 1;
	position: relative;
}

.app-customer-testimonial img {
    max-width: 100%;
    object-fit: contain;
	border-radius: 50%;
}

.app-customer-testimonial {
	position: relative;
	padding: 15px;
	display: flex;
	flex-direction: column;
}

.app-customer-testimonial-content {
	padding: 10px 20px;
	background-color: #def2fc;
	margin-top: -20%;
	padding-top: 20%;
	display: flex;
	flex: 1;
	flex-direction: column;
}

.app-customer-testimonial-content .ff-cite {
	min-height: 80px;
	text-align: center;
	font-weight: bold;
}

.app-customer-testimonial-name {
	font-size: smaller;
	text-align: right;
	margin-top: 20px;
}

.app-customer-testimonial-text {
	font-size: 14px;
	text-align: center;
}

@media screen and (max-width : 800px) {

	.app-customer-testimonial-text {
		display: none;
	}

}

@media screen and (max-width : 600px) {
	.app-customer-testimonial {
		flex-direction: row;
	}

	.app-customer-testimonial-content {
		margin: 0;
		padding: 0;
		margin-left: -10%;
		padding-left: 10%;
		padding-right: 10px;
		padding-bottom: 10px;
	}

	.app-customer-testimonial-content .ff-cite {
		text-align: right;
	}

	.app-customer-testimonial-image {
		max-width: 150px;
	}
}

/** css/start-navigation.css **/
.Start {
}

.Start .flowform-head.ff-wide {
	background-color: #FFFFFF;
	height: 80px;
	box-shadow: 0 0 20px #4E545F;
	position: fixed;
	width: 100%;
	z-index: 5;
	top: 0;
	left: 0;
}

.Start .ff-header-home-link {
    width: 200px;
    height: 80px;
    margin: auto;
    display: block;
}

.Start .flowform-head.ff-wide .ff-header {
	max-width: 1300px;
	box-sizing: border-box;
	
	position: relative;
	margin: auto;
	background: url('/img/logo.svg');
	background-repeat: no-repeat;
	background-size: auto 50%;
	background-position: center;
	height: 100%;
	display: flex;
	justify-content: flex-end;
}

.Start .wp-menu-main-navigation {
	background: #232323;
	line-height: 1.2;
}

.Start .wp-menu-header-links {
	width: 100%;
	max-width: 1140px;
	max-width: 1300px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.Start .wp-menu-main-navigation ul {
	list-style: none;
	padding-left: 0;
	vertical-align: middle;
	display: flex;
	margin: 0;
}

.Start .wp-menu-header-links > ul {
	margin-left: clamp(5px,2vw,20px);
	margin-right: clamp(5px,2vw,20px);
}

.Start .wp-menu-header-links li {
	flex: 1;
}

.Start .wp-menu-header-links li a {
	display: block;
	color: #FFF;
}

.Start .wp-menu-header-links li:hover > a {
	color: #28a9e1;
}

.Start .wp-menu-header-links > ul > li > a {
	padding: 17px 20px;
	border-left: 1px solid #333;
	color: #FFF;
	font-size: 13px;
	transition: all 0.3s ease;
	font-weight: 300;
	display: block;
	margin: 0px;
	white-space: nowrap;
}

.Start .wp-sub-menu a {
	font-size: 12px;
	line-height: 32px;
	min-width: 100px;
	white-space: nowrap;
}

.Start .wp-sub-menu li {
	position: relative;
	padding: 0 20px;
}

.Start .ff-menu-toggle .ff-i-menu::before {
	content: 'O';
	display: inline-block;
	font-style: normal;
	font-family: 'HypothekeIcons';
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}
	
.Start + #content {
	margin-top: 80px;
}

header.Start {
	position: relative;
	z-index:10000;
}
	
.Start .ff-menu {
	padding: 20px;
}

.Start .ff-menu-toggle {
	max-height: 40px;
	line-height: 40px;
}

@media screen and (min-width : 1281px) {
	.Start .flowform-head.ff-wide {
		height: 210px;
		padding-top: 20px;
		padding-bottom: 70px;
		transition: all 0.2s ease-in;
		box-sizing: border-box;
	}
	
	.Start .flowform-body.ff-wide {
		margin-top: 200px;
		transition: all 0.2s ease-in;
	}
	
	.Start .wp-menu-main-navigation {
		position: fixed;
		left: 0;
		top: 160px;
		width: 100%;
		transition: all 0.2s ease-in;
	}
		
	.Start.scrolled-down .flowform-head.ff-wide {
		height: 130px;
		padding: 0;
		padding-bottom: 50px;
	}
	
	.Start.scrolled-down .flowform-body.ff-wide {
		margin-top: 80px;
	}	
	
	.Start.scrolled-down .wp-menu-main-navigation {
		top: 80px;
	}
	
	.Start .ff-menu {
		padding: 0;
	}
	
	.Start + #content {
		margin-top: 200px;
	}
	
	.Start .ff-menu-toggle { display: none; }

	.Start .ff-menu-content {
		position: relative;
		z-index: 2;
		display: block;
		top: auto;
		right: auto;
		left: auto;
		background: transparent;
		padding: 0;
		box-shadow: none;
	}
	
	.Start .wp-menu-header-links li:hover > .wp-sub-menu {
		max-height: 400px;
		overflow: visible;
		transition: max-height overflow 0.3s ease-in;
	}

	.Start .wp-menu-header-links > ul > li:last-child > a {
		border-right: 1px solid #333;
	}
	
	.Start .wp-menu-header-links > ul > li > a {
		position: relative;
		padding-right: 40px;
	}
	
	.Start .wp-sub-menu .wp-menu-item-has-children::after,
	.Start .wp-menu-header-links > ul > .wp-menu-item-has-children > a::after {
	    position: absolute;
		right: 20px;
		top: 0;
		color: #FFF;
		
	    display: inline-block;
		
		font-size: 14px;
		line-height: 50px;
		content: '\2039';
		transform: rotate(-90deg);
		z-index: 1;
		transition: all 0.2s ease-in;
	}
	
	.Start .wp-menu-header-links > ul > li:hover > a::after {
		color: #28a9e1;
		top: 5px;
	}
	
	.Start .wp-sub-menu .wp-menu-item-has-children:hover::after {
		color: #28a9e1;
		right: 15px;
	}
	
	.Start .wp-menu-header-links .wp-sub-menu {
	    position: absolute;
	    z-index: 1;
		
		max-height: 0;
		overflow: hidden;
		display: block;
		transition: max-height 0.1s ease-out;
	}
	
	.Start .wp-sub-menu .wp-menu-item-has-children::after {
		position: absolute;
		right: 20px;
		top: 0;
		line-height: 32px;
		transform: rotate(180deg);
	}
	
	.Start .wp-sub-menu li {
	    background: #232323;
		border-left: 1px solid #333;
		border-right: 1px solid #333;
		border-bottom: 1px solid #333;
	}
	
	.Start .wp-sub-menu .wp-sub-menu {
	    position: absolute;
	    top: -1px;
	    left: 100%;
	}
}

@media screen and (max-width : 500px) {
	.Start .ff-menu-content {
		width: 100vw;
	}
}

@media screen and (max-width : 1280px) {
	.Start .flowform-head.ff-wide {
		height: 80px;
		padding: 0px 0;
	}
	
	.Start .flowform-body.ff-wide {
		margin-top: 80px;
	}
	
	.Start .ff-menu {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 5;
	}
	
	.Start .ff-menu-content {
		top: 80px;
		padding: 10px 0;
		right: 0;
	}

	.Start .ff-menu-content::before {
		right: 22px;
	}
	
	.Start .flowform-head.ff-wide .ff-header {
		background-position: left center;
    	margin-left: 30px;
	}

	.Start .ff-header-home-link {
		margin-left: -30px;
	}

	.Start .wp-menu-main-navigation {
		max-height: calc(100vh - 100px);
		overflow: auto;
		background: transparent;
	}

	.Start .wp-menu-main-navigation ul {
		flex-direction: column;
		margin-left: 0;
		margin-right: 0;
	}
	
	.Start .wp-menu-header-links > ul > li > a {
		position: relative;
		border-top: 1px dotted #fff;
		border-left: none;
		border-right: none;
		font-size: 14px;
	}
	
	.Start .wp-menu-header-links > ul > li:first-child > a {
		border-top: none;
	}
	
	.Start .wp-menu-header-links > ul > li:last-child > a {
	    border-right: none;
	}
	
	.Start .wp-menu-header-links > ul > li > a::after {
		position: absolute;
		z-index: 1;
		top: 0;
		right: 0;
		height: 50px;
		width: 50px;
		margin: 0;
	}
	
	.Start .wp-menu-header-links > ul > li > a::after {
		/*
		transform-origin: center;
		text-align: center;
		line-height: 50px;
		*/
		display: none;
	}
	
	.Start .wp-menu-header-links .wp-sub-menu {
		display: flex;
		flex-direction: column;
	}
	
	.Start .wp-sub-menu li {
		flex: 1;
		border: 0 none;
		background: transparent;
	}
}

.ff-menu-start,
.ff-menu-meta {
	position: fixed;
	top: 25px;
	left: 50%;
	z-index: 5;
	max-width: 1260px;
	transform: translateX(-50%);
	width: 100%;
	height: 0;
	font-size: 14px;
	text-align: right;
	font-size: 16px;
	padding-right: 20px;
}

.ff-menu-meta {
	transform: translateX(-50%);
}

body.Start .ff-menu-meta {
	line-height: 28px;
}

.ff-menu-meta a.active {
	font-weight: bold;
}

.ff-menu-meta a::after {
	content: '|';
	margin-left: 5px;
	font-weight: normal;
}

.ff-menu-meta a:last-child::after {
	display: none;
}

.ff-menu-meta a.ff-menu-login::before {
	content: 'h';
	margin-right: 5px;
	font-family: 'HypothekeIcons';
}

.ff-menu-start {
	visibility: hidden;
	pointer-events: none;
}

.app-start-now-button {
	display: block;
}

.ff-menu-start-short,
.ff-menu-start-long {
    transform: translateY(-7px);
    display: inline-block;
	opacity: 0;
	transition: opacity 1s ease-in;
}

.app-start-now-button,
.app-start-now-button:hover,
.ff-menu-start-short,
.ff-menu-start-long {
	background-color: #3A8AE4;
	color: #FFFFFF;
	text-decoration: none;
}

.app-start-now-button {
	transition: all 0.1s ease-in;
}

.app-start-now-button:hover {
	background-color: #2B78CE;
}


.app-start-now-button::before,
.ff-menu-start-short::before,
.ff-menu-start-long::before {
	content: 'V';
	font-family: 'HypothekeIcons';
	margin-right: 10px;
	display: inline-block;
	transform: translateY(1px);
}

.app-start-now-button,
.ff-menu-start-long {
	padding: 10px 15px;
	border-radius: 20px;
    font-size: 16px;
    line-height: 18px;
}

.ff-menu-start-short {
	display: none;
	padding: 5px 7px;
	font-size: 12px;
	transform: translateY(-4px);
    width: 100px;
    line-height: 16px;
    text-align: left;
	padding-left: 40px;
	border-radius: 0;
}

.ff-menu-start-short::before {
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
	font-size: 15px;
	line-height: 42px;
	width: 40px;
}

header.Start.scrolled-down .ff-menu-start {
	visibility: visible;
	pointer-events: all;
}

header.Start.scrolled-down .ff-menu-start-short,
header.Start.scrolled-down .ff-menu-start-long {
	opacity: 1;
}

header.Start.scrolled-down .ff-menu-start a {
	animation: ff-start-pulse 2s 10 ease-in-out;
}

header.Start.scrolled-down .ff-menu-login {
	display: none;
}

@keyframes ff-start-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(58, 138, 228, 0.8);
  }
  70% {
      box-shadow: 0 0 0 20px rgba(58, 138, 228, 0);
  }
  100% {
      box-shadow: 0 0 0 0 rgba(58, 138, 228, 0);
  }
}

@media screen and (max-width : 1280px) {
	.ff-menu-start {
		padding-right: 150px;
	}

	.ff-menu-login {
		padding-right: 40px;
	}

	.ff-menu-meta {
		font-size: smaller;
	}
}

@media screen and (max-width : 600px) {
	.ff-menu-start-long {
		display: none;
	}

	.ff-menu-start {
		padding-right: 120px;
	}

	.ff-menu-start-short {
		display: inline-block;
	}
}

.ff-menu-side-teaser {
    position: fixed;
	z-index: 10;
    right: 0;
    top: 350px;
    transform: translateY(-50%);
    width: 200px;
    height: 75px;
    background-color: #FFF;
    color: #3A8AE4;
    box-shadow: 15px 0 20px #4E545F;
	padding: 10px;
	box-sizing: border-box;
    font-size: 14px;
    line-height: 16px;
}

.ff-menu-side-teaser a {
	display: flex;
	flex-direction: row;
}

.ff-menu-side-teaser.ff-menu-zins-update a::before {
	content: 'n';
	font-size: 30px;
	line-height: 36px;
	margin-right: 10px;
	font-family: 'HypothekeIcons';
}

.ff-menu-side-teaser a {
    color: #3A8AE4;
	padding: 10px;
	text-decoration: none;
}

.promo-footer-meta {
	color: #4E545F;
	background-color: #FFFFFF;
	box-shadow: 0 0 20px gray;
	line-height: 1.2;
}

.promo-footer-meta-content {
	max-width: 1140px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.promo-footer-meta address {
	font-style: normal;
}

.promo-footer-meta h4 {
	font-weight: bold;
	color: #2B78CE;
	margin-bottom: 10px;
}

.promo-footer-meta .ff-info-text {
	font-size: 14px;
}

.promo-footer-meta .ff-legal-text {
	margin-top: 20px;
	font-size: 10px;
}

@media screen and (max-width : 1280px) {
	.promo-footer-meta .ff-col {
	    min-width: 320px;
	}
	
	.promo-footer-meta .ff-col {
		position: relative;
	}

	.promo-footer-meta iframe {
		position: absolute;
		right: 10px;
		max-width: 50%;
		top: 10px;
	}
}

.ff-legal-links {
	white-space: nowrap;
}

.Start .wp-menu-header-links > ul > li {
	position: relative;
}

.Start .wp-menu-header-links > ul > li > a.wp-menu-header-sticker-jobs {
    position: absolute;
    display: block;
    border: 0;
    top: -30px;
	right: 0px;
    background-image: url(/img/jobs-sticker.svg);
    font-size: 0;
    line-height: 0;
    color: transparent;
    width: 50px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    padding: 0;
    margin: 0;
}

.Start .wp-menu-header-links > ul > .wp-menu-item-has-children > a.wp-menu-header-sticker-jobs::after {
	content: '';
}

/** css/www/common.css **/
.hyp-sticker {
	display: block;
	position: absolute;
	top: 0;
	right: 0;

    width: var( --sticker-size );
    height: var( --sticker-size );
    background-image: url(/img/sticker.svg);
    background-size: contain;
    background-repeat: no-repeat;
	
	--sticker-size : 100px;
	--sticker-font-size : 10px;
}


@media screen and (max-width : 800px) {
    .hyp-mobile-hide { display: none; }
}

.hyp-sticker-text a {
	color: #FFFFFF;
	font-weight: bold;
}

.hyp-sticker-text {
	position: absolute; top: 50%; left: 50%;
	transform: translate(-50%,-50%) rotate(15deg);
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 15%;

	color: #FFFFFF;
	font-size: var(--sticker-font-size);
	line-height: 1.1;
    text-align: center;
}

/** css/www/movie.css **/
.hypo-movie {
    position: fixed;
    margin: auto;
    z-index: 15000;
    top: 80px;
    left: 50%;
    transform: translate(-50%,0%);

    color: #222;

    /* 1200 = 100% */

    --title-font-size : clamp(14px, 1.6vw, 20px);
    --content-font-size : clamp(11px, 1.06vw, 14px);
    --action-font-size : clamp(12px, 1.06vw, 14px);
    --zins-font-size : clamp(12px, 1.3vw, 20px);

    --play-button-size : clamp(60px,5vw,120px);

    line-height: 1.3;
}

.hypo-movie-compact {
    --title-font-size : 16px;
    --content-font-size : 14px;
    --action-font-size : 14px;
    --zins-font-size : 14px;

    --play-button-size : 60px;

    line-height: 1.3;
}

#scrollUp {
    z-index: 14999 !important;
}

.hypo-movie.hpm-invisible {
    visibility: hidden;
    pointer-events: none;
}

.hpm-outer-frame {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 15px solid #a2cb3b;
    background-color: #fff;
    overflow: hidden;
    position: relative;
}

.hpm-inner-frame {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: relative;
}

.hpm-secondary-frame {
    padding: 20px;
    font-size: var( --content-font-size );

    background-color: #fff;
    overflow: auto;
    
    box-shadow: 5px 5px 20px 0px #aaa;
}

.hpm-secondary-frame h4 {
    font-size: var( --title-font-size );
    margin-bottom: 5px;
}

.hpm-secondary-frame p {
    font-size: var( --content-font-size );
    margin-bottom: 10px;
}

.hpm-secondary-frame i.ff-i-warning-light {
    font-size: clamp(20px, 10vw, 80px);
    line-height: 0.9;
    color: #ffc800;
    opacity: 0.8;
    float: right;
    margin-right: 0px;
    margin-left: 10px;
}

.hpm-play-button {
    position: absolute; 
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);

    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    width: var( --play-button-size );
    height: var( --play-button-size );
    cursor: pointer;

    float: right;

    display: none;
    z-index: 1;
}

.hypotheke-youtube-wrapper .hpm-play-button {
    border: 0 none;
    display: block;
}

.hypotheke-youtube-wrapper:hover .hpm-play-button {
    background: rgba(255,255,255,0.7);
}

.hpm-before-playing .hpm-play-button {
    display: block;
}

.hpm-play-button:before {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width:
        calc(var( --play-button-size ) * 0.275)
        0
        calc(var( --play-button-size ) * 0.275)
        calc(var( --play-button-size ) * 0.4 )
    ;
    border-color: transparent transparent transparent #a2cb3b;
    margin-left: 3px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
}

.hpm-close-button {
    position: absolute;
    right: 5px;
    top: 5px;
    width: 20px;
    height: 22px;
    cursor: pointer;
}

.hpm-close-button:after,
.hpm-close-button:before {
    position: absolute;
    content: '';
    border-top: 3px solid #a2cb3b;
    transform: rotate(45deg) translateX(4px);
    width: 20px;
    transform-origin: left;
}

.hpm-close-button:after {
    transform: rotate(-45deg) translateX(-4px);
    transform-origin: right;
}

.hpm-logo {
    position: absolute;
    top: 0;
    right: 0;
    width: 10vw;
    max-width: 150px;
    height: 8vw;
    background: url(/img/logo.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 25px;
}

.hypo-movie-compact .hpm-logo {
    width: 3vw;
    height: 3vw;
}

#hpm-intro .hpm-legend {
    margin-left: 0;
    margin-right: 25%;
}

#hpm-intro .hpm-logo,
#hpm-zinsvergleich .hpm-logo {
    left: 0;
}

.hpm-logo.hpm-logo-dark {
    background-image: url(/img/logo-dark.svg);
}

.hpm-promo .hpm-intro-content {
    padding: 10px 15px;
    margin: 5px;
    background-color: rgba(255,255,255,0.6);
}

.hpm-promo .hpm-full-content {
    position: absolute;
    box-sizing: border-box;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background-color: #E2E6EC;
    pointer-events: none;
}

.hpm-intro-content {
    white-space: nowrap;
    text-align: left;
    position: absolute;
    top: 0; left: 0;
    padding: 20px;
}

.hpm-yt-style .hpm-play-button:before {
    border-left-color: red;
}

.hpm-legend {
    position: absolute;
    right: 0;
    bottom: 0;
    margin-bottom: 1%;
    box-sizing: border-box;
    background-color: rgba(0,0,0,0.4);    
    transition: all 0.5s ease-in;
}

.hpm-legend {
    padding: 5px 20px;
    width: 75%;
    margin-left: 25%;
}

.hpm-playing .hpm-legend {
    opacity: 0;
    pointer-events: none;
}

.hpm-legend h6 {
    color: white;
    margin: 0;
    font-size: var(--content-font-size);
    line-height: 1;
}

.hpm-frame {  
    border: 5px solid white;
}

.hpm-frame video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hpm-after-playing-text,
.hpm-before-playing-text,
.hpm-when-playing-text {
    display: none;
}

.hpm-before-playing .hpm-before-playing-text {
    display: block;
}

.hpm-after-playing .hpm-after-playing-text {
    display: block;
}

.hpm-playing .hpm-when-playing-text {
    display: block;
}

.hpm-info-content hr {
    margin-bottom: 10px;
}

.hpm-info-content ul {
    margin: 0px 20px;
}

.hpm-info-content {
    box-sizing: border-box;
    overflow: auto;
    background-color: white;
    padding: 20px;
    font-size: var( --content-font-size );
    display: flex;
    flex-direction: column;
}

.hpm-info-content-expander {
    flex: 1;
}

.hpm-info-content .app-start-now-button {
    font-size: var( --action-font-size );
    line-height: 3;
    padding-top: 0;
    padding-bottom: 0;
    white-space:  nowrap;
    display: flex;
    float: left;
}

.hpm-info-content h3 {
    font-size: var( --title-font-size );
    line-height: 1.1;
}

.hpm-info-content h3 small {
    font-size: var( --content-font-size );
}

.hpm-drittangebot-link small {
    font-size: var( --content-font-size );
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    line-height: 1.5;
}

.hpm-drittangebot-link i {
    float: left;
    margin-bottom: 30px;
    margin-right: 10px;
}

.hpm-drittangebot-link {
    font-size: var( --title-font-size );
    line-height:1;
}

.hpm-drittangebot-zins {
    float: right;
    text-align: right;
    font-size: var( --zins-font-size );
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 5px;
}

.hpm-drittangebot-zins small {
    font-weight: normal;
}

.hpm-timing {
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

.hpm-timing.hpm-timing-visible {
    opacity: 1;
}

.hpm-timing.hpm-timing-active {
    font-weight: bold;
    font-size: larger;
}

/* desktop: 3d effect */
@media screen and (min-width : 1240px ) and (min-height: 600px) {
    .hpm-scene {
        top: 80px;
        width: 50vw;
        height: 45vw;
        max-width: 800px;
        max-height: clamp(200px,55vh,550px);

        transform-style: preserve-3d;
        perspective: 17px;
        perspective-origin: 50% 50%;
    }

    .hpm-16-9 .hpm-scene {
        width: 64vw;
        height: 28.125vw;

        max-width: clamp(400px,50vw,940px);
        max-height: clamp(225px,28.125vw,540px);
    }

    .hpm-youtube-popup .hpm-scene {
        width: 64vw;
        height: 28.125vw;
    }
    
    .hpm-outer-frame {
        transition: all 0.6s ease-in-out;
    }

    .hpm-info-content {
        position: absolute;
        top: calc(5% + 15px);
        left: 15px;
        width: calc(60% - 30px);
        height: calc(90% - 30px);
        min-height: 300px;

        box-shadow: -5px 5px 10px 0px gray;
        transition: all 0.6s ease-in-out;
    }
    
    .hpm-secondary-frame {
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 100%;
        transform: translate(-50%,130%);
        transition: all 0.6s ease-in-out;
    }

    .hpm-outer-frame {
        box-shadow: -50px 5px 2000px 100px black;
    }

    .hpm-outer-frame {
        transform: translateX(20%) rotateY(-0.2deg);
    }

    .hpm-16-9 .hpm-outer-frame {
        transform: translateX(35%) rotateY(-0.2deg);
    }

    .hpm-secondary-frame {
        opacity: 1;
        pointer-events: all;
    }
    
    .hpm-info-content {
        transform: rotateY(0.2deg) translateX(-40%) translateZ(1px);
    }
    
    .hpm-playing .hpm-outer-frame {
        transform: rotateY(0deg) translateX(20vw);
    }

    .hpm-youtube-popup.hpm-playing .hpm-outer-frame {
        transform: rotateY(0deg);
    }
    
    .hpm-playing .hpm-info-content {
        transform: rotateY(0.2deg) translateX(-15vw) translateY(0);
        width: 30vw;
        min-width: 250px;
        height: calc(90% - 30px);
    }
    
    .hpm-invisible .hpm-outer-frame {
        transform: translateX(300%) rotateY(-1deg);
    }
    
    .hpm-invisible .hpm-info-content {
        transform: rotateY(1deg) translateX(-200%);
    }

    .hpm-invisible .hpm-secondary-frame {
        opacity: 0;
    }

    /*
    .hpm-after-playing .hpm-outer-frame {
        width: 100%;
        transform: none;
    }
    
    .hpm-after-playing .hpm-frame {
        opacity: 0;
    }
    
    .hpm-after-playing .hpm-info-content {
        top: 15px;
        width: calc(100% - 30px);
        height: calc(100% - 30px);
        transform: none;
    }
    */

    .hpm-drittangebot-zins {
        margin-top: -7px;
    }

    .hpm-scene .hpm-legend {
        padding: 20px;
        width: 50%;
        margin-left: 50%;
    }
}

/* tablet vertical */
@media screen and (orientation: portrait) and (max-width: 1240px) {

    .hpm-outer-frame {
        border-width: 7px;
    }

    .hpm-inner-frame {
        border-width: 2px;
    }

    .hpm-secondary-frame,
    .hpm-info-content {
        padding: 10px;
    }

    .hpm-scene {
        box-shadow: -50px 5px 2000px 100px black;   
    }

    .hpm-secondary-frame {
        margin-top: 20px;
    }
}


/* mobile vertical */
@media screen and (orientation: portrait) and (max-width: 600px) {
    .hypo-movie {
        top: 0px;
        width: 100%;
        border: 10px solid transparent;
        box-sizing: border-box;
    }

    .hpm-outer-frame {
        border-width: 7px;
    }

    .hpm-inner-frame {
        border-width: 2px;
    }

    .hpm-info-content .app-start-now-button {
        box-sizing: border-box;
        border-radius: 0;
        text-align: center;
    }

    .hpm-scene {
        box-shadow: -50px 5px 2000px 100px black;   
    }

    .hpm-secondary-frame {
        margin-top: 20px;
    }
    
    .hpm-secondary-frame,
    .hpm-info-content {
        padding: 10px;
    }
}


/* mobile horizontal: video | info on top, secondary below */
@media screen and (orientation: landscape) and (max-width: 1240px)  {
    .hypo-movie {
        display: flex;
        flex-direction: column;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: none;
        border: 10px solid transparent;
        box-sizing: border-box;
    }

    .hpm-scene {
        display: flex;
        margin-bottom: 10px;
        box-shadow: -50px 5px 2000px 100px black;
        height: 60%;
        box-sizing: border-box;
    }

    .hpm-youtube-popup .hpm-scene {
        height: 100%;
    }

    .hpm-youtube-popup .hpm-scene,
    .hpm-16-9 .hpm-scene {
        height: 36vw;
    }

    .hpm-outer-frame {
        border-width: 7px;
    }

    .hpm-16-9 .hpm-outer-frame {
        flex: 64vw;
    }

    .hpm-inner-frame {
        border-width: 2px;
    }

    .hpm-16-9 .hpm-inner-frame {
        flex: 36vw;
    }

    .hpm-secondary-frame {
        height: 40%;
        margin-top: 0px;
        box-sizing: border-box;
    }
    
    .hpm-secondary-frame,
    .hpm-info-content {
        padding: 10px;
    }
}

.ranking tr:hover td {
    cursor: pointer;
    text-decoration: underline;
}

.ranking tr.ranking-hypotheke-promo:hover td {
    cursor: initial;
    text-decoration: none;
}

.hypotheke-youtube-inline,
.hypotheke-youtube-popup {
    cursor: pointer;
}

.hypotheke-youtube-wrapper {
    position: relative;
    --play-button-size : clamp(60px,5vw,120px);
}

.ff-promo-news .hypotheke-youtube-wrapper {
    --play-button-size : clamp(40px,3vw,80px);
}