* {
	border-collapse:collapse;
	box-sizing:border-box;
	color:#000;
	font-family:'Open Sans', sans-serif;
	font-weight:400;
	margin:0;
	/*padding:0;*/
	vertical-align:top;
	
	--base-width:1200px;
	--highlight-color:#C000A0;
	--highlight-color-gradient:#FF60DF;
	--highlight-color-transparent:rgba(192, 0, 160, 0.75);
	--lowlight-color:#333;
	--light-gray:#eee;
}
b, strong{
	font-weight:600;
}
a{
	color:var(--highlight-color);
}
a:hover{
	color:#000;
	text-decoration:none;
}

.head {
	--height:108px;
	--logo-name-gap:12px;
	--logo-height:64px;
	--name-font-size:24px;
	--name-line-height:24px;
	--span-display:inline;
}

.head.scrolled {
	--height:74px;
	--logo-name-gap:8px;
	--logo-height:48px;
	--name-font-size:28px;
	--name-line-height:28px;
	--span-display:none;
}



@media (max-width: 1399px){
	* {
		--base-width:80vw;
	}
	.head {
		--height:108px;
		--logo-name-gap:12px;
		--logo-height:64px;
		--name-font-size:24px;
		--name-line-height:24px;
	}
}

@media (max-width: 599px){
	* {
		--base-width:90vw;
	}
	.head {
		--height:64px;
		--logo-name-gap:8px;
		--logo-height:36px;
		--name-font-size:24px;
		--name-line-height:24px;
		--span-display:none;
	}
	.head.scrolled {
		--height:64px;
		--logo-name-gap:8px;
		--logo-height:36px;
		--name-font-size:24px;
		--name-line-height:24px;
	}
}


body {
	padding:0;
}

form, form fieldset {
	display:grid;
	gap: 32px 32px;
}

fieldset {
	background-color:var(--light-gray);
	border:none;
	padding:64px 16px 32px;
	position:relative;
}
legend {
	background-color:var(--light-gray);
	border:none;
	font-size:22px;
	left:16px;
	padding:0;
	position:absolute;
	top:16px;
}

.head{
	align-items:center;/*stretch;*/
	background-color:#fff;
	border-bottom:solid 1px var(--lowlight-color);
	
	display:flex;
	flex-direction: row;
	gap:2vw;
	
	height:var(--height);
	/*justify-content:space-between;*/
	padding:0 4vw;
	position:sticky;
	top:0;
	transition:height 0.1s linear;
	width:100%;
	z-index:1;
}

.head>a{
	align-items:center;
	display:flex;
	flex:1 0 auto;
	gap:var(--logo-name-gap);
	text-decoration:none;
}
.head>a>img {
	height:var(--logo-height);
	transition:height 0.1s linear
}
.head>a>h1 {
	color:#333;
	font-size:var(--name-font-size);
	line-height:var(--name-line-height);
}
.head>a>h1>span {
	color:var(--highlight-color);
	display:var(--span-display);
}

.head nav {
	flex:0 0 auto;
	justify-content:right;
	order:0;
}
.head nav button {
	background:none;
	border:none;
	display:none;
	font-size:24px;
	line-height:24px;
}
.head nav button::before {
	content: "\f0c9";
	font-family: 'Font Awesome 6 Free';
}
.head nav button.show::before {
	content: "\f00D";
	font-family: 'Font Awesome 6 Free';
}
.head nav li {
	list-style:none;
}
.head nav ul {
	display:flex;
	flex-direction:column;
	gap:0;
	padding:0;
}
.head nav a,
.head nav span{
	color:#333;
	font-size:22px;/*calc(16px + (100vw - 1200px) / 100 );*/
	text-decoration:none;
	white-space:nowrap;
}
.head nav a:hover{
	color:var(--highlight-color);
}
.head nav span>i {
	padding:4px 0 0 4px;
}

.head nav>ul {
	flex-direction:row;
	gap:2vw;
}
.head nav>ul>li {
	/*outline:dotted 1px #000;*/
	position:relative;
}

