/*
	Theme Name: CPB Bauarchiv 2026
	Theme URI: https://www.creativ-bauplanung.de/
	Description: IFH Bauarchiv 2026 Theme
	Version: 1.0
	Author: Christoph Karnebogen, Mirco Hueneke
	Author URI: http://www.diewildengestalten.de
*/

/* ------------------- WEBFONT IMPORT (FROM?) ------------------- */





/* ------------------- VARIABLES ------------------- */
/* fuer IE extra script css-vars.js laden */
:root {
	--desktop-screen-size: 1140px;
	
	--green: #479c2b;
	
	--gray: #9d9d9c;
	--darkgray: #575756;
	
	--purple: #5f6264;
	--pink: #d14488;
	
	--blue: #003770;
	--lightblue: #508195;
}




/* ------------------- BASIC ------------------- */

body{
	font-family: Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 15px;
	line-height: 1.85;
    letter-spacing: 0.4px;
}

::focus {
    outline: 0 !important;
}

button:focus {
    outline: 0 !important;
}

.effect, a{
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

p:last-child{
	margin-bottom: 0;
}

a {
	color: inherit;
}

a{
	color: inherit;
}


b, strong{
	font-weight: 700;
}

a.purple:hover{
	color: var(--purple);
}

a.white:hover{
	color: #fff;
}

a:hover{
	color: inherit;
}

.img-responsive { max-width: 100%; width: 100%; height: auto; }


p.imgcaption {
	position: relative;
    top: -39px;
    background-color: #FFFFFF90;
    padding: 6px 12px;
	color: var(--purple);
     margin-bottom: -39px;
}

button{
    border: 0;
    background-color: var(--purple);
	color: white;
	padding: 10px 20px;
}




/* --------------- HEADINGS AND TXT --------------- */

h1 {
	font-size: 20px;
    margin-top: 5px;
    margin-bottom: 0px;
    display: inline-block;
    font-weight: 700;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--purple);
}




/* -------------------- COLORS -------------------- */

.purple {
    color: var(--purple);
}






/* ------------------- NAVIGATION ------------------- */

nav{
	margin-bottom: 20px;
	background-color: white;
    display: flex;
    align-items: center;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
	z-index: 50;
    position: relative;
	padding: 15px 0;
}

.home nav{
	margin-bottom: 0px;
}

.page-headline{
    font-size: 18px;
    line-height: 1.4;;
	margin-top: 7px;
}


.page-headline-logo{
    justify-content: flex-end;
    display: flex;
}




/* ----------------- FOOTER ----------------- */

footer{
	font-family: Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 11px;
	margin-top: 100px;
	margin-bottom: 50px;
	color: var(--gray);
}

.page-id-3 footer, .page-id-76 footer{
	margin-top: 150px;
}

footer ul{
	padding-left: 0;
	padding-top: 3px;
	margin-bottom: 0;
}

footer li{
	display: inline-block;
	list-style: none;
}

footer li:after{
	content: ', ';	
}

footer li:last-child:after{
	padding-left: 0px;
	content: '';	
}

footer li a{
	padding-bottom: 3px;
	border-bottom: 1px solid transparent;
}

footer li a:hover{
	color: inherit;
	border-bottom: 1px solid var(--gray);
	text-decoration: none;
}

footer hr {
    margin-top: 30px;
    margin-bottom: 15px;
    border-top: 1px solid var(--gray);
}

footer span a{
    font-size: 11px;
	color: var(--gray);
}

footer span a:hover {
	text-decoration: none;
	color: inherit;
	color: black;
}

footer .green {
	text-transform: uppercase;
}

.rights{
	text-align: right;
	text-transform: uppercase;
	color: var(---purple);
}

.rights a{
	padding-bottom: 0px;
	border-bottom: 1px solid var(--purple);
	margin-right: 13px;
	color: var(---purple);
}

.rights a:last-child{
	margin-right: 0px;
}

.rights a:hover{
	color: inherit;
	border-bottom: 1px solid transparent;
	text-decoration: none;
}

