:root {
	--color-primary:#e20613;
	--color-secondary:#001122;
	--color-white:#ffffff;
  	--color-default:#cccccc;
	--color-text:#3e3f3c;
	--color-gray:#e3e3e3;
}

/* montserrat-regular - latin */
@font-face {
  font-display:swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family:'Montserrat';
  font-style:normal;
  font-weight:400;
  src:url('/assets/webfonts/montserrat-v31-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/webfonts/montserrat-v31-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* montserrat-600 - latin */
@font-face {
  font-display:swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family:'Montserrat';
  font-style:normal;
  font-weight:600;
  src:url('/assets/webfonts/montserrat-v31-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/webfonts/montserrat-v31-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

html {
	overflow-y:scroll;	
}

body {
	font-family:'Montserrat';
	font-size:16px;
	color:var(--color-text);
}

#page {
	padding-top:80px;
}

.container {
	min-width:360px;	
}

#logo {
	display:block;
	width:250px;
  	height:40px;
  	background:url(/media/logo.svg);
    background-size:auto;
  	background-size:cover;
}

a {
	color:var(--color-primary);
}
	
.btn:focus,
.btn:active,
a:focus,
a.active {
	outline:none !important;
}

.btn-primary {
	background:var(--color-primary);
	border-color:var(--color-primary);
	color:var(--color-white);
}

.btn-primary:hover,
.btn-primary:focus {
	background:color-mix(in srgb, var(--color-primary) 85%, black);
	border-color:color-mix(in srgb, var(--color-primary) 85%, black);
}

.btn-ghost {
	background:transparent;
	border-color:var(--color-white);
	color:var(--color-white);
}

.btn-ghost:hover,
.btn-ghost:focus {
	background:color-mix(in srgb, var(--color-white) 15%, transparent);
	border-color:var(--color-white);
	color:var(--color-white);
}
.btn {
	position:relative;
	padding-right:3rem;
}

.btn::after {
	content:"\f061";
	font-family:"Font Awesome 7 Free";
	font-weight:900;
	position:absolute;
	right:1rem;
	top:50%;
	transform:translateY(-50%);
}

h1 {
	font-size:2.5rem;
	text-transform:uppercase;
	color:var(--color-primary);
}

.hl1 {
	font-size:1rem;
	text-transform:uppercase;
	color:var(--color-primary);
}

h2 {
	font-size:2rem;
	font-weight:600;
	color:var(--color-secondary);
}

.wrapper {
	margin-bottom:50px;
}

/* Navigation -------------------------------- */

@media screen and (min-width:992px) {
	
	#header {
		font-size:16px;
		text-transform:uppercase;
		padding:20px 0px;
		position:fixed;
		left:0px;
		right:0px;
		top:0px;
		z-index:888;
		background:var(--color-secondary);
	}
	
	#header .container {
		display:flex;
		align-items:end;
	}
	
	.navbar-expand-lg .navbar-nav {
		display:block;
		width:100%;
		text-align:right;
	}
	
	.navbar-nav > li {
		padding-left:15px;	
		display:inline-block;
	}
	
	.navbar-nav > li > a {
		color:var(--color-white);
		border-color:var(--color-primary);		
	}
	
	.navbar-nav > li > a:hover,
	.navbar-nav > li > a:focus,
	.navbar-nav .nav-link.active,
	.navbar-nav .nav-link.show {
		color:var(--color-white);	
		border-bottom:2px solid var(--color-primary);
	}
	
	.navbar-nav > li > .dropdown-menu {
		display:block;
		visibility:hidden;
		opacity:0;
		-webkit-transition:opacity 0.5s linear;
	    -ms-transition:opacity 0.5s linear;
		transition:opacity 0.5s linear;
		-webkit-border-radius:0px;
		-moz-border-radius:0px;
		border-radius:0px;
		padding:0px;
		margin:0px;
		border:none;
		left:15px;
		white-space:nowrap;
	}
	
	.navbar-nav > li:hover > .dropdown-menu {
		visibility:visible;
		opacity:1;
	}
	
	.dropdown-menu > li > a:focus,
	.dropdown-menu > li > a:hover,
	.dropdown-menu > .active > a,
	.dropdown-menu > .active > a:focus,
	.dropdown-menu > .active > a:hover {
		background:var(--color-primary);	
		color:var(--color-white);
	}
	
}

/* Slideshow --------------------------------- */

.wrapper.slideshow.margin-2 {
	margin-bottom:0px;
}


