@charset "utf-8";
/* CSS Document */

/*zenrale Verwaltung*/
:root {
	--primary: #d72c37; /*rot*/
	--secondary: #d72c37; /*gelb*/
	
	--white: #fff;
	--black: #333333;
	
	--primarylight: #EB989E;
	--secondarylight: #EB989E;
	
	--graylight: #ECECEC;
	--graymedium: #999;
	--graydark: #555555;
	
	--font-headline: "Poppins", serif;
	--font-subline: "Poppins", serif;
	--font-flowing: "Poppins", serif;
	
	--padding-section: clamp(3.75rem, 7.82vw, 6.25rem) 1rem
}

*{
	margin: 0px;
	padding: 0px;
	 -webkit-font-smoothing: antialiased;
	box-sizing: border-box;
	font-family: "Poppins", serif;
}
html {
	scroll-behavior: smooth;
}
body{
	font-weight: 300;
	hyphens: auto;
	hyphenate-limit-chars: auto 6;
	hyphenate-limit-lines: 3;
	-webkit-hyphens: auto;
	-webkit-hyphenate-limit-chars: auto 8;
	-webkit-hyphenate-limit-lines: 3;
	-ms-hyphens: auto;
	-ms-hyphenate-limit-chars: auto 8;
	-ms-hyphenate-limit-lines: 3;
	overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6, .head1, .head2, .head3, .head4, .head5, .head6, .head1 span,  h1 span, .head2 span,  h2 span, .head3 span,  h3 span, .head4 span,  h4 span, .head5 span,  h5 span, .head6 span,  h6 span{
	line-height: 110%;
	font-weight: 700;
	letter-spacing: 2px;
	color: #000;
}
h1, .head1, .head1 span, h1 span {
	font-size: 2.8rem;
	text-transform: uppercase;
	font-weight: 900;
}
h2, .head2, .head2 span, h2 span {
	font-size: 2.2rem;
	margin-bottom: 12px;
	text-transform: uppercase;
}
h3, .head3, .head3 span, h3 span {
	font-size: 1.9rem;
	margin-bottom: 10px;
}
h4, .head4, .head4 span, h4 span {
	font-size: 1.6rem;
	margin-bottom: 5px;
}
h5, .head5, .head5 span, h5 span {
	font-size: 1.4rem;
	margin-bottom: 0px;
}
h6, .head6, .head6 span, h6 span {
	font-size: 1.2rem;
}
p, table, tr, td, div, ul, li, ol, input, textarea, div, select, option, span{
	font-size: 1.2rem;
	line-height: 170%;
}
a:link, a:visited{
	text-decoration: none;
	color:  #d72c37 ;
}
a:active, a:hover{
	color: #000;
}
strong, b{
	font-weight: 700;
}
em, i{
	font-style: italic;
}

.center_element{
	width: 50% !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}
.stoerer{
  	position: absolute;
  	top: 25%;
  	width: 30%;
  	margin-left: 5%;
	z-index: 20;
}
.stoerer.small_pic {
	position: absolute;
	bottom: 0%;
	margin-bottom: 3%;
	width: 20%;
	margin-left: 6%;
	z-index: 20;
}
.pink{
  	color: #d72c37 !important;	
}
.pink_bg{
	background: rgb(178,18,85);
	background: linear-gradient(90deg, rgba(178,18,85,1) 0%, rgba(140,9,64,1) 100%)	
}
.start_teaser{
 	margin: -80px auto 0px auto;
	position: relative;
  	padding-bottom: 100px;
}
.teaser_quali{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 50%;
	padding: 45px;
}
.teaser_quali .col30{
	/*overflow: hidden;*/
	position: relative;
}
.teaser_quali .col70{
	border-left: 1px solid #a4a4a4;
	background-color: #fff;
    position: relative;
}
.teaser_quali .col30 i{
  	color: #a4a4a4;
  	font-size: 170px;
  	opacity: 0.2;
  	/*margin-left: 85px;*/
  	position: relative;
}
.margin-top{
  	margin-top: 80px;
}
.text_red{
  	color: #d72c37 !important;
}
.text_white{
  	color: #ffffff !important;
}
.opacity {
    opacity: 0.12;
  }
.opacity-0 {
    opacity: 0;
	transition: opacity 0.3s;
  }

/*Allgemeiner Aufbau*/
.wrapper, .wrapper_small{
	width: 84%;
	margin-left: auto;
	margin-right: auto;
}
.wrapper_small{
	max-width: 1400px;
	margin-left: 8%;
}
#header_wrap {
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
}
.svg_trenner{
	margin-bottom: -1px;
	position: relative;
}
.content{
	padding-bottom: 100px;
	padding-top: 100px;
}
.content_medium{
	padding-bottom: 60px;
	padding-top: 60px;
}
.content_small{
	padding-bottom: 30px;
	padding-top: 30px;
}
.content_big{
	padding-bottom: 120px;
	padding-top: 120px;
}
.center_content {
	margin: 0 auto;
    justify-content: center;
	justify-self: center;
    align-items: center;
  }
