/* GRATZ Engineering GmbH   ONLINE*/ 
@charset "utf-8";

@font-face {
  font-family: 'PT Sans Narrow';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/pt-sans-narrow-v11-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('PT Sans Narrow'), local('PTSans-Narrow'),
       url('../fonts/pt-sans-narrow-v11-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-sans-narrow-v11-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-sans-narrow-v11-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-sans-narrow-v11-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-sans-narrow-v11-latin-regular.svg#PTSansNarrow') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'PT Sans Narrow';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/pt-sans-narrow-v11-latin-700.eot'); /* IE9 Compat Modes */
  src: local('PT Sans Narrow Bold'), local('PTSans-NarrowBold'),
       url('../fonts/pt-sans-narrow-v11-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-sans-narrow-v11-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-sans-narrow-v11-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-sans-narrow-v11-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-sans-narrow-v11-latin-700.svg#PTSansNarrow') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/roboto-condensed-v18-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Roboto Condensed Light'), local('RobotoCondensed-Light'),
       url('../fonts/roboto-condensed-v18-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/roboto-condensed-v18-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/roboto-condensed-v18-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/roboto-condensed-v18-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/roboto-condensed-v18-latin-300.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-condensed-v18-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Roboto Condensed Bold'), local('RobotoCondensed-Bold'),
       url('../fonts/roboto-condensed-v18-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/roboto-condensed-v18-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/roboto-condensed-v18-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/roboto-condensed-v18-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/roboto-condensed-v18-latin-700.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}

html {
    height: 100%;
	 -webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	overflow-x: hidden; 
	-webkit-overflow-scrolling: touch;
	}

body {
	 overflow-x:hidden;
	 overflow-y:auto;
	 font: 300 1rem/1.375rem 'Roboto Condensed', sans-serif;
	 color: #505056; 
	 background-color: #fff;  /*BugFix ios14 */
	}
	
/* Disable Bing Visual Search -- */
.no-visual-search {
	pointer-events: none;
}


/* Extra Bootstrap Column Padding -- */
[class*="col-"]  {
	padding: 1rem;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
	}


.page-section {
	padding: 4rem 0;
	background-color: #fff;  /*BugFix ios14 */
	}


/* Scrolling Offset */
.offset:before {
	height: 4rem;
	margin-top:-4rem;
	content: "";
	display: block;
	}

/* Bootstrap Mobile Gutter Fix  */
.row, .container-fluid {
margin-left: 0px!important;
margin-right: 0px!important;
}

.cc-message-text {
	font: 300 1rem/1.5em 'Roboto Condensed', sans-serif;
}
a.cc-link { font: 300 1rem/1.5em 'Roboto Condensed', sans-serif; }

/* ========== GOOGLE MAPS =============================== */
#locationlocator {display:none;}
.result-count {display:none;}

.gm-style {z-index:1;}
.gratzmap {
		width:40%;
		height:650px;
		float:left;
		position:relative;
		margin-left:20%;
		margin-bottom:4%;
		-webkit-box-shadow: 0 20px 42px 0 rgba(0,0,0,.07);
		-moz-box-shadow: 0 20px 42px 0 rgba(0,0,0,.07);
		box-shadow: 0 20px 42px 0 rgba(0,0,0,.07);
		z-index:2;
		}
		
.addressarea {
	position:absolute;
	width:25%;
	height:450px;
	top:15%;
	right:0;
	overflow:auto;
	margin-right:300px;
	z-index:0;
	background-color: #f7f7f7;
}

div.addressarea > div {
	margin-bottom:20px;
	padding:20px;
	padding-left:25%;
}

div.addressarea > div:hover {
	background-color:#e0e0e0; 
	cursor:pointer;
	transition: background .5s ease-in-out;
}

.route {
	line-height:3rem;
}

.route span {
	margin-left:5px;
	text-transform:uppercase;
	font-size:0.8rem;
	font-weight:bold;
	letter-spacing:0.1em;
}

#gratzstandorte::-webkit-scrollbar {
    width: 6px;
	margin-right:2px;
	touch-action: pinch-zoom;
}
 
#gratzstandorte::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
    border-radius: 0;
	background-color: #f1f1f1;
}
 
#gratzstandorte::-webkit-scrollbar-thumb {
    border-radius: 4px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
	background-color: #00519e;
	width:6px;
	cursor:pointer;

}
#gratzstandorte::-webkit-scrollbar-thumb:hover {
    border-radius: 4px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
	  background: #555; 
}


@media screen and (max-width:450px) {
	.gratzmap {width:100%;}	
	.addressarea {
		width: 1008%;
		height: 500px;
		float: none;
		overflow: auto;
		padding: 0px 0px 20px 0;
		margin-right: 0px;
	}
}

/* ==========  GRATZ-JOBS OVERWRITE ============= */

.form-control {
	font:normal 300 1rem/1.375rem 'Roboto Condensed', sans-serif;
	background-color: #efefef;
    border-radius: 0;
    border: 1px solid #dee2e6;
    color: #505056;
}

.form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(0,81,158,.25);
}

.gratzjobsfilter {
	 width: 100%;
	 padding: 30px;
	 margin-bottom:20px;
	 background-color: #eee;
}

.gratzfiltertitle { 
	font-weight:900; 
	width: 100%;
}

.js-stools-container-bar {
	display: flex;
	width: 100%;
}

/* neu */
.js-stools-container-bar div {
  -ms-flex: 1;
  flex-grow: 1;
}

/*
.chzn-container {
  width: 100%;
} */

.table-responsive {
	height: auto;
	overflow: visible;
}

.gratzjobtitle {
	font-weight:900;
	color:#00519e;
}

.job-detail {
	display:flex;
	flex-direction: column;
	flex-wrap: nowrap;
	position:relative;  /* 2023 für Social Share */
}

.job-detail ul.job-data {
    padding: 0;
    margin: 0;
    line-height: 1.75;
    list-style: none;
    margin-bottom: 20px;
}

.job-detail ul.job-data li:before{
    content:attr(data-label);
  	font-weight:bold;
   -webkit-font-smoothing: antialiased;
}

.job-block ul {
    padding: 0;
    margin: 0;
    list-style-type: disc;
    font: 1.125rem/1rem Roboto Condensed, sans-serif;
    color: #505056;
    padding-left: 20px;
    margin-bottom: 20px;
}

