:root {
    /*Bootstrap CSS Variablen*/    
    --bs-primary: #ef7b00;
    --bs-primary-rgb: 248, 129, 29;
    
    --bs-primary-darker: #944d11;
    --bs-primary-darker-rgb: 148, 77, 17;
    
    --bs-primary-lighter: #f8b67e;
    --bs-primary-lighter-rgb: 248, 182, 126;

    --bs-link-color-rgb: var(--bs-white-rgb);
    --bs-link-hover-color-rgb: var(--bs-primary-rgb);
    --bs-link-opacity: 1;
		
}

.btn-primary {
	--bs-btn-color: #000;
	--bs-btn-bg: var(--bs-primary);
	--bs-btn-border-color: var(--bs-primary);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--bs-primary-darker);
	--bs-btn-hover-border-color: var(--bs-primary-darker);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--bs-primary-darker);
	--bs-btn-active-border-color: var(--bs-primary-darker);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--bs-primary-lighter);
	--bs-btn-disabled-border-color: var(--bs-primary-lighter);
}


.navbar {
    /*
    --bs-navbar-color: rgba(255,255,255,0.7);
    --bs-navbar-hover-color: rgba(255,255,255,1);
    --bs-navbar-active-color: rgba(255,255,255,0.9);
    */
    --bs-nav-link-font-size: 1.2rem;
}

.navbar-nav{
    --bs-nav-link-font-weight: 600;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
    background-image: none;
    filter: none !important;
    font-size: 2rem;
    color: var(--bs-primary);
}

[data-bs-theme="dark"] .carousel .carousel-indicators [data-bs-target] {
    background-color: var(--bs-primary);
}


.cookie-warnung {
	position: fixed;
	left: 0px;
	right: 0px;
	bottom: 0px;
	padding-top: 1rem;
	padding-bottom: 1rem;
	color: #FFF;
	background-color: rgba(0,0,0,.8);
	z-index: 50000;
}

.menu-ebene .menu-ebene li a {
	padding-left: 1.5em;
	font-size: .9em;
}

.menu-ebene .menu-ebene .menu-ebene li a {
	padding-left: 2em;
	font-size: .8em;
}


.video {
	width: 100%;
	height: auto;
}

.galerie-einblendung {
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 2000;
}

.galerie-hg {
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background-color: rgba(0,0,0,0.8);
	overflow: visible;
	z-index: 2030;
}

#galerie {
	position: absolute;
	top: 40px;
	left: 40px;
	right: 40px;
	bottom: 40px;
	z-index: 2060;
}

#galerie .carousel-inner {
	height: 100%;
}

.galerie-motiv {
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

#galerie .carousel-control {
	background-image: none;
	width: 30px;
}

a.galerie-x {
	position: absolute;
	top: 10px;
	right: 40px;
	color: #fff;
	font-size: 2rem;
	z-index: 2090;
}

a.galerie-x:hover {
	color: #fff;
}

.form-check-input {
    margin-top: .4rem;
}

.ankerbox {
	position: relative;
	height: 0px;
}

.anker {
	position:absolute;
	margin-top: -125px;
}

