@charset "utf-8";
/* CSS Document */
.form .wrap {
	min-width: 50%;
	max-width: 600px;
}
.form h2,
.form h3 {
	text-decoration: none;
	color: #fff;
}
.form .itemBlock {
	width: 49%;
	display: inline-block;
	min-width: 130px;
	vertical-align: bottom;
}
.form .item {
	margin-bottom: .5em;
}
.form .item .text,
.form .item .textarea {
	border-style: solid;
	border-width: 0 0 1px;
	border-color: #db0076;
	margin-bottom: 28px;
	padding-left: 0;
	padding: .8em 10px;
	width: 100%;
	background: none;
	color: #fff;

}
.form .item .text {
	width: 100%;
	height: 3.1em;
	padding: .8em 10px;
}
.form .item .text.zip_code {
	width: 20%;
	margin-right: 5%;
	border-right: none;
}
.form .item .text.city {
	width: 50%;
	border-left: none;
}

.form.contact .box {background: none; padding: 0;}
@media all and (max-width: 600px) {
	.form .itemBlock {
		width: 100%;
	}
	.form .item .textarea {
		padding: 5px 5%;
		width: 85%;
	}
	.form .mitarbeiterListe .item {width: 49%;}
}
@media all and (min-width: 800px) {
	.form.contact .ContactContent,
	.form.contact form {width: 49%;}
}
.form.contact .centerTitle.box {padding: 0; background: none;}
.form.contact h1 { color: #fff; margin-bottom: 20px;}

.form .home .contentDisplay {margin-bottom: 2rem;}
.form.contact,
.terminwunsch {
	color: #fff;
	background-color: rgba(0, 0, 0, 0.78);
	padding: 15px;
	font-size: 20px;
	box-sizing: border-box;
}
.terminwunsch .item {
	margin-bottom: 1em;
}
.terminwunsch h3 {
	color: #fff;
	font-size: 36px;
	text-align: center;
	padding-top: 20px;
	margin-bottom: 20px;
}

.terminwunsch INPUT[type=text] {
	display: inline-block;
	border: 1px dotted #fff;
	color: #fff;
	border-width: 0 0 2px 0;
	width: 70%;
	font-size: 15px;
	background: none;
}
.terminwunsch input[type="radio"] {
	width: 3%;
	margin-right: 0;
	display: inline-block;
}
.terminwunsch textarea {
	width: 100%;
	background: none;
	border: 1px dotted #fff;
	color: #fff;
	border-width: 0 0 2px 0;
	font-size: 20px;
}
.terminwunsch .button {
	display: block;
	text-align: center;
	margin: 1.5em 0;
	padding: 10px;
	font-size: 20px;
	text-transform: uppercase;
	border: 3px solid #ecf0f1;
	color: #d6d6d7;
	transition: all 300ms;
	background: none;
}
.terminwunsch .button:hover {
	background-color: #ecf0f1;	
	color: #db0076;
}

.form label:not(.legal) {
	display: inline-block;
	margin-right: 15px;
}

.terminwunsch input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border:none;
	border-radius: 0;
	font-size: 1em;
}
.form input[type='checkbox'],
.form input[type='radio'] {
	width:auto;
	float:left;
	margin-right: .75em;
	background:transparent;
	border:none;
}

.form input[type='checkbox']:checked,
.form input[type='checkbox']:not(:checked),
.form input[type='radio']:checked,
.form input[type='radio']:not(:checked) {
	background: transparent;
	position: relative;
	visibility: hidden;
	margin:0;
	padding:0;
}
.form input[type='checkbox'] + label:before {
	content: ' ';
	display: inline-block;
	width: 15px;
	height: 15px;
	position: relative;
	top: 4px;
	border: 1px solid #bbb;
	background: #fff;
	margin-right: 5px;
	box-shadow: inset 0 1px 1px 0 rgba(0,0,0,.1);
}
.form input[type='checkbox']:checked + label::before {
	background:#db0076;
	box-shadow: inset 0 0 0 2px #fff;
}
.terminwunsch .haarlaenge input[type='radio'] + label {
	padding: 0 10px 0 30px;
	cursor: pointer;
}
.terminwunsch .haarlaenge input[type='checkbox'] + label:before,
.terminwunsch .haarlaenge input[type='radio'] + label:before {
	content:'';
	display:inline-block;
	position: absolute;
	left: 0;
	top: 4px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid #fff;
	margin-right: 10px;
	transition: all 200ms;
}
.terminwunsch .haarlaenge input[type='radio'] + label:after {
	content:'';
	display:inline-block;
	position: absolute;
	top: 9px;
	left: 5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #db0076;
	transterminwunsch: scale(3);
	opacity: 0;
	transition: all 200ms;
}
.terminwunsch .haarlaenge input[type='radio']:checked  + label:after {
	transform: scale(1);
	opacity: 1;
	
}