.job-block ul li {line-height:1.5rem;}
.job-line { border-bottom:1px dotted #b7bf10;}

.job-heading {
	font-size:1.35rem;
	line-height:3rem;
	color: #00519e;
}

select, .inputbox, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input {
    display: block;
  /*2023   height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    color: #555555;
    background-color: #f5f5f5;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px; */
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    /* box-shadow: inset 0 1px 1px rgba(0,0,0,0.075); */
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -moz-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.js-stools-field-filter { }
#adminForm {width:100%;}

/* Button Animation Arrow left Bounce */
.job-button {
    padding: 0;
    outline: 0;
    color: inherit;
    background: #fff;
  	margin-bottom:5px;
}
.job-button i {margin-right: 3px;vertical-align: middle;}
.back-btn{font-size:0.75rem;padding: 0; outline: 0; color: inherit; background: #fff;text-transform:uppercase;}
.back-btn:hover i{animation:bounceLeft 2s infinite;}
.back-btn i{position:relative;font-size:1.5rem;}
.back-btn i:before {display: block; width: 80%; overflow: hidden;}

.fas-long-arrow-left:before {
    content: "\f177";
}

.job-details a {text-decoration:none;}

@keyframes bounceLeft {
  	0%,100%,20%,50%,80%{ -ms-transform:translateX(0);transform:translateX(0)}
    40% { -ms-transform:translateX(-20%);transform:translateX(-20%) }
    60% {-ms-transform:translateX(-10%);transform:translateX(-10%)}
}
 
.gratzJobsTableQuer { display: block;}
.gratzJobsTableHoch { display:none;  }

@media (max-width: 768px) {
	.gratzJobsTableQuer {
		display: none;
	  }
	.gratzJobsTableHoch {
		display: block;
	  }
}

@media (max-width: 450px) {	
	.js-stools-container-bar {
	  display: block;
	  width: 100%;
	}
}


/*============= LANDING PAGE (Startseite) ============= */

#headerBild .container-fluid {
	padding-right:0;
	padding-left:0;	
    }

.headerimg-wrapper-outer {
	position: relative;
	padding-top:0; 
	}

.headerBildBG {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width:100%;
	height:auto;
  	padding: 0;  
	}

.img-fluid {
    max-width: 100%;
    height: auto;
	}


/* ========================================
	SLIDER STARTSEITE 
   ======================================== */
#carouselFade { }

.carousel-item {
	 height:100vh; /*--- Change Height of Image Slider --*/
	 min-height: 18.75rem; /*--- (300px for mobile) --*/
	 background: no-repeat center center scroll;
	 -webkit-background-size: cover;
	 -moz-background-size: cover;
	 -o-background-size: cover;
	 background-size: cover;
	 background-color: #1A1A1A; /*--- For Firefox white between slides --*/
}

.carousel-item-next, .carousel-item-prev, .carousel-item.active {
	 display: block;
	 transition: -webkit-transform 1.2s ease;
	 transition: transform 1.2s ease;
	 transition: transform 1.2s ease,-webkit-transform 1.2s ease;
}

/* 40 Jahre */
.logo40pos {
	padding-top:10%;
	padding-left:10%;
	}
.logo40 {
	width:100%;
	height:auto;
	}
.p40 {
	padding: 0 10%;
}

.carousel-caption, .carousel-caption-40 {
	 min-width: 50%;
	 max-width: 50%;
	 position: absolute;
	 margin:0 auto;
	 top: 20%;
	 z-index: 1;
	 right: 0;
	 left:45%;	
	 padding-right: 10px;
}

.carousel-caption h1, .carousel-caption-40 h1  {
	margin:0 auto;
	margin-bottom:10px;
}

.carousel-item h1.aktiv {background-color: rgba(0,0,0,0.5);}

.carousel-item h1 {
	  display:block;
	  width:400px;
	  color: #fff;
	  font-size: 4.25rem;
	  text-transform: uppercase;
	  font-weight: 700;
	  letter-spacing: .3rem;
	  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
	  padding: 1rem 0;
	  font-family: PT Sans Narrow, sans-serif;
	  background-color: rgba(0,0,0,0.07); 
}
	
.carousel-caption p, .carousel-caption-40 p {
	  font-size: 2rem;
	  line-height:2.2rem;
	  font-weight: 400;	
	  padding-top:80px;
	  padding-bottom: 2rem;
	  font-family: Roboto Condensed, sans-serif;
}

a.btn-slide {
	 background: #f8f9fa;
	 color: #212529;
	 margin-bottom: 10px;
	 margin-top: 20px;
	 display: inline-block;
	 border-radius:0;
	 padding: 0.4rem 2rem;
}
	
 a.btn-slide:hover, a.btn-slide:active, a.btn-slide:focus {
	 background: #00519e;
	 color: #f8f9fa;
	 text-decoration: none;
}


/*  SLIDER EFFEKT FADE */
.carousel-fade .carousel-inner .item {
  opacity: 0;
  transition-property: opacity;
}

.carousel-fade .carousel-inner .active {
  -webkit-transition: opacity 3s ease-in-out;
   -moz-transition: opacity 3s ease-in-out;
  -ms-transition: opacity 3s ease-in-out;
  -o-transition: opacity 3s ease-in-out;
  opacity: 1;
}

.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1;
}

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
   -webkit-transition: opacity 3s ease-in-out;
    -moz-transition: opacity 3s ease-in-out;
    -ms-transition: opacity 3s ease-in-out;
    -o-transition: opacity 3s ease-in-out;
  opacity: 1;
}

.carousel-fade .carousel-control {
  z-index: 2;
} 

.carousel-right:before { content: "\f054"; }
.carousel-left:before  { content: "\f053"; }

.carousel-control-prev {
    left: 0;
    width: 40px;
    height: 50px;
    top: 50%;
    background-color: #545252;
}

.carousel-control-next {
    right: 0;
    width: 40px;
    height: 50px;
    top: 50%;
    background-color: #545252;
}

/* Device under 1280px */
@media(max-width:1280px) {
	.logo40pos {
		padding-top:15%;
		padding-left:10%;
	}
}

/* Devices under 992px () */
@media (max-width:991px) {
	
	.logo40pos {
		padding-top:3%;
		padding-left:0;
	}
	.logo40 {
		width:50%;
		height:auto;
	}
	.carousel-caption-40 {
		min-width:100%;
		max-width:100%;
		position: relative;
		margin:0 auto;
		top: 1%;
		z-index: 1;
		right: 0;
		left:0;	
		padding-right: 10px;
	}
   .carousel-caption-40 p  {
		 padding-top:40px;
		 font-size: 1.65rem;
		 line-height:2rem;
		 font-weight: 400;	
	}

}


/* Devices under 899px (sm) */
@media screen and (max-height: 900px) {

	.carousel-item h1 {
	  width:300px;
	  font-size: 3rem;
	  padding: .4rem 0;
	  }
		
	.carousel-caption p {
		  padding-top:40px;
		  font-size: 1.65rem;
		  line-height:2rem;
		  font-weight: 400;	
		}
	.carousel-indicators {
		bottom: -30px;
		}

}

/* Devices under 768px (sm) */
@media screen and (max-width: 768px) {
	
	.logo40pos {
		padding-top:5%;
		padding-left:0;
	}	
	.logo40 {
		width:80%;
		height:auto;
	}

	.carousel-caption {
		  min-width: 80%;
		  max-width:80%;
		  left:20%;	
		  }

	.carousel-item h1 {
	  width:300px;
	  font-size: 3.5rem;
	  padding-bottom: 1rem;
	}
		
	.carousel-caption p {
		  font-size: 1.85rem;
		  line-height:2.125rem;
		  font-weight: 400;	
		}
}

/* Devices under 576px (sm) */
@media screen and (max-width: 525px) {

	.logo40pos {
		padding-top:10%;
		padding-left:0;
	}		
	.logo40 {
		width:80%;
		height:auto;
	}		
	.carousel-caption-40 {
		min-width: 100%;
		max-width:100%;
		left:0;	
		top:0;
	}
	.p40 {
		padding: 0 6%;
	}
	
	.carousel-item p {
		 font-size: 1.35rem;
		 line-height:1.8rem;
		 padding-top:20px;
		 padding-bottom: 2rem;
		 font-family: Roboto Condensed, sans-serif;
		}
	
	.carousel-item h1 {
		  width:250px;
		  font-size: 2rem;
		  padding-bottom: 0.8rem;
		  padding-top:0.8rem;	  
		}
	
	.carousel-caption {
		  min-width: 100%;
		  max-width: 100%;
		  top: 20%;
		  left:0;	
		  padding-right: 0;
		}

	.btn-lg {
		padding: .4rem .9rem;
		font-size: .9rem;
	  }
 
	.carousel-indicators {		}

}

@media screen and (max-width: 340px) {
	.carousel-indicators {display:none;}
	.carousel-item div p {font-size:1rem;line-height:1.25rem;}
}

/* Querformat Mobile */
@media screen and (max-height:480px) and (orientation: landscape) { 
  
  .carousel-item h1 {
	font-size: 1.4rem;
	letter-spacing: .2rem;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
	padding: .6rem 0;
	font-family: PT Sans Narrow, sans-serif;
	background-color: rgba(0,0,0,0.1); 
	}
		
	.carousel-caption p {  
	  font-size: 1rem;
	  line-height:1.2rem;
	  padding-top:10px;
	  padding-bottom: 1rem;
	  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
	}
	
	.carousel-indicators {display:none;}
	
	a.btn-slide {
	 padding: 0.2rem 2rem;
	 font-size: .85rem;
	}

	h2.teaser {
		font-size: 2.125rem;  
	}

}