.head nav>ul>li>ul {
	background-color:rgba(255, 255, 255, 1);
	border-bottom:solid 2px #333;
	display:none;
	padding:16px 0;
	position:absolute;
	right:0;
}
.head nav>ul>li:hover>ul,
.head nav>ul>li:active>ul {
	display:flex;
}
.head nav .l1 span,
.head nav .l1 a {
	display:block;
	padding:8px 48px;
}
.head nav>ul>li>ul a:hover{
	background-color:var(--light-gray);
}

.head nav .l2>span,
.head nav .l2>a {
	padding:8px 48px 8px 72px;
}

.head div {	
	flex:0 0 auto;
}
.head div>a{
	font-size:22px;
}
.head div>a>i{
	vertical-align:middle;
}

@media (max-width: 1260px){
	.head nav {
		order:3;
	}
	.head nav button {
		display:block;
	}
	.head nav a,
	.head nav span {
		display:block;
		font-size:20px;
		padding:8px 5vw;
	}
	.head nav a:hover {
		background-color:var(--light-gray);
	}
	.head nav>ul {
		background-color:#fff;
		border-bottom:solid 2px var(--lowlight-color);
		display:none;
		flex-direction:column;
		gap:0;
		height:calc(100vh - var(--height));
		/*height:100vh;*/
		left:0;
		/*min-height:calc(100vh - 128px);*/
		/*padding:2vw 5vw;*/
		overflow:scroll;
		position:absolute;
		top:var(--height);
		width:100vw;
	}
	.head nav>ul.show {
		display:flex;
	}
	.head nav>ul>li ul {
		border:none;
		display:block;
		padding:0;
		position:static;
	}
	
	.head nav .l1>a,
	.head nav .l1>span {
		display:block;
		padding:8px calc(5vw + 36px);
	}
	
	.head nav .l2>a,
	.head nav .l2>span {
		display:block;
		padding:8px calc(5vw + 72px);
	}
	
	.head>div>a {
		font-size:26px;
	}
	.head>div>a>i {
		vertical-align:baseline;
	}
}




div.search{
	background:linear-gradient(170deg, var(--highlight-color), var(--highlight-color-gradient));
	padding:28px calc(50% - var(--base-width) / 2);
	
	--font-size:22px;
	--flex-direction:row;
}
@media (max-width: 799px){
	div.search{
		padding:16px calc(50% - var(--base-width) / 2);
		
		--font-size:18px;
		--flex-direction:column;
	}
}

div.search form{
	display:flex;
	flex-direction:var(--flex-direction);
	column-gap:2%;
	row-gap:16px;
}
div.search div.block>select{
	border:none;
	font-size:var(--font-size);
	padding:8px;
}
div.search div.block.submit{
	margin-right:0;
}
div.search div.block.submit>button{
	font-size:var(--font-size);
	font-weight:600;
	margin:0;
	transition:all 0.3s ease-in-out;
	white-space:nowrap;
	width:100%;
}
div.search div.block.submit>button:hover{
	transform:perspective(500px) translateZ(25px);
}
div.search div.block>button>i{
	color:#fff;
	vertical-align:baseline;
}


div.actions {
	align-items:center;
	background-color:var(--light-gray);
	display:flex;
	flex-wrap:wrap;
	/*justify-content:space-between;*/
	justify-content:space-around;
	padding:0 calc(50% - var(--base-width) / 2) 24px;
}
div.actions>a{
	color:#333;
	font-size:18px;
	font-size:calc(10px + 1vw / 2);
	margin:24px 0 0;
	text-align:center;
	text-decoration:none;
}
div.actions>a:hover{
	color:var(--highlight-color);
}
div.actions>a>i{
	font-size:24px;
}


div.locations {
	align-items:center;
	background-color:var(--lowlight-color);
	clear:both;
	display:flex;
	flex-wrap:wrap;
	gap:48px;
	justify-content:space-between;
	padding:48px calc(50% - var(--base-width) / 2);
}
div.locations * {
	color:#eee;
}
div.locations>div{
	padding-left:24px;
}
div.locations>div h3{
	font-size:16px;
}
div.locations>div h3>a{
	font-weight:bold;
}
div.locations>div p{
	margin-top:8px;
}
div.locations>div>a{
	color:inherit;
	display:block;
	margin-top:8px;
	text-decoration:none;
}
div.locations a:hover{
	color:#fff;
}
div.locations>div *{
	position:relative;
}
div.locations>div *::before {
	font-family: 'Font Awesome 6 Free';
	left:-24px;
	position:absolute;
	top:2px;
}
div.locations>div p.location::before {
	content: "\f3c5";
}
div.locations>div a.phone::before {
	content: "\f095";
}
div.locations>div a.email::before {
	content: "\f0e0";
}