.icon_pink_bg i{
  	color: #fff;
	font-size: 2.5rem;
}
.icon_pink_bg p{
	color: #fff !important;
  	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 2rem;
}
.icon_pink_bg{
  	background-color: #d72c37;
  	padding: 20px;
  	width: fit-content;
  	height: auto;
  	display: flex;
  	justify-content: center;
  	align-items: center;
	margin: -65px 20px 10px 20px;
}
.white_box{
 	background: #fff;
  	border-top: 4px solid #d72c37;	
	box-shadow: 0px 4px 5px 0px #b9b9b9;
	margin-bottom: 60px;
}
.bg_black{
 	background-color: #1a1a1a;
}
.teaser_image:hover .overlay_image{
	left:0%;
	transition: all 0.5s ease;
}
.teaser_image{
	cursor: pointer;
	position: relative;
	overflow: hidden;
}
.overlay_image {
	position: absolute;
	background: rgba(0, 0, 0, 0.5);
	height: 100%;
	left: 100%;
	top: 0;
	width: 100%;
	transition: all 0.5s ease;
	z-index: 50;
}
.overlay_image h3 {
  color: #fff;
  background: #d72c37;
  width: fit-content;
  padding: 20px 10px;
  margin: 25px;
}
.no_margin{
 	margin: 0 !important;
}
.no_padding{
 	padding-bottom: 0 !important;
	padding-top: 0 !important;
}
.icon_font{
 	font-size: 2rem;
}
.no_flex{
 	display: flow !important;
}
.no_padding_top{
 	padding-top: 0px !important;
}
.padding_top{
 	padding-top: 100px !important;
}
.padding-bottom{
 	padding-bottom: 1rem !important;
}
.padding_small{
 	padding-top: 1rem !important;
}
.margin-top{
 	margin-top: 3rem !important;
}

/*Text*/
.headline{
	font-size: 2.5rem;
    color: var(--primary);
    font-family: var(--font-headline);
    font-weight: 700;
	font-style: normal;
    line-height: 100%;
}
.subline{
	color: var(--graymedium);
    font-family: var(--font-subline);
    font-size: 1.5rem;
    font-weight: 300;
	font-style: normal;
    line-height: 100%;
}
.flowing{
	font-family: var(--font-flowing);
	font-size: 1.1rem;
	font-weight: 300;
    line-height: 1.5em;
    color: var(--black);
}
.big_number {
	font-size: 2.5rem !important;
    }
.small_subline {
	font-size: 1.3rem !important;
    }
.align-stretch {
	align-self: stretch;
    }

.swiper {
	width: 100%;
	height: 100%;
    }

.swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
    }

.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
    }

/*Button*/
.button {
    text-align: center;
    font-size: 1rem;
	margin-top: 2rem;
    line-height: clamp(2.875rem, 8vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    min-width: 10.875rem;
    color: var(--primary);
    padding: 0 1.5rem;
    box-sizing: border-box;
    background-color: transparent;
    border: 2px solid var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
}
.button:before {
    content: "";
    width: 0.375rem;
    height: 100%;
    background: var(--primary);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    transition: width 0.3s;
    z-index: -1;
}
.button:hover {
    color: #fff;
}
.button:hover:before {
    width: 100%;
}

.video-leistung {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    background: #000;
    object-fit: cover;
}
.video-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
}

.video-leistung:focus {
    outline: none;
}
                                
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
.padding_section{
	padding: var(--padding-section);
	position: relative;
	}
	
