:root {
  font-size: 16px; /*Bestimmt alle REM Abstände. Also im Normalfall bei 16px belassen*/
	
	/* Farben */	
	--hauptfarbe: #003341;
	--zweitfarbe: #00A2BC;
	--drittfarbe: #C2C700;
	
	/* Schriftgrößen */	
	--titel1: 60px;
	--titel2: 32px;
	--titel3: 24px;
	--fliesstext: 18px;
}


*{
	padding: 0px;
	margin: 0px;
	font-family: 'Runda', sans-serif;
}
/*.row{
	margin: auto !important;
}*/

::selection {
	background: #00A2BC;
	color: #ffffff;
}

::-moz-selection {
	background: #00A2BC;
	color: #ffffff;
}

body{
	color: var(--hauptfarbe);
}
.container {
	position: relative;
	max-width: 1300px;
	width: 95vw;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    --bs-gutter-x: 4.5rem;
}

.bg-hauptfarbe{
	color: #ffffff !important;
	background-color: var(--hauptfarbe);
}
.bg-zweitfarbe{
	color: #ffffff !important;
	background-color: var(--zweitfarbe);
}


/* 
#### Fonts Schriften Schrift Text #### 
*/

h1, h2, h3, h4, h5, h6, p, span, a, li {
	font-family: 'Runda', sans-serif !important;
	line-height: 1.4;
	font-weight: 300;
	margin: 0;
	padding: 0;

}
h1, h2, h3 {
	line-height: 1;
}
h1, .h1 {
	font-size: var(--titel1);
	font-weight: 700;
	margin-bottom: 10px;
}
h2 {
  font-size: var(--titel2);
  font-weight: 300;
}
h3 {
  font-size: var(--titel3);
  font-weight: 700;
}
h6 {
  font-size: var(--fliesstext);
  font-weight: 700;
}
p, ul {
  font-size: var(--fliesstext);
  font-weight: 300;
  list-style-type: disc;
}
strong, b {
	font-weight: 700;
}
li {
	position: relative
}