/* Querformat Mobile */
@media screen and (max-height:359px) and (orientation: landscape) { 
  
  .carousel-item h1 {
	font-size: 1.25rem;
	padding: .4rem 0;
	}
		
	.carousel-caption p {  

	  line-height:1.1rem;
	  padding-top:8px;
	  padding-bottom: 0;
	}
		
	a.btn-slide {
	 padding: 0.18rem 1.5rem;
	 font-size: .75rem;
	 margin-top:2px;
	}
}

/*============= START SECTION =============*/

.container {
	max-width:1200px;	/*standard 1140 mit jeweils 15 px rand */
	}

.px-footer {padding:0 20px;}

.narrow-hp {
	width:50%;
	margin: 0 auto; 
	max-width:1200px;
	padding-top: 2rem;
}

.narrow-hp-2 {
	width:88%;
	margin: 0 auto; 
	max-width:1200px;
	padding: 0;    
} 

.narrow {
	width:88%;
	margin: 0 auto; 
	max-width:1200px;
	padding: 0 8%;    
}

h1, h2, h3, h4, h5 {
	font-family: PT Sans Narrow;
	font-weight: 400;
	color:  #00519e;
}

h1.intro {
	color: #00519e;  /* #c1c2c3  */
	margin-bottom:20px;
}

h2 {
	font-size: 2.125rem;
}

h3 {
	font-size:1.75rem;
}

strong {font-weight:700;}

p {
	font:  1.125rem/2.0rem Roboto Condensed, sans-serif;
	color: #505056;	
}

.intro-text {
	font:  1.25rem/2.0rem Roboto Condensed, sans-serif;
	color: #505056;	
	hyphens: auto;
	}


/*  ==  BUTTONS ==  */
.btn {
    border-radius: 0;
	}

.btn:hover{
	color:#212529;
	text-decoration:none
	}

.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(167,168,170,.25)}

.btn-lg { /*TEASER KARRIERE */
	border-width:medium;
	padding: .7rem 1.2rem; 
	font: 1.2rem/1.5em Roboto Condensed, sans-serif;
	text-transform: uppercase;
	display:inline-block!important; /* angeben, weil bootstrap zentriert buttons nicht immer mittig on moble */
	}

.btn-sm {
	font: 1.2rem/1.5em Roboto Condensed, sans-serif;
	border-radius: 0;
	padding: .5rem 1.1rem;
	margin:1rem;
	display:inline-block!important;
	}
	
.btn-xs {
	font: 1rem/1.2em 'Roboto Condensed', sans-serif;
	border-radius: 0;
	padding: .4rem 1.1rem;
	display:inline-block!important;
	}

.btn-primary {
    color: #fff;
    background-color: #00519e;
    border-color: #00519e;
}

.btn-primary:hover{
	color:#fff;
	background-color:#b7bf10;
	border-color:#b7bf10;
	}

/* Teaser Button */
.btn-teaser {	
	color: #fff;
    border-color: #b7bf10;
	background-color: #b7bf10;
	}
	
.btn-teaser:hover,
.btn-teaser:focus {
	color: #b7bf10;
    border-color: #b7bf10;
	background-color: #fff;
	} 
	
.btn-teaser:not(:disabled):not(.disabled).active, 
.btn-teaser:not(:disabled):not(.disabled):active, .show>.btn-outline-primary.dropdown-toggle {
    color: #b7bf10;
    background-color: #fff;
    border-color: #b7bf10;
	}


.btn-outline-primary {	
	color: #6c757d;
    border-color: #6c757d;
	}
	
.btn-outline-primary:hover,
.btn-outline-primary:focus {
	color: #fff;
    border-color: #b7bf10;
	background-color: #b7bf10;
	} 
	
.btn-outline-primary:not(:disabled):not(.disabled).active, 
.btn-outline-primary:not(:disabled):not(.disabled):active, .show>.btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #adb50f;
    border-color: #b7bf10;
	}

.btn-outline-secondary {
    color: #00519e;
    border-color: #00519e;
	background-color: #fff;
	}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
	color:#fff;
	background-color:#00519e;
	border-color:#00519e;
	} 

.btn-outline-secondary:not(:disabled):not(.disabled).active, 
.btn-outline-secondary:not(:disabled):not(.disabled):active, .show>.btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #1c64b5;
    border-color: #00519e;
	}
	
.btn-outline-primary.focus, .btn-outline-primary:focus,
.btn-outline-secondary.focus, .btn-outline-secondary:focus {
    -webkit-box-shadow: none!important;
    box-shadow: none!important;
}
	
.btn-blau{
	border-color: #a7a8aa;
	background-color:  transparent;
	color: #000;
	}
	
.btn-blau:hover, .btn-blau:focus {
	border-color: #00519e;
	background-color: #00519e;
	color: #fff;
	}

.btn-link {
    font-weight: 400;
    color: #00519e;
    text-decoration: none;
    font-size: 1.25rem;
	text-decoration:none;
	}
	
.btn-link.focus, .btn-link:focus, .btn-link:active {
    text-decoration: none;
    box-shadow: none;
}
.btn-link:hover {
    color: #b7bf10;
    text-decoration: none;
}


.jumbotron {
	margin-bottom: 0;
	border-radius: 0;
	padding: 1rem 0 3rem;
	background-color: #dddede;
}

h3.heading {
	font-size: 1.9rem;
	font-weight: 400;
	text-align: center;
	margin-bottom: 1rem;
	}

h3.feature-headline {
	font-size: 1.75rem;
	color: #00519e;
	padding-top:4px;
	}

hr.divider {
  max-width: 4rem;
  margin: 0 auto; 
  border-color: #00519e;
  opacity: .9;
  }

hr.divider-white {
  max-width: 4rem;
  border-color: #fff;
  }

a {
    color: #00519e;
    text-decoration: none;
    background-color: transparent;
}