footer .pb_logo { 
	max-width: 100px; 
	height: auto; 
	margin-bottom: 2px; 
}







/* ----------------- ELEMENTS ----------------- */

#ds-im{
	margin-top: 150px;
	margin-bottom: 150px;
}

.ds-im h1 {
    font-size: 40px;
	text-align: left;
	margin-bottom: 50px;
	top: 0;
	left: 0;
	color: var(---purple);
}

.ds-im h2 {
	margin-top: 50px;
    font-size: 30px;
	letter-spacing: 4px;
	font-weight: bold;
}

.ds-im h3 {
    margin-bottom: 30px;
    margin-top: 50px;
    font-size: 15px;
	color: var(---purple);
	font-weight: bold;
    line-height: 1.6;
    text-transform: uppercase;
}

.ds-im h5 {
    font-size: 15px;
	color: var(---purple);
}

.ds-im ul {
    padding-left: 15px;
}

.ds-im a {
    color: var(---purple);;
	word-break: break-all;
	text-decoration: underline;
}

.xs-break{
	display: none;
}

.footer-break{
	display: none;
}

.lageplan {
    width: 100%;
}

.lageplan-wrap{
	position: relative;
	padding: 0;
    flex: 0 0 100%;
}

.lageplan-link{
	background-color: white; /* #913f56E6 */
	color: transparent; /* transparent */
	position: absolute;
	z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
	font-size: 0.6vw;
	font-weight: 700;
	opacity: 0; /* 0 */
}

.lageplan-link:hover{
	color: transparent;
	text-decoration: none;	
	opacity: 0.5;
}

.logo-ifh{
	width: 150px;
}

.back-bar{
    display: flex;
    justify-content: center;
    align-items: center;
}

.pano-bar {
    display: flex;
    justify-content: flex-end;
    padding-top: 5px;
    font-size: 13px;
}

.nav-tabs .nav-link {
    margin-bottom: 0;
    border: none;
    border-radius: 0 !important;
    padding: 6px 15px;
    font-size: 15px;
    font-weight: 700;
	color: var(--purple);
	background-color: white;
	margin-right: 15px
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
 	color: white;
	background-color: var(--purple);   
}

	.back-bar.nav-tabs .nav-link {
		width: 100%;
	}

.nav-tabs {
    border-bottom: 0;
}

#wechselbild { width: 100%; height: 100%; }

.row .row{
    margin-right: 0;
    margin-left: 0;	
}

.tab-content{
	width: 100%;
}

.pnlm-panorama-info{
	display: none !important;
}

.gallery-links{
	margin-left: -15px;
	margin-right: -15px;
	display: flex;
    flex-wrap: wrap;
}

.gallery-links a{
	width: 20%;
	display: inline-block;
	float: left;
    padding: 15px 10px;
}

.asof{
    text-align: center;
    padding-top: 7px;
    line-height: 1.2;
    font-size: 13px;
}

.floor-icon{
	width: 15px;
	margin-right: 10px;
}

.cam-icon{
	width: 15px;
	margin-right: 10px;	
	margin-top: -5px;
}

.floor-icon-white{
	display: none;
}

.active .floor-icon{
	display: none;
}

.active .floor-icon-white{
	display: inline-block;
}

.gs-btns{
	text-align: center;
	margin-bottom: 150px;
}

.gs-btns button{
	margin: 5px;
}

.gallery-links a img{
	border: 5px solid transparent;
}

.gallery-links a.active img{
	border: 5px solid var(--purple);
}

.container-home{
	max-width: 1920px;
}

.show-space {
	max-width: 1920px;
    width: 100%;
    aspect-ratio: 16 / 9;
    position: absolute;
    top: 0;
    z-index: 60;
    background-color: var(--purple);
    opacity: 0.03;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
	display: none; /* none */
}

.container-single{
	max-width: 1920px;
	padding-left: 40px;
	padding-right: 40px;
	margin-top: 15px;
}