.slideshow .slide {
	position:relative;
	overflow:hidden;
}

.slideshow .slide video {
	display:block;
	width:100%;
  	max-height:700px;
	object-fit:cover;
  	object-position:center;  	
}

.slideshow .slide > img {
	display:block;
	width:100%;
	height:auto;
}

.slideshow .slide .inner {
	position:absolute;
	inset:0;
	z-index:2;
}

.slideshow .slide .inner .container {
	position:relative;
	height:100%;
}

.slideshow .slide .text {
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:50%;
	max-width:50%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	text-align:left;
	padding:40px 80px 40px 15px;
	color:var(--color-white);
	transparent
}

.slideshow .slide.align-2 .text {
	left:auto;
	right:0px;
	padding-left:90px;
}

.slideshow .slide .text::before {
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	bottom:0;
	left:calc((100vw - 100%) / -2);
	width:calc(100% + (120vw - 100%) / 2);
	background:linear-gradient(
		to right,
		var(--color-secondary) 0%,
		var(--color-secondary) 80%,
		transparent 100%
	);
}

.slideshow .slide.align-2 .text::before {
	left:auto;
	right:calc((100vw - 100%) / -2);
	background:linear-gradient(
		to left,
		var(--color-secondary) 0%,
		var(--color-secondary) 80%,
		transparent 100%
	);
}

.slideshow h2 { 
	font-size:4rem;
	line-height:1;
	font-weight:bold;
	color:var(--color-white);	
	text-transform:uppercase;
}

.slideshow h2 strong { 
	color:var(--color-primary);
}

.slideshow .buttons {
	display:flex;
	gap:1rem;
}

/* Text -------------------------------------- */

.wrapper.text.layout2 {
	text-align:center;
}

/* Teaser ------------------------------------ */

.teaser {
	margin-bottom:55px;
	font-size:0.9rem;
}

.teaser .row {
	display:flex;
	flex-wrap:wrap;
}

.teaser .row > [class*="col-"] {
	display:flex;
}

.teaser .box {
	width:100%;
	padding:25px;
	border:1px solid var(--color-gray);
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;	
	margin-bottom:25px;
}

.teaser a {
	color:var(--color-secondary);
	text-decoration:none;
}

.teaser a .fa-solid {
	color:var(--color-primary);
}

.teaser img {
	max-width:80%;
	display:block;
	margin:0px auto 20px auto;
}

.teaser .headline {
	color:var(--color-primary);	
	font-size:1.5rem;
}

.teaser .learn-more {
	font-weight:bold;
}

/* USP --------------------------------------- */

.usp-boxes {
	background:var(--color-secondary);
	color:var(--color-white);
	padding:20px 0px;
	border-top:1px solid rgba(255, 255, 255, 0.15);
}

.usp-box {
	position:relative;
}

.usp-box + .usp-box {
	border-left:1px solid rgba(255, 255, 255, 0.15);
}

.usp-box a {
	display:block;
	height:100%;
	color:var(--color-white);
	text-decoration:none;
}

.usp-box-inner {
	display:flex;
	align-items:center;
	min-height:50px;
	padding:0px 20px;
}

.usp-icon {
	flex:0 0 42px;
	margin-right:15px;
	font-size:28px;
	line-height:1;
	text-align:center;
}

.usp-content {
	flex:1;
}

.usp-title {
	font-size:14px;
	font-weight:700;
	line-height:1.3;
	text-transform:uppercase;
}

.usp-text {
	margin-top:3px;
	font-size:13px;
	line-height:1.35;
	opacity:0.85;
}

.usp-box a:hover {
	color:var(--color-white);
}

.usp-box a:hover .usp-icon {
	color:var(--color-primary);
}

/* iframe ------------------------------------ */

.wrapper.iframe {
	overflow-y:hidden;
}

.wrapper.iframe iframe {
	width:100%;
	min-height:1000px;
	border:0px;
}

/* Gallery ----------------------------------- */

.wrapper.gallery {
	padding-top:20px;
	overflow-x:hidden;	
}

.wrapper.gallery .headline {
	padding:0px 30px;
}

.wrapper.gallery .row {
	margin:0px;
}

.wrapper.gallery .col-lg-4,
.wrapper.gallery .col-sm-4,
.wrapper.gallery .col-sm-8 {
	padding:0px;	
}

.wrapper.gallery a {
	display:block;	
}

.wrapper.gallery img {
	display:block;
	width:100%;
	max-width:100%;
	margin-bottom:30px;
}