.container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
	gap: 2rem;
  }
.container_small {
    max-width: 50rem !important;
}
.content {
    width: 100%;
    max-width: 48.75rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.no_padding_top{
 	padding-top: 0px !important;
}
.item-maschine h3.subline {
 	font-size: 1.1rem !important;
}
.background {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	}
.background:before {
	content: "";
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.7;
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
	}
.background img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	}
.call-background {
    width: 100%;
    height: 100%;
    background-blend-mode: multiply;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
.call-background:before {
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #1a1a1a;
    opacity: 0.8;
    top: 0;
    left: 0;
    z-index: 1;
  }
.call-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 0% 30%;
  }
.small-background {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
    }
.small-background:before {
	/* Overlay */
	content: "";
	width: 100%;
	height: 100%;
	background: #1a1a1a;
	opacity: 0.84;
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
    }
.small-background img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
    }
	
/* Image-Group */
.image-group {
    width: 100%;
    height: 126vw;
    max-height: 39.125rem;
    display: block;
    order: -1;
    position: relative;
    z-index: 1;
  }
.image-group-leistung {
    width: 39.375em;
    min-height: 39.25em;
    display: block;
    position: relative;
    z-index: 1;
  }
.image-group-maschine {
	width: 100%;
	max-width: 41.875rem;
	height: 100vw;
	max-height: 39.375rem;
	position: relative;
	display: block;
	z-index: 1;
    }
	
.box-karriere {
	text-align: left;
	width: 70%;
	max-width: 19rem;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	background-color: #1a1a1a;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	gap: 0.5rem;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 10;
    }

/* Image */
.picture-leistung1 {
    position: absolute;
  }
.picture img, .picture-leistung1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
.picture1 {
    width: 25.8125em;
    height: 79.617834%;
    top: 0;
    left: 0;
    z-index: -1;
  }
.picture2 {
    width: 25.8125em;
    height: 44.585987%;
    bottom: 0;
    right: 0;
    z-index: 10;
  }
.picture-maschine {
	width: 93%;
	height: 93%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
    }
.picture-maschine img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: contain;
    }
	
	
.getauscht-1 {
	order: 1;
	}
.getauscht-2 {
	order: 2;
	}
.number {
	font-size: 1.2rem ;
	font-weight: 700;
	line-height: 1.2em;
	margin-bottom: clamp(0.25rem, 0.78vw, 0.5rem);
	color: var(--primary);
    }
.margin_counter{
	margin-bottom: 1rem !important;
    }
.ul-maschine {
	width: 100%;
	padding: 0;
	margin: clamp(2rem, 5vw, 3rem) 0 0 0;
	padding: clamp(2rem, 5vw, 3rem) 0 0 0;
	border-top: 1px solid #e8e8e8;
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 0.75rem;
    }
.border-no-top{
	border-top: 0px solid #e8e8e8;
    }

	
/* Timeline */
.timeline-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.5rem;
    position: relative;
  }
.timeline-group:before {
    content: "";
    width: 2px;
    background: #E8E8E8;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    bottom: -2rem;
    left: 0.5625rem;
  }
.timeline-item {
    width: 100%;
    max-width: 25rem;
    list-style: none;
    padding: 0 0 0 2.75rem;
    grid-column: span 12;
    position: relative;
  }
.timeline-item:hover .timeline-date {
    color: var(--secondary);
  }
.timeline-item:hover:before {
    background-color: var(--secondary);
    border-color: var(--secondary);
  }
.timeline-item:before {
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    background: #FFF8F5;
    border: 2px solid #bababa;
    box-sizing: border-box;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    transition: background-color 0.3s, border-color 0.3s;
  }
.timeline-date {
    font-size: 1rem;
    line-height: 1.2em;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: var(--bodyTextColor);
    display: block;
    transition: color .3s;
  }
	
/* Card-Group */
.card-group {
	padding: 0 1.25rem;
	padding-top: clamp(2.5rem, 5.7vw, 4.25rem);
	padding-bottom: clamp(3rem, 6.5vw, 5rem);
	margin: 0;
	background: #fff;
	border-top: 8px solid var(--primaryLight);
	display: grid;
	flex-direction: column;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
	box-shadow: 0 1.25em 2.5em 0 rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
  }
	.card-group-banner {
	margin: 0 auto 0;
  }