.terminwunsch .mitarbeiterListe .item {
	text-align: center;
}
.terminwunsch .mitarbeiterListe .pic {
	background-color: #000;
	border-radius: 50%;
	padding: 4px;
	transition: all 300ms;
	margin-bottom: 6px;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
}
.terminwunsch .mitarbeiterListe .item img {
	border-radius: 50%;
	opacity: .8;
	transition: all 300ms;
}
.terminwunsch .mitarbeiterListe .item label .pic:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	box-sizing: border-box;
	left: 0;
	border-radius: 50%;
	z-index: 100;
	box-shadow: 0 0 30px 5px rgba(0, 0, 0, 0.7) inset;
	transition: all 300ms;
}
.terminwunsch input[type='radio']:checked  + label .pic {
	background-color: #db0076;
	box-shadow: 1px 1px 3px #fff inset, -1px -1px 3px rgba(0, 0, 0, .8) inset;
}

.terminwunsch .item label:hover .pic img,
.terminwunsch input[type='radio']:checked  + label .pic img { 
	opacity: 1;
	 }

.terminwunsch .item label:hover .pic:before,
.terminwunsch input[type='radio']:checked  + label .pic:before { box-shadow: none; }
.terminwunsch .mitarbeiterListe .pic:hover {
	background-color: #db0076;
	transition: 500ms;
}


@media all and (max-width: 1000px) {
	.form.s1.o2,
	.form .terminwunsch,
	.form .home {width: 100%;}
	.form .terminwunsch {order: 1;}
	.form .home {order: 2;}
}
@media all and (max-width: 500px) {
	.form .terminwunsch INPUT[type=text] {width: 100%;}
}





.form .reqstar {
	color: #990000;
	font-weight: bold;
	font-size: xx-small;
	vertical-align: top;
}


.formerrors {
	border: 2px solid #a23;
	color: #f00;
	padding: 5px 15px;
	margin: 0 0 15px;
}
.formwarnings {
	border: 2px solid #fc5;
	padding: 5px 15px;
}


.form .topic .description input {
	position: absolute;
}
.form .topic .description label {
	display: block;
	margin-left: 30px;
}

/* Übernahme aus alter form.area.css --> CSS Klassen unterscheiden sich ALLE bzgl form / FORM */

.Form {
	max-width: 800px;
	padding-bottom: 2rem;
	padding-top: 2rem;
	margin: auto;
}
.Form form {
	padding: 2rem 2vw;
	box-shadow: 0 3px 30px -10px rgba(0, 0, 0, 0.3);
}
.Form .Item {
	width: 49%;
	position: relative;
	padding-top: 1.8em;
	margin-bottom: 1rem;
}
.Form .Item.Text label {
	position: absolute;
	top: 2em;
	left: 0;
	transition: all 300ms;
	color: #7e7e7e;
	cursor: text;
}
.Form .Item input + .caption.NotEmpty,
.Form .Item input:focus + .caption {
	font-size: 14px;
	transform: translateY(-1.6em);
	cursor: default;
}
.Form .Item input:focus + .caption {
	color: var(--Scarlett-Color);
}

.Form .Item.Text input {
	width: 100%;
	display: inline-block;
	width: 100%;
	border: 1px solid #bcbcbc;
	padding: .5em 0 .5em;
	border-width: 0 0 1px 0;
	font-size: 18px;
	display: inline-block;
	position: relative;
	box-shadow: none;
	border-radius: 0;
	line-height: 100%;
	height: auto;
	box-sizing: border-box;
}

.Form .Item .border {
	width: 0px;
	height: 2px;
	background: var(--Scarlett-Color);
	position: absolute;
	left: 0;
	bottom: 0;
	transition: all 300ms cubic-bezier(0.55, 0.06, 0.68, 0.19);
}
.Form .Item.Text input:focus ~ .border {
	width: 100%;
}

.Form textarea {
	max-width: 100%;
	box-sizing: border-box;
	padding: .5em;
}

@media all and (max-width: 600px) {
	.Form .Item.Text {
		width: 100%;
	}
}

.Formerrors {
	border: 2px solid #a23;
	color: #f00;
	padding: 5px 15px;
	margin-bottom: 15px;
}
.Formwarnings {
	border: 2px solid #fc5;
	padding: 5px 15px;
}