.spacer150{
	height: 150px;
	width: 100%;
	margin: 0;
	padding: 0;
}
.spacer90{
	height: 90px;
	width: 100%;
	margin: 0;
	padding: 0;
}
.um-fw-700 {
	font-weight: 700;
}
.um-fw-300 {
	font-weight: 300;
}
.um-quelle{
	font-size: 12px;
	font-weight: 300;
}
.um-quelle a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--drittfarbe);
	text-underline-offset: 4px;
}
.um-current{
	text-decoration: underline;
	text-decoration-thickness: 4px;
	text-decoration-color: var(--zweitfarbe);
	text-underline-offset: 8px;
}
.background-line{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.line1{
	background-image: url("../bilder/line/line-1.svg");
}
.line2::after{
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url("../bilder/line/line-2.svg");
	z-index: -1;
}
.line3{
	background-image: url("../bilder/line/line-3.svg");
}
.line4{
	background-image: url("../bilder/line/line-4.svg");
}
.line4_1{
	background-image: url("../bilder/line/line-4_1.svg");
	
}
.line4_2{
	background-image: url("../bilder/line/line-4_2.svg");
	
}
.line5{
	background-image: url("../bilder/line/line-5.svg");
}
.line6{
	background-image: url("../bilder/line/line-6.svg");
	min-height: 150px;
}
.line7{
	background-image: url("../bilder/line/line-7.svg");
}
.line8{
	background-image: unset;
}
.line9{
	background-image: url("../bilder/line/line-7.svg");
}

/* ##### INTERAKTIV ##### */
/* ##### INTERAKTIV ##### */
/* ##### INTERAKTIV ##### */
.um-button-alt a{
	color: var(--hauptfarbe);
	font-weight: 700;
}

.btn-primary a, .btn-secondary a{
    font-size: var(--fliesstext);
	}
a.nav-link:hover {
	color: var(--zweitfarbe)!important;
}
.navbar-toggler, .navbar-toggler:active, .navbar-toggler:hover, .navbar-toggler:focus {
	background-color: #ffffff00!important;
	border: none!important;
	padding: .5rem .5rem .5rem .5rem!important;
}
.navbar-toggler-icon{
	width: 46px!important;
	height: 46px!important;
	/*filter: brightness(0) saturate(100%) invert(83%) sepia(24%) saturate(4239%) hue-rotate(14deg) brightness(94%) contrast(101%);*/
}
a{
	text-decoration: none;
	color: unset;
}

.btn-primary {
  background-color: #ffffff00 !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  border: solid 3px var(--drittfarbe) !important;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
	transition: all .25s ease-in-out;
}
.btn-primary a{
	font-weight: 700;
}
.btn-primary:hover {
  background-color: var(--drittfarbe) !important;
}
.btn-primary:focus {
  background-color: var(--drittfarbe) !important;
}
.btn-secondary {
  background-color: #ffffff00 !important;
  color: var(--hauptfarbe) !important;
  border-radius: 50px !important;
  border: solid 3px var(--drittfarbe) !important;
  font-weight: 700;
  padding: .25rem 2rem!important;
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
}
.btn-secondary:hover {
  background-color: var(--drittfarbe) !important;
}
.btn-secondary:focus {
  background-color: var(--drittfarbe) !important;
}
.btn-primary, .btn-secondary{
	padding: 5px 32px!important;
	border-width: 4px!important;
	}
.btn-pluss{
	background-color: #ffffff00 !important;
	color: #ffffff !important;
	display: flex;
  	justify-content: center;
  	align-items: center;
	height: 50px;
	width: 50px;
	border: solid 5px var(--drittfarbe) !important;
	font-size: 45px;
	line-height: 0px;
	font-weight: 300 !important;
	transition: all .25s ease-in-out;
	border-radius: 50%;
}
.btn-pluss:hover {
	background-color: var(--drittfarbe) !important;
}
.btn-pluss a{
	width: 100%;
	aspect-ratio: 1/1;
	position: relative;
}
.btn-pluss a:before{
	content: "";
	height: 22px;
	width: 5px;
	position: absolute;
	top: 52%;
	left: 46%;
	transform: translate(-1px, -50%);
	background-color: #fff;
}
.btn-pluss a:after{
	content: "";
	height: 5px;
	width: 22px;
	position: absolute;
	top: 46%;
	left: 50%;
	transform: translate(-50%, 0px);
	background-color: #fff;
}
.btn-pluss-dark{
	background-color: #ffffff00 !important;
	color: var(--hauptfarbe) !important;
	display: flex;
  	justify-content: center;
  	align-items: center;
	height: 50px;
	width: 50px;
	border: solid 4px var(--drittfarbe) !important;
	border-radius: 100% !important;
	font-size: 45px;
	line-height: 0px;
	font-weight: 700 !important;
}

.carousel-control-prev-icon, .carousel-control-next-icon {
	background-image: url("../bilder/icons/arrow-akkordion.svg");
	width: 100%;
	height: 100%;
}
.carousel-control-next-icon {
	transform: rotate(-90deg);
}
.carousel-control-prev-icon {
	transform: rotate(90deg);
}
.carousel-control-prev,
.carousel-control-next {
	transition: all .25s ease-in-out;
	border-radius: 50%;
}
.carousel-control-prev:hover,
.carousel-control-next:hover {
	background-color: var(--drittfarbe);
}
.carousel-control-prev {
	position: absolute;
	left: 0;
	top: 100%;
	height: 50px;
	width: 50px;
	display: flex;
	opacity: 1;
}
.carousel-control-next {
	position: absolute;
	left: 70px;
	top: 100%;
	height: 50px;
	width: 50px;
	display: flex;
	opacity: 1;
}
.carousel-inner {
	min-height: 430px;
}
#projekte-referenzen .carousel-control-prev, #projekte-referenzen .carousel-control-next{
	display: inline-block;
	top: unset;
	left: unset;
	position: relative;
}
#projekte-referenzen .carousel-control-next{
	left: 15px;
}
#projekte-referenzen .carousel-item .rounded-circle {
    width: 150px;
    height: 150px;
}
#referenzen .carousel-inner div.col-12.col-md-8 img {
	max-height: 65px;
	width: 100%;
	object-fit: contain;
	object-position: 0% 50%;
	margin-bottom: 20px;
}
/* NAVIGATION */
/* NAVIGATION */
/* NAVIGATION */
.sticky-container {
  	position: fixed;
  	top: 0;
  	background-color: #ffffff;
  	transition: transform 0.3s;
}
.hidden {
  transform: translateY(-100%);
}

.sticky-top.navbar {
    background: #fff;
}
.navbar {
	z-index: 9999;
 	height: 100px;
 	font-size: 32px;
 	font-weight: 700;
	--bs-navbar-toggler-focus-width: 0!important;
	background-color: #ffffff;
  	transition: all 0.38s ease-in-out;
  	/*
	-webkit-box-shadow: 1px 6px 11px -9px rgba(0,0,0,0.2); 
	box-shadow: 1px 6px 11px -9px rgba(0,0,0,0.2);*/
}
body.startseite #nav_wrapper {
	opacity: 0;
}
#nav_wrapper.scrolled {
	opacity: 1 !important;
}