.card-group-footer {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
  }
.card-group-pos {
    margin: 0;
    padding: 0;
    display: grid;
    justify-items: center;
    align-items: stretch;
    grid-auto-flow: row;
  }
	
/* Item */
.item {
	text-align: center;
	list-style: none;
	width: 100%;
	margin-top: 3rem !important;

    }
.item-pos {
    list-style: none;
    box-sizing: border-box;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
  }
.item-pos::after {
    content: "";
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #bababa 50%, rgba(255, 255, 255, 0) 100%);
    opacity: .6;
    position: absolute;
    bottom: 0;
    left: 0;
  }
.item-maschine {
	list-style: none;
	display: flex;
	flex-direction: column;
	align-self: stretch;
	align-content: space-between;
    }
.item-footer {
    text-align: center;
    list-style: none;
    width: 100%;
    box-sizing: border-box;
    padding: clamp(1.5rem, 7vw, 6.25rem) 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-column: span 12;
    grid-row: span 1;
    position: relative;
    z-index: 1;
  }
.item-footer:hover .headline {
    color: #ffffff;
  }
.item-footer:hover .flowing {
    color: #ffffff;
    opacity: 0.9;
  }
.item-footer:hover .background {
    opacity: 1;
  }

/* Kontakt */
.form {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
  }
.label {
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    width: 100%;
    color: var(--headerColor);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.25rem;
  }
.input {
    font-size: 1rem;
    width: 100%;
    height: 3.5rem;
    padding: 0;
    padding-left: 1.5rem;
    color: var(--headerColor);
    background-color: #f7f7f7;
    border: none;
    box-sizing: border-box;
  }
.input::placeholder {
    color: #7d799c;
    opacity: 0.6;
  }
.textarea {
    min-height: 7.5rem;
    padding-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-family: inherit;
  }
.map {
    width: 100%;
    max-width: 39.375rem;
    height: 25rem;
    position: relative;
    z-index: 1;
    display: block;
  }
.iframe-wrapper {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: clamp(2.5rem, 5vw, 3.5rem);
  }
.iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
.box-kontakt {
    width: 90%;
    max-width: 28.125rem;
    padding: clamp(1rem, 3vw, 2rem) clamp(1rem, 2.4vw, 1rem);
    background-color: #fff;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
  }
.box-kontakt:before {
    content: '';
    width: 100%;
    height: 100%;
    background: var(--primary);
    pointer-events: none;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
.container-kontakt {
    width: 100%;
    max-width: 36.25rem;
    padding: 5rem 3rem;
    margin: auto;
    position: relative;
    z-index: 1;
  }
	
/* Circle */
.circle {
    background: var(--primary);
    border-radius: 50%;
	width: 4.75rem;
    height: 4.75rem;
	display: flex;
	paddine: 20px;
  }
	

}

