/* Version:  März 2023 / Creator: 290*/

@font-face { 
	font-family: "Montserrat";
	src: url(../../ofl/montserrat/Montserrat[wght].woff2) format('woff2');
	font-weight: 100, 200, 300, 400, 500, 600, 700, 800, 900;
	font-style: normal;
}

@font-face { 
	font-family: "Montserrat";
	src: url(../../ofl/montserrat/Montserrat-Italic[wght].woff2) format('woff2');
	font-weight: 100, 200, 300, 400, 500, 600, 700, 800, 900;
	font-style: italic;
}
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
 html {
	 -webkit-text-size-adjust: 100%; /* 2 */
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
font-family: 'Montserrat', sans-serif;
	font-size: 100%;
	color: #000;
	text-decoration: none;
	font-weight: normal;
	word-spacing: normal;
	line-height: 1.3;
	background-color: #fff;
	/*	Hintergrundbilder werden in Chrome mit ausgedruckt	*/
	-webkit-print-color-adjust:exact;
}

.frame-outer {
	position: relative;
	width: 780px; /*	maximale Breite: 782px	*/
	margin: 1.3rem auto;
	background-color: #fff;
	box-shadow: -0.1rem 0.1rem 1rem rgba(0,0,0, 0.2);
	font-size: 0.9rem; /*	minimale Schriftgröße 0.6rem	*/

}

.frame-outer::after {
	content: "";
	display: block;
	clear: both;
}

@keyframes slideUpAndFadeIn {
            from {
                transform: translateY(30px);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }


.fadein {
	animation: slideUpAndFadeIn 1s backwards 0.5s;
}

.border {
	margin-top: 1rem;
	border-bottom: solid 1px rgba(255,255,255,0.25);
}

/*--für Titel--*/
h1 {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
	color: #D3112F !important;
}

h1 span {
	font-size: 1rem;
}

/*--für Untertitel (Vollzeit, Teilzeit/Standort)--*/
h2 {
	margin: 0 0 1rem 0;
	font-size: 1.3rem;
	font-weight: 600;
	color: #577381;
}

/*--für Überschiften--*/
h3 {
	margin: 0;
	font-size: 1rem;
	font-weight: 500;
}

/*--für kleine/unter Überschiften--*/
h4 {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 400;
}

#logo {
	padding: 1.6rem 4%;
	background-color: #FFFFFF;
transition: padding 300ms ease 0ms;
box-shadow: 5px 10px 25px #00000025;
	width: 22%;
	z-index: 5;
	position: absolute;
	top: 2rem;
	left: 4%;
}

#logo img {
	
}

#header {
	position: relative;
}

#topheader {
	position: relative;
	background-color: #FFFFFF;
	height: 6rem;
	z-index: 0;
	border-top: solid 2rem #577381;
}


.kasten {
	position: relative;
	padding: 1rem 4% 3rem 4%;
	background-color: #f4f4f4;
}

.balken {
	position: relative;
	padding: 1rem 4%;
	background-image: linear-gradient(180deg,rgba(211,17,47,0.9) 0%,rgba(211,17,47,0.9) 100%),url(balken-bild.jpg) !important;
	background-repeat: no;
	background-size: cover;
	background-position: center;
	min-height: 5rem;
	text-transform: uppercase;
	
	
}

.balkenflex {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
	
}

.balkenleft {
	width: 70%;
	text-align: left;
}

.balkenright {
	width: 30%;
	text-align: right;
}

.balken h2 {
	color: #fff;
	text-transform: uppercase;
	font-size: 1.3rem;
	font-weight: 700;
	margin: 0;
}


.content {
	position: relative;
	padding: 1rem 4%;
	margin-top: 3rem;
}

.content::after {
	content: "";
	display: block;
	clear: both;
}

/*--für Stellentitel--*/
#title { 
	position: absolute;
	right: 4%;
	bottom: -2rem;
	padding: 1rem 4%;
	background-color: #FFFFFF;
max-width: 85%;
box-shadow: 5px 10px 25px 0px rgba(0,0,0,0.25);
	
}

#footer {
	position: relative;
	padding: 1rem 4% 1rem 4%;
	background-color: #577381 !important;
	color: #fff !important;
}

#footer::after {
	content: "";
	display: block;
	clear: both;
}
/*--Flex--*/