.wrapper.gallery img {
	opacity:1;
	transition:opacity .5s ease-in-out;
	-moz-transition:opacity .5s ease-in-out;
	-webkit-transition:opacity .5s ease-in-out;		
}

.wrapper.gallery img:hover {
	opacity:0.5;	
}

/* Accordeon --------------------------------- */

.accordeon .box {
    border-bottom:1px solid var(--color-gray);
}

.accordeon .accordion-header {
    display:flex;
    align-items:flex-start;
    padding:15px;
    cursor:pointer;
}

.accordeon .accordion-header > .large {
    color:var(--color-primary);
    flex:0 0 auto;
    margin-right:15px;
    margin-top:3px;
    font-size:45px;
}

.accordeon .accordion-headlines {
    flex:1;
    min-width:0;
}

.accordeon .headline {
    display:flex;
    align-items:center;
    font-size:1.2rem;
    font-weight:bold;
    padding-top:10px;
}

.accordeon .headline > .fa-plus,
.accordeon .headline > .fa-minus {
    margin-left:auto;
}

.accordeon .sub-headline {
    margin-top:3px;
}
.accordeon .more {
    padding:0 15px;
    display:none;
}


/* FAQ --------------------------------------- */

.faq-item {
	width:100%;
	border:1px solid var(--color-gray);
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;	
	margin-bottom:25px;
}

.faq-item .headline {
    display:flex;
    align-items:center;	
	cursor:pointer;
	padding:15px;
}

.faq-item .headline i {
    margin-left:auto;
}

.faq .faq-item .more {
	padding:0px 15px;
	display:none;
}

/* Acvice ------------------------------------ */

.advice .box {
	background:var(--color-secondary);
	color:#ffffff;
	-webkit-border-radius:15px;
	-moz-border-radius:15px;
	border-radius:15px;	
	overflow:hidden;
	margin-bottom:40px;
}

.advice .box .col-md-4 {
	background:url(/media/aixam-haendler-bayern.jpg);
	background-size:cover;
	min-height:300px;
}

.advice .box .text {
	padding:50px;
}

.advice .card {
	border:0px;
	display:flex;
	flex-direction:row;
	align-items:center;
	padding:15px;
	border-left:1px solid var(--color-gray);
	-webkit-border-radius:0px;
	-moz-border-radius:0px;
	border-radius:0px;		
}

.cards .row > .col-sm-4:first-child .card {
	border:none;
}

.advice .card > .large {
	display:inline-block;
	flex:0 0 auto;
	margin-right:15px;
	margin-top:3px;
	font-size:40px;
}

.advice .card .card-headlines {
	flex:1;
	min-width:0;
}

.advice .card .headline {
	display:flex;
	align-items:center;
	font-weight:bold;
	padding-bottom:5px;
}

.advice .buttons {
	display:flex;
	gap:1rem;
}

/* Footer ------------------------------------ */

.mobile-bottom-bar {
	display:none;
}

#footer  {
	font-size:14px;
	padding-top:30px;
	background:var(--color-secondary);
	color:var(--color-white);
}

#footer a {
	color:var(--color-white);
	text-decoration:none;
}

#footer .footer-1 img {
	width:200px;
	margin-bottom:15px;
}

#footer .footer-1 a {
	font-size:18px;
}

#footer .footer-1 .text {
	margin-bottom:15px;
}

#copyright {
	padding:10px;
	font-size:14px;	
	text-align:center;
	background:var(--color-secondary);
	color:var(--color-white);
}

@media (max-width:1299.98px) {

	.slideshow h2 {
		font-size:3rem;
	}
	
	.navbar > .container {
        flex-direction:column;
        align-items:center;
    }

    #logo {
        display:block;
        margin:0 auto;
    }
    
    .navbar-expand-lg .navbar-nav {
		text-align:center;    
    }

    #navbarSupportedContent {
        width:100%;
        flex-basis:100%;
    }

    #navbarSupportedContent > ul {
        width:100%;
    }
    
    	#footer .footer-1 {
		flex:0 0 100%;
		max-width:100%;
		margin-bottom:30px;
	}

	#footer .footer-2,
	#footer .footer-3,
	#footer .footer-4,
	#footer .footer-5 {
		flex:0 0 50%;
		max-width:50%;
		margin-bottom:20px;
	}

}

