@charset "UTF-8";

:root
{
	--rot: #BE1622;
	--blau: #002856;
	--orange: #EE7F00;
	--braun: #552E0F;
	--grau: #9C9E9F;
	--creme: #FFF9EC;
	--cremetrans: #FFF9EC88;
	--orangetrans: #EE7F0088;
}

@font-face 
{
	font-family: "Quicksand";
	src: url(Quicksand-VariableFont_wght.ttf) format('truetype');
}

html, body
{
	padding:0;
	margin:0;
	width:100%;
	font-family:"Quicksand", sans-serif;
	font-size: 18pt;	
	
}
body
{
	min-width: 375px;
}
body * 
{
	box-sizing: border-box;
}

h1
{
	font-size: 200%;
}

h2
{
	font-size: 160%;
}

h3
{
	font-size: 140%;
	color: var(--braun);
}

h4
{
	font-size: 160%;
	font-weight: normal;
}

p
{
	line-height: 150%;
}

.upperCase
{
	text-transform: uppercase;
}

section
{
	position:relative;
	min-height:500px;
	padding:60px 30px;
}

section:nth-child(4n + 1)
{
	background-color: var(--orange);
	color: #fff;
}

section:nth-child(2n + 2)
{
	background-color: var(--creme);
	color: var(--blau);
}

section:nth-child(4n + 3)
{
	background-color: var(--blau);
	color: #fff;
}

section div.content
{
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
}
section article, section aside
{
	width: 50%;
}

section aside.width230px
{
	width: 230px;
	margin-right: 60px;
}

section aside.width230px + article
{
	width: calc(100% - 290px);
}

x-circle
{
	display:inline-block;
	height:220px;
	width:220px;
	border-radius:100%;
	background-color: #fff;
}

x-rcircle
{
	display:inline-block;
	height:220px;
	width:220px;
	border-radius:0 100% 100% 0;
}

x-circle.orange, x-rcircle.orange 
{
	background-color: var(--orange);
}

x-circle.blau, x-rcircle.blau 
{
	background-color: var(--blau);
}

x-circle.braun
{
	background-color: var(--braun);
}

x-circle.rot
{
	background-color: var(--rot);
}

x-circle.bernhard
{
	background-color: #fff;
	overflow: hidden;
	text-align: center;
}
x-circle.bernhard img
{
	height: 500px;
	margin-left: -22%;
}

x-circle.dorothea
{
	background-color: #fff;
	overflow: hidden;
	text-align: center;
}

x-circle.dorothea img
{
	height: 280px;
	margin-left: -5%;
}

x-square
{
	display:inline-block;
	height:220px;
	width:220px;
	overflow: hidden;
	padding: 10px;
	
}

x-square.weiss
{
	background-color: #fff;
}

a.btn
{
	background-color: var(--blau);
	color: #fff;
	font-size: 80%;
	padding: 14px 80px;
	border-radius: 36px;
	cursor: pointer;
	border: 3px solid var(--blau);
	text-transform: uppercase;
	text-decoration: none;
}

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

#headImg
{
	border: 0px solid #fff;
	position: relative;
	top: -60px;
	right: 20px;
	border-bottom-left-radius: 450px;
	border-bottom-right-radius: 450px;
	overflow: hidden;
	background-image: url(sales-marketing-header.webp);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	height: 500px;
	margin-bottom: -100px;
}

#headImg img
{
	margin-bottom: -10px;
}

h2.box
{
	background-color: var(--creme);
	background-color: #fff;
	color: var(--orange);
	padding: 30px;
	border-radius: 30px;
}

div.box
{
	background-color: var(--creme);
	background-color: #fff;
	color: var(--orange);
	padding: 30px;
	border-radius: 30px;
}

aside#dialogVideo
{
	text-align: center; 
	width: 480px; 
	height: 270px; 
	border-radius: 30px; 
	overflow: hidden;
	border: 0;
	margin-left: 30px;
	margin-top: 30px;
}

aside#dialogVideo video
{
	width:480px;
	height:270px;
}

img.bo_logo, img.ipc_logo
{
	width: 100%;
	vertical-align: middle;
	margin-top: 50%;
	transform: translateY(-50%);
}


div.box.styleA
{
	max-width: 450px;
}

div.box.styleA p
{
	margin: 0;
}

div.box.styleA h4
{
	margin: 20px 0 50px 0;
}

