:root{
	--primary-green: #0a8463;
	--primary-grey: #605f68;
	--additional-green-dark: #40b193;
	--additional-green-light: #9dd2c2;
	--additional-green-extralight: #e6f4f0;
	
}

*{margin:0; padding: 0; font-family: 'Oxygen', sans-serife; letter-spacing:1px;}

::selection {background: var(--primary-green); color: #fff;}
::-moz-selection {background: var(--primary-green);color: #fff;}

/* Lade-Overlay */
#logo-loader {display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 999; align-items: center; justify-content: center; background-color: rgba(10, 132, 99, 0.4); }
.logo-wrapper {animation: rotateOnce 1.5s ease-in-out;}
@keyframes rotateInfinite {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.rotating {animation: rotateInfinite 2s linear infinite;}

/*Mauszeiger*/
body{cursor: default;}
.custom-cursor {position: fixed; top: 0; left: 0; width: 20px; height: 20px; background-color: var(--primary-green); border-radius: 50%; pointer-events: none; transform: translate(-50%, -50%); z-index: 9999; transition: transform 0.1s ease-out, opacity 0.2s ease; box-shadow: 0 0 0 2px white, 0 0 6px rgba(0,0,0,0.2); opacity: 0;}
.custom-cursor.pointer-active {animation: pulse 3s infinite; opacity: 1;}
@keyframes pulse {
  0%, 100% {transform: translate(-50%, -50%) scale(1);opacity: 1;}
  50% {transform: translate(-50%, -50%) scale(1.4);opacity: 0.4;}
}

.menu-button-wrapper {position: relative; display: inline-block;}
.hamburger {position: relative; width: 20px; height: 20px; display: inline-flex; flex-direction: column; justify-content: space-between; cursor: pointer; padding: 20px; transition: transform 0.3s ease; z-index:999;}
.hamburger::before {content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 15px; background: var(--primary-green); transition: all 0.4s cubic-bezier(0.54, -0.10, 0.57, 0.57); z-index: 0;}
.hamburger-line {width: 90%; background: #fff; height: 2px; display: block; border-radius: 6px; transition: transform 0.4s cubic-bezier(0.54, -0.81, 0.57, 0.57); position: relative; z-index: 1;}
.hamburger-line.first,
.hamburger-line.third {width: 45%;}
.hamburger-line.third {margin-left: 50%; transform-origin: left;}
.menu-button {position: absolute; opacity: 0;}
.item-list {position: absolute; top: 50px; transform: translateX(-50%) scale(0); transform-origin: center; transition: all 0.4s cubic-bezier(0.54, -0.10, 0.57, 0.57); background-color: var(--primary-grey); color: #fff; width: 200px; left: -50%; padding: 15px 0; text-align: left; border-radius: 100px; font-weight: 300; opacity: 0; user-select: none; box-shadow: 0 4px 12px rgba(0,0,0,0.3); z-index: 3;}
.item-list div {padding: 10px 30px;}
.item-list div a {color: #fff; text-decoration: none; display: block; width: 100%;}
.menu-button:checked ~ .item-list {transform: translateX(-50%) scale(1); border-radius: 20px; opacity: 1; user-select: auto;}
.mobile-nav {display: none;}
.desktop-nav {display: flex;}
.menu-button:checked ~ .icon-wrapper .hamburger-line.second {transform: rotate(-45deg);}
.menu-button:checked ~ .icon-wrapper .hamburger-line.first {transform: translate(2px, 6px) rotate(-135deg);}
.menu-button:checked ~ .icon-wrapper .hamburger-line.third {transform: translate(6px, -3px) rotate(-135deg);}
.menu-button:checked ~ .icon-wrapper .hamburger::before {transform: rotate(45deg);}

/*Barrierefreiheit*/
:focus-visible {outline: 3px solid var(--primary-green); outline-offset: 3px;}

/*Allgemein*/
header{box-shadow: 0 0 10px var(--primary-grey); position:fixed; top:0; width:100%; z-index:9999; background-color:#fff;}
.container{max-width:1400px; margin:0 auto;}
.head-container{padding:20px 0; display:flex; justify-content: space-between; align-items:center;}
.navbar{display:flex; gap:30px; list-style:none;}
.menu-item{text-decoration:none; font-size:18px; text-transform:uppercase; letter-spacing:2px; color:var(--primary-green); padding-bottom:10px; transition: all 0.3s ease;}
.menu-item.active{color:var(--additional-green-dark); border-bottom: 2px solid var(--additional-green-dark);}
.menu-item:hover {color:var(--additional-green-dark); border-bottom: 2px solid var(--additional-green-dark);}
.nav-toggle-button{display:none;}

main{/*background-color: var(--additional-green-light);*/ min-height:calc(100vh - 51px);}
.buffer{height:110px;}
.title-image-wrap{position:relative; height:calc(100vh - 360px); width:100%; overflow:hidden;}
.title-image{position:absolute; left:0; top:0; width:100%; height:100% ; object-fit:cover;}
.logo-wrap{position:relative; height:250px;}.logo-wrap:before {content: ''; width: 140px; height: 140px; background: #fff; position: absolute; rotate: 45deg; border-radius: 50px; left: calc(50% - 70px);  top: -64px;}
.title-image-logo{position:absolute; left:calc(50% - 150px); top:-60px;}

.chevron-wrapper{position:absolute; width:24px; bottom:80px; z-index:99; left: calc(50% - 12px);}
.chevron{position:absolute; width:28px; height:6px; opacity:0; transform: scale3d(0.5, 0.5, 0.5); animation: move 3s ease-out infinite;}
.chevron:first-child {animation: move 3s ease-out 1s infinite;}
.chevron:nth-child(2) {animation: move 3s ease-out 2s infinite;}
.chevron:before, .chevron:after {content: ''; position: absolute; top: 0; height: 100%; width: 50%; background: var(--additional-green-light);}
.chevron:before { left: 0; transform: skewY(30deg);}
.chevron:after { right: 0; width: 50%; transform: skewY(-30deg);}

@keyframes move {
  25% {opacity: 1;}
  33% {opacity: 1; transform: translateY(30px);}
  67% {opacity: 1; transform: translateY(40px);}
  100% { opacity: 0; transform: translateY(55px) scale3d(0.5, 0.5, 0.5);}
}

h1{color:var(--primary-green);font-size:40px;}
h2{color:var(--primary-green); padding-bottom:50px; font-size:35px;}
h3{color: var(--primary-green); font-size:20px; padding-bottom:10px;}
h4{font-size:18px; padding-bottom:5px;}
a{color:var(--primary-green); text-decoration: none; font-weight: bold;}
ul{padding-left:35px;}
.element{padding-top: 100px;}
.element.paddingboth{padding: 100px 0;}
.element.margin-top{margin-top:100px;}
.h2-zentriert{text-align:center}

/*Farben für Hintergründe und Schriften*/
.background-green {background-color: var(--primary-green);}
.background-lightgreen {background-color: var(--additional-green-extralight);}
.background-white {background-color: #fff;}

.text-white {color: #fff;}
.text-black {color: #000;}

.headline-white {color: #fff;}
.headline-green {color: var(--primary-green);}
.headline-lightgreen {color: var(--additional-green-light); font-weight:500;}


/*Fließtext zweispaltig*/
.grid-zweispaltig{display:grid; grid-template-columns: 1fr 1fr; gap:50px;}

/*Zitat*/
.zitat-element {background: var(--primary-green); color: #fff;}
.zitat-wrapper {width: 1600px; max-width: 100%; margin: 0 auto; position: relative; overflow: visible;}
.zitat-wrapper::before {content: "“"; position: absolute; top: -210px; left: 0px; font-size: 400px; color: var(--additional-green-light); font-family: 'Playfair Display', serif; line-height: 1; z-index: 1; pointer-events: none;}
.zitat-wrapper::after {content: "”"; position: absolute; bottom: -355px; right: 1600px; font-size: 400px; color: var(--additional-green-light); font-family: 'Playfair Display', serif; line-height: 1; z-index: 1; pointer-events: none;}
.zitat-text {text-align: center; font-family: 'Oxygen', sans-serif; font-size: 35px; font-weight: bold; position: relative; z-index: 2;}

/*Counter*/
.grid-counter{display:grid; grid-template-columns: 1fr 1fr 1fr 1fr; text-align:center;}
.grid-counter img{height:65px; padding-bottom:30px;}
.p-counter{color: var(--primary-green); font-size: 25px;}
.zahl-counter{font-size:35px; font-weight:bold; color: var(--primary-green); padding-bottom:10px;}

/*Angebot*/
.grid-angebot {display: grid; grid-template-columns: 1fr 1fr 1fr; text-align: center; margin-bottom: 50px;}
.grid-angebot img {height: 90px; padding-bottom: 30px;}
.angebot-title {color: var(--primary-green); font-weight: bold; font-size: 25px;}
.slider-indicator {position: relative; margin: 50px 0; height: 40px;}
.slider-line {display: flex; height: 2px; background: transparent; width: 100%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); z-index: 1;}
.slider-section {flex: 1; background-color: var(--additional-green-light); transition: background-color 0.3s ease;}
.slider-section.active {background-color: var(--primary-green);}
.slider-dots {display: flex; justify-content: space-around; position: absolute; top: 50%; left: 0; width: 100%; transform: translateY(-50%); z-index: 2;}
.slider-dot {width: 30px; height: 30px; background-color: var(--additional-green-light); border-radius: 50%; transition: background-color 0.3s ease; box-sizing: border-box;}
.slider-dot.active {background-color: var(--primary-green);}
.angebot-text-wrapper {position: relative; overflow: hidden; min-height: 200px; padding-bottom:60px;}
.angebot-text {position: relative; display: none; opacity: 0; padding: 80px 80px 110px; background: var(--additional-green-extralight); border-radius: 10px; max-width: -webkit-fill-available; transition: opacity 0.3s ease;}
.angebot-text.active {display: block; opacity: 1;}
.arrow-wrapper {position: absolute;  bottom: 20px;  left: 50%;  transform: translateX(-50%);  display: flex;  gap: 20px;  z-index: 10;}
.arrow {font-size: 1.5rem;  color: var(--primary-green);  background: rgba(255, 255, 255, 0.7);  border-radius: 50%;  width: 40px;  height: 40px;  line-height: 40px;  text-align: center;  cursor: pointer;  user-select: none;  transition: background 0.3s;}
.arrow-left {left: 20px;}
.arrow-right {right: 20px;}
.arrow:hover {background: rgba(0, 0, 0, 0.1);}

/*Über uns*/
.grid-kachel-mitarbeiter {display: grid; grid-template-columns: 0.8fr 2fr; gap: 0; min-height: 260px; position: relative; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);}
.grid-kachel-mitarbeiter > div {display: flex; justify-content: center;}
.mitarbeiter-info {background-color: var(--primary-green); position: relative;}
.mitarbeiter-bild {position: absolute; left: 45%; top: 50%; transform: translate(-140%, -50%); z-index: 2;}
.mitarbeiter-bild img {height: 200px; width: 150px; object-fit: cover; border-radius: 5px;}
.mitarbeiter-text {background-color: var(--additional-green-extralight); padding: 0 30px 50px 90px; display: flex; flex-direction: column; justify-content: center; position: relative;}
.mitarbeiter-text::before {content: "“"; position: absolute; top: 0px; left: -145px; font-size: 150px; color: var(--additional-green-light); font-family: 'Playfair Display', serif; line-height: 1; z-index: 2;}
.mitarbeiter-text::after {content: "”"; position: absolute; bottom: -60px; right: 340px; font-size: 150px; color: var(--additional-green-light); font-family: 'Playfair Display', serif; line-height: 1; z-index: 1;}
.mitarbeiter-text .mitarbeiter-name {font-weight: bold; font-size: 20px; margin-bottom: 10px; color:var(--primary-green);}
.mitarbeiter-name {font-weight: bold; font-size: 22px; margin-bottom: 10px; color: var(--primary-green);}
.mitarbeiter-vorstellung {line-height: 1.5;}

/*Zeitstrahl*/
.grid-zeitstrahl {display: grid; grid-template-columns: 1fr 100px 1fr; row-gap: 80px; column-gap: 50px;  align-items: center; margin: 0 auto; position: relative;}
.grid-zeitstrahl::before {content: ''; position: absolute; left: 50%; top: 40px; bottom: 40px; width: 2px; background: var(--primary-green); transform: translateX(-50%); z-index: 1;}
.grid-zeitstrahl > .zeitstrahl-item:nth-child(3n + 1) {text-align: right;}
.zeitstrahl-item {padding: 10px; position: relative; z-index: 2;}
.zeitstrahl-item.icon {text-align: center;}
.zeitstrahl-icon {border-radius: 50%; background-color: #fff; object-fit: contain; z-index: 2; position: relative; width:80px; height:80px; display:block;}
.zeitstrahl-item.datum,
.zeitstrahl-item.ereignis {padding: 10px; color: var(--primary-green);}
.zeitstrahl-item.datum {font-size: 40px; font-weight: bold;}

/*Referenzen*/
.grid-kundenstimmen {display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding-bottom:100px;}
.kachel-kundenstimmen {padding: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);}
.grid-kachel-kundenstimmen {display: grid; grid-template-columns: 0.8fr 2fr; gap: 0; min-height: 220px;}
.grid-kachel-kundenstimmen > div {height: 100%; display: flex; flex-direction: column;}
.grid-kachel-kundenstimmen .info {background: var(--primary-green); color: #fff; border-radius: 5px 0 0 5px; display: flex; flex-direction: column; align-items: center;   justify-content: center; text-align: center; position: relative;}		
.grid-kachel-kundenstimmen .info::before {content: "“"; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); font-size: 150px; color: var(--additional-green-light); font-family: 'Playfair Display', serif; line-height: 1; pointer-events: none;}
.grid-kachel-kundenstimmen .name {font-weight: bold; margin: 0; font-size:20px;}
.grid-kachel-kundenstimmen .rolle {margin: 0;}
.grid-kachel-kundenstimmen .bewertung {background-color: var(--additional-green-extralight); padding: 0 50px; border-radius: 0 5px 5px 0; display: flex; flex-direction: column;align-items: center; justify-content: center; position:relative;}		
.grid-kachel-kundenstimmen .bewertung::after {content: "”"; position: absolute; bottom: -70px; left: 50%; transform: translateX(-50%); font-size: 150px; color: var(--additional-green-light); font-family: 'Playfair Display', serif; line-height: 1; pointer-events: none;}
.bewertung{hyphens: auto; overflow-wrap: break-word; word-break: break-word;}
footer{background-color: var(--primary-green); height: 51px;}
.foot-container{display:flex; justify-content: space-between; align-items: center; padding:15px 0; color:#fff;}
.foot-item{color:#fff; text-decoration:none; transition: all 0.3s ease;}
.foot-item:hover{color: var(--additional-green-light);}

/*Kontakt*/
.grid-kontakt {display:grid; grid-template-columns: 1.7fr 1fr;}
.contact-left {flex: 2;}
.intro {margin-bottom: 1.5rem; line-height: 1.5; max-width:25vw;}
form {display: flex; flex-direction: column; gap: 1rem; max-width:25vw;}
input, select, textarea {border: 10px solid var(--additional-green-extralight); border-radius: 4px; font-size: 1rem; background-color: var(--additional-green-extralight); color:var(--primary-grey);}
input::placeholder,textarea::placeholder {color: var(--primary-grey);}
textarea {min-height: 120px; resize: vertical;}
/* Drag & Drop Upload */
.file-upload {border: 2px dashed var(--primary-green); padding: 2.5rem; text-align: center; color: #555; border-radius: 6px; cursor: pointer; transition: background-color 0.3s ease, border-color 0.3s ease; margin-top:15px;}
.file-list {margin-top: 0.5rem; font-size: 0.9rem; color: #333; text-align: left;}
.checkbox {display: flex; align-items: center; gap: 1rem; font-size: 0.9rem; margin-top:15px;}
.checkbox input[type="checkbox"] {width: auto; accent-color: var(--primary-green);  transform: scale(1.5); transform-origin: center; margin: 0; display: inline;}
.checkbox label {display: flex;align-items: center;gap: 0.5rem;}
button {padding: 0.75rem; background-color: var(--primary-green); border: 2px solid var(--primary-green); color: #fff; font-size: 1rem; font-weight: bold; border-radius: 4px; cursor: pointer; width: 200px;}
button:hover {background-color:#fff; color:var(--primary-green); border: 2px solid var(--primary-green);}
.contact-right {flex: 1; background-color: var(--additional-green-extralight); padding: 50px; border-radius: 8px; font-size: 0.95rem; max-height: 695px; margin-top:100px;}
.contact-right h3 {color: var(--primary-green); margin-top: 0;}
iframe { width: 100%; height: 200px; border: none; margin: 50px 0; border-radius: 6px;}
.opening-hours {margin-top: 1.5rem;}
.kontaktdaten, .opening-hours p {margin: 0.25rem 0; display: grid; grid-template-columns: 1fr 2fr;}
.kontaktdaten {row-gap:5px;}
.sr-only {position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;}
.file-list {margin-top: 10px;}
.file-item {display: flex; justify-content: space-between; align-items: center; background: #f9f9f9; border: 1px solid #ddd; padding: 6px 10px; border-radius: 4px; margin-bottom: 6px; font-size: 0.95rem;}
.file-name {overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 80%;}
.remove-file {background: transparent; border: none; color: #b00020; font-size: 1.2rem; cursor: pointer; line-height: 1; padding: 0 5px;}
.remove-file:hover {color: #ff0000;}
.control-label{display:block; margin-bottom:10px;}
.alert.alert-danger{display:none;}
input.name, input.form-control{width: calc(100% - 20px);}
select.form-control{width:100%;}
option:hover{background:var(--primary-green);}
.btn.btn-default{background:var(--additional-green-extralight); border-radius: 0px 4px 4px 0px;border:none; width:50px;position:absolute; color: var(--primary-grey);}
.btn.btn-default:hover{background: var(--primary-green);color:#fff;border-color: var(--primary-green);}
#yform-form_kontakt-field-8{width: calc(100% - 70px); border-radius: 4px 0px 0px 4px;}


/* Modal Overlay */
.modal {position: fixed; inset: 0;z-index: 9999;display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0.6); visibility: hidden; opacity: 0; transition: opacity 0.3s ease;}
.modal.show {visibility: visible; opacity: 1;}
.modal[aria-hidden="true"] {display: none !important;}
/* Modal Content */
.modal-content {background: white; padding: 2rem; border-radius: 8px; max-width: 90%; width: 400px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); text-align: center;}
.modal-content p { margin-bottom: 1rem;}
/* OK-Button im Modal */
#modalOkBtn {background-color: var(--primary-green, #0a8463); border: 2px solid var(--primary-green, #0a8463); color: white; padding: 0.5rem 1.5rem; margin-top: 1rem; cursor: pointer; border-radius: 4px; font-size: 1rem; transition: all 0.3s ease;}
#modalOkBtn:hover,
#modalOkBtn:focus {background-color: white; color: var(--primary-green, #0a8463); outline: none;}
/* Screenreader-Only Text */
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}
/* File Upload Area bei Dragover */
#dropArea.dragover {background-color: var(--additional-green-extralight, #e6f4f0); border-color: var(--primary-green, #0a8463); color: var(--primary-green, #0a8463);}
/* Datei-Liste */
.file-list {margin-top: 0.5rem;}
.file-item {display: flex; justify-content: space-between; align-items: center; background: #f0f0f0; padding: 0.3rem 0.6rem; margin-bottom: 0.25rem; border-radius: 4px;}
.file-item .file-name {flex-grow: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.file-item button.remove-file {background: transparent; border: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--primary-grey, #666); padding: 10px; font-weight: bold; width: 30px;}
.file-item button.remove-file:hover {color: var(--primary-green, #0a8463);}

#modalCloseBtn:focus-visible,
#modalCloseBtn[data-force-visible-focus="true"] {
  outline: 2px solid var(--primary-green);
  outline-offset: 2px;
}



@media screen and (max-width:2100px){
form{max-width:30vw;}
}

@media screen and (max-width:2100px){
.zitat-wrapper::before {top:-195px;left: -110px; font-size:350px;}
.zitat-wrapper::after {bottom:-325px;right: 1230px; font-size:350px;}
.zitat-wrapper {width: 1200px;}
form{max-width:38vw;}	
}

@media screen and (max-width:1700px){
.zitat-wrapper::before {top:-95px;left: 1160px; font-size:250px;}
.zitat-wrapper::after {bottom:-195px;right: 1170px; font-size:250px;}
.zitat-wrapper {width: 1200px;}	
form{max-width:45vw;}
}

@media screen and (max-width:1500px){
.container{max-width:1000px;}
.grid-counter{gap:70px;}
.grid-kachel-mitarbeiter{min-height:310px;}
.mitarbeiter-text{padding:30px 30px 70px 70px;}
.mitarbeiter-text::before{font-size:120px; top:20px; left:-125px;}
.mitarbeiter-text::after{font-size:120px; bottom:-50px; right:225px;}
.mitarbeiter-bild{left:50%;}
.mitarbeiter-bild img{height:190px; width:140px;}
.grid-kundenstimmen{gap:40px;}
.kachel-kundenstimmen{min-height:270px;}
.grid-kachel-kundenstimmen .info::before{font-size:100px; top:50px;}
.grid-kachel-kundenstimmen .info{min-width:175px;}
.grid-kachel-kundenstimmen .bewertung::after{font-size:100px; bottom:-35px;}
.grid-kachel-kundenstimmen .bewertung{min-height:270px; padding: 0 40px;}
form{max-width:34vw;}
.intro{max-width:34vw;}
.grid-kontakt{grid-template-columns:1.3fr 1fr;}
.contact-right{max-height:655px;}
.checkbox{font-size:0.8rem;}
.file-upload{padding:2.3rem;}
.zitat-wrapper::before {top:-95px;left: 1070px;}
.zitat-wrapper::after {bottom:-155px;right: 1070px;}
}

@media screen and (max-width:1300px){
.zitat-wrapper::before {top:-35px;left: 1000px; font-size:120px;}
.zitat-wrapper::after {bottom:-85px;right: 1000px; font-size:120px;}
.zitat-wrapper {width: 1100px;}
.zitat-text{font-size:28px;}
form{max-width:40vw;}
.intro{max-width:40vw;}
.grid-container img{height:50px;}
.zahl-counter{font-size:30px;}	
}

@media screen and (max-width:1100px){
.container{max-width:850px;}
.intro{max-width:100vw;}
.grid-kontakt{grid-template-columns:1fr}
form{max-width:100vw;}
.contact-right{display:grid; grid-template-columns:1fr 1fr; column-gap: 30px;}
iframe{margin:0px;}
.navbar{display:none;}
.desktop-nav {display: none;}
.mobile-nav {display: inline-block;}
.zitat-text{font-size:24px;}
.zitat-wrapper {width: 800px;}
.zitat-wrapper::before {top:-35px;left: 790px; font-size:120px;}
.zitat-wrapper::after {bottom:-85px;right: 790px; font-size:120px;}
.grid-kundenstimmen{grid-template-columns: 1fr;}
.grid-kachel-mitarbeiter{grid-template-columns: 0.7fr 2fr;}
.mitarbeiter-bild{left:40%;}
.mitarbeiter-bild img{height: 250px; width: 180px;}
.mitarbeiter-text{padding:30px 30px 70px 90px;}
.mitarbeiter-text::before{font-size:130px; top: 20px; left: -170px;}
.mitarbeiter-text::after{font-size:130px; bottom: -20px; right: 490px;}
.grid-kachel-kundenstimmen .bewertung::after{bottom: -15px;}
}

@media screen and (max-width:950px){
.container{max-width:650px;}
.grid-zweispaltig{grid-template-columns:1fr;}
h1{font-size:35px;}	
h2{font-size:30px;}
.grid-counter img{height:50px; padding-bottom: 15px;}
.zahl-counter{font-size:24px;}
.p-counter{font-size:20px;}
.zitat-text{font-size:21px;}
.zitat-wrapper::before{left:490px; font-size:100px;}
.zitat-wrapper::after{right:490px; font-size:100px; bottom:-75px;}
.grid-angebot img{height:70px; padding-bottom: 15px;}
.angebot-title{font-size:20px;}
.slider-dot{width:20px; height: 20px;}
.angebot-text{padding: 50px 50px 100px;}
.mitarbeiter-bild{left:43%;}
.zitat-wrapper{width:490px;}
.zeitstrahl-item{padding:0px;}
}

@media screen and (max-width:768px){
h2{padding-bottom:20px;}
.container{max-width:550px;}	
.grid-counter{grid-template-columns:1fr 1fr; gap:0px; row-gap:70px;}
.grid-angebot img{height:50px;}
.slider-indicator{margin: 20px 0;}
.grid-angebot{ margin-bottom:0px;}
.mitarbeiter-bild img{height:230px; width:160px;}
.mitarbeiter-bild{left:47%;}
.mitarbeiter-text::before{top:30px; left:-138px; font-size:100px;}
.mitarbeiter-text::after{font-size:100px; right: 280px;}
.grid-zeitstrahl{grid-template-columns: 1fr 60px 1fr; column-gap:10px;}
.zeitstrahl-icon{width:60px; height:60px;}
.zeitstrahl-item.datum{font-size:30px;}
.element{padding-top:50px;}
.grid-kundenstimmen{padding-bottom:50px;}
.contact-right{grid-template-columns:1fr;}
iframe{padding:30px 0 20px;}
.angebot-title{font-size:17px;}
}

@media screen and (max-width:600px){
.container{max-width:80vw;}
.zitat-wrapper::after{bottom:-65px;}
.zitat-wrapper::before{display:none;}
.zitat-wrapper::after{display:none;}
.grid-kachel-mitarbeiter {grid-template-columns: 0.5fr 2fr;}
.kachel-kundenstimmen{min-height:280px;}
.grid-kachel-mitarbeiter{min-height: 280px;}
.mitarbeiter-bild{top:75px; left:145px;}
.mitarbeiter-bild img{height:90px; width:90px; border-radius:50%;}
.mitarbeiter-text{padding: 30px 30px 30px 50px;}
.mitarbeiter-text::before {display:none;}
.mitarbeiter-text::after{display:none;}
.grid-kachel-kundenstimmen{min-height:300px;}
.grid-kachel-kundenstimmen .bewertung::after{bottom: -40px;}
.zeitstrahl-item {hyphens: auto; overflow-wrap: break-word;}
.grid-zeitstrahl::before{top:100px; bottom:70px;}
.grid-counter{column-gap:50px;}
.grid-angebot{display:block; padding-bottom:30px;}
.slider-indicator{display:none;}
.slider-dots{display:none;}
.section.mietverwaltung, .section.wegverwaltung, .section.vermietungverkauf{padding:20px; background: var(--additional-green-extralight);border-radius:10px;}
.mietverwaltung, .wegverwaltung, .vermietungverkauf{margin-bottom:10px;}
.section.angebot img{display:none;}
.grid-angebot .section.mobile-active .angebot-title {color: #fff !important;}
.grid-angebot .section {background: var(--additional-green-extralight); color: inherit;}
.grid-angebot .section.mobile-active{background: var(--primary-green) !important; color:#fff; padding-bottom:30px;}
.angebot-text{display:none !important; opacity: 1 !important; padding: 20px 20px 30px; margin-top: -20px; border-radius: 0 0 10px 10px;}
.angebot-text.mobile-active{display:block !important; text-align: left;}
.arrow-wrapper{display:none !important;}
.angebot-text-wrapper{display:none;}
.element.margin-top{margin-top:50px;}
.element.paddingboth{padding:50px 0;} 
.copyright{font-size:12px;}   
}

@media screen and (max-width:500px){
.chevron-wrapper{bottom:-30px;}
h1{font-size:30px;}
h2{font-size:25px;}
.container{max-width:90vw;}
.mitarbeiter-bild img{height:90px; width:90px;}
.grid-kachel-kundenstimmen .name{font-size:15px;}
.grid-kachel-kundenstimmen .rolle{font-size:15px;}
.grid-kachel-kundenstimmen .bewertung{padding: 0 30px;}
.zeitstrahl-item.ereignis{font-size:15px;}
.grid-kachel-kundenstimmen .info{min-width: 130px;}
.grid-kachel-kundenstimmen{min-height:270px;}
.kachel-kundenstimmen{min-height:270px;}
.grid-kachel-kundenstimmen .bewertung::after{display:none;}
}


   