@media (max-width:991.98px) {
	
	#header {
		font-size:16px;
		text-transform:uppercase;
		padding:20px 0px;
		position:absolute;
		left:0px;
		right:0px;
		top:0px;
		z-index:888;
		background:var(--color-secondary);
	}
	
	#header .container {
		display:flex;
		align-items:end;
	}
	
	.navbar {
		position:static;
	}
	
	.navbar > .container {
        flex-direction:initial;
    }

	.navbar-toggler {
		background:var(--color-secondary);
		border:2px solid var(--color-white);
		-webkit-border-radius:0px;
		-moz-border-radius:0px;
		border-radius:0px;  		
	}
	
	.navbar-toggler:focus {
		box-shadow:none;
	}
	
	.navbar-toggler {
  		border-color:var(--color-primary);
	}
	
	.navbar-toggler-icon {
  		background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	}
	
	.navbar-toggler-icon .fas {
  		display:none;
	}
	 
	 #navbarSupportedContent {
		position:absolute;
		top:95px;
		right:0px;
		left:0px;
		background:var(--color-white);
	 	z-index:99;
	 	border:1px solid var(--color-secondary);
	 	padding-right:0px;
	 }
	 
	 .nav.navbar-nav {
	 	max-width:720px;
	 	margin:0px auto;
	 }
	 
	 .navbar-expand-lg .navbar-nav {
	 	text-align:left;
	 }
	 
	 .navbar-nav .nav-item.level-1 {
		padding:10px 0px;
	 }
	 
	 .navbar-nav .nav-link.level-1 {
	 	padding:5px 15px;
	 	border-left:2px solid transparent;
	 	display:flex;
	 }
	 
	.navbar-nav .nav-link.level-1:hover,
	.navbar-nav .nav-link.level-1:focus,
	.navbar-nav .nav-link.level-1.active,
	.navbar-nav .nav-link.level-1.show {
		color:var(--color-primary);	
		border-left:2px solid var(--color-primary);	
	}
	
	#navbarSupportedContent > ul > li > a::before {
        font-family:"Font Awesome 7 Free";
        font-weight:900;
        display:inline-block;
        width:28px;
        margin-right:8px;
        text-align:center;
        font-size:20px;
    }

    #navbarSupportedContent > ul > li:nth-child(1) > a::before {
        content:"\f015"; /* house */
    }

    #navbarSupportedContent > ul > li:nth-child(2) > a::before {
        content:"\f1b9"; /* car */
    }

    #navbarSupportedContent > ul > li:nth-child(3) > a::before {
        content:"\f1de"; /* sliders */
    }

    #navbarSupportedContent > ul > li:nth-child(4) > a::before {
        content:"\f0ad"; /* wrench */
    }

    #navbarSupportedContent > ul > li:nth-child(5) > a::before {
        content:"\f1ae"; /* child */
    }

    #navbarSupportedContent > ul > li:nth-child(6) > a::before {
        content:"\f1ea"; /* newspaper */
    }

    #navbarSupportedContent > ul > li:nth-child(7) > a::before {
        content:"\f2bb"; /* address-book */
    }
    
    #navbarSupportedContent > ul > li.dropdown > a::after {
	    font-family:"Font Awesome 7 Free";
	    font-weight:900;
	    content:"\f105"; /* angle-right */
	    display:inline-block;
	    margin-left:auto;
	    font-size:18px;
	}

    #navbarSupportedContent > ul > li.dropdown > a.active::after {
	    content:"\f107"; /* angle-down */
	}

	#navbarSupportedContent .dropdown-menu .nav-link {
	    padding:3px 5px;
	}
	
	.navbar-nav .dropdown-menu .nav-link:hover,
	.navbar-nav .dropdown-menu .nav-link:focus,
	.navbar-nav .dropdown-menu .active .nav-link {
		color:var(--color-primary);	
	}

	#navbarSupportedContent > ul > li.level-1.active.dropdown > ul.dropdown-menu {
	    display:block;
	}

    #navbarSupportedContent > ul > li.level-1.dropdown > ul.dropdown-menu {
        position:relative;
        list-style:none;
        padding-left:46px;
        background-color:#f7f8fa;
        border:none;
        border-radius:8px;
        box-shadow:none;
    }

    #navbarSupportedContent > ul > li.level-1.dropdown > ul.dropdown-menu::before {
        content:"";
        position:absolute;
        left:27px;
        top:31px;
        bottom:31px;
        width:1px;
        background-color:var(--bs-nav-link-color);
        opacity:0.35;
    }

    #navbarSupportedContent > ul > li.level-1.dropdown > ul.dropdown-menu > li {
        position:relative;
        list-style:none;
    }

    #navbarSupportedContent > ul > li.level-1.dropdown > ul.dropdown-menu > li::before {
        content:"";
        position:absolute;
        left:-19px;
        top:50%;
        transform:translate(-50%, -50%);
        width:10px;
        height:10px;
        background-color:var(--bs-nav-link-color);
        border-radius:50%;
        z-index:1;
    }

    #navbarSupportedContent > ul > li.level-1.dropdown > ul.dropdown-menu > li.active::before,
    #navbarSupportedContent > ul > li.level-1.dropdown > ul.dropdown-menu > li:has(> a[aria-current="page"])::before {
        background-color:var(--color-primary);
    }

    #logo {
        margin:0;
    }
    
    .slideshow .slide .text {
    	padding:20px 40px 20px 15px;
    }
    
    .slideshow .slide .text {
    	padding:20px;
    	width:60%;
    	max-width:60%;
    }

	.slideshow .slide.align-2 .text {
		padding-left:20px;
	}
	
	.slideshow h2 {
    	font-size:2.5rem;
  	}
  	
 	.usp-box:nth-child(3) {
		border-left:0;
		border-top:1px solid rgba(255, 255, 255, 0.15);
	}

	.usp-box:nth-child(4) {
		border-top:1px solid rgba(255, 255, 255, 0.15);
	}
  	
	.mobile-bottom-bar {
		left:8px;
		right:8px;
		display:flex;
		background:var(--color-secondary);
		border-radius:20px 20px 0 0;
		box-shadow:0 -3px 15px rgba(0, 0, 0, 0.2);
		overflow:hidden;
		text-transform:uppercase;
	}

	.mobile-bottom-bar.bar-fixed {
		position:fixed;
		z-index:99;
		bottom:0;
	}

	.mobile-bottom-bar.bar-above-footer {
		position:absolute;
		z-index:9999;
	}

	.mobile-bottom-item {
		display:flex;
		align-items:center;
		justify-content:center;
		flex:1 1 50%;
		min-height:68px;
		padding:8px 10px;
		color:var(--color-white);
		text-decoration:none;
	}

	.mobile-bottom-item + .mobile-bottom-item {
		border-left:1px solid rgba(255, 255, 255, 0.15);
	}

	.mobile-bottom-item > i {
		flex:0 0 auto;
		margin-right:12px;
		color:var(--color-primary);
		font-size:28px;
	}

	.mobile-bottom-item span {
		display:flex;
		flex-direction:column;
		line-height:1.2;
	}

	.mobile-bottom-item small {
		font-size:11px;
		font-weight:400;
		letter-spacing:0.3px;
	}

	.mobile-bottom-item strong {
		margin-top:2px;
		font-size:15px;
		font-weight:700;
	}

	.mobile-bottom-item:hover,
	.mobile-bottom-item:focus {
		color:var(--color-white);
		text-decoration:none;
	}
}