.foot {
	padding:16px calc(50% - var(--base-width) / 2);
}
.foot nav {
	display:block;
	text-align:center;
}
.foot nav a {
	color:var(--lowlight-color);
}
.foot div {
	align-items:center;
	display:flex;
	flex:1 1 auto;
	gap:24px;
	justify-content:space-around;
	margin-top:24px;
	text-align:right;
}
.foot div img {
	max-height:100px;
	max-width:200px;
	width:100%;
}


.body{
	/*
	display:flex;
	flex-direction:column;
	gap:36px;
	*/
	margin:0 calc(50% - var(--base-width) / 2);
}
.body>h1 {
	color:var(--lowlight-color);
	font-size:32px;
	line-height:32px;
	margin:48px 0;
}
.body>*{
	margin:36px 0;
}
.body h2 {
	color:var(--lowlight-color);
	font-size:24px;
	line-height:30px;
	padding:24px 0 0;
}
.body h2:first-child {
	padding:0;
}
.body p {
	color:var(--lowlight-color);
	font-size:16px;
	line-height:24px;
}
.body img {
	width:100%;
}
.body ul{
	display:flex;
	flex-direction:column;
	gap:4px;
	list-style-position:outside;
	padding:0 0 0 16px;
}
.body a.button {
	background-color:#fff;
	border:solid 1px var(--highlight-color);
	border-radius:4px;
	color:var(--highlight-color);
	display:block;
	font-size:16px;
	font-weight:bold;
	margin-left:20%;
	margin-right:20%;
	padding:8px 24px;
	text-align:center;
	text-decoration:none;
}
.body div[class^='split-'] a.button{
	margin-left:10%;
	width:80%;
}
@media (max-width: 599px){
	.body a.button {
		margin-left:10%;
		margin-right:10%;
	}	
}
.body a.button:hover {
	background-color:var(--highlight-color);
	color:#fff;
}
.body table td,
.body table th {
	border:solid 1px #eee;
	padding:8px 16px;
	text-align:left;
}
.body table th {
	font-weight:600;
}
.body div[class^='split-']>div{
	display:flex;
	flex-direction:column;
	gap:24px;
}
.body div.gallery {
	background-color:#f6f6f6;
	border:solid 2px #ccc;
	display:flex;
	/*display:grid;*/
	flex-wrap:wrap;
	gap:4px;
	/*grid-template-columns:repeat(auto-fill, minmax(112px, 1fr));*/
	padding:4px;
}
.body div.gallery>a {
	flex:1 1 156px;
}
/*
@media (max-width: 1399px){
	.body div.gallery>a {
		flex:1 0 calc(20% - 4 / 5 * 4px);
	}
}
@media (max-width: 599px){
	.body div.gallery>a {
		flex:1 0 calc(25% - 3 / 4 * 4px);
	}
}
*/

.body div.highlight{
	/*
	background-color:#f6f6f6;
	border:solid 2px #ccc;
	*/
	border-radius:8px;
	box-shadow:0px 0px 8px 2px rgba(0, 0, 0, 0.1);
	padding:24px;
}


.msg>p {
	border-radius:4px;
	font-weight:bold;
	padding:8px;
}
p.success{
	border:solid 2px #060;
	color:#060;
}
p.error{
	border:solid 2px var(--highlight-color);
	color:var(--highlight-color);
}
p.info{
	border:solid 2px #666;
	color:#666;
}
p.question{
	border:solid 2px #009;
	color:#009;
}


/* ********* */
div.block{
	display:inline-block;
	/*margin:8px 0;*/
	width:100%;
}
div.block.button,
div.block.submit{
	margin-right:8px;
	width:auto;
}