.sphere-canvas{
	width: 100%; 
	max-height: 500px;
	height: 65% !important;
	/* height: 470px !important; */
}

.gs-btns .images_wrap img {
    max-height: 840px;
	height: 35vw;
}

body .wrap_svl img.pins_image_hover.hotspot-highlight {
    display: block !important;
}

.not-house .floor-icon-white {
    display: none;
}










/* -- custom login page -- */
.page-id-230 footer, .page-id-230 header{
	display: none;
}

.page-id-230 .img-container{
	min-height: 100vh;
	/* background-image: url('/kunden/cpb-bauarchiv/wp-content/uploads/2026/03/Teaser.jpg'); */
	background-size: cover;
    background-position: center center;
}

.page-id-230 h1 {
    font-size: 6vw;
    text-transform: uppercase;
    color: white;
    border-bottom: none;
    line-height: 0.9;
    top: 5vw;
    position: absolute;
    left: 5vw;
    z-index: 5;
}

.page-id-230 .login-style{
	background-color: var(--blue);
}

.page-id-230 .login-style div{
	z-index: 5;
	position: relative;
}

.page-id-230 .login-deko{
    position: absolute;
    height: 102vh;
    top: -1vh;
    left: 50%;
    z-index: 1;
    transform: translateX(-40%);
}

.page-id-230 .login-container{
	position: relative;
	overflow-y: hidden;
}

.page-id-230 .trenner-bar{
    height: 100vh;
    position: absolute !important;
    left: -2px;
    top: 0;
}

.page-id-230 .first-bar{
    height: 120px;
    border-left: 4px solid rgba(255,255,3255,1);
}

.page-id-230 .logo-bar img{
	width: 380px;
	margin-top: 30px;
	margin-bottom: 30px;
	margin-left: -59px;
}

.page-id-230 .second-bar{
    height: 100vh;
    border-left: 4px solid rgba(255,255,3255,1);
}

.page-id-230 .login-wrap{
	padding: 350px 100px 0 100px;
	color: white;
	font-weight: bold;
}

.page-id-230 .row .row{
    margin-left: -15px;
    margin-right: -15px;
}

.page-id-230 input[type=text], .page-id-230 input[type=password], .page-id-230 input[type=submit], .page-id-230 input[type=email]{
	width: 100%;
	border: none;
	height: 35px;

}

.page-id-230 input:focus{
	outline: none;
}

.page-id-230 .login-law{
	margin: 30px 0; 
	text-align: center;
	text-transform: uppercase;
	font-size: 12px;
}

.page-id-230 .login-law a{
	opacity: 0.5;
	margin: 0 15px;
	font-weight: 400;
}

.page-id-230 .login-law a:hover{
	opacity: 1;
}

.page-id-230 input[type=submit]{
	background-color: var(--purple);
	color: white;
	box-shadow: 0 0 40px rgba(0,0,0,0.5);
	font-weight: bold;
	height: 50px;
}

.page-id-230 .login-law-text{
	font-weight: 400;
	margin-bottom: 15px;
	text-align: center;
	display: block;
}

.page-id-230 .pw-ask{
	margin: 10px 0;
}

.page-id-230 .pw-ask input[type=submit]{
	margin-top: 15px;
}
















/* ------------------------------------------------ Links Lageplan ------------------------------------------------ */

/* -- Häuser -- */
.link-h1 {
    width: 12.4%;
    height: 12.1%;
    top: 59%;
    left: 35.1%;
    transform: rotate(77deg);
}
.link-h2{
    width: 12.4%;
    height: 12.1%;
    top: 49.1%;
    left: 50.6%;
    transform: rotate(33deg);
}
.link-h3 {
    width: 12.4%;
    height: 12.4%;
    top: 30%;
    left: 56.9%;
    transform: rotate(33deg);
}

/* -- Fahrradhäuser -- */
.link-f1 {
    width: 2.4%;
    height: 4.4%;
    top: 45.1%;
    left: 39.5%;
    transform: rotate(33deg);
}
.link-f2 {
    width: 2.4%;
    height: 4.7%;
    top: 40.3%;
    left: 50.9%;
    transform: rotate(33deg);
}
.link-f3 {
    width: 2.4%;
    height: 4.7%;
    top: 21.2%;
    left: 57.2%;
    transform: rotate(33deg);
}