.blue 	{ color: #00519e; }
.green 	{ color: #b7bf10; }
.grey 	{ color: #a7a8aa; }
.black	{ color: #000;    }
.white  { color: #fff;    }

.item-page ul {
    margin: 0;
    padding: 0;
    padding-top: 10px;
    list-style: none;
}

.item-page ul  li { 
	font: 1.125rem/2.0rem Roboto Condensed, sans-serif;
  /*  color: #505056;
	padding-left: 1em;
    text-indent: -1em;*/
	padding-bottom: 8px;
    padding-left: 2rem;
    font-style: normal;
    line-height: 32px;
}

.item-page ul li::before {
	display: inline-block;
    content: "\2022"; 
    color: #00519e;
    font-weight: bold;   
	width: 2.5rem;
	margin-left: -2.5rem;
	font-size: 1.85rem;
	vertical-align:middle;
	text-align: center;
}

.pagination { }

.pagination ul {
	display:flex;
	justify-content: flex-start;
	padding:0;
	margin:0;
	font-size:0.85rem;
}
.pagination ul li{ 	
	list-style:none; 
	margin-right:2px;
	padding:5px;
	}
		
/* Lightbox */
.lb-dataContainer {
  background-color: #fff!important;
  margin-top:-2px!important;
}
.lb-data {
    padding: 0 8px!important;
}
.slideshow-luminance a img:hover {
  cursor: zoom-in!important;
  cursor: -webkit-zoom-in!important;
  cursor: -moz-zoom-in!important;
}

/* ====================================
   Unsere Leistungen Start - FEATURE /Portfolio
   ==================================*/

.feature {
	background-color: #fff;
	border:1px solid #f7f7f7;
	box-shadow:0 10px 30px 0 rgba(0,0,0,0.03);
	}
.feature-item {
	/*text-align:center;*/
	overflow:hidden;
}

.feature-aussen-hover {
	transform: scale(1.1);
	cursor: pointer;
	}

.feature-item img:hover {
	transform: scale(1.1);
	cursor: pointer;
}

.feature-item img {
	transition: transform .4s ease;
}

.feature .fa-layers {
	color: #1ebba3;
	height: 6rem;
	margin: 0 auto;
	width: 3.9rem;
}

.feature h3 {
	font-size:1.3rem;
	text-transform: uppercase;
	padding-top: .4rem;
}

.feature p {
	font-size:1.1rem;
	line-height:1.4rem;
}

a.pfeil-rechts {
	display: inline-block; 
	 text-rendering: auto;
	line-height: 1;
	color: #00519e;
	text-decoration:none;
	transition: all 0.5s;
}

 a.pfeil-rechts:hover {
  color: #b7bf10;
  transition: all 0.5s;
}

a.pfeil-rechts:hover::after {
	 display: inline-block; 
	 font-family: "Font Awesome 5 Free";
	 font-weight: 900;
     padding-left:2px;  
     content: "\f30b";  
	 transition: right .24s cubic-bezier(.445,.05,.55,.95),opacity .24s cubic-bezier(.455,.03,.515,.955);
	 -moz-osx-font-smoothing: grayscale;
	 -webkit-font-smoothing: antialiased;
	}

 a.btn-green {
	 background: #00519e;
	 color: #fff;
	 padding: .3rem .8rem;
	 font-size: 1rem;
	 margin-bottom: 0;
	 margin-top: 10px;
	 display: inline-block;
	}
 a.btn-green:hover, a.btn-green:active, a.btn-green:focus {
	 background: #b7bf10;
	 color: #fff;
	 text-decoration: none;
	}


/* === LINK Arrow Textlink === */

a.textlink.link-arrow {
    display: inline-block;
    font-weight: 700;
    margin-top: 20px;
	margin-bottom: 2px; /* 2023 */
    color: #000;
    position: relative;
    padding-right: 20px;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -o-transition: .3s;
    -ms-transition: .3s;
}
a.textlink.link-arrow:hover {
    padding-right: 35px;
    color: #b7bf10;
	text-decoration:none;
}
a.textlink.link-arrow:after {
    content: '\f30b';
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 0;
    top: -1px;
}

a.textlink.link-arrow.white { color: #000;}
a.textlink.link-arrow:hover.white {color: #00519e;}

/* =======================
   BUTTON LINK Arrow 
   =======================  */
   
 .buttonArrow {
	  border-radius: 0;
	  background-color: #00519e;
	  border: none;
	  color: #FFFFFF;
	  text-align: center;
	  font-size: 28px;
	  padding:8px 20px;
	  width: 200px;
	  transition: all 0.5s;
	  cursor: pointer;
	  margin: 5px;
	}

.buttonArrow span {
	  cursor: pointer;
	  display: inline-block;
	  position: relative;
	  transition: 0.5s;
	}

.buttonArrow span:after {
	  content: '\f30b';
	  font-family: "Font Awesome 5 Free";    
	  font-size:1rem;
	  font-weight: 900;
	  position: absolute;
	  opacity: 0;
	  top: 0;
	  right: -20px;
	  transition: 0.5s;
	}

.buttonArrow:hover span {  padding-right: 25px; }

.buttonArrow:hover span:after {
	  opacity: 1;
	  right: 0;
	}


/* =================================
	 ICONS SETUP  - GENERAL
	 ==================================  */
.icon::after, icon::before {
	  display: inline-block; 
	  font-style: normal;
	  font-variant: normal;
	  text-rendering: auto;
	   -moz-osx-font-smoothing: grayscale;
	  -webkit-font-smoothing: antialiased;
}

/* Icon List Definition */
.icon-pfeil-rechts::after {
		content: "\f30b";  
		line-height: 1;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-left: 0.5rem;
}


/* BREADCRUMB */
.breadcrumb {
    padding: 0;
    margin-bottom: 0;
    background-color: transparent;
    border-radius: 0;
	}
ol.mod-breadcrumbs { padding-left: 0!important;}
ol.breadcrumb li {
  	font: 300 0.85rem/1rem 'PT Sans Narrow', sans-serif;
	}

.breadcrumb-item.active {
    color: #747474;
	}

a.pathway:link {
  font: 300 0.85rem/1rem 'PT Sans Narrow', sans-serif;
  color: #00519e;
  }			

span.icon-location {display:none;}

.breadcrumb-item+.breadcrumb-item:before {
    content: ">";
}


/* =========== FIXED BACKGROUND IMG TEASER Karriere  =============== */

/*--- iOS Fixed Background Image auskommentiert ios14 Fehler weg--
.fixed-background {
  position: relative;
  width: 100%;
}

.fixed-wrap {
  clip: rect(0, auto, auto, 0);  
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -999!important;
}

#fixed {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  width:100%;
  height: 100%;
  background-size:  cover;
  background-position: center center;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: transform;
	background-image: url('../images/teaser.jpg');
	z-index:-1;
}*/
/* neu */
#fixed {
	background-image: url('../images/teaser.jpg');
}

.teaser {
	padding:  6rem 2rem 15rem/*10rem 2rem 15rem*/;
	z-index: 1000!important;
}

h2.teaser {
	font-size: 3.5rem;
	color: #fff;
	}
 
.dark {
	background-color: rgba(0,0,0, 0.25);
	padding: 2rem 1rem;
	text-align:center;
	z-index: 1000!important;
}

.dark h3, .dark p {
	color: #e9ecef;
}


.row.padding {
	padding: 2rem 0 1rem;  /* 2 top 0 left right 1 bottom */
}

.row.no-padding [class*=col-] {
	padding:0;
}

/*  =====================================
	BLOCKQUOTE  - INFOBOX  - BU EINKLINKER 
========================================   */
blockquote {
    padding: 40px  0 20px 120px;
    margin: 50px 20% 50px;
    font-size: 20px;
    line-height: 34px;
    position: relative;
	background-color: #f7f7f7;
}

blockquote::before {
	content: '\f10e';
	 font-family: "Font Awesome 5 Free"; 
	 font-weight: 900;
	 font-size: 3rem;
	 line-height: 1em;
     position: absolute;
     top:20px;  
	 left:40px;
}

blockquote::before {      color: #b7bf10;   }

.blockquote-footer {
    display: block;
    font-size:70%;
    color: #a7a8aa;
    text-transform: uppercase;
    letter-spacing: 1px;
	margin-top: 0!important;
}

.initiativ {
	background-color: #b7bf10; 
	color: #fff; 
	padding: 20px; 
	margin: 0 auto;
}

.embed-responsive::before {
    display: block;
    content: "";
}
.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
 
}


.infofeld {
	width:70%;
	border:2px solid #b7bf10;
	padding: 3%;	
  	margin: 0 auto;
	background-color: #fff;
}

.infofeld h3 {margin-top:10px;}

/*infobox prototypen */
.infobox {
  font-size: 1rem;
  padding: 1rem;  
}
.pr-m2  {padding-right: 2%;}
.bg-grey { background-color: #f6f6f6;}
.border-top-blue {border-top: 2px solid #00519e;}
.rahmen-blue {border:1px solid #00519e;padding:1rem;}


/* TYPO - Element  Go Gratz*/
.infoBoxGo {
	border-left: 2px solid #00519e;
	padding-left:20px; 
	margin-top:50px;
}

.display-5 {font-size:2.5rem;color:#00519e;}

.display-text {
		font-family:Roboto Condensed;
		font-size:1.2rem;
		color:#747474; /* a7a8aa */
		text-transform:uppercase;}
		
.display-6 {font-size:1.35rem;color:#00519e;}
/*font-family:'PT Sans Narrow', sans-serif;*/

/* == TYPO EINKLINKER INFO ET == */
.info-text-wrapper {
    z-index:2;
}

.info-text {
	padding: 60px 48px 80px; 
	margin-left: 40px; 
	z-index: 1;
	width:450px; 
	background-color: #fff;  
	box-shadow: 0 20px 42px 0 rgba(0,0,0,.07);
}

.info-text-bggreen {
   background-color:#b7bf10;
   margin-left: -80px;
   margin-right: 80px;
}

/* ====================================
	 GF Interview 
   ====================================   */

.jumbotron-gf {
  	margin-bottom: 0;
	border-radius: 0;
	padding: 3rem 0;
	background-color: #dddede;
	}

.card-gf {
	border-radius: 0;
	border:0;
	background-color: #fff;
	margin: 0 1rem;
	transition: background-color 0.5s ease;
	}

.card-gf h3 { 
	color: #424344;  
    padding-top: 10px; 
	}

/* ===== Interview DETAIL ============ */

.subhead {font-size:0.85rem;line-height:1.2rem;}

.img-fit {
   min-height: 200px; }

.gf-block1-outer {
	background-color:white;
	z-index:2;
	}
	
.gf-block1-inner {
	margin-top:25%;
	padding:80px 20px 80px 0;
	background-color:white;
	margin-right:-100px;
	}
	
.gf-block1-img {
	margin-left:-250px;
	min-height:200px;
}	

.gf-block2 {
	background-color:#b7bf10;
	z-index:2;
	/*margin-left:-100px;*/	
	}
	
.gf-block2 h3 {
		padding:50px 20px 20px 50px;
	}

.gf-block2-outer {
	 background-color:#f7f7f7;
	 margin-top:-100px;
	}

.gf-block2-inner {
	background-color:#f7f7f7;
	margin-left:150px;
	padding:130px 20px 75px 10px;
	margin-left:85px;
	}

.gf-block3-outer {
	 background-color:#fff;
	 z-index:2;
	}

.gf-block3-inner {
	 background-color:#fff;
	 padding:50px 30px; 
	 margin-left:-170px;
	 margin-top:20%;
	 }

/* Devices under 992px (lg) */
@media (max-width: 991px) {
	
	.gf-block3-inner {
		padding:50px 30px; 
		margin-left:-100px;
		margin-top:20%;
		}
	 
	.gf-block3-inner {
		padding:10px; 
		margin-left:-170px;
		margin-top:20%;
		}
}

/* Devices under 918px (lg) */
@media (max-width: 917px) {
	
	.gf-block3-inner {
		padding:50px 30px; 
		margin-left:-100px;
		margin-top:20%;
		}
	 
	.gf-block3-img {
		margin-left: -80px;
		margin-right: 80px;
	}
}

@media screen and (max-width: 767px) {
	.row {
		overflow-x: hidden;
		overflow-y: hidden;
		}
  
	.gf-block1-inner {
		margin-top:0;
		padding:0;
		margin-right:0;
		}
	
	.gf-block1-img {
		margin-left:-150px;
		min-height: auto;
		}	
		
		
	.gf-block2-inner {
		margin-left:25px;
		}
	
	.gf-block3-inner {
		padding:0; 
		margin-left:0;
		margin-top:0;
		} 
}


/* === NEWS == */

 h2.news {color:#00519e;margin-top:20px;}

#news-slider .date, .datum {	
	 font-size: 0.75rem;
    color: #fff;
    padding: 6px;
    background-color: #b7bf10;
	letter-spacing: 0.02rem;
	}

#news-slider .card {
	border-radius: 0;
	background-color: #fff;
	/*box-shadow: 0 0 .8rem rgba(0, 0, 0, .075); transition: transform .4s ease;transition: border-color 0.5s ease; */
	margin: 0 1rem;
	/*transition: background-color 0.5s ease; */
	transition:all  0.5s ease;
	}

#news-slider .card-img-top {
	border-radius: 0;
}

#news-slider .card:hover {
	box-shadow:0 10px 20px rgba(33,33,33,.2);
	border:1px solid #00519e; 
	cursor: pointer;
}

#news-slider .card h4 { margin-top:1rem; }

#news-slider .card p {
	/*border-top: .1rem solid rgba(0, 0, 0, .1);
	border-bottom: .1rem solid rgba(0, 0, 0, .1);
	padding: 1rem;*/
	margin: 1rem 0 1.5rem;
	font: 1rem/1.5rem Roboto Condensed, sans-serif;
}

#news-slider .owl-dot.active span,  /* die punkte vom slider farblich anpassen */
#news-slider .owl-dot:hover span {
	background: #00519e !important;
}


/*#news-slider .owl-carousel .owl-prev, .owl-next, .owl-dot {
    background-color: transparent;
	width: 20px;
	height:30px;
    color: #00519e;
    border: none;
    padding: 0 !important;
    font: 400 1.8rem/0rem 'RobotoCondensed-Light', sans-serif;
}*/

#news-slider button.owl-prev, #news-slider button.owl-next, #referenz-slider button.owl-prev, #referenz-slider button.owl-next {
    background-color: transparent;
	width: 50px;
	height: 40px;
    color: #00519e;
    border: 1px solid #00519e;  /* #d2d2d2 */
	padding: 30px;
    font: 400 1.5rem 'RobotoCondensed-Light', sans-serif;
}

#news-slider .owl-carousel .owl-nav button.owl-prev:hover, #news-slider .owl-carousel .owl-nav button.owl-next:hover, #news-slider .owl-carousel button.owl-dot {
    background-color: #a7a8aa;
	width: 20px;
	height:30px;
    color: #00519e;
    border:none;
    padding: 0 !important;
    font: 400 1.5rem 'RobotoCondensed-Light', sans-serif;
}

#news-slider button.owl-prev:hover, #news-slider button.owl-next:hover {
		background-color:#00519e;
		color: #fff;
}

#news-slider .owl-carousel .owl-nav button:focus {outline:0;}

.newsNavNext a, .newsNavPrev a{
	display:block;
	padding:6px;
	border:1px solid #00519e;
	margin-right:10px;
	text-decoration:none;
	font: .75rem Roboto Condensed, sans-serif;
	letter-spacing: 0.1rem;
}

.newsNavNext a:hover, .newsNavPrev a:hover{
	display:block;
	padding:6px;
	border:1px solid #00519e;
	background-color:#00519e;
	margin-right:10px;
	text-decoration:none;
	font: .75rem Roboto Condensed, sans-serif;
	color: #fff;
}

/* ============================================
   ACCORDION neu 2023
   ============================================ */
#accordion .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}
#accordion .card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
	background-color: rgba(0,0,0,.03);
    border-bottom: 1px solid rgba(0,0,0,.125);
}
#accordion .card-body {
    padding: 1.25rem;
}
/* ============================================
	SUCHE OVERRIDE
	=========================================== */
	
.phrases {display:none;}
.only {display:none;}

.search {min-height:300px;}
.badge-info {
    color: #fff;
    background-color: #b7bf10;
}
.search-mobile { /*icon */
	position:absolute;
	top:15px;
	right:30px;
	cursor:pointer;
	color: #666; /* a7a8aa */
	}
	
.search-desktop { /*icon */	
	float:right;
	padding-top:25px;
	padding-left:4px;
	cursor:pointer;
	color: #666;
	}
	
.gratzsuche {
    position: fixed;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
	padding:20px;
    font-size: 1.0rem;
    background-color: #fff;
    background: rgba(255,255,255,1);
    box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.1);
	z-index:200;
	}
	

