
/* Block 1: Radio Buttons */

form .form-control{
	margin-bottom: 20px;
	font-size: 0px;
	padding-bottom: 20px;
	border-bottom: 1px solid #afafaf;
}

form .form-control:last-child{
	border-bottom: none;
}

form .form-control .onehalf{
	position: relative;
}

form .form-control .onehalf.first{
	padding-right: 20px;
}

form .form-control .onehalf.second{
	padding-left: 20px;
}

form .form-control label{
	display: block;
	font-size: 15px;
	font-weight: 700;
	margin-top: 15px;
}

form .form-control fieldset{
	border: none;
}

form .form-control .radio-control{
	display: block;
	margin-top: 15px;
}
form .form-control .radio-control label{
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	font-weight: 500;
	cursor: pointer;
}

form .form-control input[type="radio"]{
	position: relative;
	display: inline-block;
	vertical-align: middle;
 	-webkit-appearance: none;
 	appearance: none;
 	margin: 0;
 	width: 20px;
	height: 20px;
	border: 2px solid #111;
	border-radius: 50%;
	background: #fff;
	place-content: center;
	margin-right: 10px;
	position: relative;
	top: -2px;
	cursor: pointer;
}

form .form-control input[type="radio"]:before{
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  width: 20px;
  height: 20px;
  margin: auto;
  border-radius: 100%;
  background: #111;
  display: none;  
}

form .form-control input[type="radio"]:checked:before {
	display: inline-block;
	vertical-align: top;
}

form .form-control input[type="radio"]:focus {
/*
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
  */
  outline: none;
}


/* Block 2: Checkbox */

form .form-control .checkbox-control{
	display: block;
	margin: 15px 0 20px 0;
}

form .form-control input[type="checkbox"] {
  position: relative;
  left: 0px;
  top: 0px;
  z-index: 0;
  -webkit-appearance: none;
}

form .form-control input[type="checkbox"] + label {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 0 0 0 25px;
	font-weight: 500;
	cursor: pointer;	
}

form .form-control input[type="checkbox"] + label:before {
	content: "";
	display: inline-block;
	vertical-align: top;
	position: absolute;
	top: -4px;
	left: -5px;
  	width: 20px;
  	height: 20px;
  	border-radius: 5px;
  	border: 2px solid #111;
  	background-color: #fff;
  	margin-right: 5px;
}

form .form-control input[type="checkbox"]:checked+label:before {
	width: 20px;
	height: 20px;
	background-image: url(img/check.png);
	background-size: 12px auto;
	background-position: center center;
	background-repeat: no-repeat;
}






/* Block 2: Input Text */

form .form-control input[type="text"],
form .form-control input[type="email"],
form .form-control select,
form .form-control.sortable ul{
	border: 2px solid #111;
	border-radius: 5px;
	background: none;
	font-size: 15px;
	color: #111;
	padding: 12px;
	width: 100%;
}

/* Block 3: Options */

form .form-control select{
	border: 2px solid #111;
	border-radius: 5px;
	font-size: 15px;
	color: #111;
	padding: 12px;

	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	-webkit-user-select: none;
  -moz-user-select: none;  
  user-select: none;  

  background: url(img/arrow-down.png);
  background-size: 20px auto;
  background-position: center right 15px;
  background-repeat: no-repeat;

}

form .form-control .hint{
	position: relative;
	display: block;
	background: #DF2120;
	font-size: 15px;
	color: #fff;
	padding: 12px 30px 10px 10px;
	border-radius: 5px;
	margin-top: 20px;
}

form .form-control .hint:after{
	content: "";
	position: absolute;
	top: 0px;
	right: 10px;
	bottom: 0px;
	width: 15px;
	height: 15px;
	margin: auto 0;
	background: url(img/energie-white.png);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}