div.block>label,
div.block>span.descr{
	display:block;
}
div.block>label {
	font-weight:600;
	margin-bottom:2px;
}
div.block>span.descr{
	color:#666;
}
div.block > input,
div.block > textarea,
div.block > select,
div.block.submit > button,
div.block.button > button,
div.block.button > a {
	background-color:#fff;
	/* box-shadow:0 0 4px #ececec; */
	border:solid 1px #999;
	border-radius:4px;
	display:block;
	padding:8px;
	width:100%;
}
div.block.checkbox input {
	width:20px;
	height:20px;
	margin-right:4px;
}
div.block > textarea {
	height:128px;
}
div.block.submit > button,
div.block.button > button,
div.block.button > a {
	display:inline-block;
	font-size:16px;
	font-weight:bold;
	margin:4px 0;
	padding:8px 24px;
	width:auto;
}
div.block.submit > button {
	border:solid 1px var(--highlight-color);
	background-color:var(--highlight-color);
	color:#fff;
}
div.block.button > a,
div.block.button > button {
	border:solid 1px var(--highlight-color);
	color:var(--highlight-color);
	text-align:center;
	text-decoration:none;
}
div.block.button > a:hover ,
div.block.button > button:hover {
	background-color:var(--highlight-color);
	color:#fff;
}
/* ********* */

.grid {
	display:grid;
}

/* ********* */

/* ein menge von kaesten, zb die ausbildungen */
.itemlist {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
	gap:24px;
}

.itemlist>*{
	aspect-ratio:3 / 2;
	background-color:#eee;
	background-size:cover;
	break-inside:avoid;
	display:block;
	overflow:hidden;
	position:relative;
	transition:all 0.3s ease-in-out;
}
.itemlist>a:hover{
	transform:perspective(500px) translateZ(30px);
}
.itemlist>*>h2 {
	background-color:var(--highlight-color-transparent);
	bottom:0;
	color:#fff;
	/*font-size:calc(8px + var(--base-width) / 50);*/
	font-size:18px;
	left:0;
	line-height:1.2;
	padding:2% 4%;
	position:absolute;
	right:0;
}
.itemlist>*>h2:first-child {
	padding:2% 4%;
}
.itemlist>*.inactive{
	opacity:0.2;
}

/* ********* */

.education_summary,
.schooltype_employee{
	display:flex;
	flex-direction:column;
	gap:24px;
}
@media (min-width: 960px){
	.education_summary,
	.schooltype_employee{
		float:right;
		margin:0 0 48px 48px;
		max-width:33%;
	}
}
.education_summary i{
	color:#999;
	font-size:24px;
}
div.education_summary>div{
	margin-left:36px;
	position:relative;
}
div.education_summary>div::before {
	font-family: 'Font Awesome 6 Free';
	font-size:24px;
	margin-left:-36px;
	position:absolute;
	top:-2px;
	color:#999;
}
div.education_summary>div.requirement::before {
	content: "\f084";
}
div.education_summary>div.exclamation::before {
	content: "\f071";
}
div.education_summary>div.achievement::before {
	content: "\f19d";
}
div.education_summary>div.duration::before {
	content: "\f017";
}
div.education_summary>div.employee::before {
	content: "\e542";
}
div.education_summary>div.location::before {
	content: "\f3c5";
}
div.education_summary>div.period::before {
	content: "\f573";
}
div.education_summary>div.apply::before {
	content: "\f0a9";
}


/* * * * * * * * * */

div.widget.category-home {
	display:flex;
	gap:24px;
	justify-content:space-between;
}
div.widget.category-home>a {
	aspect-ratio:3 / 2;
	background-size:cover;
	display:block;
	/*height:calc(var(--base-width) / 4.5);*/
	position:relative;
	text-decoration:none;
	transition:all 0.3s ease-in-out;
	width:100%;
}
div.widget.category-home>a:hover {
	transform:perspective(500px) translateZ(25px);
}
div.widget.category-home>a h2 {
	background-color:var(--highlight-color-transparent);
	bottom:0;
	color:#fff;
	font-size:18px;
	left:0;
	padding:1% 4%;
	position:absolute;
	right:0;
}
@media (max-width: 799px){
	div.widget.category-home {
		flex-direction:column;
	}
}

/* * * * * * * * * */

