/* Responsive */

@media only screen and (max-width:1200px) {	
	body {
		font-size: 15px;
	}
}

@media only screen and (max-width:780px) {	
	.hero-bg {
		background-image: url(media/images/hero-bauplanung.webp);
		height: 100vw;
		top: 24vw;
	}
    section.hero-content {
        width: 100%;
        height: 100vw;
        margin-top: 24vw;
        padding: 0;
    }
    .parallax-section.kontakt {
        background-image: url(media/images/kontakt-par-mob.webp);
        background-size: cover;
        height: 60vw;
    }
    body {
        font-size: 4.2vw;
    }	
	.nav, .desktop {
		 display: none;	
	}	
	.mobile {
		 display: initial;	
	}	
    .rahmen_logo {
        background: #fafcf7;
        height: 14vw;
    }
    .logo {
        width: 40vw;
    }
	#navigation_mob {
		width: 14vw;
		height: 12vw;
		overflow: hidden;
		display: block !important;
		position: fixed;
		right: 0;
		top: 0;
		background: rgba(255,255,255,0.9);
		z-index: 99999;
		font-size: 20px;
		text-transform: uppercase;
		-moz-transition: width 0.3s;
		-webkit-transition: width 0.3s;
		transition: width 0.3s;
		letter-spacing: 1px;
	}
	#navigation_mob.active {
		width: 100%;
		height: auto;
		overflow: visible;
		padding-top: 80px;
		box-shadow: 0 0 10px rgba(0,0,0,0.5);
		padding-bottom: 10px;
	}

	#navigation_mob A {
		padding: 3px 0 0 0;
		width: 100%;
		display: block;
		text-align: center;
		line-height: 45px;
		border-top: 1px solid #ae1b1b;
		background: #ae1b1b;
		color: #fff;
		margin-top: 1px;
	}	
    .hamburger {
        display: block;
        position: absolute;
        width: 10vw;
        height: 8vw;
        background: #fafcf7;
        right: 0px;
        top: 0px;
        padding: 4vw 4vw 0 0;
        cursor: pointer;
        z-index: 100;
    }
    .hamb_line {
        height: 3px;
        width: 100%;
        border-radius: 0;
        background: #ae1b1b;
        margin-top: 0px;
        margin-bottom: 8px;
        float: left;
    }
	#navigation_mob.active .hamburger {
		display: none;
	}
		
	.close_menu{
		display: none
	}
	.active .close_menu {
		display: block !important;
		position: absolute;
		width: 100%;
		height: 80px;
		right: 0px;
		top: 0px;
		text-align: right;
		color: #ae1b1b;
		padding: 8px 20px 0 0;
		font-size: 40px;
		cursor: pointer;
		z-index: 100;
	}