.wp-element-button {
	display: inline-block;
	vertical-align: top;
	font-family: 'Referenz Grotesk', Helvetica, Arial;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0.02em;
	padding: 12px 20px 10px 20px;
	background: #111;
	color: #fff;
	text-transform: uppercase;
	cursor: pointer;}

/* Block 5: Sortable */

form .form-control.sortable label{
	margin-bottom: 20px;
}

form .form-control.sortable .onehalf ul{
	margin: 0;
	padding: 0;
	list-style: none;
	height: 200px;
	overflow-y: scroll;	
}

form .form-control.sortable .onehalf ul li{
	font-size: 15px;
	padding: 10px;
	margin: 0;
	border-bottom: 1px solid #afafaf;
	cursor: grab;
}

form .form-control.sortable .onehalf ul li:last-child{
	border: none;
}

form .form-control.sortable .onehalf.first:after{
	content: "";
	position: absolute;
	top: 0px;
	right: -10px;
	bottom: 0px;
	width: 20px;
	height: 20px;
	margin: auto 0;
	background: url(img/arrow-right-black.png);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}




/* Block 6: Scala */

form .form-control table{
	width: 100%;
	border-collapse: collapse;
}

form .form-control table th,
form .form-control table td{
	font-size: 15px;
	padding: 0;
	text-align: center;
}

form .form-control table tr th:first-child,
form .form-control table tr td:first-child{
	text-align: left;
}

form .form-control table th{
	padding-bottom: 10px;
}

form .form-control table th:not(:first-child){
	position: relative;
	left: -5px;
}

form .form-control table td{
	position: relative;
}

form .form-control table td{
	border-bottom: 1px solid #afafaf;
	padding: 10px 0 10px 0;
}

form .form-control table tr:last-child td{
	border: none;
}

form .form-control table col.col-heading{
	width: 50%;
}

form .form-control table col.col-answer{

}

form .form-control table input[type="radio"]{
	position: relative;
	top: 1px;
}

form .form-control table label{
	display: none;
}











/* Rollen */

.rollen-header{
	position: relative;
	display: block;
	padding: 0 0 10px 0;
	border-bottom: 2px solid #111;
	background: #fff;
}

.rollen-header .rollen-title{
	display: inline-block;
	vertical-align: top;
	font-size: 28px;
	font-family: 'Rockwell', Arial, Helvetica;
	font-weight: 700;
	width: calc(100% - 250px);
	hyphens: auto;
}

.rollen-header .ergebnisse{
	display: inline-block;
	vertical-align: top;
	position: relative;
	top: 6px;
	font-size: 15px;
	font-weight: 300;
	margin-left: 10px;
	letter-spacing: 0.04em;
}

.rollen-header .right{
	position: absolute;
	top: 3px;
	right: 0px;
	width: 50%;
	font-size: 20px;
	letter-spacing: 0.02em;
	font-size: 0px;
	text-align: right;
}

.rollen-header input[name="rollen-search"]{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 20px - 80px);
	margin-right: 20px;
	top: -1px;

	background: none;
	border: 2px solid #111;
	border-radius: 5px;
	padding: 7px 7px;

	background-image: url(img/search.png);
	background-size: 20px auto;
	background-position: right 10px center;
	background-repeat: no-repeat;

}

.rollen-header .btn-anwenden{
	display: inline-block;
	vertical-align: top;
	cursor: pointer;
	font-size: 20px;
	padding: 5px 10px 5px 10px;
	border: 2px solid #111;
	porder-radius: 5px;
}

.rollen-header .btn-filter{
	display: inline-block;
	vertical-align: top;
	// cursor: pointer;
	width: 100px;
	font-size: 20px;
	padding-right: 10px;
}


.rollen-header .btn-filter:after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	margin-left: 10px;

	background: url(img/arrow-down.png);
	background-position: center center;
  background-repeat: no-repeat;
	background-size: 20px auto;
}

.rollen-header.open .btn-filter:after{
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
}



/* Filter */

.rollen-header .filter{
	display: block;
	padding: 0;
	font-size: 0px;

	display: none;
}

