@charset "utf-8";
/* CSS Document for mobile */

@media screen and (max-width:1600px){
	.three-infoblocks { margin: 0px -100px; }
	section#opener .tib-box .tib-cnt { width: 95%; bottom: 50px; }
	.tib-box .tib-cnt { font-size: 21px; padding: 10px 40px 10px 25px; }
	.tib-box .tib-line1 { font-size: 26px; }
	
	section#content { padding: 0px 100px 130px; }
	
	.footerletter { left: 15%; right: 15%; }
	
	footer .inner { padding-bottom: 120px; }
	footer .slogan { max-width: 650px; }
		footer .slogan img { max-width: 100%; height: auto; }
	
	.partnerlist > div { height: 150px; }
	.partnerlist > div:after { height: 100px; }
}


@media screen and (max-width:1400px){
	header { padding: 0px 0px; }
	.partnerlist { -ms-grid-columns: 1fr 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr 1fr; }
	
	.footerletter { padding: 20px 55px; }
	.footerletter .fl-group { column-gap: 40px; grid-column-gap: 40px; }
	.footerletter .fl-placeholder { left: 55px; right: 55px; }
	
	footer .slogan { max-width: 550px; font-size: 3vw; right: 50px; }
}


@media screen and (max-width:1300px){
	.three-infoblocks { column-gap: 25px; grid-column-gap: 25px; }
	.tib-box .tib-cnt { font-size: 20px; }
	.tib-box .tib-line1 { font-size: 24px; }
}


@media screen and (max-width:1200px){
	.multicol5 > div { width: 100%; }

	body { padding: 0px 70px; }
	aside { right: 35px; }
	
	.navtop { bottom: 15px; }
	.navtop.ntshow { right: 15px; }	
	
	nav li { margin: 0px 2px 0px 0px; }
	nav li a { padding: 30px 15px; }
		
	footer .inner { padding: 80px 70px 105px; }
	
	.footerletter { padding: 20px 45px; }
	.footerletter .fl-placeholder { left: 45px; right: 45px; }
	
	.three-infoblocks { margin: 0px -50px; }
	.tib-box .tib-cnt { bottom: 20px; }
	section#opener .tib-box .tib-cnt { padding: 15px 30px 15px 22px; bottom: 30px; }

	section#content { padding: 0px 50px 130px; }
	
}