.gratzsuche form {
	width: calc((100% - 10px) - 40px);
	display: block;
	position: relative;
	}	
	
.gratzsuche input {
	width:100%; 
	margin:0 auto; 
	margin-right:10px;
	border-radius:0;
    display: block;
	}
	
.gratzsuche .input-group { /* 2023 Suchindex  */
    position: relative; 
    /*display: flex;
    flex-wrap: wrap;
    align-items: stretch;*/
	display: inline-block; 
    width: 100%;
}

.gratzsuche .close-suche {
	display: block;
	float: right;
	margin-top: -48px;
	font-size: 25px;
	cursor: pointer;
	}

.gratzsuche-results-display-none { display: none; }
.gratzsuche-mobile {
    position: absolute;
	top:0;
	left:0;
    width: 100%;
    margin: 0 auto;
    padding: 10px 10px 0 10px;
    font-size: 1.0rem;
    background-color: #fff;
    background: rgba(255,255,255,1);
    box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.1);
    z-index: 20000;
}

.gratzsuche-mobile .input-group {
	position: relative;
    /*display: flex;
    flex-wrap: wrap;
    align-items: stretch;*/
	display:block;
    width: 100%;
	}
	
.gratzsuche-mobile input {
	width:85%; 
	margin:0 auto; 
	/*margin-right:15px; */
	border-radius:0;
    display: block;
	}
	