aside.styleB, aside.contact
{
	position: relative;
	border: 0;
}
/*
aside.styleB::before, aside.styleB::after,
aside.contact::before, aside.contact::after
{
	position: absolute;
	width: 100%;
	height: 50%;
	left: 0;
}

aside.styleB::before
{
	content: "";
	border-top-right-radius: 150px;
	border-bottom-right-radius: 150px;
	background-color: transparent;
	box-shadow: 120px 0 0 0 var(--orange);
}
aside.styleB::after
{
	content: "";
	top:50%;
	border-top-left-radius: 150px;
	border-bottom-left-radius: 150px;
	background-color: transparent;
	box-shadow: -120px 0 0 0 var(--orange);
}

aside.contact::before
{
	content: "";
	top:calc(50% - 5px);
	border-top-right-radius: 150px;
	border-bottom-right-radius: 150px;
	background-color: transparent;
	box-shadow: 120px 0 0 0 var(--creme);
}
aside.contact::after
{
	content: "";
	border-top-left-radius: 150px;
	border-bottom-left-radius: 150px;
	background-color: transparent;
	box-shadow: -120px 0 0 0 var(--creme);
}
*/

aside.contact
{
	background-image: url(contact.webp);
	background-image: url(sales-marketing-4.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	max-height: 400px;
}

section#kontakt
{
	background-image: url(contact.webp);
	background-image: url(sales-marketing-idea.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	
}

section#kontakt div.content
{
	/*flex-flow: row-reverse;*/
}

section#kontakt div.content article
{
	background-color: var(--cremetrans);
	padding: 30px 60px;
	border-radius: 30px;
	backdrop-filter: blur(10px);
	width: 600px;
	margin:auto;
}

div.bubbles
{
	text-align: center;
	display: flex;
	flex-wrap: wrap;
}
div.bubble
{
	max-width: 90%;
	background-color: var(--blau);
	color: #fff;
	margin: 30px;
	padding: 30px;
	border-radius: 50px;
	display: inline-block;
	box-shadow: 3px 3px 13px 3px #000A;
}
div.bubble.placeholder
{
	visibility: hidden;
}

/*div.bubble:nth-child(4n + 2), div.bubble:nth-child(4n + 3)*/
div.bubble:nth-child(even)
{
	background-color: var(--orange);
}

ol.qa
{
	width: auto;
	list-style: none;
}

ol.qa li
{
	margin: 0 0 30px 0;
	position: relative;
	min-height: 160px;
	border-bottom: 1px dotted var(--grau);
	clear: both;
}

ol.qa li p
{
	width: 50%;
	display: inline-block;
	margin-top: 5px;
}

ol.qa div.rangeSlider
{
	text-align: center;
	width: 410px;
	background-color: var(--blau);
	color: #fff;
	border-radius: 30px;
	float: right;
}
ol.qa div.rangeDescription label
{
	display: inline-block;
	width: 75px;
	border-left: 1px solid #fff;
	font-size: 60%;
	text-align: center;
}
ol.qa div.rangeDescription label:first-child
{
	border-left: 0;
}

ol.qa div.sliderBox
{
	margin-right: 20px;
}

ol.qa div.rangeSlider input.slider
{
	width: 340px;
	accent-color: var(--orange);
	margin: 0;
	position: relative;
	left: 10px;
}

x-circle.videoCircle
{
	overflow: hidden;
	border-radius: 30px;
	width: 480px;
	height: 270px;
}
x-circle.videoCircle video
{
	width: 480px;
	height: 270px;
}
div.videoGrid
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div.videoGrid div.videoBox
{
	width: 480px;
	margin: 0 50px 60px 50px;
}

div.videoGrid div.videoBox h4
{
	display: flex;
	justify-content: center;
	align-items:flex-end;
	min-height: 150px;
	text-align: center;
	margin-bottom: 30px;
}
form label
{
	display: block;
	margin-top: 30px;
}
form sup
{
	font-size: 60%;
}
form input
{
	width: 90%;
	height: 50px;
	border: 0;
	border-radius: 36px;
	padding: 0 20px;
	font-size: 100%;
	color: var(--orange);
}
form textarea
{
	width: 90%;
	height: 180px;
	border: 0;
	border-radius: 30px;
	padding: 10px 20px;
	font-size: 100%;
	color: var(--orange);	
	min-height: 180px;
	min-width: 320px;
}
form input[type=submit]
{
	display: inline-block;
	margin: 20px 0;
	text-transform: uppercase;
	font-size: 80%;
	background-color: var(--blau);
	color: #fff;
	cursor: pointer;
}

form label.datenschutzhinweis
{
	font-size:70%;
}

form label.datenschutzhinweis a
{
	color:var(--orange);
}

form p#formsent
{
	border:3px solid var(--orange);
	background-color: var(--orangetrans);
	text-align:center;
	padding:10px;
	border-radius: 5px;
	display:none;
}
form p#formsent:target
{
	display:block;
}

footer
{
	text-align: center;
	background-color: var(--blau);
	padding: 30px;
}

div.socialLinks 
{
	margin: 0 !important;
	padding-top: 10px;
	
}

div.socialLinks a
{
	display: inline-block;
	margin: auto;
}
div.socialLinks a img.icon
{
	width: 32px;
}

div.copyrightBox
{
	color: #888;
	font-size: 80%;
	margin-top: 50px;
}

div.copyrightBox a
{
	color: var(--orange);
	text-decoration: none;
	padding: 0 20px;
}

div.copyrightBox div.copyright
{
	display: inline;
}

div.copyrightBox div.copyright_mobile
{
	display: none;
}

section#bubbles
{
/*	background-image: url("sales-marketing-idea3.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
*/
}

div.submitBtnBox
{
	text-align: center;
}

footer div#addressFooter
{
	display: flex;
	justify-content: center;
	color: #fff;
	font-size: 80%;
}

footer div#addressFooter div
{
	text-align: left;
	margin: 5px 30px;
}

footer div#addressFooter a
{
	color: #fff;
	text-decoration: none;
}

footer div#addressFooter a:hover
{
	color: var(--orange);
}

footer img.icon
{
	width: 13px;
	position: relative;
	top: 2px;
	margin-right: 5px;
}
footer img.icon[src="at.svg"]
{
	margin-right: 0;
}

div.content.bubbles
{
	justify-content: center;
}

section#secVideos div.content
{
	display: block;
}

section#sec7
{
	min-height: auto;
}

@media only screen and (max-width : 1023px) 
{
	h1{
		font-size: 4vw;	
	}
	h2,h4
	{
		font-size: 3.5vw;
	}
	h3
	{
		font-size: 3vw;
	}
	div.videoGrid div.videoBox h4
	{
		min-height: 100px;
	}
}

@media only screen and (max-width : 979px) 
{
	section#sec1
	{
		min-height: 330px;
	}
	section#sec1 #headImg
	{
		height: 300px;
	}
	section.potraitBD
	{
		padding-top: 30px;
	}
	section.potraitBD div.content
	{
		display: block;
	}
	section.potraitBD aside.width460px
	{
		width: 480px;
	}
	section.potraitBD article
	{
		width: 100%;
	}
	section.potraitBD h4{
		font-size: 160%;
		width: 100%;
	}
	section.potraitDorothea aside
	{
		margin-top: 50px;
	}
	
	section#kontakt div.content {
		flex-flow: row ;
		justify-content: center;
	}
}

@media only screen and (max-width : 919px) 
{
	ol.qa
	{
		padding-left: 0;
	}
	ol.qa div.rangeSlider
	{
		float: none;
		margin: 0 auto 30px auto;
	}
	ol.qa li p
	{
		width: 100%;
	}

	footer div#addressFooter div
	{
		margin: 5px;
	}

	div.copyrightBox div.copyright
	{
		display: none;
	}

	div.copyrightBox div.copyright_mobile
	{
		display: block;
		margin-top: 30px;
	}
}

@media only screen and (max-width : 759px) 
{
	section#sec2 aside
	{
		position: absolute;
		top: 30px;
		width: 80%;
		height: 100px;
		overflow: hidden;
		margin: 0;
	}
	section#sec2 article
	{
		width: 100%;
		margin-top: 60px;
	}
	section#sec3 div.content
	{
		display: block;
	}
	section#sec3 article
	{
		width: 100%;
	}

	div.bubble 
	{
		max-width: none;
	}

	footer div#addressFooter
	{
		display: block;
	}

	footer div#addressFooter div#addressDorothea
	{
		margin-top: 30px;
	}

	p 
	{
		font-size: 3vw;
	}

	section#bubbles div.bubble.placeholder
	{
		display: none;
	}
}

@media only screen and (max-width : 590px) 
{
	section#sec1 div.content, section#kontakt div.content
	{
		display: block;
	}
	section#sec1 div.content article
	{
		position: relative;
		top: -30px;
		width: 100%;
		z-index: 1;
		backdrop-filter: blur(5px);
		background-color: #fff8;
		padding: 5px 30px;
		border-radius: 30px;
	}
	section#sec1 div.content article h1
	{
		color: var(--orange);
	}
	section#sec1 div.content aside
	{
		position: absolute;
		top: 0px;
		right: 0;
		width: 100%;
		z-index: 0;
	}
	section#sec1
	{
		min-height: 500px;
	}
	section#sec1 #headImg
	{
		height: 95%;
	}

	section#sec2 div.content
	{
		display: block;
	}
	section#sec2 aside
	{
		position: relative;
		width: 100%;
		top: -40px;
		margin-bottom: -80px;
	}

	section#sec3 aside#dialogVideo
	{
		margin: 0;
		width: 100%;
		height: auto;
	}
	section#sec3 aside#dialogVideo video
	{
		width: 100%;
		height: auto;
	}
	div.videoGrid div.videoBox h4
	{
		min-height: 40px;
	}

	body 
	{
		font-size: 14pt;
	}
	h1
	{
		font-size: 200%;
	}
	
	h2
	{
		font-size: 160%;
	}
	
	h3
	{
		font-size: 140%;
	}
	
	h4
	{
		font-size: 160%;
	}

	p 
	{
		font-size: 100%;
	}
	section#kontakt
	{
		padding: 0;
	}
	section#kontakt div.content article
	{
		border-radius: 0;
	}

	section#kontakt div.content article,
	section#kontakt div.content article form input,
	section#kontakt div.content article form textarea
	{
		padding: 20px;
		width: 100%;
		min-width: 250px;
	}
}

@media only screen and (max-width : 510px) 
{
	x-circle.videoCircle,
	x-circle.videoCircle video
	{
		width: 100%;
		height: auto;
		margin-bottom: -5px;
	}
	section#sec2 x-circle, section#sec2 x-rcircle 
	{
		width: 40vw;
		height: 40vw;
	}
	section#sec2 aside 
	{
		height: 20vw;
	}

	section#bubbles div.bubble
	{
		margin: 30px 0;
	}

	div.videoGrid div.videoBox
	{
		width: 100%;
		margin: 0 0 20px 0;
	}
	section.potraitBD x-circle,
	section.potraitBD x-rcircle,
	section.potraitBD x-square
	{
		width: 43vw;
		height: 43vw;
	}
	section.potraitBD aside.width460px
	{
		width: 88vw;
	}
	section.potraitBD x-circle.bernhard img,
	section.potraitBD x-circle.dorothea img
	{
		margin: 33% auto;
		width: 100%;
		height: auto;
		transform: scale(1.5);
	}
	section.potraitBD x-circle.dorothea img
	{
		margin: 0% auto;
		transform: scale(1);
	}
}


@media only screen and (max-width : 469px) 
{
	ol.qa div.rangeSlider
	{
		width: 290px;
	}
	ol.qa div.rangeSlider input.slider
	{
		width: 230px;
		
	}
	ol.qa div.rangeDescription label
	{
		width: 50px;
	}
}

@media only screen and (max-width : 375px) 
{
	section#sec2 aside x-circle,
	section#sec2 aside x-rcircle
	{
		width: 150px;
		height: 150px;
	}
	section#sec2 aside
	{
		height: 75px;
	}
	section.potraitBD x-circle,
	section.potraitBD x-rcircle,
	section.potraitBD x-square
	{
		width: 154px;
		height: 154px;
	}
	section.potraitBD aside.width460px
	{
		width: 316px;
	}
	section.potraitBD x-circle.bernhard img,
	section.potraitBD x-circle.dorothea img
	{
		margin: 33% auto;
		width: 100%;
		height: auto;
		transform: scale(1.5);
	}
	section.potraitBD x-circle.dorothea img
	{
		margin: 0% auto;
		transform: scale(1);
	}	
}

@media only screen and (min-width : 1024px){
	div.bubble
	{
		width: 95%;
		max-width:95%;
		background-color: var(--blau);
		color: #fff;
		margin: 30px;
		padding: 30px;
		border-radius: 50px;
		display: inline-block;
		display: flex;
		flex-wrap: wrap;
		box-shadow: 3px 3px 13px 3px #000A;
		height:200px;
		overflow:hidden;
	}
	div.bubble h2, div.bubble p
	{
		display:block;
		width: 100%;
		text-align:center;
		position:relative;
		top:0;
		transform:translateY(10%);
		transition: top .3s;
	}
	div.bubble:hover h2, div.bubble p
	{
		top: -240px;
		transition: top .3s;
	}
	div.bubble:hover p
	{
		top: -50%;
		transform:translateY(-50%);
		transition: top .3s;
	}
}