.bgbild {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.flex {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	/*align-items: flex-start;*/
	flex-direction: row;
	flex-wrap: wrap;
}

.eins {
	width: 23%;
}

.zwei {
	width: 23%;
}

.drei {
	width: 23%;
}

.vier {
	width: 23%;
}


.rightbild-colorscale1 {

background-position: center;
background-size: auto 105%;
background-repeat: no-repeat;
position: relative;
transition: 0.3s all ease-in-out;
}

.rightbild-colorscale1 img {
transform: scale(0.5);
transition: 0.3s all ease-in-out;
}

.rightbild-colorscale1:hover img {

transform: scale(0.2);
	opacity: 0;
}

.rightbild-colorscale1:hover {
background-size: auto 120%;
}

.rightbild-colorscale1:hover::before {
opacity: 1;
transform: scale(1);
}

.rightbild-colorscale1::before{
position: absolute;
opacity: 0;
width: 100%;
height: 100%;
content: '';
left: 0;
top: 0;
transition: 0.3s all ease-in-out;
		background-image: url(leistungen_hochbau_title.jpg);
	background-position: center;
background-size: auto 105%;
background-repeat: no-repeat;
	transform: scale(0.5);
}



.rightbild-colorscale2 {

background-position: center;
background-size: auto 105%;
background-repeat: no-repeat;
position: relative;
transition: 0.3s all ease-in-out;
}

.rightbild-colorscale2 img {
transform: scale(0.5);
transition: 0.3s all ease-in-out;
}

.rightbild-colorscale2:hover img {

transform: scale(0.2);
	opacity: 0;
}

.rightbild-colorscale2:hover {
background-size: auto 120%;
}

.rightbild-colorscale2:hover::before {
opacity: 1;
transform: scale(1);
}

.rightbild-colorscale2::before{
position: absolute;
opacity: 0;
width: 100%;
height: 100%;
content: '';
left: 0;
top: 0;
transition: 0.3s all ease-in-out;
		background-image: url(leistungen_tiefbau_title.jpg);
	background-position: center;
background-size: auto 105%;
background-repeat: no-repeat;
	transform: scale(0.5);
}




.rightbild-colorscale3 {

background-position: center;
background-size: auto 105%;
background-repeat: no-repeat;
position: relative;
transition: 0.3s all ease-in-out;
}

.rightbild-colorscale3 img {
transform: scale(0.5);
transition: 0.3s all ease-in-out;
}

.rightbild-colorscale3:hover img {

transform: scale(0.2);
	opacity: 0;
}

.rightbild-colorscale3:hover {
background-size: auto 120%;
}

.rightbild-colorscale3:hover::before {
opacity: 1;
transform: scale(1);
}

.rightbild-colorscale3::before{
position: absolute;
opacity: 0;
width: 100%;
height: 100%;
content: '';
left: 0;
top: 0;
transition: 0.3s all ease-in-out;
		background-image: url(leistungen_tankstellen_title.jpg);
	background-position: center;
background-size: auto 105%;
background-repeat: no-repeat;
	transform: scale(0.5);
}






.rightbild-colorscale4 {

background-position: center;
background-size: auto 105%;
background-repeat: no-repeat;
position: relative;
transition: 0.3s all ease-in-out;
}

.rightbild-colorscale4 img {
transform: scale(0.5);
transition: 0.3s all ease-in-out;
}

.rightbild-colorscale4:hover img {

transform: scale(0.2);
	opacity: 0;
}

.rightbild-colorscale4:hover {
background-size: auto 120%;
}

.rightbild-colorscale4:hover::before {
opacity: 1;
transform: scale(1);
}

.rightbild-colorscale4::before{
position: absolute;
opacity: 0;
width: 100%;
height: 100%;
content: '';
left: 0;
top: 0;
transition: 0.3s all ease-in-out;
		background-image: url(leistungen_restauration_title.jpg);
	background-position: center;
background-size: auto 105%;
background-repeat: no-repeat;
	transform: scale(0.5);
}






/*--Float--*/
.box-left {
  float: left;
  width: 48%;
}

.box-right {
	float: right;
	width: 48%;
}

.clear {
	clear: both;
	font-size: 0;
	line-height: 0;
}

/*--Links - bitte für unterschiedliche Hintergründe farblich anpassen!--*/
a:link, a:visited, a:active  {
    text-decoration: none;
	color: #000;
}

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

#footer a:link, #footer a:visited, #footer a:active  {
    text-decoration: none;
color: #fff !important;
}