body.startseite #nav_wrapper:not(.scrolled) {
    opacity: 1;
    background: transparent;
}
body.startseite #nav_wrapper:not(.scrolled) .offcanvas-body {
	 justify-content: center !important;
}
body.startseite #nav_wrapper:not(.scrolled) #logo-navbar {
	display: none;
	opacity: 0;
	transition: all 0.38s ease-in-out;
}
body.startseite #nav_wrapper:not(.scrolled) .nav-link {
    padding-left: 20px !important;
    padding-right: 20px !important;
    color: #fff;
}
body.startseite #nav_wrapper:not(.scrolled) a.nav-link:hover{
	color: var(--hauptfarbe)!important;
}
nav.navbar > * > * > * {
  list-style-type: none !important;
}
nav.navbar > * > * > * > * > * {
  list-style-type: none !important;
}
.top-navbar > div > div > * {
  font-size: 0.875rem;
  font-style: normal;
  text-decoration: none;
}
.navbar-nav {
	flex-wrap: wrap;
    justify-content: flex-end!important;
}
.nav-link {
	font-size: 32px;
	font-weight: 700;
  	padding-left: 40px!important;
	padding-right: 0px!important;
	color: var(--hauptfarbe);
}
.nav-link:hover {
  color: var(--bs-primary) !important;
}
.nav-item {
  margin: 0;
	hyphens: auto;
}
.navbar-toggler-icon {
	background-image: url("../bilder/icons/burger-menu.svg");
}

.offcanvas-header .btn-close{
	background: url("../bilder/icons/close-menu.svg")!important;
	background-repeat: no-repeat!important;
	background-size: contain!important;
	opacity: 100%!important;
	width: 24px!important;
	height: 24px!important;
	margin-right: 0;
	
}
.dropdown:hover .dropdown-toggle {
  color: var(--bs-primary) !important;

}
#icon-call {
  background-image: url('../bilder/icons/Call-Icon/telephone.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.25rem;
}
#logo-navbar, #logo-offcanvas {
  object-fit: contain;
  height: 90px;
}
.dropdown:hover > .dropdown-menu {
  display: block;
}
.dropdown > .dropdown-toggle:active {
  /*Without this, clicking will make it sticky*/
  pointer-events: none;
}
 .top-navbar {
    display: none;
  }


/* ##### Startseite ##### */
/*.startseite .navbar-brand {
	display: none;
}
.startseite .sticky-top.navbar {
	position: fixed;
	width: 100%;
	background: transparent;
}
.startseite .nav-link {
    padding: 20px 35px !important;
}
.startseite .nav-link,
.startseite .nav-link:hover {
    color: #fff !important;
}
.startseite .offcanvas-body {
	justify-content: center !important;
}*/
.startseite header {
	z-index: 1040;
	position: relative;
}
.star {
	z-index: 1040;
	position: relative;
}
/* ##### INHALT ##### */
/* ##### INHALT ##### */
/* ##### INHALT ##### */
.leistungen-section h2 {
	font-size: 28px;
}
.kopfbild {
  width: 100%;
  object-fit: cover;
}
.um-header-startseite {
	height: 800px;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	padding-bottom: 40px; 
}
.um-header-unterseite {
	height: 200px;
	background-position: 50% 50%;
}

/* ### ueber adhesive ### */
.ueber-adhesive{
		transform: translateY(-100px);
}
.ueber-adhesive .image-transform{
	width: 90%;
	padding-bottom: 60px;
}
.ueber-adhesive p{
	padding-left: 200px;
	padding-bottom: 20px
}

.leistungen-section{
  position: relative;
  padding: 0px;
  margin: auto;
}
#leistungen-fluid::after {
	content:" ";
	background: rgb(255,255,255);
	background: -moz-linear-gradient(0deg, rgba(0, 51, 65,1) 0%, rgba(0, 51, 65,0.25) 100%);
	background: -webkit-linear-gradient(0deg, rgba(0, 51, 65,1) 0%, rgba(0, 51, 65,0.25) 100%);
	background: linear-gradient(0deg, rgba(0, 51, 65,1) 0%, rgba(0, 51, 65,0.25) 100%);
	z-index: 1;
	width: 100%;
	height: 100%;
	display: flex;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	pointer-events: none;
}
#leistungen-fluid::before {
	content:" ";
	background: #003341;
	mix-blend-mode: multiply;
	z-index: 2;
	width: 100%;
	display: flex;
	position: absolute;
	left: 0;
	top: 0;
	bottom:0;
	right:0;
	z-index: 0;
	pointer-events: none;
}