/* In-between - 500px */
@media only screen and (min-width: 31.25rem) {
.card-group{
	flex-direction: row;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0;
	row-gap: 3.4375rem;
	column-gap: 6.25rem;
    }
.item {
	/* sets even spacing */
	width: 7.8125rem;
    }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
.container {
    align-items: flex-start;
  }
.content {
    text-align: left;
    margin-left: 0;
    align-items: flex-start;
  }
.item-banner {
	width: 45%;
	max-width: 19.625rem;
    }
.item-footer {
    grid-column: span 3;
  }
.timeline-group {
    /* clips the lines */
    overflow: hidden;
    flex-direction: row;
    /* 16px - 20px */
    gap: clamp(1rem, 1.5vw, 1.25rem);
    row-gap: 3rem;
  }
.timeline-group:before {
    display: none;
  }
.timeline-item {
    padding: 3.75rem 0 0 0;
    grid-column: span 3;
  }
.timeline-item:after {
    /* moved the line to the list item so we can have multiple rows */
    content: "";
    width: 110%;
    height: 2px;
    background: #E8E8E8;
    /* prevents border from affecting height and width */
    box-sizing: border-box;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0.5625rem;
    left: 0;
    z-index: -1;
    transition: background-color 0.3s, border-color 0.3s;
  }
.image-group-leistung {
    font-size: min(1.2vw, 1em);
    flex: none;
  }	
.card-group {
	max-width: 100%;
	column-gap: 0;
	row-gap: 0;
	justify-content: space-around;
    }
.card-group-pos {
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
  }
.card-group-pos {
    /* 24px - 60px */
    padding: clamp(1.5rem, 3vw, 3.75rem);
    /* the specificity of the mobile .cs-item means we need to explicitly define the first and last items here, too */
  }
.card-group-pos::after {
    width: 1px;
    height: 100%;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #bababa 50%, rgba(255, 255, 255, 0) 100%);
    opacity: .6;
    right: 0;
    left: initial;
  }
.call-background {
    /* clips the black slant so it doesnt overflow */
    overflow: hidden;
  }
.call-background:before {
    width: 40%;
    opacity: 1;
  }
.call-background:after {
    /* black slant */
    content: "";
    width: 31.25rem;
    height: 93.75rem;
    margin-right: -3.125rem;
    background: -moz-linear-gradient(left, #1a1a1a 0%, #1a1a1a 57%, rgba(26, 26, 26, 0) 100%);
    background: -webkit-linear-gradient(left, #1a1a1a 0%, #1a1a1a 57%, rgba(26, 26, 26, 0) 100%);
    background: linear-gradient(to right, #1a1a1a 0%, #1a1a1a 57%, rgba(26, 26, 26, 0) 100%);
    opacity: 1;
    position: absolute;
    display: block;
    top: 50%;
    right: 50%;
    transform: rotate(10deg) translateY(-50%);
  }
.call-background img {
    width: 60%;
    object-position: right;
    left: auto;
    right: 0;
  }
.small-background:before {
	background: linear-gradient(
	to right,
	rgba(0, 0, 0, 0.94) 0%,
	rgba(0, 0, 0, 0.94) 2%,
	rgba(0, 0, 0, 0) 100%
	);
	opacity: 1;
    }
.item {
	width: auto;
    }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
.container {
    max-width: 80rem;
    align-items: stretch;
	/*gap: 2rem;*/
  }
.card-group-banner {
	max-width: 80rem;
	flex-wrap: nowrap;
	display: flex !important;
	margin-top: calc(clamp(4.75rem, 20vw, 20rem)* -1);
    }
.getauscht-1 {
	order: 2 !important;
	}
.getauscht-2 {
	order: 1 !important;
	}
.image-group-maschine {
	width: 30%;
	max-width: 41.875rem;
	min-height: 41.875rem;
	max-height: 100%;
	height: auto;
	margin: 0;
    }
.cs-box {
	bottom: 0rem;
    }
.grid-4 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
	.grid-4 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
.margin_counter{
	margin-bottom: 0 !important;
    }
.picture-maschine {
	width: 93%;
	height: 94%;
    }
.item-footer {
    padding-right: clamp(1.5rem, 5vw, 6.25rem);
    padding-left: clamp(1.5rem, 5vw, 6.25rem);
  }
.item {
   margin-top: 0 !important;
  }
.flex-row {
    flex-direction: row;
	display: flex;
  }
.flex-end{
    align-items: flex-end;
  }
.content {
    /*padding-right: 3.25rem;*/
    padding-bottom: 6.75rem;
  }

.container-kontakt {
    max-width: 80rem;
  }
.map {
    max-width: 39.375rem;
    height: auto;
    order: -1;
  }
}

/*Flex Layout*/
.flex_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex_wrap_left{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.position_center{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	height: 100%;
}
.position_center.position_top{
	align-items: flex-start !important;
	align-content: flex-start !important;
}
.col2{
	width: 50%;
}
.col3{
	width: 33.333%;
}
.col4{
	width: 23%;
}
.col5{
	width: 20%;
}
.col6{
	width: 16%;
}
.col30{
	width: 30%;
}
.col35{
	width: 35%;
}
.col40{
	width: 40%;
}
.col60{
	width: 60%;
}
.col65{
	width: 65%;
}
.col70{
	width: 70%;
}
.inner_wrap_small{
	padding: 10px;
}
.inner_wrap{
	padding: 25px;
}
.inner_wrap_md{
	padding: 45px;
}
.inner_wrap_big{
	padding: 85px;
}
.inner_wrap_large{
	padding: 125px;
}
.inner_wrap_teaser{
	padding: 25px 20px 25px 0px;
}
.relative{
	position: relative;
}
/*Allgemeine Klassen*/
.no-margin{
	margin:0px;
}
ul.none{
	list-style: none;
	margin-top: 5px;
}
ul.none li{
	margin-bottom: 15px;
}
ul{
	margin-bottom: 10px;
	margin-top: 10px;
}
ul li{
	/*margin-left: 20px;
	margin-bottom: 10px;*/
}
ul.check_list{
	margin-left: 0px;
	margin-top: 20px;
}
ul.check_list li{
	margin-bottom: 15px;
	list-style: none;
	margin-left: 5px;
}
ul.check_list li:before {
  	content: "✔";
  	padding-right: 10px;
	font-weight: 600;
}
.headline_wrap .subline span.border_sub{
	color: #333;
	border-bottom: 2px solid #d72c37;
  	font-size: 1.2rem;
  	padding-bottom: 5px;
  	font-weight: 600;
}
.subhead{
	color: #d72c37;	
	font-weight: 600;
	margin-bottom: 20px;
}
.img_full{
	width: 100%;
	height: 100%;
	vertical-align: top;
	object-fit: cover;
}
.img_logo{
	width: 100%;
	height: auto;
	vertical-align: top;
	object-fit: cover;
}
.img_full_width{
	width: 100%;
	vertical-align: top;
}
.img_full_kachel{
  	height: 100%;
  	min-height: 500px;
  	vertical-align: top;
  	background-size: cover !important;
}
.img_full.klein{
  	margin-top: -200px;
  	width: 500px;
  	margin-left: -100px;
	height: auto;
}
.img_shadow_bottom{
	box-shadow: 1px 0px 10px 1px rgba(0, 0, 0, 0.2);
}
.img_shadow_top{
	box-shadow: inset 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12);
}

/* Karriere */
.stelle {
  	background: #d72c37;
  	padding: 14px;
  	position: relative;
  	margin: -45px 0px 15px -60px;
 	display: flex;
  	justify-content: center;
  	align-content: center;
}
.stelle p{
  	color: #fff;
	margin: 0px;
}
.icon_grey {
  color: #a0a0a0;
  font-size: 65px;
  margin-bottom: 15px;
}

/* Button */

button{
  	border: none;
  	outline: none;
	margin: 30px 0px;
	background: none;
}
button a{
  	color: #fff !important;
	font-size: 20px;
	background: rgba(215,44,55,0);
	padding: 10px 30px;
	border: 2px solid #fff;
	letter-spacing:2px;
	margin-right: 30px;
	transition: all 0.3s;
}
button a:hover{
	transition: 0.4s;
	
	cursor: pointer;
	background: rgba(215,44,55,1.00);
}
button.ohne a{
	background: none;
	text-transform: uppercase;
	font-weight: 800;
	font-size: 18px;
	margin: 0px;
}
button.ohne a:hover{
	transition: 0.4s;
	background: rgba(215,44,55,1);
}
#kontakt_button{
	display:block;
}
#sidenav{
	display: none;
}
#sidenav a.sn-kontakt {
    bottom: 65%;
}
#sidenav a {
    position: fixed;
    right: -175px;
    /*display: block;*/
    background: #d72c37;
    border: none;
    padding: 20px;
    color: #fff;
    min-width: 240px;
    transition: 0.4s;
    z-index: 100;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 3px;
	display: flex;
    align-items: center;
}
#sidenav a:hover {
    right: -20px !important;
    transition: 0.4s;
	
}
#sidenav a i {
    font-size: 27px;
    margin-right: 30px;
}
.center{
	text-align: center;
}
.justify{
	text-align: justify;
}
.right_text{
	text-align: right;
}
.uppercase{
	text-transform: uppercase;
}
.white-text, .white-text p, .white-text li{
	color: #FFF !important;
}
.headline_wrap .subline.white-text span.border_sub{
	color: #FFF !important;
	border-bottom: 2px solid #fff;
}
.grey_bg {
  background-color: #333;
}
.red_bg {
  background-color: #d72c37;
}
.lt_gr_bg{
  background-color: #efefef;
}
/*Trenner Banner*/
.trenner-01{
	background: url("../img/trenner-01.webp") center bottom no-repeat fixed;
	background-size: cover;	
	height: 250px;
}
.hr_voll{
  width: 90%;
  margin: 0px auto;
  border: 1px solid #dbdbdb;
}

