@charset "utf-8";



/* style guide
–––––––––––––––––––––––––––––––––––––––––––––––––– 
blue:			#0069b3
light blue:		#bfdaec
grey:			#eceded
grey border:	#d9dadb
body text:		#212529
*/



/* normalize
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@import url('normalize.css');



/* fonts
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* open-sans-300 - latin */
/* source-sans-pro-regular - latin */
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 400;
	src: local(''),
		 url('../fonts/source-sans-pro-v21-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('../fonts/source-sans-pro-v21-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* source-sans-pro-italic - latin */
  @font-face {
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 400;
	src: local(''),
		 url('../fonts/source-sans-pro-v21-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('../fonts/source-sans-pro-v21-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* source-sans-pro-700 - latin */
  @font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 700;
	src: local(''),
		 url('../fonts/source-sans-pro-v21-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('../fonts/source-sans-pro-v21-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }


/* clearfix
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.cf::after { content: ""; clear: both; display: table;}



/* global elements
–––––––––––––––––––––––––––––––––––––––––––––––––– */
body {
	background: #fff;
	font-family: 'Source Sans Pro', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: #000;
	margin: 0;
}

strong, b 	{ font-weight: 700; }

small 		{ font-size: 14px; }

a 			{ color: #000; text-decoration: underline;}
a:hover 	{ color: #333d68; text-decoration: underline; }



/* headlines
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3 { color: #333d68; line-height: 1;}

h1 { font-weight: 300; font-size: 32px; margin: 10px 0 15px 0; }
h2 { font-weight: 300; font-size: 26px; margin: 25px 0 10px 0; }
h3 { font-weight: 300; font-size: 14px; margin: 25px 0 10px 0; }

/* overview */

/* sidebar */
.sidebar-inner h2 	{ font-size: 18px; margin: 0 0 15px 0; }

/* jobletter */
.jobletter-title 		{ font-weight: 700; font-size: 14px; margin-top: 10px; }



/* layout
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container		{ width: 100%; max-width: 1140px; margin: 0 auto;}

.content		{ float: left; width: 65%; margin-right: 10%; }

.sidebar		{ float: left; width: 25%; }




/* overview
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.overview.content		{ float: none; width: 100%; }

.overview-intro { width: 100%; margin: 10px 0 25px 0; }
.overview-intro-left { float: left; width: 67%; }
.overview-intro-right { float: right; text-align: center; width: 33%; }

/* overview intro stacked for small screens */
@media (max-width: 768px) {
	.overview-intro-left, .overview-intro-right { width: 100%; }
	.overview-intro-left { margin-bottom: 10px; }
}


/* details page
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.box.application,
.box.download
{
	margin: 35px 0;
}



/* sidebar boxes
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.contact,
.job-data,
.job-application {
	border: 2px solid rgba(0, 0, 0, 0.125) ;
	border-radius: 5px;
	padding: 20px;
	margin-bottom: 20px;
}



/* contact box
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.contact-name		{font-weight: bold;}
.contact-position	{font-size: 14px; line-height: 1; margin-bottom: 8px;}



/* miscellaneous
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.back-top 				{ font-weight: bold; margin: 0 0 10px 0; }
.back-bottom 			{ font-weight: bold; margin: 20px 0 50px 0; }

.initiative-application	{font-size: 32px;font-weight: 300;}
.initiative-application + p	{ margin-top: 10px; }

.badge-freiraum 		{ display: block; width: 100%; text-align: center; margin-bottom: 20px; }



/* icons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.sprite {
	background-image: url(../images/icon-sprite.png);
	background-repeat: no-repeat;
	display: inline-block;
}

/* contact icons */
.icon-email 	{ width: 15px; height: 15px; background-position: -5px -4px; position: relative; top: 2px;}
.icon-fax 		{ width: 15px; height: 15px; background-position: -30px -5px;  position: relative; top: 1px;}
.icon-linkedin 	{ width: 15px; height: 15px; background-position: -5px -29px;  position: relative; top: 1px;}
.icon-mobile 	{ width: 15px; height: 15px; background-position: -30px -30px;  position: relative; top: 2px;}
.icon-phone 	{ width: 15px; height: 15px; background-position: -55px -5px;  position: relative; top: 1px;}
.icon-xing 		{ width: 15px; height: 15px; background-position: -55px -29px;  position: relative; top: 1px;}
.icon-room 	{ width: 15px; height: 15px; background-position: -77px -5px;  position: relative; top: 1px;}

/* file type icons */
.icon-pdf 		{ width: 15px; height: 15px; background-position: -6px -54px; }
.icon-word 		{ width: 15px; height: 15px; background-position: -31px -54px; }
.icon-picture 	{ width: 15px; height: 15px; background-position: -56px -54px; }

/* client specifiv icon */
.icon-chevron	{ width: 15px; height: 15px; background-position: -80px -4px; }



/* search and filters for jobs
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.jobs-filter-search input, .jobs-filter-search button {
	margin-bottom: 5px;
	min-width: 200px;
}

.jobs-filter-select {
	display: inline-block;
	margin: 15px 10px 0 0;
}

.jobs-filter-select select {
	min-width: 200px;
}

form .caption {
	font-weight: 400;
	margin-bottom: 4px;
}


/* overview tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */

table.jobs_table {
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 50px;
}

table.jobs_table td, table.jobs_table th {
	margin: 0;
}

table.jobs_table td {
	padding: 0;
}

tr.job:first-child>td>a {
	border-top: 2px solid rgba(0, 0, 0, 0.125);
}

.job a {
	display: block;
	padding: 16px 8px;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid rgba(0, 0, 0, 0.125);
}

.job a:hover {
	background: #e9ecef;
	transition: background-color 0.4s ease-in-out 0s;
}

.job a small {
	font-weight: 400;
}



/* JOBletter
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.jobletter-container	{ margin: 50px 0 50px 0; }
.jobletter-form 		{ width: 100%; max-width: 500px; }

.jobletter-intro		{ margin-bottom: 10px; }
.jobletter-positions 	{ margin-bottom: 10px; }
.jobletter-contact		{ margin-bottom: 15px; }

.jobletter-check:nth-child(even),
.jobletter-input:nth-child(odd) {margin-right: 4%;}

.jobletter-check,
.jobletter-input { display: block; width: 100%; }

input[type="text"],
input[type="submit"],
select {
	width: 100%;
	background: #fff;
	border: 2px solid rgb(206, 212, 218) ;
	padding: 3px 6px;
	box-sizing: border-box;
	line-height: 1.5;
	font-size: 14px;
}

input:focus {
	border-color: #b0b1b1;
	border-radius: 0;
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgb(112 113 114 / 25%);
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.error { width: 100%; clear: both; color: #e52320; }


/* buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button.application,
input.jobletter-submit-button,
input.subscription-send-button {
	display: inline-block;
	background: #fff; /* Old browsers */
	transition: background-color 0.25s ease;
	border: 2px solid #333d68;
	border-radius: 5px;
	font-size: 16px;
	color: #333d68;
	text-decoration: none;
	line-height: 42px;
	padding: 0 40px;
	font-weight: bold;
}

.button.application.button-xing {
	background: url(../images/xing-white.svg) no-repeat 20px 50% #007575;
	background-size: 30px 30px;
	padding-left: 55px;
}

.button.application:hover,
input.jobletter-submit-button:hover,
input.subscription-send-button:hover {
	cursor: pointer;
	background: #333d68;
	color: #fff;
}



/* JOBletter in two-column-layout
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (min-width: 700px) {

	.jobletter-check:nth-child(even),
	.jobletter-input:nth-child(odd) { margin-right: 4%; }

	.jobletter-check,
	.jobletter-input { display: block; float: left; width: 48%; }

}

/* details in two-column-layout
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 700px) {

	.content { float: none; width: 100%; margin-right: 0; }
	.sidebar { float: none; width: 100%; max-width: 285px;}

}