#leistungen-fluid {
	background-image: url("../bilder/leistungen-bg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
}
#leistungen > *{
	z-index: 1
}
.um-leistungen-text {
	margin-bottom: 175px;
}
#leistungen-icons {
	transform: translateX(-35px);
}
.maschinenbau, .erneuerbare-energien, .transportation{
	height: 300px;
	padding: 15px;
	background-position: center;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	color: #ffffff;
}
.maschinenbau{
	aspect-ratio: 43/30;
	height: auto;
	background-image: url("../bilder/maschinenbau.webp");
	position: relative;
}
.erneuerbare-energien{
	aspect-ratio: 43/30;
	height: auto;
	background-image: url("../bilder/erneuerbare-energien.webp");
	position: relative;
}
.transportation{
	aspect-ratio: 43/30;
	height: auto;
	background-image: url("../bilder/transportation.webp");
	position: relative
}

.maschinenbau:after, .erneuerbare-energien:after, .transportation:after{
	content: "";
	height: 100%;
	width: 100%;
	background: linear-gradient(180deg, #00000000 50%, #00000075 100%);
	position: absolute;
	top: 0;
	left: 0;
}


/* ### Card ### */
/* ### Card ### */
/* ### Card ### */
/* ### Card ### */
.card-element .card {
    border-radius: 0px;
	border: none;
	color: var(--hauptfarbe);
	background-color: #ffffff00;
}

/* ### Card-Bild ### */
.card-element .card img {
/*  height: 14rem; Nur absolute Werte verwenden! */
    width: 100%;
    object-fit: contain;
	border-radius: 0;
}
/* ### Card-Inhalt ### */
.card-element .card-body {
    background-color: #ffffff00;
	padding: 10px 0px 0px 0px;
}
/* ### Card-Footer ### */
.card-element .card-footer {
    background-color: #ffffff00;
	border: none;
}
.background-video {
	height: 800px;
	height: 100vh;
	z-index: 0;
}
.um-startvideo {
	height: 100%;
	width: 100%;
	object-fit: cover;

}
/*.background-video::after {
	content:" ";
	background: rgb(255,255,255);
	background: -moz-linear-gradient(0deg, rgba(255,255,255,0.80) 0%, rgba(255,255,255,0.26) 100%);
	background: -webkit-linear-gradient(0deg, rgba(255,255,255,0.80) 0%, rgba(255,255,255,0.26) 100%);
	background: linear-gradient(0deg, rgba(255,255,255,0.80) 0%, rgba(255,255,255,0.26) 100%);
	z-index: 1;
	width: 100%;
	height: 100%;
	display: flex;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 1;
}*/
/*.background-video::before {
	content:" ";
	background: #00A2BC;
	mix-blend-mode: multiply;
	z-index: 2;
	width: 100%;
	height: 100%;
	display: flex;
	position: absolute;
	left: 0;
	top: 0;
	opacity: .3;
}*/
.accordion-button:not(.collapsed) {
	box-shadow: none!important;
}
.um-start-akkordion .accordion-button, .um-start-akkordion .accordion-button span {
	background-color: unset!important;
	font-size: 24px;
	font-weight: 700;
	color: var(--hauptfarbe)!important;
	hyphens: auto;
	padding-left: 0;
	padding-right: 0;
}
.um-start-akkordion .accordion-item {
	border: unset!important;
	border-radius: 0;
}
.um-start-akkordion .accordion-button:focus {
	box-shadow: unset!important;
}
.um-start-akkordion .accordion-button::after {
	background-image: url("../bilder/icons/arrow-akkordion.svg")!important;
	background-size: contain;
	width: 50px;
    height: 50px;
}
.accordion-item:first-of-type .accordion-button {
    padding-top: 0;
}
.um-start-akkordion .accordion-body {
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	font-size: var(--fliesstext);
}
/* Alle Bilder standardmäßig ausblenden */
.um-start-akkordion .um-accorion-bild {
	display: none;
}

/* Bild für das erste Akkordeon-Punkt (acc1) anzeigen */
.um-start-akkordion #acc-bild-1 {
  display: block;
}
.um-accordion-box .accordion-item {
	background-color: transparent;
}



.leistungen-section img {
	width: 150px;
	height: 150px;
	object-fit: contain;
	margin-bottom: 20px;
}
.um-start-link {
	color: #FFFFff;
	padding: 20px 35px;
	font-size: var(--titel2);
	font-weight: 700;
}