#footer a:hover {
	text-decoration: underline;
	color: #fff !important;
}

/*--Listen--*/
ul {
	margin: 0;
	list-style-type: none;
}

li {
	position: relative; 
	margin: auto;
	padding: 0 0 0 1rem;
}

li:last-child {
	padding-bottom: 0;
}

 li::before {
	 position: absolute;
	 top: 0;
	 left: 0;
	 content: "■";
	 font-size: 0.8rem;	
	 color: #d3112f;
} 

/*--Eingrückte Listenpunkte--*/
li ul{ 
	margin: 0 0 0 0;
	padding: 0 0 0 1rem;
}

/*--Button--*/
.button_box {
	text-align: center;
}

.button_box::after {
	clear: both;
	content: "";
	display: block;
}

.button a {
	display: inline-block;
	padding: 0.6rem 2rem 0.6rem 2rem;
	margin: 0 auto;
	cursor: pointer;
	-webkit-border-radius: 0rem;
	border-radius: 0rem;
	border: 0.1rem solid #003766;
	transition: all 300ms ease 0ms;
	-moz-transition: all 300ms ease 0ms;
	-webkit-transition: all 300ms ease 0ms;
	color: #FFFFFF !important;
border-color: #D3112F;
font-size: 1rem;
font-weight: 700 !important;
text-transform: uppercase !important;
background-color: #D3112F !important;
}
.button a:hover {
	text-decoration: none;
	color: #D3112F !important;
background-image: initial !important;
background-color: RGBA(255,255,255,0) !important;
}



.balken .button a {
	display: inline-block;
	background-color: transparent;
	padding: 0.6rem 1rem 0.6rem 1rem;
	margin: 0 auto;
	cursor: pointer;
	transition: all 300ms ease 0ms;
	-moz-transition: all 300ms ease 0ms;
	-webkit-transition: all 300ms ease 0ms;
	-webkit-border-radius: 0rem;
	border-radius: 0rem;
	border: solid 2px #FFFFFF;
font-size: 1rem;
font-weight: 700 !important;
color: #fff;
	
}

.balken .button a:hover {
	text-decoration: none;
	color: #577381 !important;
background-image: initial;
background-color: #FFFFFF !important;
}

/*--Slider editierbar--*/

.slider-wrap {
    max-width: 800px;
    width: auto;
    height: auto;
    position: relative;    
    margin: 0;
    overflow: hidden;
}

.slider-wrap img {
	display: block;
}
  
.slideshow {
    position: absolute;
    width: 100%;
    top: 0px;
    left: 0px;
    z-index: 0;
}

.slideshow li span {
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    opacity: 0;
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-animation: image 24s linear infinite;
    animation: image 24s linear infinite;
}
  
@keyframes image {
    0% {
      opacity: 0;
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    5% {
      opacity: 1;
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
    }
    25% {
      opacity: 1;
    }
    30% {
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
}

@-webkit-keyframes image {
    0% {
        opacity: 0;
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    5% {
        opacity: 1;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    25% {
        opacity: 1;
    }
    30% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}
  
.slideshow li {
    margin:0;
    padding:0;
    list-style: none;
}
.slideshow li:nth-child(1) span {}
.slideshow li:nth-child(2) span {
    -webkit-animation-delay: 6s;
    animation-delay: 6s;
}
.slideshow li:nth-child(3) span {
    -webkit-animation-delay: 12s;
    animation-delay: 12s;
}
.slideshow li:nth-child(4) span {
    -webkit-animation-delay: 18s;
    animation-delay: 18s;
}

ul.slideshow {
    margin: 0;
    padding-left: 0;
}

.slideshow li::before {
	display: none;
}

/*--Angaben Bilder, Video, etc.--*/

iframe {
	display: block;
    width: 100%;
}

.video-wrapper iframe,
.video-wrapper object,
.video-wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
	width: auto;
	border: 0;
}

.imgcenter{ 
	display: inline-block;
}

strong { 
	font-weight: 700;
}

p {
	margin:0;
}

p:empty {
	height: 1rem;
}

.hide_m {}

.hide {
  display: none;
}

.refnr {}

.apply {}