/* Karriere */
#stellenanzeigen{
	margin-top: 70px;
}
.form-group{
  	width: 100%;
  	display: flex;
  	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
}
.form-control, .karriere_input{
  	background: #fff;
  	border-top: 3px solid #d72c37;
  	box-shadow: 0px 2px 4px 0px #b9b9b9;
  	outline: none;
  	border-bottom: none;
  	border-right: none;
  	border-left: none;
  	width: 80%;
	padding: 5px;
}
.karriere_select{
  	width: 100% !important;	  	
}
.karriere_input{
  	width: 100% !important;	  	
}
select.form-control, .karriere_select{
  	background: #d72c37;
  	border: none;
  	color: #fff;
  	padding: 12px;
  	width: 80%;	  	
}
textarea.form-control{
  	min-height: 250px;
}
.small_formular{
  	font-size: 0.9rem;
}
/* Kontakt */
#rex-yform{
  	width: 70%;
  	margin: 0px auto;
  	padding: 60px 20px;
}
#ansprechpartner .flex_wrap{
	justify-content: center;
}
#ansprechpartner .white_box{
  margin: 10px;
}

@media(min-width:2000px){
	.banner4k{
		display: block;
	}
	.bannerhd{
		display: none;
	}
	.bannermobile{
		display: none;
	}
}
@media(max-width:1400px){
	#top_bar{
		display: none!important;
	}
	.form-group{
	  flex-wrap: wrap;
	}
	.form-control, .karriere_input{
	  width: 100%;
	}
	.stoerer {
	  display: none;
	}
}
@media(max-width:1350px){
	.inner_wrap{
		padding: 20px;
	}
	.inner_wrap_md{
		padding: 35px;
	}
	.inner_wrap_big{
		padding: 65px;
	}
	.inner_wrap_large{
		padding: 85px;
	}
	.banner_stoerer{
		max-width:400px;
	}
	.banner_headline span.small {
	  font-size: 25px;
	  letter-spacing: 2px;
	}
	.logo_footer {
	  max-width: 30%;
	  opacity: 0.6;
	  margin: 0 35%;
	}
	footer .col30{
		width: 49%;
	}	
	footer .col30.logo{
		width: 100%;
	}	
	.logo_banner{
		max-width: 220px;
	}
	.teaser_quali .col30 i {
	  margin-left: 16px;
	}
	.teaser_quali {
	  padding: 25px;
	}
}
@media(max-width:1200px){
	 .col3{
		width: 50%;
	  } 
	.logo_banner{
		max-width: 200px;
	}
	.banner_head, .banner_head span{
	  font-size: 3.5rem;
	}	
	.teaser_quali {
	  width: 100%;
	}
	.teaser_quali .col70 {
	  width: 80%;
	}
	.teaser_quali .col30 {
	  width: 20%;
	}
	.teaser_quali .col30 i {
	  font-size: 115px;
	  margin-left: 80px;
	}
	.img_full.klein {
	  margin-top: -85px;
	  width: 400px;
	  margin-left: -60px;
	}
}
@media(max-width:1100px){

}
@media(max-width:1024px){
	.banner_head{
		margin-bottom: 5px;
	}
	.banner_text{
		font-size: 1.2rem;
	}
	h1, .head1{
		font-size: 45px;
		width: 100%;
	}
	h2, .head2{
		font-size: 35px;
		margin-bottom: 20px;
	}
	h3, .head3{
		font-size: 30px;
		margin-bottom: 10px;
	}
	h4, .head4{
		font-size: 25px;
		margin-bottom: 5px;
	}
	.content{
		padding-bottom: 50px;
		padding-top: 50px;
	}
	.flex_wrap.no_wrap{
		flex-wrap: wrap;
	}
	.col2{
		width: 100%;
	}
	.col4{
		width: 48%;
	}
	 footer .col4 {
		margin-bottom: 25px;
	 }
	.col5{
		width: 31%;
	}
	.col30, .col35, .col65, .col70, .col40, .col60{
		width: 100%;
	}
	.col6 {
	  width: 30%;
	}
	.col40 {
	  margin-bottom: 30px;
	}	
	.inner_wrap_small{
		padding: 5px;
	}
	.inner_wrap{
		padding: 15px;
	}
	.inner_wrap_md{
		padding: 30px;
	}
	.inner_wrap_big{
		padding: 45px;
	}
	.inner_wrap_large{
		padding: 65px;
	}
	.image_wrap{
		padding: 2px;
	}
	.wrapper_small {
	  margin-left: auto;
	}
	.icon_pink_bg{
	  margin: -45px 20px 32px 20px;
	}
  .img_full.klein {
    margin-top: -236px;
    width: 450px;
    margin-left: -40px;
  }
}
@media(max-width:856px){
	.banner4k{
		display: none;
	}
	.bannerhd{
		display: none;
	}
	.bannermobile, .logo-mobil-header{
		display: block;
	}
	.logo_footer {
		max-width: 50%;
		opacity: 0.6;
		margin: 0 25%;
	}
	.stoerer{
	  margin-bottom: 20%;
	}
	.teaser_quali .col30 i {
		margin-left: 25px;
	}
	.bg_icon {
	  font-size: 170px;
	}	
}
@media(max-width:756px){
	.wrapper, .wrapper_small{
		width: 90%;
	}
	.left, .right{
		width: 100%;
		float: none;
	}
	.left{
		margin-bottom: 15px;
	}
	.col3, .col30, .col35, .col65, .col70{
		width: 100%;
	}
	.col5{
		width: 48%;
	}
	.inner_wrap,.inner_wrap_md{
		padding: 15px;
	}
	.inner_wrap_big, .inner_wrap_large{
		padding: 25px;
	}
	.bottom{
	  display: flex;
	  flex-wrap: wrap-reverse;
	}
	  footer .col30 {
		width: 100%;
	  }
  .img_full.klein {
    margin-top: -190px;
    width: 350px;
    margin-left: -20px;
  }
}
@media(max-width:656px){
	.banner_head, .banner_head span{
	  font-size: 2.5rem;
	}
	.social_media_icon{
	  margin-bottom: 20px;
	}
	.anker_link a{
	  width: 60px;
	  height: 60px;
	  font-size: 2.2rem;
	}
	.bg_icon {
	  font-size: 130px;
	}
}
@media(max-width:556px){
	.col3, .col4, .col5{
		width: 100%;
	}
	.col2{
		width: 100%;
	}
	ul#footer_nav_bar{
		margin-bottom: 25px;
	}
	h1, .head1, h1 span, .head1 span{
		font-size: 34px;
		width: 100%;
	}
	h2, .head2, h2 span, .head2 span{
		font-size: 27px;
		margin-bottom: 20px;
	}
	h3, .head3, h3 span, .head3 span{
		font-size: 26px;
		margin-bottom: 10px;
	}
	h6, .head6, .head6 span, h6 span {
	  font-size: 16px;
	}
	p, table, tr, td, div, ul, li, ol, input, textarea, div, select, option, span{
	  font-size: 1.0rem;
	  line-height: 150%;
	}
	.subline {
	  font-size: 1.5rem;
	}
	.footer_mobil{
		display:block;
	}
	#logo_mobil{
		max-width: 250px;
	}
	.icon_pink_bg i{
	  color: #fff;
	  font-size: 2.1rem;
	}

	.anker_link{
	  width: auto;
	  position: fixed;
	  bottom: 5px;
	  right: 20px;
	  z-index: 200;
	}	
	#rex-yform{
	  width: 96%;
	}
  .teaser_quali .col30 i {
    margin-left: 0px;
  }
  .img_full.klein {
    margin-top: -143px;
    width: 280px;
    margin-left: -20px;
  }
}

@media(max-width:456px){
	  .stoerer{
		display: none;
	  }
	.start_banner_teaser{
	  width: 100%;
	  margin: -2px auto 0px auto;
	}
	select.form-control, .karriere_select{
	  width: 100%;
	}
	 .bg_icon {
		font-size: 110px;
	  }
  .logo_footer {
    max-width: 84%;
    opacity: 0.6;
    margin: 0 7%;
  }
	footer {
	  padding: 25px;
	}	
 .img_full.klein {
    margin-top: -25px;
    width: 100%;
    margin-left: -15px;
  }
}
@media(max-width:356px){
  #logo_mobil{
    max-width: 200px;
  }
}