/* ##### FOOTER ##### */
/* ##### FOOTER ##### */
/* ##### FOOTER ##### */
#logo-footer {
  width: 100%;
  min-height: 100px;
  max-height: 165px;
  object-fit: contain;
  object-position: left;
}
footer {
  background-color: var(--hauptfarbe);
  color: #ffffff;
}
body.normal footer .background-line {
    background: none;
}
.oberfooter {
  height: 100%;
}
.um-footer-icons img{
	height: 50px;
	width: 50px;
	border-radius: 50%;
	transition: all .25s ease-in-out;
}
.um-footer-icons img:hover {
    background: var(--drittfarbe);
}
.um-footer-DaIm {
	font-size: 28px;
	font-weight: 300;
}

#datenschutz p strong {
	display: inline-block;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}
#datenschutz blockquote p strong {
	margin-bottom: 0rem;
}

#future-starts-now {
	background-color: var(--hauptfarbe);
	padding-bottom: 200px;
	padding-top: 120px;
}
#future-starts-now img:first-of-type {
	height: 420px;
}
#future-starts-now img:last-of-type {
	height: 250px;
}
#inhaber{
	background-color: var(--zweitfarbe);
}
#inhaber #profilbild {
	width: 75%;
	position: absolute;
	bottom: -50%;
	right: 0;
}
#inhaber .col-5 img{
	max-width: 314px;
}
#bond-whatever {
	padding-bottom: 200px;
}
#leistungen-detail {
		background-color: var(--hauptfarbe);
	padding-bottom: 120px;
}
#leistungen-detail li::before, #um-projektlisten li::before{
	content: " ";
	background-image: url("../bilder/icons/li-line.svg");
	width: 20px;
	height: 2px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	margin-right: 20px;
	display: block;
	position: absolute;
	left: -30px;
	top: 12px;
}
#leistungen-detail ul, #um-projektlisten ul {
	  list-style: none;
}
/*.um-image-split {
	height: 450px;
}*/
.um-image-split .um-image {
	bottom: 70px;
	aspect-ratio: 74/51;
}
.um-image-split .um-icon {
    width: 360px;
    max-width: 25vw;
    transform: translate(165%, 0%);
    margin-top: -50%;
}
#wir-verbinden a{
	font-size: var(--titel2);
	font-weight: 700;
}
#wir-verbinden img{
	width: 58px;
	object-fit: contain;
}
#wir-verbinden {
	padding-top: 120px;
	padding-bottom: 120px;
}
#um-unsere-kunden {
	margin-bottom: 230px;
}

#um-projektlisten .container img {
    transform: translate(0px, -50%);
    margin-bottom: -37%;
}
#um-projektlisten .col h2 {
	padding-top: 0.5rem;
}
#um-projektlisten img {
	aspect-ratio: 1.35/1;
}
#zehn-prozessschritte{
	background-color: var(--zweitfarbe);
}
#zehn-prozessschritte h6{
	display: flex;
    justify-content: center;
    align-items: center;
	background-color: white;
	border-radius: 100%;
	border: solid 5px var(--drittfarbe);
	width: 48px;
	height: 48px;
	position: absolute;
	right: -24px;
	top: 5px;
	font-weight: 700;
	font-size: 24px;
	color: var(--hauptfarbe);
}
#zehn-prozessschritte .um-prozessspalte:nth-of-type(even) h6{
	right: unset;
	left: -22px;
	
}
#zehn-prozessschritte .um-prozessspalte:nth-of-type(odd) {
	 box-shadow: 4px 0 0 0 #ffffff, /* äußerer rechter Schatten */
             	inset -4px 0 0 0 #ffffff; /* innerer rechter Schatten */
}
#zehn-prozessschritte .um-prozessspalte {
	padding: 0px 40px;
	min-height: 90px;
}
#um-prozesslinie-anfang {
	height: 50px;
	border-radius: 0px 25px 0px 0px;
	border-top: solid 8px white;
	border-right: solid 8px white;
	width: calc(50% + 4px);
}
#um-prozesslinie-ende {
	height: 80px;
	border-radius: 0px 0px 0px 25px;
	border-bottom: solid 8px white;
	border-left: solid 8px white;
	width: calc(50% + 4px);
}
#zehn-prozessschritte .container .row:last-of-type .um-prozessspalte {
	min-height: unset;
}
#um-bildtrenner img {
	aspect-ratio: 900 / 600;
}