body,
html {
	height: 100%;
	margin: 0;
}

a:link {
	color: rgba(60, 60, 60, 0.8);
	text-decoration: none;
}

.bg-image {
	position: fixed; 
	height: 105%; 
	width: 105%; 
	z-index: -1;
	left: 0;
	margin: -20px;
    overflow: hidden;
    filter: blur(10px);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
}

.mb-10 {
	margin-bottom: 10px; 
}

.container {
	display: grid;
	height: 100%;
	width: 100%;
	grid-template-columns: 4% 4fr 262px 4%;
	grid-template-rows: auto auto auto auto;
	grid-template-areas: "sidebar jobgruppe jobgruppe sidebar2" "sidebar mainarea content1 sidebar2" "sidebar mainarea content1 sidebar2" "sidebar mainarea content1 sidebar2" "footer footer footer footer";
	grid-gap: 30px;
	text-align: center;
	border-style: none;
}

#jobgruppe {
	grid-area: jobgruppe;
	border-radius: var(--main-radius);
	padding-top: var(--main-padding);
}

#mainarea {
	grid-area: mainarea;
}

#sidebar {
	grid-area: sidebar;
	border-radius: var(--main-radius);
	padding-top: var(--main-padding);
}

#sidebar2 {
	grid-area: sidebar2;
	border-radius: var(--main-radius);
	padding-top: var(--main-padding);
}

#content1 {
	grid-area: content1;
	border-radius: var(--main-radius);
	padding-top: var(--main-padding);
}

footer {
	grid-area: footer;
	border-radius: var(--main-radius);
	padding-top: var(--main-padding);
}

footer a {
	text-decoration: underline !important;
	font-weight: bold;
}

#jobheader {
	justify-content: center;
	background-size: cover;
	background-position: 50% 50%;
	height: 518px;
	border: none;
	display: flex;
	position: relative;
}

#companylogo {
	z-index: 1;
	position: absolute;
	bottom: 0;
	margin-bottom: 90px;
}

.hide_logo1, .hide {
	display: none !important;
}

#jobtitel {
	opacity: 0.8;
	position: absolute;
	bottom: 0;
	width: 70%;
	height: 25%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: calc(16px + (28 - 16) * ((100vw - 320px) / (1600 - 320)));
}

.apply_btn {
	line-height: 45px;
	position: absolute;
	width: 90%;
	max-width: 330px;
	height: 45px;
	font-size: 10pt;
	bottom: 0;
	margin-bottom: -25px;
	cursor: pointer;
	border: 1px;
	border-radius: 4px;
	border-style: solid;
	box-shadow: rgb(0 0 0 / 80%) 0 6px 10px;
	user-select: none;
}

.arrow_svg {
	fill: #000;
	width: 40px;
	height: 35px;
	position: absolute;
	bottom: 6px;
	right: 	33px;
}

.apply_content {
	width: 330px;
	height: auto;
	background-color: rgba(255, 255, 255);
	display: none;
}

.apply_btn:hover {
	transform: translateY(-2px);
	box-shadow: rgb(0 0 0 / 80%) 10px 10px 10px;
}

.apply_content a, .app_desc a {
	display: block;
	height: 45px;
	position: relative;
	text-align: left;
}

.apply_content a:hover, .app_desc a:hover {
	background-color: rgba(225, 216, 216, 0.5);
}

.apply_btn.clicked .apply_content {
	display: block;
}

.apply_content a img, .apply_content a svg,
.app_desc a img, .app_desc a svg {
	position: absolute;
	top: 4px;
	left: 5px;
	width: 32px;
	height: 32px;
}

.apply_content a span,
.app_desc a span {
	display: inline-block;
	max-width: 170px;
	padding-left: 45px;
	height: inherit;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	font-size: 15px;
}

.job_desc {
	background-color: rgba(255,255,255,0.8);
	min-height: 700px;
	padding: 25px;
	text-align: left;
	color: rgb(5, 5, 5);
}

.short_details, .cont_desc {
	background-color: rgba(60, 60, 60, 0.8);
	color: rgb(240, 237, 238);
	padding: 5px 20px 20px 20px;
	font-size: 10pt !important;
	text-align: left;
}

.cont_desc{
	margin-top: 30px;
}

.cont_desc a {
	color: rgb(240, 237, 238);
	font-size: 10pt 
}