.rollen-header .filter:before{
	content: "";
	display: block;
	height: 10px;
}

.rollen-header .filter:after{
	content: "";
	display: block;
	height: 10px;
}

.rollen-header .filter .onehalf.first{
	padding-right: 20px;
}

.rollen-header .filter .form-control{
	border: none;
	margin-bottom: 0px;
	padding-bottom: 0px;
}

.rollen-header .region{
	position: relative;
	display: block;
	background: #D2D2D2;
	margin-top: 15px;
	padding: 20px;
}

.rollen-header .region .overlay{
	position: absolute;
	top: 10px;
	right: 20px;
	left: 20px;
}

.rollen-header .region .overlay select{
	background-color: #fff;
}

.rollen-header form select{
	margin-top: 10px;
}

.visitenkarte {
	display: flex; justify-content: center; padding-right: 150px;
}


/* Rolle */

.rolle{
	display: block;
	border-bottom: 1px solid #979797;
}


.rolle .details{
	display: block;
	padding: 25px 55px 20px 20px;
	background: #F3F3F3;
}

.rolle .details .title{
	font-size: 16pt;
	font-weight: 700;
	letter-spacing: 0.02em;
	hyphens: auto;
}

.rolle .details .excerpt{
	display: block;
	margin: 10px 0 0 0;
	line-height: 1.6em;
}

.rolle .bottom{
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	padding: 20px;
	min-height: 56px;
	background: #fff;
}

.rolle .bottom .engagement{
	display: inline-block;
	letter-spacing: 0.02em;
	min-width: 50%;
	max-width: 60%;
	margin-bottom: 20px;
}

.rolle .bottom .stellen {
	display: inline-flex;
	min-width: 200px;
	text-align: right;
	vertical-align: middle;
	right: 20px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.rolle .bottom .stellen:after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background-image: url(img/arrow-right-black.png);
	background-size: 100% auto;
	background-position: center center;
	background-repeat: no-repeat;
	margin-left: 15px;
	position: relative;
	top: -2px;
	left: 0px;

	transition: left 400ms ease-in-out;
	-webkit-transition: left 400ms ease-in-out;
}

.rolle:hover .bottom .stellen:after{
	left: 5px;
}

.stellen-name {
	display: block;
	width: 100%;
	vertical-align: top;
	font-size: 14pt;
	padding: 6pt 0 6pt 0;
	border-bottom-color: rgb(151,151,151);
	border-bottom-style: solid;
	border-bottom-width: 1px;
}

.search .search-stellen-name {
	display: block;
	width: 100%;
	vertical-align: top;
	font-size: 14pt;
	padding: 6pt 0pt 6pt 25pt;
	border-bottom-color: rgb(151,151,151);
	border-bottom-style: solid;
	border-bottom-width: 1px;
}


 .stellen-name:after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	float: right;
	width: 20px;
	height: 20px;
	background-image: url(img/arrow-right-black.png);
	background-size: 100% auto;
	background-position: right center;
	background-repeat: no-repeat;
	margin-left: 15px;
	position: relative;
	top: -2px;
	left: -182px;

	transition: left 400ms ease-in-out;
	-webkit-transition: left 400ms ease-in-out;
}




/* Stellen */

.stellen-header{
	position: relative;
	display: block;
	padding: 30px 0 20px 0;
	border-bottom: 2px solid #111;
	margin-bottom: 15px;
	background: #fff;
}

.stellen-header .stellen-title{
	display: inline-block;
	vertical-align: top;
	font-size: 28px;
	font-family: 'Rockwell', Arial, Helvetica;
	font-weight: 700;
}

.stellen-header .ergebnisse{
	display: inline-block;
	vertical-align: top;
	position: relative;
	top: 6px;
	font-size: 15px;
	font-weight: 300;
	margin-left: 10px;
	letter-spacing: 0.04em;
}