.gratzsuche-mobile .close-suche {
	display: block;
	float:right;
	margin-top: -44px;
	padding-right: 3px;
	font-size: 25px;
	cursor: pointer;
	}

/* 2023 neu Suchindex highlight */
.mark, mark {
	padding:0;
	margin:0;
	background-color: #b7bf104a;
}

.result__item+.result__item {
	border-top:1px solid #dee2e6;
	margin-top: 1.6em;
    padding-top: 1.6em;
}
.result__title-link:focus .result__title-text, .result__title-link:hover .result__title-text {
    text-decoration: underline;
}
.result__title-link:hover .result__title-text {
		color: #00519e;
}
.result__title-text {
    font-size: 1.1rem;
	line-height:1.35rem;
	font-weight:700;
}
.result__description {
	font: 300 1rem  'Roboto Condensed', sans-serif;
}

.awesomplete {
    display: block; 
    position: relative;
}
.awesomplete mark {
    background: hsl(65, 100%, 50%);
}

.pagination {
   padding: 0.375rem 0.75rem;
   font-size: 1rem;
   color: #00519e;
   background-color: #fff;
   border-width: 1px;
   border-color: #dee2e6;
   border-radius: 0.375rem;
   
    display: flex;
    padding-left: 0;
    list-style: none;
}
.page-link {
    position: relative;
    display: block;
    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
    font-size: var(--bs-pagination-font-size);
    color: #00519e;
    text-decoration: none;
    background-color: #fff;

}
.active>.page-link, .page-link.active {
    z-index: 3;
    color: #fff;
    background-color: #00519e;
    border-color: #00519e;
}
/* =============================================
   SUCCESS Stories
   ============================================== */
   