.mapbox {
	position: relative;
	background-image: url(../pic/map-platzhalter.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.ytbox {
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.dunkler {
    background-color: rgba(0,0,0,0.5);
}

.navbar-brand {
    position: absolute;
    top: 20px;
    width: 100vw;
    pointer-events: none;
    z-index: 1;
}

.navbar-brand img {
    pointer-events: auto;
}

.navbar-collapse {
    position: relative;
    z-index: 5;
}

.navbar-toggler {
    position: absolute;
    right: 0px;
    top: 20px;
    z-index: 6;
}

.logo {
    height: 280px;
    width: auto;
    margin-top: 3vh;
    margin-left: calc(50vw -140px);
    margin-right: calc(50vw -140px);
    opacity: 0;
    transition: height 0.5s ease, margin-top 0.5s ease, opacity 0.5s ease, margin-left 1s ease, margin-right 1s ease;
}

.logo.scrolled, .logo.nobs {
    height: 90px;
    margin-top: 0vh;
    margin-left: 2vw;
    margin-right: 98vw;
    opacity: 1;
}

.parallax {
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    perspective: 1px;
    scroll-behavior: smooth;
}


#bildsatz {
    position: relative;
    height: 50vh;
    z-index: -1;
    transform: translateY(-75vh) translateZ(-3px) scale(4);
}

#bildsatz .carousel-inner, #bildsatz .carousel-item {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

#bildsatz .carousel-caption {
    top: 45vh;
    left: 5%;
    right: 5%;
    z-index: 5;
}

.silluette1 {
    position: relative;
    height: 100vh;
    transform: translateY(-10vh) translateZ(-2px) scale(3);
    margin-bottom: -10vh;
    z-index: -1;
    display: none;

}

.silluette2 {
    position: relative;
    height: 100vh;
    transform: translateY(-40vh) translateZ(-1px) scale(2);
    margin-bottom: -50vh;
    z-index: -1;
    display: none;
}

.nobsspacer {
    height: 100px;
}

.mosaik-container {
	position: relative;
}

.mosaik-title {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: opacity 0.5s;
}

.mosaik-card:hover .mosaik-title, .mosaik-card:focus .mosaik-title {
    opacity: 1;
}

.mosaik-card {
    position: relative;
    transition: transform 0.5s;
    z-index: 1;
}

.mosaik-card:hover, .mosaik-card:focus {
    transform: scale(1.2);
    z-index: 2;
}

.fuss {
    color: #000;
}

.fuss a:link, .fuss a:visited {
    color: #000;
    text-decoration: none;
}

.fuss a:hover, .fuss a:focus {
    color: var(--bs-primary-darker);
    text-decoration:  underline;
}

a.top-link {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    border: solid 1px rgba(249,249,249,0.4);
    border-radius: 30px;
    color: #fff;
    background-color: #000;
    text-decoration: none;
    opacity: 0;
    transition: opacity 0.5s;
}

a.top-link.scrolled {
    opacity: 1;
}

a.top-link:hover, a.top-link:focus {
    background-color: var(--bs-primary);
    color: var(--bs-dark);
}

.block {
    position: relative;
}

.block-hg {
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

@supports (-webkit-touch-callout: none) {
   /* CSS specific to iOS devices */ 
    .block-hg {
        background-attachment: scroll;
    }
}

.blockhgvideo {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.blockcontent {
    position: relative;
    padding-top: 5vh;
    padding-bottom: 5vh;
	opacity: 0;
	transition: opacity 1s;
    z-index: 2;
}

.block-hg .blockcontent {	
    min-height: 100vh;
}

.im-sichtfeld .blockcontent {
	opacity: 1;
}

a.card {
    text-decoration: none;
}

.card-button {
    margin-top: -2rem;
}

.card {
    position: relative;
    background-color: transparent;
	--bs-card-title-color: var(--bs-dark);
}

.flip-base {
    display: none;
    z-index: -1;
}

.flip-back, .move {
	color: #fff;
    background-color: #000;
}

.pink h1, .pink h2.h1, .pink .h1, .pink .fs-1 {
    color: #d3a5b6;
}

.pink .h2, .pink h3, .pink .h3 {
    background-color:  #d3a5b6;
}

.pink .flip-back, .pink .move {
	color: #000;
    background-color: #d3a5b6;
}

.move.pink, .card.pink .flip-back {
	color: #000;
    background-color: #d3a5b6 !important;
}

.pistazie h1, .pistazie h2.h1, .pistazie .h1, .pistazie .fs-1 {
    color: #90a085;
}

.pistazie .h2, .pistazie h3, .pistazie .h3 {
    background-color:  #90a085;
}

.pistazie .flip-back, .pistazie .move {
	color: #000;	
    background-color: #90a085;
} 

.move.pistazie, .card.pistazie .flip-back {
	color: #000;
    background-color: #90a085 !important;
}

.hellblau h1, .hellblau h2.h1, .hellblau .h1, .hellblau .fs-1 {
    color: #8fb3c7;
}

.hellblau .h2, .hellblau h3, .hellblau .h3 {
    background-color:  #8fb3c7;
}

.hellblau .flip-back, .hellblau .move {
	color: #000;
    background-color: #8fb3c7;
} 

.move.hellblau, .card.hellblau .flip-back {
	color: #000;
    background-color: #8fb3c7 !important;
}

.orange .btn-primary {
	--bs-btn-bg: #FFF;
}


.orange h1, .orange h2.h1, .orange .h1, .orange .fs-1 {
    color: #ef7b00;
}

.orange .h2, .orange h3, .orange .h3 {
    background-color:  #ef7b00;
}

.orange .flip-back, .orange .move {
	color: #000;
    background-color: #ef7b00;
} 

.move.orange, .cars.orange .flip-back {
	color: #000;
	background-color: #ef7b00 !important;
}

.move {
    position: relative;
    z-index: 1;
}

.top-move {
    z-index: 2;
}

h1, h2.h1, .h1, .fs-1 {
    font-family: "Anton", "sans-serif";
	font-size: calc(var(--bs-body-font-size)*3) !important;
    transform: scale(2);
    opacity: 0;
    transition: transform 0.75s, opacity 0.5s;
}

.im-sichtfeld h1, .im-sichtfeld h2.h1, .im-sichtfeld .h1, .im-sichtfeld .fs-1, .detail h1, .detail h2.h1, .detail .h1, .detail .fs-1 {
    transform: scale(1);
    opacity: 1;
}

h1.h3, h2, h2.h3, .h2, h3, .h3, h4, .h4, .fs-2 {
    font-family: "Arvo", serif;
}

h1.h3, h2.h3, h3, .h3 {
    background-color: #FFF;
    color: #000;
    padding: 15px;
    display: inline-block;
    font-family: "Arvo", serif;
	font-size: calc(var(--bs-body-font-size)*1.5) !important;
    margin-bottom: 35px;
    transform: rotateZ(3deg) scale(2);
    opacity: 0;
    transition: transform 0.75s, opacity 0.5s;
	transition-delay: 0.5s;
}

.im-sichtfeld h1.h3, .im-sichtfeld h2.h3, .im-sichtfeld h3, .im-sichtfeld .h3, .detail h1.h3, .detail h2.h3, .detail h3, .detail .h3 {
    transform: rotateZ(-3deg) scale(1);
    opacity: 1;
}

h4, .h4 {
	font-size: calc(var(--bs-body-font-size)*1.2);
}

.artikel {
    opacity: 0;
    transition: opacity 0.5s;
	transition-delay: 0.75s;
}

.im-sichtfeld .artikel, .detail .artikel {
	opacity: 1;
}

.extrabuttons {
    position: fixed;
    top: 23vh;
    right: -260px;
    width: 600px;
    transform: rotateZ(-90deg);
    pointer-events: none;
    z-index: 5000;
}

.extrabuttons .btn {
    margin-top: 70px;
    pointer-events: auto;
    transition: margin-top 0.5s;
}

.extrabuttons .btn:hover {
    margin-top: 0px;
}

a.klappe {
	text-decoration: none;
	outline: none;
}

a.klappe h4:after {
	content: url(../pic/nachoben.svg);
    width: 20px;
    height: 20px;
	margin-left: 10px;
	float: right;
}

a.klappe.collapsed h4:after {
	content: url(../pic/nachunten.svg);
}


body {
	--bs-body-font-size: 1.1rem;
}

a.sprache {
    text-decoration: none;
}

a.sprache:hover, a.sprache:focus, a.sprache.active {
    text-decoration: underline;
}

@media(min-width: 768px){
    
    body {
        --bs-body-font-size: calc(0.8rem + .7vw);
    }
    
    .logo.semi-scrolled {
        height: 180px;
        margin-top: 0.5vh;
        opacity: 1;
    }

    .logo.scrolled, .logo.nobs {
        height: 140px;
    }
    
    #bildsatz {
        height: 100vh;
        transform: translateY(0) translateZ(-3px) scale(4);
    }
    
    .silluette1, .silluette2 {
        display: block;

    }

    .max-1920 {
        max-width: 1920px;
        padding-left: 7vw;
        padding-right: 7vw;
    }
    
	.text-schmal {
		padding-left: 12vw;
		padding-right: 12vw;
	}
            
	.mosaik {
		position: absolute;
		top: 0;
		left: 0;
		width: 50%;
		transition: height 0.5s, top 1s, left 1s;
	}
    
    .anker {
        margin-top: -80px;
    }

    
}
    

@media(min-width: 992px){
        
    .mosaik {
		width: 33.333%;
	}
    
    .flip-base {
        display: block;
        z-index: -1;
    }

    .flip-front {
        position: absolute;
        top: 0;
    }

    .flip-front {
        position: absolute;
        top: 0;
        transform: rotateY(0);
        transition: transform 1s;
        backface-visibility: hidden;
    }

    .flip:hover .flip-front {
        transform: rotateY(-180deg);
    }

    .flip-back {
        position: absolute;
        top: 0;
        transform: rotateY(-180deg);
        transition: transform 1s;
        backface-visibility: hidden;
        background-color: #000;
    }

    .flip:hover .flip-back {
        transform: rotateY(0);
    }
    
    .move-box {
        position: relative;
    }
    
    .move {
        position: absolute;
        top: 0;
        left: 0;
        width: 50vw;
        max-width: 1000px;
        box-shadow: 5px 5px 15px #000;
        cursor: grab;
    }

}


@media(min-width: 1400px){
        
    body {
    	--bs-body-font-size: 1.3rem;
    }
    
    .max-1920 {
        padding-left: 135px;
        padding-right: 135px;
    }
    
    
	.mosaik {
		width: 25%;
	}
    
    .move {
        width: 40vw;
    }

}

@media(min-width: 1920px){
	.text-schmal {
		padding-left: 300px;
		padding-right: 300px;
	}
}

/*CMS Buttons*/
.cmslink {
	position: relative;
	height: 0px;
	display: block;
	overflow: visible;
	z-index: 50;
}

.cmsbtn {
	position: absolute;
	top: 0px;
	left: 0px;
}

#qcore-btn-show {
	display: none;
}

/*Anti Spam Honeypot*/
.mb-3.hp {
	height: 0;
	overflow: hidden;
}