/* -- Fahrradhäuser -- */
.link-c1 {
    width: 2.4%;
    height: 10%;
    top: 63.6%;
    left: 49.7%;
    transform: rotate(-13deg);
    transform-origin: top left;
}
.link-c2 {
    width: 2.4%;
    height: 14.9%;
    top: 35.5%;
    left: 50.2%;
    transform: rotate(33deg);
    transform-origin: top left;
}
.link-c3 {
    width: 2.4%;
    height: 19.6%;
    top: 17.7%;
    left: 56.0%;
    transform: rotate(33deg);
    transform-origin: top left;
}

.point_style img {
    transform: scale(0.6);
    transform-origin: bottom;
}














/* ------------------------------------------------ MOBILE ------------------------------------------------ */

@media screen and (max-width: 767.98px) { 
	
	.container{
		padding-left: 40px;
		padding-right: 40px;
	}
	
	.container-home{
		padding-left: 0px;
		padding-right: 0px;
	}

	.xs-break{
		display: block;
	}
	
	footer{
		text-align: center;
	}
	
	footer li:after {
		content: ' ';
	}
	
	.rights {
		text-align: center;
		margin-top: 25px;
	}
	
	.logo-ifh {
		width: 150px;
		margin-top: -5px;
	}
	
	.page-headline {
		font-size: 13px;
	}

	.nav-tabs {
		justify-content: center;
		margin-top: 15px;
	}

	.nav-tabs .nav-link {
		font-size: 12px;
		margin-bottom: 15px;
	}

	
	.back-bar {
		display: none;
	}
	
	.sphere-canvas {
		height: 300px !important;
		margin-top: 30px;
	}
	
	.pano-bar {
		justify-content: center;
	}
	
	.room-name{
		text-align: center;
		margin-top: 30px;
	}
	
	.gallery-links a {
		width: 50%;
	}
	
	.img-container{
		display: none;
	}
	
	.login-deko{
		display: none;
	}
	
	.page-id-230 .first-bar {
		display: none;
	}
	
	.page-id-230 .logo-bar img {
		width: 250px;
		margin-left: 40px;
	}
	
	.page-id-230 .logo-bar img {
		width: 250px;
		margin-top: 30px;
		margin-bottom: 30px;
		margin-left: 40px;
	}
	
	.page-id-230 .login-wrap {
		padding: 170px 40px 0 40px;
		min-height: 100vh;
	}
	
	.page-id-230 .second-bar {
		border-left: none;
	}
	
	label {
		width: 100%;
	}
	
	.wpcf7-text{
		margin-top: 7px;
	}
	
	.gs-btns .images_wrap img {
		height: 840px;
	}
	
	.gs-btns {
		margin-bottom: 30px;
	}
	
}
/* ------------------------------------------------ Extra small devices ------------------------------------------------ */

@media screen and (max-width: 575.98px) { 
	

	
}





/* ------------------------------------------------ TABLET ------------------------------------------------ */

@media (min-width: 768px) and (max-width: 991.98px) { 
	
	.footer-break{
		display: block;
	}
	
	.sphere-canvas{
		/* height: 350px !important; */
		height: 40% !important;
	}
	
	.nav-tabs .nav-link {
		font-size: 10px;
	}
	
	.floor-icon {
		width: 10px;
	}
	
	.gallery-links a {
		width: 25%;
	}
	
	label {
		width: 100%;
	}
	
	.wpcf7-text{
		margin-top: 7px;
	}
	
	.page-id-230 .login-wrap {
		padding: 350px 50px 0 50px;
	}
	
}






/* ------------------------------------------------ Small Computers ------------------------------------------------ */

@media (min-width: 992px) and (max-width: 1199.98px) { 
	
	.footer-break{
		display: block;
	}
	
}