.storyBox {width:48%;}   
.storyBox p {padding:5px 2px 5px 10px;background-color:#00519e;color: #fff;line-height:1.5rem;transition:all 0.5s ease-in-out;}
.storyBox a {text-decoration:none;}
.storyBox a:hover p {text-decoration:none;background-color:#b7bf10;color:#fff;}

.tab-content>.active  {
     display: block;
     padding:50px 30px 150px; 
	 background-color: #f7f7f7;} 
   
 .tab-content  {
     min-height:500px;
	 }   

.item-page ul.nav-tabs li {
    font: 1.125rem/1.5rem 'Roboto Condensed', sans-serif;
    padding-bottom: 0;
    padding-left: 0;
    font-style: normal;
}

.nav-tabs .nav-link {
    margin-bottom: -1px;
}
	
.nav-tabs .nav-item .nav-link, .nav-tabs .nav-link:visited { color: #00519e; }
.item-page ul.nav-tabs li::before {
	display: inline-block;
    content: "";
    color: #fff;
    font-weight: bold;
    width: 0;
    margin-left: 0;
    font-size: 0;
    vertical-align: middle;
    text-align: center;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #b7bf10;
    background-color: #f7f7f7;
    border-color: #dee2e6 #dee2e6 #f7f7f7;
	font-weight:700;
	}
	
.storiesNavPrev a, .storiesNavNext a {
	display:block;
	padding:8px 10px;
	border:1px solid #c1c2c3;
	background-color: #fff;
	}

.storiesNavPrev a {margin-right:10px;}
.storiesNavNext a:hover, .storiesNavPrev a:hover {
	background-color: #00519e;
	transition: all 0.3s ease-in-out;
	}
.storiesNavNext a:hover i, .storiesNavPrev a:hover i {
	color: #fff;
}
 
/* ==============================================
   TIMELINE
================================================  */

 .timeline {
	 position: relative;
   	 padding-top: 6rem;
	}
	
 .timeline::before {
	 content: '';
	 background: #e1e2e3;  /*f3f6f9*/
	 width: 1px;
	 height: 95%;
	 position: absolute;
	 left: 50%;
	 transform: translateX(-50%);
	}
 .timeline-item {
	 width: 100%;
	 margin-bottom: 70px;
	 margin-left: 0;
	}
	
 .timeline-item:nth-child(even) .timeline-content {
	 float: right;
	}
 .timeline-item:nth-child(even) .timeline-content::after {
	 content: '';
	 position: absolute;
	 border-style: solid;
	 width: 0;
	 height: 0;
	 top: 25px;
	 left: -15px;
	 border-width: 10px 15px 10px 0;
	 border-color: transparent #c1c2c3 transparent transparent;
	}
 .timeline-item:nth-child(odd) .timeline-content h2, 
 .timeline-item:nth-child(odd) .timeline-content p {
	 text-align: right;
	}
.timeline-item:nth-child(odd) .timeline-img-header h2 {
	top:5px; 
	right: 20px;
	}
 .timeline-item::after {
	 content: '';
	 display: block;
	 clear: both;
	}
 .timeline-content {
	 position: relative;
	 width: 45%;
	 padding: 10px 30px;
	 border:1px solid #c1c2c3;
	 border-radius: 2px;
	 background: #f5f5f5;
	 box-shadow: 0 5px 10px -15px rgba(0, 0, 0, .3);  /*15 25  */
	}
 .timeline-content::after {
	 content: '';
	 position: absolute;
	 border-style: solid;
	 width: 0;
	 height: 0;
	 top: 25px;   
	 right: -15px;
	 border-width: 10px 0 10px 15px;
	 border-color: transparent transparent transparent #c1c2c3;   
	}
 .timeline-content p { 	font-size:1rem; 	}
 
 .timeline-dot {
	 width: 20px;
	 height: 20px;
	 background: #fff;
	 border: 3px solid #105ba2;
	 border-radius: 50%;
	 box-shadow: 0px 0px 2px 8px #fff;
	 position: absolute;
	 left: 50%;
	 margin-top: 25px;
	 margin-left: -10px;
	}	

 a.historie {
	 background: #00519e;
	 color: #fff;
	 padding: .2rem .8rem;
	 font-size: 1rem;
	 margin-bottom: 20px;
	 margin-top: 10px;
	 display: inline-block;
	}
 a.historie:hover, a.historie:active, a.historie:focus {
	 background: #b7bf10;
	 color: #fff;
	 text-decoration: none;
	}
	
 .timeline-card {
	 padding: 0 !important;
	}
 .timeline-card p {
	 padding: 0 20px;
	}
 .timeline-card a {
	 margin-left: 20px;
	}

 .timeline-img-header {
   	 background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, .8));
	 height: 200px;
	 position: relative;
	 margin-bottom: 20px;
	}
 .timeline-img-header h2 {
	 color: #fff;
	 position: absolute;
	 top: 5px;
	 left: 20px;
	}

 @media screen and (max-width: 768px) {
	 .timeline::before {
		 /* left: 50px;  Pos der senkrechten Linie */
		 left:15px;
	}
	 .timeline .timeline-dot {
		 left: 15px;
	}
	.timeline-item {
		width: 80%;
		margin-left: 50px;
	}
	 .timeline .timeline-content {
		 max-width: 100%;
		 width: auto;
		 margin-left: 70px;
	}
	 .timeline .timeline-item:nth-child(even) .timeline-content {
		 float: none;
	}
	 .timeline .timeline-item:nth-child(odd) .timeline-content::after {
		 content: '';
		 position: absolute;
		 border-style: solid;
		 width: 0;
		 height: 0;
		 top: 25px;
		 left: -15px;
		 border-width: 10px 15px 10px 0;
		 border-color: transparent #c1c2c3  transparent transparent; /*f5f5f5*/
	}
	
	 .timeline-item:nth-child(odd) .timeline-content h2, 
	.timeline-item:nth-child(odd) .timeline-content p {
	 text-align: left;
	}
}


/* ================================================
	LEISTUNGEN u KARRIERE BEREICH BILDER GRID LAYOUT
	================================================ */
	/* grid layout, 3 columns-2rows */
	
.flex-leistungen-wrapper {
	display:flex; 
	flex-wrap: wrap;
	justify-content: space-between;
	}
	
.flex-leistungen-wrapper .grid-4lines {
	position: relative;
	width: 48%;
	list-style: none;
	text-align: center;	
	}	

.flex-leistungen-wrapper .grid-4lines figure {
    position: relative;
    float: left;
    overflow: hidden;
    margin: 3% 0;
    text-align: center;
    cursor: pointer;
}
.flex-leistungen-wrapper figure.effect-4lines h2 {
	padding:  30% 0 6px 0;
	line-height: 2rem;
	text-align:center;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,-20px,0);
	transform: translate3d(0,-20px,0);
}

.flex-leistungen-wrapper figure.effect-4lines p {
	padding: 0 ;
	line-height: 1.2rem;
	text-align: center;
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(0,30px,0);
	transform: translate3d(0,30px,0);
}

/* === KARRIERE GRID === */
.grid-karriere-wrapper  {
  display: grid; /* display: inline-grid;*/
  grid-template-columns: 1fr 1fr 1fr; /* 3 x 1 fraction */    
  grid-gap: 20px;
}

.grid-karriere-wrapper  figure {  margin: 0 0 0rem; }

.grid-4lines {
	position: relative;
	width: 100%;
	list-style: none;
	text-align: center;
	}

.grid-4lines figure	{
	position: relative;
	overflow: hidden;
	text-align: left;
	cursor: pointer;
	}

.grid-4lines figure img {
	position: relative;
	display: block;
	opacity: 0.85;
	}

.grid-4lines  figure figcaption {
	padding: 2em;
	color: #fff;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.grid-4lines figure figcaption::before,
.grid-4lines figure figcaption::after {
	pointer-events: none;
}

.grid-4lines figure figcaption,
.grid-4lines figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid-4lines figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
}

.grid-4lines figure h2,
.grid-4lines figure p {
	margin: 0;
	color: #fff;
}

/*---- Effect 4lines  ---- */
figure.effect-4lines {  	background: #000;  }

figure.effect-4lines img {
	opacity: 0.85;
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
	}
figure.effect-4lines:hover img 			{  opacity: 0.5;  }  /* 0.6 28.8.24*/
.karriere-b figure.effect-4lines img 	{  opacity: 1;     }
.karriere-b figure.effect-4lines:hover img {  opacity: 0.85; }

figure.effect-4lines figcaption::before,
figure.effect-4lines figcaption::after {
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	content: '';
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.effect-4lines figcaption::before {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: scale(0,1);
	transform: scale(0,1);
}

figure.effect-4lines figcaption::after {
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	-webkit-transform: scale(1,0);
	transform: scale(1,0);
}

figure.effect-4lines h2 {
	padding: 10px; /*40px 10px 10px 40px*/
	line-height: 2rem;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,-20px,0);
	transform: translate3d(0,-20px,0);
}

figure.effect-4lines p {
	padding: 10px 0 0 10px;
	line-height: 1.2rem;
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(0,20px,0);
	transform: translate3d(0,20px,0);
}

figure.effect-4lines:hover figcaption::before,
figure.effect-4lines:hover figcaption::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

figure.effect-4lines:hover h2,
figure.effect-4lines:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.karriere-a {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 2;
	}
.karriere-b {
  grid-column: 3 / span 1;
  grid-row: 1 / span 1;
  background-color: #b7bf10;
	}
.karriere-c {
  grid-column: 1;
  grid-row: 2;
	}
.karriere-d {
  grid-column: 2;
  grid-row: 2;
	}
.karriere-e {
  grid-column: 3;
  grid-row: 2;
	}

@media (max-width: 991px) {
	.grid-4lines figure figcaption {
		padding: 1em;
		color: #fff;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}
		
	figure.effect-4lines figcaption::before, figure.effect-4lines figcaption::after {
		top: 15px;
		right: 15px;
		bottom: 15px;
		left: 15px;
	}
		
	figure.effect-4lines h2 {
		padding: 5px 5px 0 5px;
		font-size:1.55rem;
		line-height:1.1;
		-webkit-transform: translate3d(0,-15px,0);
		transform: translate3d(0,-15px,0);
		}

	figure.effect-4lines p {
		padding: 5px;
		font-size:0.85rem;
		line-height: 1rem;
		}
}

@media (max-width: 768px) {
	.grid-karriere-wrapper {
		grid-gap: 10px;
		}
	
	.flex-leistungen-wrapper  .grid-4lines {
		position: relative;
		width: 100%;
		list-style: none;
		text-align: center;	
		}	
}

@media (max-width: 575px) {
	.grid-karriere-wrapper {
	  display: grid; /* display: inline-grid;*/
	  grid-template-columns: 1fr ; /* 3 x 1 fraction */    
	  grid-gap: 20px;
	}

	.grid-4lines figure figcaption {
		padding: 2em;
	}
		
	figure.effect-4lines figcaption::before, figure.effect-4lines figcaption::after {
		top: 30px;
		right: 30px;
		bottom: 30x;
		left: 30x;
	}
		
	figure.effect-4lines h2 {
		padding: 10px;
		font-size:2.125rem;
		line-height:2rem;
		-webkit-transform: translate3d(0,-30px,0);
		transform: translate3d(0,-30px,0);
	}

	figure.effect-4lines p {
		padding: 10px 0 0 10px;
		font-size:0.85rem;
		line-height: 1rem;
		}
	.karriere-a {  grid-column: 1;  grid-row: 1;  }
	.karriere-b {  grid-column: 1;  grid-row: 2;  }
	.karriere-c {  grid-column: 1;  grid-row: 3;  }
	.karriere-d {  grid-column: 1;  grid-row: 4;  }
	.karriere-e {  grid-column: 1;  grid-row: 5;  }
}


/* ===== MESSE INFO ==== */
.jumbotron-messe {
  	margin-bottom: 0;
	border-radius: 0;
	padding: 1rem 0;
	background-color: #f7f7f7;
}

.jumbotron-messe p {
	font-size:1rem;
	line-height:1.5rem;
}

.jumbotron-messe p.termin {color:#b7bf10;font-weight:bold;font-size: 1.2rem;}
.jumbotron-messe h4 { color: #000; }
.jumbotron-messe .messe-intro {
	font-size:0.75rem;
	color: #000;
	text-transform:uppercase;
	letter-spacing:0.1rem;
}

/* =============================================
	REFERENZEN IMAGES  / SONDERMASCHINEN
================================================ */

.ref-section {
	width:1px !important;
	min-width:100% !important;
	height: 180px;
	}
	
.ref1-section {
	width:1px !important;
	min-width:100% !important;
	height: 150px;
	}

#referenz-slider .ref-slider {position:relative;}
#referenz-slider .owl-carousel {margin-bottom:0;}

#sondermaschinen-slider .ref-slider {position:relative;}
#sondermaschinen-slider .owl-carousel {margin-bottom:0;}


#referenz-slider .owl-stage-outer, #sondermaschinen-slider .owl-stage-outer {
    position: relative;
    overflow: hidden;
    -webkit-transform: translate3d(0px, 0px, 0px);
    background-color: #f7f7f7;
	padding:20px;
}

 .owl-theme .owl-dots .owl-dot:hover span {
    background: #00519e;
	}
	
/*
#referenz-slider item {
  padding:5%;
  margin-left:5%;
  verical-align:bottom;
}
#referenz-slider owl-dots {display:none;}
#referenz-slider owl-item {margin-right:20px;}
*/

#referenz-slider.item, #sondermaschinen-slider.item{
  margin: 3px;
}
#referenz-slider .item img, #sondermaschinen-slider .item img{
  display: block;
  width: 100%;
  height: auto;
}


/* ===============================================
    COM_GRATZJOBS 
====================================================  */
.table td, .table th {
    padding: .75rem;
    vertical-align: top;
    border-bottom: 1px solid #dee2e6; 
  border-top:none;
}

/*============= FOOTER Kontakt  SECTION =============*/

footer {
	background-color: rgba(0, 81, 158, 1);
	color:  #fff;
  	font-size:0.9rem;
	}
	
.narrow-footer {
	width:88%;
	margin: 0 auto; 
	max-width:1200px;
	}

footer img {
	width: 80%!important;
	height: auto;
	padding-left: 0!important;	
	padding-bottom: 1rem;
	}

footer a.footer {
	color: #fff;
  	font-size:0.9rem;
	}

footer a.footer:hover { 
	color: #b7bf10;
	text-decoration:none;	
	}

a.icon-circle {
	display:inline-block;
    width: 40px;
    height: 40px;
    border: 2px solid #fff;
    line-height: 38px;
    border-radius: 50%;
    background-color: #00519e;
    vertical-align: middle;
	text-align:center;
	transition: color .5s ease,background .5s ease;
	margin:1rem 1rem 0 0;
}

a.icon-circle:hover {background-color: #b7bf10;}
	
footer .fa-facebook-f, footer .fa-xing, footer .fa-youtube {color:#fff;} 

.newsfooter {
	margin-top: 0;
	}
	
.newsfooter .news {margin-bottom:10px;padding-right:50px;}

footer h3.news {
	font-size: 1.1rem;
	color: #fff;
	margin:0 0 .5rem 0;
}

footer h4 {
	font-size: .85rem;
	color: #c1c2c3;
	letter-spacing: 0.1rem;
	text-transform: uppercase;
	margin:1.5rem 0 1rem;
}

footer p.news {
		font-size: 0.85rem;
		}

.date {
	font-size: 0.75rem;
	color: #b7bf10;
	}

/*============= TOP SCROLL =============*/

.top-scroll i {	
	font-size: 2rem;
	color: #f1f1f1;
	background-color: #000;
	padding:0.5rem 1rem;
	}

a.top-scroll {
	right: 1.2rem;
	bottom:1.2rem;
	position: fixed;
	opacity: .3;
	z-index:1000;
	display:none;
}

a.top-scroll:hover {
	opacity: .3;
}

/* =========================
	OFFLINE
   ========================= */
   div.offline {
		position: relative;
		width: 100%;
		min-height: auto;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		-o-background-size: cover;
		background-position: center;
		text-align: center;
		color: white;
	}
   
   .offline-content {
		position: relative;
		text-align: center;
		padding: 200px 15px 100px;
		width: 100%;
	}
   .offline-content {text-align:center;}
   .offline-content-inner {}
   .offline-content-inner h1 {font-weight:700;color:#fff;text-transform:uppercase;}
   .offline-content-inner p {color:#323232;}

/*###################################
  #        MEDIA QUERIES         ####
  ################################### */
  
/* Devices under 1600px */
@media (max-width: 1599px) {
	
	/* Maps  */
.gratzmap {
		width:50%;
		height:600px;
		float:none;
		position:relative;
		margin-left:10%;		
		margin-bottom:4%;
	}
		
.addressarea {
		position:absolute;
		width:60%;
		height:450px;
		top:15%;
		right:0;
		overflow:auto;
		margin-right:120px;
	}
	
div.addressarea > div {
		margin-bottom: 20px;
		padding: 20px;
		padding-left: 60%;
	}  
  
}


@media (max-width:1280px) {
	
	/* Maps  */
.gratzmap {
		width:50%;
		height:600px;
		float:none;
		position:relative;
		margin-left:2%;		
		margin-bottom:4%;
	}
		
.addressarea {
		position:absolute;
		width:80%;
		height:450px;
		top:15%;
		right:0;
		overflow:auto;
		margin-right:10px;
	}
	
div.addressarea > div {
		margin-bottom: 20px;
		padding: 20px;
		padding-left: 50%;
	}  
  
}


/* Devices under 992px (lg) */
@media (max-width: 991px) {
	  .caption h1 {
		font-size: 3.5rem;
		letter-spacing: .2rem;
		padding-bottom: .8rem;
	  }
	  .caption h3 {
		font-size: 2.2rem;
		padding-bottom: 1.7rem;
	  }
	  .btn-lg {
		padding: .7rem 1.2rem;
		font-size: 1rem;
	  }
	  .narrow h1 { 
		font-size: 2.1rem;
	  }

	.headerimg-wrapper-outer {
	  position: relative;
	  padding-top:3.2rem; /*padding-top:4.9rem;-> bei vorhergen Nav ////6rem bei logo 4 - 3*/
	  }

	/* Info Text ET */
	.info-text { width:400px; }
	.info-text-bggreen { margin-left: -30px; margin-right: 0; }

}

/* Devices under 768px (md) */
@media (max-width: 768px) {
	
  .narrow {
	width:100%;
	padding: 0 3%;    
	}

  .caption h1 {
    font-size: 2.7rem;
    letter-spacing: .15rem;
    padding-bottom: .5rem;
  }
  .caption h3 {
    font-size: 1.7rem;
    padding-bottom: 1.2rem;
  }
  .btn-lg {
    padding: .6rem 1.1rem;
    font-size: 1rem;
  }
  .narrow h1 {
    font-size: 1.8rem;
  }
  #fixed {
    background-image: url('../images/teaser-mobile.jpg');
  }

blockquote {
    margin: 50px 0 50px;
    font-size: 20px;
    position: relative;
}

.card-gf h3 { 
	color: #424344;  
    padding-top: 10px; 
	font-size: 1.35rem;
	}
  
/* Maps  */
.gratzmap {
		width:98%;
		height:500px;
		float:none;
		position:relative;
		margin-left:1%;		
		margin-bottom:4%;
		box-shadow: 0 20px 42px 0 rgba(0,0,0,.07);
		z-index:2;
	}
		
.addressarea {
		position:relative;
		width:100%;
		height:450px;
		top:15%;
		right:0;
		overflow:auto;
		margin-right:0;

	}
	
div.addressarea > div {
		margin-bottom: 20px;
		padding: 20px;
		padding-left: 20%;
	}  
  
  footer {    }

  .top-scroll {
    /*display: none!important;*/
  }
  
  /* offline page */
  .offline-content {
    position: absolute;
    top: 60%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 0 50px;
	}
  
}



/* Devices under 576px (sm) */
@media screen and (max-width: 575px) {
	
.mega-area {
    position: absolute;
   width: 100%; 
    left: 0;
    right: 0;
    top: 96px;
    padding: 15px;
    margin: 0 auto;
    border-top: 1px solid #00519e;
	overflow:scroll;
}

.narrow-hp {
    width: 100%;
    margin: 0 auto;
    max-width: 1200px;
    padding-top: 2rem;
}
    
.narrow {
	width:100%;
	margin: 0 auto; 
	max-width:1200px;
	padding: 0 1%;    
	}

h1.intro  {
    font-size: 2rem;
} 

.lead {
    font: 1rem/2.0rem Roboto Condensed, sans-serif;
    color: #505056;
}

h2.teaser {
    font-size: 2rem;
    color: #fff;
}

.teaser {
   padding: 2rem 0rem 6rem;
}
  
h3 {font-size: 1.35rem;}
.infofeld p {
    font: 1rem/1.5rem Roboto Condensed, sans-serif;
    color: #505056;
}

/* == INFO TEXT == */
.info-text {
	padding: 60px 48px 80px; 
	margin-left: 0; 
	z-index: 1;
	width:100%; 
	background-color: #fff;  
	box-shadow: 0px 40px 20px 0 rgba(0,0,0,.07);
}

.info-text-bggreen {
   background-color:#b7bf10;
   margin-left:0;
   margin-right: 0;
   margin-top:-160px;
   height:200px;
}
 
blockquote {
    padding: 15px 40px 15px 90px;
	margin: 50px 0 50px;
    font-size: 20px;
    position: relative;
}

blockquote::before {
    content: '\f10e';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 2.5rem;
    line-height: 1em;
    position: absolute;
    top: 10px;
    left: 20px;
}

.storyBox {width:100%;}   

  a.textlink.link-arrow {
    margin-top: 8px;
	margin-bottom: 30px; /* 2023 */
	}
  
footer img {display:none;}

  .caption h3 {
    font-size: 1.2rem;
    padding-bottom: 1rem;
  }
  .btn-lg {
    padding: .4rem .9rem;
    font-size: .9rem;
  }
 
}


/* Querformat Mobile */
@media screen and (max-height:480px) and (orientation: landscape) { 
    
	h2.teaser {
		font-size: 2.125rem;  
	}

}


