footer												{ position: relative; z-index: 900; box-shadow: 3px 0px 4px rgba(0, 0, 0, 0.08); background: white; }
footer:before										{ display: block; content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 50%; background: var(--gelb); }

footer .container-1440							{ max-width: 1360px; }

footer > div										{ position: relative; overflow: hidden; }
footer > div > div.container-1440			{ position: relative; background: white; }

footer div.f-yellow								{ position: absolute; z-index: 1; left: 0; top: 0; bottom: 0; width: 100px; height: 100%; background: #ffeb00; }
footer div.f-yellow svg							{ position: absolute; z-index: 1; left: 100px; top: 0; bottom: 0; width: 300px; height: 900px; }
footer div.f-dark									{ position: absolute; z-index: 2; width: 100%; height: 100%; }
footer div.f-dark svg							{ position: absolute; z-index: 2; right: calc(100% - 400px); bottom: 0; width: 3000px; height: 750px; }

footer .f-content									{ position: relative; z-index: 3; }
footer .f-logo										{ padding: 50px 40px 25px 40px; }
/*footer .f-logo a									{ display: block; height: 40px; background: url("/www_partner/pages/img/hasler.svg") no-repeat left center; background-size: contain; }*/
footer .f-logo a									{ display: block; height: 40px; line-height: 1px;}
footer .f-logo a img								{ display: none; height: 40px; mix-blend-mode: multiply; }
.profi footer .f-logo a img.hf-profi		{ display: block; }
.access footer .f-logo a img.hf-access		{ display: block; }


footer h5, footer p								{ margin-bottom: 1.5rem; }
footer h5:last-child,
footer p:last-child								{ margin-bottom: 0; }

footer a												{ color: var(--schwarz); text-decoration: none; }
footer a:hover										{ color: var(--rot); text-decoration: none; }

footer .cmsNavi_classic ul						{ margin: 0; padding: 0; }
footer .cmsNavi_classic ul li					{ list-style: none; padding-bottom: 10px; }
footer .cmsNavi_classic ul li:last-child	{ padding-bottom: 0; }
footer .cmsNavi_classic a						{ padding: 0 5px 0 0; transition: padding 0.3s; }
footer .cmsNavi_classic a:hover				{ padding: 0 0 0 5px; }

footer .cmsNavi_horizontal ul					{ display: flex; justify-content: end; margin: 0; padding: 0; }
footer .cmsNavi_horizontal ul li				{ position: relative; padding-left: 21px; list-style: none; }
footer .cmsNavi_horizontal ul li:before	{ display: block; content: ""; position: absolute; left: 10px; top: 3px; bottom: 3px; width: 1px; background: var(--schwarz); }
footer .cmsNavi_horizontal ul li:first-child				{ padding-left: 0; }
footer .cmsNavi_horizontal ul li:first-child:before	{ display: none; }


footer .cmsNavi_icon ul							{ display: flex; justify-content: start; margin: 0; padding: 0; }
footer .cmsNavi_icon ul li						{ padding-right: 20px; list-style: none; }
footer .cmsNavi_horizontal ul li:last-child	{ padding-right: 0; }
footer .cmsNavi_icon ul li a					{ display: block; width: 40px; height: 40px; border-radius: 20px; line-height: 40px; text-align: center; font-size: 20px; background: var(--schwarz); color: white; }
footer .cmsNavi_icon ul li a:hover			{ background: var(--rot); color: white !important; }
footer .cmsNavi_icon ul li a i				{ line-height: 40px; }
footer .cmsNavi_icon ul li a span			{ display: none; }

.f-nl										{ padding: 1.5rem 0; }
.f-nl input								{ height: 45px; padding: 0 23px; line-height: 45px; border: none; border-radius: 4px 0 0 4px; outline: none; box-shadow: none; background: var(--hellgrau) }
.f-nl button								{ height: 45px; width: 50px; line-height: 45px; border: none; border-radius: 0 4px 4px 0; outline: none; box-shadow: none; background: var(--rot); color: white; }


footer .block_10000 a							{ padding: 0 5px 0 0; transition: padding 0.3s; border: none !important; }
footer .block_10000 a:hover					{ padding: 0 0 0 5px; }


@media screen and (min-width: 1280px){
footer .f-content .p-3							{ padding: 25px 0 !important; }
footer .f-content .p-3 .p-3					{ padding: 25px 40px !important; }
}

@media screen and (min-width: 960px)  and (max-width: 1279px){
footer												{ font-size: 17px !important; line-height: 30px; }
footer div.f-yellow								{ width: 0px; }
footer div.f-yellow svg							{ left: 0px; }
footer .f-logo										{ padding: 40px 40px 0 40px; }
footer .f-content .p-3							{ padding: 20px !important; }
footer .block.block_90020						{ width: 100%; }
footer .block h5,
footer .block .h5									{ font-size: 24px !important; padding-bottom: 0.75rem !important; }
}

@media screen and (max-width: 959px){
footer div.f-yellow								{ width: 0; }
footer div.f-yellow svg:first-child			{ display: none; }
footer div.f-yellow svg:last-child			{ display: block !important; left: 0; width: 75vW; height: 100%; }
footer div.f-dark svg							{ right: calc(100% - 50vW); }

footer .f-logo										{ padding: 30px 20px 0 20px; }
footer .f-content .p-3							{ padding: 15px 10px !important; }

footer .block_10000								{ width: 100%; font-size: 15px !important; line-height: 30px; }
footer .block_90000								{ width: 50%; font-size: 15px !important; line-height: 30px; }
footer .block_90000 .h5							{ font-size: 24px !important; padding-bottom: 0 !important; }

footer .block_50000								{ width: 100%; }
footer .block_50000 .f-nl						{ padding: 5px 0 1.5rem 0; }
footer .block_50000 .cmsNavi_icon ul		{ justify-content: center; }
footer .block_50000 .cmsNavi_icon ul li	{ padding-left: 10px; padding-right: 10px; }
footer .block_90020.block.art					{ font-size: 14px !important; padding-bottom: 0 !important; }

}


footer h5,
footer .h5											{ letter-spacing: 0.5px; }