.stellen-header .right{
	position: absolute;
	top: 0px;
	right: 0px;
	width: 50%;
	font-size: 20px;
	letter-spacing: 0.02em;
	font-size: 0px;
	text-align: right;
}

.stellen-header .right label{
	font-size: 15px;
	letter-spacing: 0.02em;
	margin-right: 20px;
}

.rollen-header select,
.stellen-header select{
	position: relative;
	top: -1px;
	background: #fff;
	border: 2px solid #111;
	border-radius: 5px;
	padding: 7px 7px;
	font-size: 15px;
	color: #111;
	width: 170px;
	-moz-appearance:none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
  background-image: url(img/arrow-down.png);
  background-size: 20px auto;
  background-position: center right 15px;
  background-repeat: no-repeat;
}




/* Rolle */

.stelle{
	display: block;
	border-bottom: 1px solid #979797;
}

.stelle .details{
	display: block;
	padding: 25px 55px 20px 20px;
	background: #F3F3F3;
	font-size: 0px;
}

.stelle .details .onehalf{
	padding-right: 20px;
}

.stelle .details .onehalf.first{
	width: 70%;
}

.stelle .details .onehalf.second{
	width: 30%;
	position: relative;
	top: -3px;
}


.stelle .details .title{
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.stelle .details .excerpt{
	display: block;
	font-size: 15px;
	line-height: 1.6em;
	margin-top: 10px;
}

.stelle .details .address{
	font-size: 15px;
	line-height: 1.6em;
}

.stelle .details .address .label{
	margin-bottom: 10px;
	font-weight: 700;
}

.stelle .details .contact{
	margin-top: 20px;
}

.stelle .details .spacing{
	display: inline-block;
	vertical-align: top;
	width: 50px;
}


.stelle .bottom{
	position: relative;
	display: block;
	padding: 20px;
	height: 56px;
	background: #fff;
}

.stelle .bottom .engagement{
	letter-spacing: 0.02em;

}

.stelle .bottom .stellen{
	position: absolute;
	top: 20px;
	right: 20px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.stelle .bottom .stellen:after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background-image: url(img/arrow-right-black.png);
	background-size: 100% auto;
	background-position: center center;
	background-repeat: no-repeat;
	margin-left: 15px;
	position: relative;
	top: -2px;
	left: 0px;

	transition: left 400ms ease-in-out;
	-webkit-transition: left 400ms ease-in-out;
}

.stelle:hover .bottom .stellen:after{
	left: 5px;
}





/* Entwickler */

.entwickler-header{
	position: relative;
	display: block;
	padding: 0 0 10px 0;
	border-bottom: 2px solid #111;
	background: #fff;
}

.entwickler-header .entwickler-title{
	display: inline-block;
	vertical-align: top;
	font-size: 28px;
	font-family: 'Rockwell', Arial, Helvetica;
	font-weight: 700;
}

.entwickler-header .right{
	position: absolute;
	top: 0px;
	right: 0px;
	width: 50%;
	font-size: 20px;
	letter-spacing: 0.02em;
	font-size: 0px;
	text-align: right;
}

.entwickler-header .right label{
	font-size: 15px;
	letter-spacing: 0.02em;
	margin-right: 20px;
}

.entwickler-header select{
	position: relative;
	top: -1px;
	background: #fff;
	border: 2px solid #111;
	border-radius: 5px;
	padding: 7px 7px;
	font-size: 15px;
	color: #111;
	width: 170px;

  background-image: url(img/arrow-down.png);
  background-size: 20px auto;
  background-position: center right 15px;
  background-repeat: no-repeat;
}




/* Entwickler */

.entwickler{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #979797;
	padding: 0;
	font-size: 0px;
}



.entwickler .onehalf.first{
	width: 170px;
}

.entwickler .onehalf.second{
	width: calc(100% - 170px);

}

.entwickler .avatar{
	width: 150px;
	height: 150px;
	border-radius: 100%;
	overflow: hidden;
}

.entwickler .avatar img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.entwickler .name{
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.entwickler .details{
	display: block;
	font-size: 15px;
	line-height: 1.6em;
	letter-spacing: 0.02em;
	margin-top: 5px;
}

.entwickler .right{
	position: absolute;
	top: 0px;
	right: 0px;
	bottom: 0px;
	display: flex;
	align-items: center;
}

.entwickler .right a[href^="mailto:"]{
	display: inline-block;
	vertical-align: top;
	width: 30px;
	height: 30px;
	background-image: url(img/mail.png);
	background-size: 30px auto;
	background-repeat: no-repeat;
	background-position: center center;
} 

.entwickler .right a[href^="tel:"]{
	display: inline-block;
	vertical-align: top;
	width: 30px;
	height: 30px;
	background-image: url(img/phone.png);
	background-size: 25px auto;
	background-repeat: no-repeat;
	background-position: center center;
	margin-left: 20px;
} 




/* General */

.rollen-header input,
.stellen-header select,
.entwickler-header select,
form .form-control input,
form .form-control select{
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	-webkit-user-select: none;
  -moz-user-select: none;  
  user-select: none;  	
}





@media (max-width:961px){

  form .form-control .onehalf{
  	display: block;
  	width: auto;
  	padding: 0 !important;
  }

  form .form-control input[type="text"],
  form .form-control .selectric-wrapper{
  	margin-top: 10px;
  }

  
  form .form-control.sortable .onehalf.first ul{
  	margin-bottom: 40px;
  }

  form .form-control.sortable .onehalf.first:after{
  	top: auto;
  	right: 0px;
  	bottom: -30px;
  	left: 0px;
  	margin: 0 auto;

  	transform: rotate(90deg);
  	-moz-transform: rotate(90deg);
  	-webkit-transform: rotate(90deg);
  }




  /* rollen  */

  .rollen-header .right{
  	width: calc(100% - 120px);
  }

  .rollen-header .filter .onehalf{
  	display: block;
  	width: auto;
  }

  .rollen-header .filter .onehalf.first{
  	padding-right: 0px;
  }

  .rollen-header .ergebnisse{
  	display: none;
  }



  .stellen-header{

  }



  .stelle .onehalf{
  	display: block;
  	width: auto !important;
  	padding: 0 !important;
  }

  .stelle .details .onehalf.second{
  	margin-top: 25px;
  	top: 0px;
  }

  .stelle .details{
  	padding-right: 20px;
  }

  .stellen-header .ergebnisse{
  	display: none;
  }

  .stellen-header .right label{
  	display: none;
  }



  .entwickler-header .right{
  	display: block;
  	position: relative;
  	width: auto;
  	margin-top: 5px;
  	top: auto;
  	right: auto;
  }

 	.entwickler-header .right label{
  	display: none;
  }


  .entwickler-header .right select{
  	width: 100%;
  }

  .entwickler{
  	display: block;
  	text-align: center;
  	padding-bottom: 20px;
  }

  .entwickler .onehalf{
  	display: block;
  	width: auto !important;
  }

  .entwickler .avatar{
  	display: inline-block;
		vertical-align: top;
  }

  .entwickler .right{
  	position: relative;
  	display: block;
  	top: auto;
  	right: auto;
  	bottom: auto;
  	margin-top: 20px;
  }


	.visitenkarte {
		background: #E0AB49;
		display: flex; justify-content: flex-end; padding-bottom: 10px;
		padding-right: 150px;
	}




}



@media (max-width: 430px) {
	.rollen-header .right {
		width: 100%;
		padding-top: 5px;
		position: relative;
		text-align: right;
	}

	.rollen-header .rollen-title {
		width: 100%;
	}

.visitenkarte {
		background: #E0AB49;
		display: flex; justify-content: flex-end; padding-bottom: 10px;
	padding-right: 0px;
	}

}