@media screen and (max-width:1100px){
	.logo { padding-left: 10px; }
	
	h1, h2, h3, h4, h5, h6 { margin-bottom: 40px; }

	.footerletter { left: 10%; right: 10%; }

	.zeilenabstand.nomobile { display: none; }
	

	/* mobile Nav */
	nav#mainNav, nav#mainNav > ul, header .right, .suche { display: none !important; }

	.navopener, .navcloser { display: block !important; color: #000; font-size: 28px; position: absolute; top: 50%; right: 11px; z-index: 1000; margin: -15px 0px 0px; padding: 0px 4px; cursor: pointer; overflow: hidden; }
		.navopener span, .navopener-fixed span { display: block; width: 25px; height: 2px; background: #666; margin: 6px auto; transition: all 0.3s ease; }
			.navopener span:nth-child(2), .navopener-fixed span:nth-child(2) { width: 20px; margin-left: 0px; }
		.navopener:hover span:nth-child(1) { transform: rotate(-45deg); }
		.navopener:hover span:nth-child(2) { transform: translateX(50px); }
		.navopener:hover span:nth-child(3) { transform: rotate(45deg); }
	.navcloser { right: 8px; top: 8px; transform: rotateZ(45deg); font-size: 45px; color: #FFF; }	
		.navcloser span { display: block; width: auto; height: auto; margin: 0px; background: none; vertical-align: middle; }
		
	.navopener-fixed { top: 15px; bottom: auto; border-radius: 50% 0% 50% 50%; background: #D62F30; border-color: #FFF; padding: 5px 4px 0px 8px; }
	.navopener-fixed span { width: 22px; margin: 5px auto 5px 0px; background: #FFF; }
		.navopener-fixed span:nth-child(2) { width: 17px; }
	.navopener-fixed.fixto-fixed { right: 15px; }

		
	nav#mobileNav .suche { display: block !important; padding-top: 50px; }
	nav#mobileNav .suche input { width: 100%; border-radius: 0px; background: none; border-color: rgba(255,255,255, 0.5); color: rgba(255,255,255, 0.75); font-size: 16px; padding: 8px 40px 8px 12px; }
		nav#mobileNav .suche input[type=submit], nav#mobileNav .suche span { width: 40px; padding: 0px; }
	nav#mobileNav .suche span { color: rgba(255,255,255, 0.75); top: 8px; right: 8px; }
		

	#mobileNavOverlay { width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; background: rgba(0,0,0,0.65); z-index: -1; opacity: 0; transition: all 0.25s ease; }
	#mobileNavOverlay.overlayShow { z-index: 1005; opacity: 1; }


	nav#mobileNav { display: block; position: fixed; top: 0px; right: -400px; z-index: 2000; width: 400px; height: 100%; max-width: 85%; margin: 0px; padding: 35px 35px; color: #FFF; overflow-y: auto; overflow-x: hidden; background: #d62f30; border: none; font-size: 15px; font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; word-wrap: break-word;
		-webkit-transition: -webkit-transform 0.35s ease;
		-ms-transition: 	-ms-transform 0.35s ease;
		transition: 		transform 0.35s ease;
	}
	
	nav#mobileNav ul { display: block; margin: 70px 0px 12px; padding: 0px; text-align: left; }
	nav#mobileNav ul ul { position: static !important; opacity: 1; visibility: visible; display: block; padding: 10px 0px 10px 15px; border: none; margin: 0px; background: none; box-shadow: none; }
		nav#mobileNav ul ul:before { display: none; }
		nav#mobileNav ul ul > div { display: block; }
		nav#mobileNav ul ul .childtitle { display: none; }
	
	nav#mobileNav li { display: block; margin: 0px; padding: 0px; border-left: none; background: none; }
		nav#mobileNav li:before { display: none; }
		nav#mobileNav li:first-child { border: none; }
		
	nav#mobileNav ul ul li { width: auto; }
		
	nav#mobileNav li a { display: block; height: auto; line-height: 1; white-space: normal; background: none; font-size: 18px; font-weight: normal; color: #FFF; padding: 15px 30px 15px 20px; margin: 0px; border-top: 1px solid rgba(255,255,255,0.5); }
		nav#mobileNav li a:before, nav#mobileNav li a:after { display: none; }
		nav#mobileNav li.haschilds a:after { display: block; content: '+'; bottom: auto; top: 15px; left: auto; right: 10px; margin: 0px; transform: none; width: auto; line-height: 20px; vertical-align: middle; background: none; }
			nav#mobileNav li.opened a:after { content: '-'; top: 12px; }
		nav#mobileNav li:first-child a { border: none; }
		nav#mobileNav li a:hover, #mobileNav li:hover a { /*color: #FFF;*/ }
		nav#mobileNav li a:hover, nav#mobileNav li a.selected, ul.dropdown ul li a.selected:hover, ul.dropdown li:hover a.selected:hover { background-color: rgba(255,255,255, 0.25); color: #FFF !important; font-weight: normal; }
	
	nav#mobileNav ul ul li a { font-size: 15px; padding: 13px 20px; border-top: 1px solid rgba(255,255,255,0.35); }


	.simplesidebar-opened { -webkit-transform: translate(-400px 0); -ms-transform: translate(-400px, 0); transform: translate(-400px, 0); }
	.simplesidebar-body { overflow-x: hidden; overflow-y: hidden; }
	@-moz-document url-prefix() { .simplesidebar-body { overflow-x: inherit; } }
}


@media screen and (max-width:1000px){
	.multicol4 > div { width: 100%; }	
	
	body { padding: 0px 25px; }
	header .inner { padding: 25px 0px; }
	aside { top: auto; bottom: 0px; right: 0px; background: #FFF; width: 100%; margin: 0px; padding: 10px 30px; box-shadow: 0px 2px 10px 0px rgba(0,0,0, 0.4); }
		aside a { font-size: 16px; margin: 0px 10px; }
	
	.navtop { bottom: 59px; }

	footer { margin: 0px -25px; }
	footer .inner { padding-bottom: 30px; }
	footer .slogan { position: relative; right: auto; bottom: auto; margin: 15px auto 0px; font-size: 4vw; }
		footer .slogan img { max-width: 100%; height: auto; }
	.footerline .inner { padding: 20px 75px 65px; text-align: center; }

	section#content { padding: 0px 25px 130px; margin-top: 75px; }
	
	.three-infoblocks { margin: 0px -25px; column-gap: 20px; grid-column-gap: 20px; }
	.tib-box .tib-cnt { padding: 10px 40px 10px 15px; bottom: 20px; }
	section#opener .tib-box .tib-cnt { bottom: 25px; }
	.tib-box .tib-line1 { font-size: 22px; }
}


@media screen and (max-width:920px){	
	.multicol3 > div { width: 100%; }
	
	.footerletter { padding: 20px 20px; left: 10%; right: 10%; }
	.footerletter .fl-group { column-gap: 20px; grid-column-gap: 20px; }
	.footerletter .fl-placeholder { left: 20px; right: 20px; }

	footer .slogan { font-size: 5vw; }

	.partnerlist > div { height: 130px; padding: 15px; }
	.partnerlist > div:after { height: 100px; }

	.tib-2boxes .tib-box { padding-top: 70%; }
	.tib-1boxes .tib-box { padding-top: 47%; }

	section#content .tib-3boxes { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; -ms-grid-rows: 1fr 1fr; grid-template-rows: 1fr 1fr; row-gap: 20px; grid-row-gap: 20px; }
	section#content .tib-3boxes .tib-box:nth-child(1) { /*-ms-grid-column: 1; -ms-grid-row: 1; -ms-grid-row-span: 2;*/ grid-column: 1; grid-row: 1 / span 2; }
	section#content .tib-3boxes .tib-box:nth-child(1) { height: 100%; }
}


@media screen and (max-width:800px){
	.multicol > div { width: 100% !important; margin-top: 25px; }
	.multicol > div:first-child { margin-top: 0px; }
	
	section#opener .tib-3boxes { /*-ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; -ms-grid-rows: 1fr 1fr; grid-template-rows: 1fr 1fr;*/ row-gap: 10px; grid-row-gap: 10px; }
	section#opener .tib-3boxes .tib-box:nth-child(1) { /*-ms-grid-column: 1; -ms-grid-row: 1; -ms-grid-column-span: 2;*/ grid-column: 1 / span 2; grid-row: 1; }
	section#opener .tib-3boxes .tib-box:nth-child(1) { padding-top: 62%; }

	footer .slogan div { font-size: 6vw; left: 0px; right: 0px; text-align: center; }
}


@media screen and (max-width:780px){
	.footerletter { left: 5%; right: 5%; }
	
	footer .fbox { display: block; margin: 0px 0px 30px; width: auto; }
	footer .fbox ul, footer .fbox2 ul { -webkit-column-count: 2; column-count: 2; }
	footer .fbox li, footer .fbox2 li { width: 95%; margin: 0px 5% 0px 0px; }
}


@media screen and (max-width:700px){
	section#opener .tib-box .tib-cnt { bottom: 25px; padding: 15px 35px 15px 22px; }
	
	footer .inner { padding: 80px 25px 30px; }

	.partnerlist > div { height: 110px; }
	.partnerlist > div:after { height: 80px; }
}


@media screen and (max-width:680px){
	h1, h2, h3, h4, h5, h6 { font-size: 7vw; margin: 0px 0px 30px; }
	
	.footerletter { height: 105px; top: -53px; }
	.footerletter .fl-group { display: block; }
		.footerletter .fl-group > input { padding-top: 0px; }
	.footerletter .fl-placeholder { top: 20px; }
	.footerletter a.submit { display: block; width: auto; font-size: 16px; padding: 3px 40px; margin-top: -5px; }
	
	.footerform { width: auto; height: auto; top: 50px; left: 50px; right: 50px; bottom: 50px; margin: 0px; }
	.footerform form { padding: 50px 40px; }
	.footerform .fl-group { display: block; }
}


@media screen and (max-width:640px){
	.partnerlist { -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; row-gap: 15px; grid-row-gap: 15px; column-gap: 15px; grid-column-gap: 15px; }
	.partnerlist > div { height: 80px; }
	.partnerlist > div:after { height: 50px; }
	
	/*ab hier nur noch 1-einzeilig*/
	.three-infoblocks, section#content .three-infoblocks { -ms-grid-columns: 1fr !important; grid-template-columns: 1fr !important; -ms-grid-rows: 1fr !important; grid-template-rows: 1fr !important; row-gap: 20px; grid-row-gap: 20px; margin: 0px -25px; }
		.tib-3boxes .tib-box:nth-child(1) { -ms-grid-column: 1 !important; -ms-grid-row: 1 !important; -ms-grid-column-span: 1 !important; grid-column: 1 / span 1 !important; grid-row: 1 / span 1 !important; height: 0px !important; }
	.tib-box { padding-top: 70% !important; }
	.tib-box .tib-cnt { font-size: 25px; bottom: 25px; padding: 10px 35px 10px 15px; }
	.tib-box .tib-line1 { font-size: 30px; }
	section#opener .tib-box { padding-top: 80% !important; }	
		section#opener .tib-box:nth-child(2) .tib-cnt { left: auto; right: 0px; padding: 15px 22px 15px 35px; }
	section#opener .tib-box:nth-child(2) .tib-linkicon { left: 0px; right: auto; transform: rotate(180deg); }
}



@media screen and (max-width:560px){
	body { padding: 0px 15px; }

	header { border-bottom: 1px solid #CCC; margin: 0px -15px 20px; padding: 0px 15px; }
	header .inner { display: block; padding: 15px 0px; }
	header .inner .suche { display: none; }
	.logo { padding-left: 0px; }
	.logo img { max-width: 75%; }
	
	.navopener { right: 15px; }
	
	h1, h2, h3, h4, h5, h6 { font-size: 8vw; }
	h1 span, h2 span, h3 span, h4 span, h5 span, h6 span { display: block; }	
	
	footer { margin: 0px -15px; }
	footer .inner { padding: 80px 25px 30px; }
	footer .slogan div { bottom: 0px; }
	
	.footerline .inner { padding: 20px 20px 65px; }
	.footerline li { margin: 0px 10px; }
	
	.tib-box .tib-cnt { font-size: 20px; }
	.tib-box .tib-line1 { font-size: 24px; }
}


@media screen and (max-width:460px){
	h1, h2, h3, h4, h5, h6 { font-size: 11vw; margin: 0px 0px 30px; text-align: center !important; }
	
	section#content { padding: 0px 0px 130px; margin-top: 50px; }

	footer .inner { padding-top: 90px; }
	.footerletter { height: 116px; top: -58px; }
	.footerletter .fl-group > input { padding-top: 11px; }
	.footerform { left: 15px; right: 15px; }
	.footerform form { padding: 50px 30px; }

	.three-infoblocks, section#content .three-infoblocks { margin: 0px; }
	.tib-box .tib-cnt { bottom: 20px; }
	section#opener .tib-box { padding-top: 100%; }	
	section#opener .tib-box .tib-cnt { padding: 10px 35px 10px 20px; }
		section#opener .tib-box:nth-child(2) .tib-cnt { padding: 10px 20px 10px 35px; }
}


@media screen and (max-width:420px){
	nav#mobileNav { padding: 35px 25px 25px; }
	nav#mobileNav ul { margin-top: 30px; }
	nav#mobileNav li a { padding: 13px 30px 15px 17px; }
		nav#mobileNav li.haschilds a:after { top: 13px; }
		nav#mobileNav li.opened a:after { top: 10px; }
	nav#mobileNav ul ul li a { padding: 12px 14px; }
	
	a.linkbox-rot, a.linkbox-grau, a.linkbox-balken, a.linkbox-pfeil { display: block; margin: 5px 0px; padding: 8px 20px; }
}


@media screen and (max-width:360px){
	.partnerlist { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; }
}



/* Querformat-Anpassungen */
@media screen and (min-width:550px) and (max-height:550px){
	header .inner { height: 60px; padding: 15px 0px; }
	.logo img { max-height: 60px; width: auto; }
}

@media screen and (min-width:400px) and (max-height:400px){
	header .inner { height: 60px; padding: 15px 0px; }
	.logo img { max-height: 40px; width: auto; }
	
	aside { position: static; box-shadow: none; }
	.footerline .inner { padding-bottom: 20px; }
	
	.navtop { bottom: 15px; }
}