@media (max-width:767.98px) {

	#footer .footer-1,
	#footer .footer-2,
	#footer .footer-3,
	#footer .footer-4,
	#footer .footer-5 {
		flex:0 0 100%;
		max-width:100%;
		margin-bottom:20px;
	}
	
	.slideshow .slide .inner {
		position:relative;
	}
	
	.slideshow .slide .text {
		position:relative;
		top:-150px;
		width:100%;
		max-width:100%;
		margin-bottom:-150px;
	}
	
	.slideshow .slide .text::before,
	.slideshow .slide.align-2 .text::before {
		content:"";
		position:absolute;
		z-index:-1;
		top:0;
		bottom:0;
		left:calc((100vw - 100%) / -2);
		right:-100%;
		width:200%;
		background:linear-gradient(
			to bottom,
			transparent 0px,
			var(--color-secondary) 150px
		);
	}
	
	.slideshow .buttons {
		flex-direction:column;
	}
	
	.advice .buttons {
		flex-direction:column;
	}
}


@media (max-width:575.98px) {

	.usp-box {
		border-left:0 !important;
		border-top:1px solid rgba(255, 255, 255, 0.15);
	}

	.usp-box:first-child {
		border-top:0;
	}

	.usp-box-inner {
		min-height:65px;
		padding:12px 20px;
	}

	.usp-icon {
		flex-basis:38px;
		margin-right:12px;
		font-size:24px;
	}

	.usp-title {
		font-size:13px;
	}

	.usp-text {
		font-size:12px;
	}

}