/* Slider */
	.rahmen_banner {
		top: 142px;
		-moz-transition: top 0.3s;
		-webkit-transition: top 0.3s;
		transition: top 0.3s;
	}	
	.sticky.rahmen_banner {
		top: 84px;
	}
	div#slideshow {
		height: 77vw !important;
		top: 60px;
	}	
	#slideshow:after {
		display: none;
	}
	section#willkommen {
		padding-top: 4vh;
	}
    .caption {
        width: 90vw;
        top: 50vw;
        left: 5vw;
		font-size: 4vw;
    }
    .caption .headline_1 {
        margin: auto;
        font-size: 11vw;
        max-width: 100%;
        line-height: 1.1;
        margin-bottom: 4vw;
    }	
	.caption .headline_2 {
		margin-top: 4vw;
		font-size: 6vw;
		margin-bottom: 4vw;
	}
	section, .section, .section.objekt {
		padding-bottom: 4vh;
		padding-top: 4vh;
	}
	.section-content .headline_1 {
		padding: 20px 3% 40px 3%;
	} 
	p, ul {
		margin-bottom: 2vw;
		margin-top: 2vw;
		line-height: 1.6;
	}	
	.servicebox h2 {
		font-size: 8vw;
	}
    h3 {
        font-size: 5.5vw;
        margin: 6vw 0 6vw 0;
    }
	.col2 h3 {
		margin-top: 15px;
		padding-bottom: 10px;
		line-height: 1.2;
	}
	.col2.right {
		margin-top: 4vw;
	}
	li:before {
		top: .5vw;
		left: -2vw;
	}
	.section-content.box3col {
		max-width: 100vw;
		display: flex;
		gap: 8vw;
		margin-top: 6vw;
		flex-direction: column;
	}
	figure img {
		max-width: 100%;
	}
	
	.parallax-section {
		padding-bottom: 24%;
		padding-top: 24%;
	}
	.jssora01l, .jssora01r, .arrow-down, .rahmen_banner:after {
		display: none !important;
	}
	.jssora02l, .jssora02r {
		opacity: .5;
		top: 30vw!important;
	}
    .content {
        padding-bottom: 20px;
        margin-top: 0;
    }
	.content .headline_1 {
		font-size: 7vw;
		line-height: 1.3;
		margin-bottom: 4vw;
	}
	.content .headline_2 {
		color: #fff;
		font-family: 'Open Sans';
		font-size: 4.7vw;
		line-height: 1.4;
		font-weight: 100;
	}
	.section-content.flex.box2col {
		flex-direction: column;
	}
	.section-content.flex > * {
		flex-basis: 100%;
		width: 100%;
	}	
	.flex.box2col .text {
		width: 90%;
		padding: 8% 5%;
	}
	.text > h2 {
		margin-top: 0;
		font-size: 7vw;
		line-height: 1.3;
		margin-bottom: 6vw;
	}


	.section-content, .footercontent {
		max-width: 90%;
	}
	.header-container {
		max-width: 98%;
	}
	.section-content > h2, .section-content > p {
		width: 100%;
	}
	.section-content > h2 {
		margin-bottom: 4vh;
	}
	span.h-left {
		font-size: 32px;
		background-size: 34px 34px;
		padding-top: 1px;
		padding-right: 44px;
		margin-right: 10px;
	}
	span.h-right {
		font-size: 19px;
	}
	#leistungen span.h-right {
		background-size: 34px 34px;
		padding-right: 45px;
	}

	.col2, .col4, .col43, .col3, .col32, .col3.last, .col2.last, .teambox.col3 {
		width: 100%;
		margin-right: 0;
		float: left;
		margin-bottom: 20px
	}	
	.col2.last {
		margin-top: 20px;
	}
	.col4.logobox {
		text-align: center;
		margin-top: 10px;
	}	
	.col4.logobox img {
		width: 150px;
		position: initial;
		top: initial;
		right: initial;
		margin-left: 20px;
		margin-right: 20px;
		vertical-align: top;
	}	
	
	.thumb {
		height: 0;
		width: calc(33.33% - 1px);
		padding-bottom: 20%;
	}
	.banner-section {
		padding-bottom: 20%;
		padding-top: 20%;
	}
	#objekt h1 {
		margin-top: 10px;
		font-size: 26px;
	}	
	.content.info h2 {
		margin-top: 20px;
		font-size: 24px;
		padding-bottom: 10px;
		margin-bottom: 0;
	}	
	.col2.bild {
		width: 100vw!important;
		margin-left: -5vw!important;
		float: left;
		/*height: 80vw!important;*/
		text-align: center;
	}	
	
	.contact-modal .section-content {
		width: 96%;
		overflow-x: scroll;
	}
	.footer .col2 {
		width: 63%;
		margin-right: 0;
	}
	.footer .col4 {
		width: 33%;
		margin-right: 0;
		margin-left: 4%;
	}
	.siegel {
		text-align: center;
	}	
	.shariff {
		padding-top: 0;
	}
	.shariff .orientation-horizontal.button-style-icon-count li, .shariff .orientation-horizontal.button-style-standard li {
		min-width: initial!important;
	}

	.headline_parallax {
		font-size: 32px;
	}
	h1 {
		font-size: 40px;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	h2 {
		font-size: 10.5vw;
		margin-top: 20px;
	}
	.col2, .col4, .col43, .col3, .col32, .col3.last, .col2.last, .teambox.col3 {
		margin-bottom: 10px;
	}
	.col43 ul {
		padding: 2% 5%;
	}
	.monteurzimmer .caption .headline_1, .monteurzimmer h2 {
		font-size: 9vw;
	}

	.footercontent {
		max-width: 90%;
	}
	.footer .col2, .footer .col4 {
		width: 100%;
		margin-left: 0;
		margin-right: 0;		
		margin-top: 30px;
		border-top: 1px solid #ccc;
		padding-top: 30px;
	}
	.footer .headline_2 {
		font-size: 24px;
	}
	p.tel {
		font-size: 30px;
	}
	.legal h1 {
		font-size: 12vw;
	}
	.legal h2 {
		font-size: 22px;
	}
	.legal h3 {
		font-size: 19px;
	}
	
}