#cont_desc_info {
	line-height: 23px;
}

.mail_ellipsis {
	text-overflow: ellipsis;
	overflow: hidden;
	width: 100%;
	display:inline-block;
}

.cont_desc_social {
	display: inline-block;
	margin-top: 10px;
}

.cont_desc_social svg {
	width: 28px;
	height: 28px;
}

.comp_desc {
	background-color: rgba(60, 60, 60, 0.8);
	color: rgb(240, 237, 238);
	padding: 10px 20px 10px 20px;
	text-align: left;
	margin-top: 30px;
	font-size: 10pt !important;
}

#app_now {
	height: 30px;
	padding: 15px 10px 4px 10px;
}

.app_desc {
	background-color: white;
	padding-top: 0px;
	text-align: center;
}

.app_desc a span {
	padding-top: 10px;
}

footer {
	background-color: rgba(60, 60, 60);
	color: white;
	height: 200px;
	padding: 20px;
	position: relative;
	justify-content: center;
	border: none;
	display: flex;
	position: relative;
}

#impressum {
	position: absolute;
	bottom: 0;
	padding-bottom: 10px;
	font-size: 8pt;
}

#impressum a {
	font-size: 8pt;
	color: white;
}

#impressum p {
	font-size: 8pt;
}

.floating_wrapper {
	position: fixed;
	right: 0;
	z-index: 40;
  top: 0;
}

.button_floating {
	cursor: pointer;
	text-align: center;
	line-height: 35px;
	width: 70px;
	height: 70px;
	position: relative;
	z-index: 3;
}

.sharetooltip {
	position: absolute;
	font-size: 12px;
	bottom: 0;
	line-height: 12px;
	margin-left: 20px;
}

.socialDiv {
	width: 30px;
	list-style: none;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-1em);
	z-index: 2;
	transition: transform 0.3s ease-in-out 0s, visibility 0s linear 0.3s;
}

.socialDiv svg {
	transition: fill 0.3s ease-in-out 0s;
	fill: grey;
}

.floating_wrapper.clicked .socialDiv {
	visibility: visible;
	opacity: 1;
	transform: translateY(0%);
	transition-delay: 0s, 0s, 0.3s;
}

#twitter-svg:hover {
	fill: #00acee;
}

#linkedin-svg:hover {
	fill: #0e76a8;
}

#facebook-svg:hover {
	fill: #3b5998;
}

#xing-svg:hover {
	fill: #126567;
}

#email-svg:hover {
	fill: rgb(32, 128, 0);
}

#print-svg {
	background: grey;
	padding: 4px;
}

#print-svg:hover {
	background: rgb(32, 128, 0);
}

.job_card {
	z-index: 40;
	margin-top: 400px;
	cursor: pointer;
	background-color: white;
	color: #FFF;
	font-size: 30px;
	text-align: center;
	line-height: 80px;
	width: 200px;
	height: 50px;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	position: fixed;
	right: 0;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	border-bottom: 1px solid grey;
}

.job_card::after {
	content: '>';
	line-height: 50px;
	position: absolute;
	width: 15px;
	height: 50px;
	right: 0;
	font-size: 12pt;
}

.anredeHerr2,
.anredeFrau1 {
	display: none;
}

@media only screen and (max-width: 830px) {
	#jobtitel {
		width: 100%;
	}
  	
	.container {
		grid-template-columns: 1fr;
		grid-template-areas: "jobgruppe" "mainarea" "content1" "content2" "content3" "footer";
	}

	blockquote {
		margin-inline-start: 5px;
		margin-inline-end: 5px;
	}

	ul, ol {
		padding-inline-start: 1.2em;
	}
	
	.floating_wrapper {
		position: unset;
	}
  
	.socialDiv {
		visibility: visible;
		opacity: 1;
		width: 90%;
		max-width: 420px;
		height: 50px;
		margin: 50px auto;
	}

	.socialDiv > div {
		float: left;
		width: 14.66%;
		height: 14.66%;
		margin-right: 2%;
	}

	.button_floating {
		display: none;
	}

	.comp_desc img {
		display:block;
		margin: 0 auto; 
	}

	.apply_btn:hover .apply_content {
		display: none !important;
	}

	.apply_btn .apply_content.visible {
		display: block !important;
	}
}

@media print {
	footer {
		display: none;
	}
}