div.widget.post-home>div{
	/*
	display:flex;
	flex-wrap:wrap;
	gap:48px;
	justify-content:space-between;
	*/
	column-count:2;
	column-gap:96px;
	/*margin:48px calc(50% - var(--base-width) / 2);*/
	/*margin-top:48px;*/
}
div.widget.post-home>div>div {
	break-inside:avoid;
	display:flex;
	flex-direction:column;
	gap:4px;
	/*justify-content:space-between;*/
	margin-bottom:36px;
	/*position:relative;*/
}
div.widget.post-home>div>div img {
	display:block;
	margin:4px 0;
	width:100%;
}
div.widget.post-home>div>div .date{
	color:#666;
}
div.widget.post-home>div>div h2{
	color:var(--highlight-color);
	padding:0 0 4px;
}
div.widget.post-home>div>div p{
	flex-grow:1;
}
div.widget.post-home>a{
	display:block;
	text-align:center;
}
@media (max-width: 799px){
	div.widget.post-home>div {
		column-count:1;
	}
}

/* * * * * * * * * */

.widget.education-list{
}
.widget.education-list div.filter{
	display:flex;
	flex-direction:column;
	gap:16px;
	margin-bottom:24px;
}
/*
.widget.education-list h3::before {
	color:#333;
	content: "\f0b0";
	font-family: 'Font Awesome 6 Free';
	margin-right:4px;
}
*/
.widget.education-list div.options{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:4px;
}
.widget.education-list button{
	background-color:#fff;
	border:solid 1px var(--highlight-color);
	border-radius:4px;
	color:var(--highlight-color);
	margin:0;
	padding:4px 12px;
	min-width:0;
	width:auto;
}
.widget.education-list .button:hover{
	background-color:#fff;
	color:var(--highlight-color);
	font-weight:600;
}
.widget.education-list div.filter>div button.active{
	background-color:var(--highlight-color);
	color:#fff;
}

/* * * * * * * * * */

.widget.post-list>div.items{
	display:flex;
	flex-direction: column;
	gap:36px;
}
.widget.post-list .post{
	display:flex;
	flex-direction: column;
	gap:8px;
}
.widget.post-list h2{
	padding:0;
}
.widget.post-list>a,
.widget.post-list>span {
	display:block;
	margin:24px auto 0;
	text-align:center;
	width:100%;
}

/* * * * * * * * * */

.widget.employee-list{
	display:flex;
	flex-direction: column;
	gap:48px;
}
/*
.widget.employee-list>.employee{
	display:flex;
	flex-wrap: wrap;
	gap:24px;
}
.widget.employee-list>.employee>div.img{
	width:33%;
}
@media (max-width: 599px){
	.widget.employee-list>.employee>div.img{
		width:100%;
	}
}
*/
.widget.employee-list>.employee>div.txt{
	display:flex;
	flex-direction: column;
	gap:12px;
}

.widget.employee-list a {
	padding-left:24px;
	position:relative;
}
.widget.employee-list a::before {
	font-family: 'Font Awesome 6 Free';
	left:0;
	position:absolute;
	top:2px;
}
.widget.employee-list a.phone::before {
	content:"\f095";
}
.widget.employee-list a.email::before {
	content:"\f0e0";
}

/* * * * * * * * * */

.widget.application .personal_data>fieldset {
	grid-template-areas:
		"gender 1"
		"firstname lastname"
		"birthname 2"
		"birthday 3"
		"birthplace birthcountry"
		"nationality mother_tongue"
		"street number"
		"zip city"
		"phone email";
}
.widget.application .first_legal_rep>fieldset,
.widget.application .second_legal_rep>fieldset {
	grid-template-areas:
		"type 1"
		"salutation 2"
		"firstname lastname"
		"street number"
		"zip city"
		"phone email";
}
.widget.application .misc>fieldset {
	grid-template-areas:
		"additional_application additional_application"
		"first_foreign_language first_foreign_language_duration"
		"second_foreign_language second_foreign_language_duration"
		"school_name school_type"
		"school_leaving_certificate school_leaving_year"
		"additional_certificates additional_certificates";
}
.widget.application .files>fieldset {
	grid-template-areas:
		"file_form"
		"file_certificate"
		"file_cv"
		"file_photo"
		"file_misc"
}

/* * * * * * * * * */
