/* Font Face - Raleway Local */
@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-ExtraLightItalic.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-ExtraBoldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: "Raleway";
  src: url("fonts/Raleway/Raleway-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}

/* Fixed Items */
.logo {
  max-width: 240px;
}
/* SCHRITTEN */
.schritten {
  padding-bottom: 50px;
  padding-top: 50px;
}
.hero {
  margin-top: 54px;
}
.schritten .container {
  display: flex;
  flex-direction: column;
}
.schritten .step-list {
  list-style: none;
}
.step,
.step-gray {
  padding: 15px;
  color: #fff;
  margin: 5px 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.3s ease;
  border-top: 1px solid #fff;
  transition: all ease 0.3s;
}

.step.active {
  background: #e65100;
  transition: all ease 0.3s;
}
.step.active .plus {
  transform: rotate(45deg);
  transition: all ease 0.3s;
}
.step.active .number {
  background: #fff;
  color: var(--primary-color);
  transition: all ease 0.3s;
}
.step.active .gray {
  color: #fff !important;
}
.step .number {
  min-width: 50px;
  min-height: 50px;
  border-radius: 50%;
  background-color: var(--primary-color);
  text-align: center;
  margin: auto;
  padding-top: 10px;
  font-size: 30px;
}
.plus {
  font-size: 40px;
}
.step-gray {
  color: var(--secondary-color);
  border-top: 1px solid #70707084;
}
.step-gray.active {
  color: #fff;
}
.step .flex {
  font-size: 30px;
}
.step-content {
  display: block; /* Change to block */
  background: white;
  color: var(--secondary-color);
  padding: 0 40px; /* Initial padding */
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out,
    visibility 0.3s ease-in-out, padding 0.3s ease-in-out;
  margin-top: -5px;
  margin-bottom: -5px;
}

.step-content.open {
  max-height: 1000px; /* Adjust this value based on your content */
  opacity: 1;
  visibility: visible;
  padding: 40px; /* Final padding */
}

.image-container {
  max-width: 100%;
  text-align: left;
  margin-bottom: 20px;
  position: relative;
}
.image-container .img {
  width: 100%;
}
.image-container .subheading,
.image-container .h-secondary {
  text-align: start;
}
.image-container .p {
  margin-bottom: 20px;
}
.image-container .circle-white {
  position: absolute;
  bottom: 35px;
  right: 35px;
}
.cta-button {
  background: #e65100;
  color: white;
  text-align: center;
  padding: 10px;
  border-radius: 50px;
  margin-top: 15px;
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
}
/* SCHRITTEN */
.nav-item a.active {
  color: var(--primary-color) !important;
  font-weight: bold !important;
}
.instagram {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 11;
}
.instagram:hover .p {
  color: var(--primary-color);
  transition: all 0.3s ease;
}
.instagram .p {
  font-weight: bold;
  font-size: 20px;
  cursor: pointer;
}
.scroll {
  position: absolute;
  display: nono;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 50px;
  right: -20px;
  z-index: 11;
  top: 700px;
}
.scroll .p {
  rotate: 90deg;
}
header {
  flex-direction: column;
  background-color: white !important;
  width: 100%;
  transition: top 0.5s ease-in-out;
  z-index: 1000;
  height: 120px;
  position: fixed;
  top: 0;
}

.bottom-nav {
  max-width: 100%;
  width: 100%;
  background-color: #fff;
  color: var(--secondary-color);
  padding-block: 18px;
  min-height: 150px;
  display: flex;
}

.bottom-nav .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bottom-nav .container .icons {
  display: none;
  align-items: center;
  gap: 20px;
}
.bottom-nav .container .icons a img {
  transition: all 0.3s ease;
  background-color: transparent;
  border-radius: 50%;
}

.bottom-nav .container .icons a {
  width: 30px;
  height: 30px;
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid var(--secondary-color);
  transition: all 0.3s ease;
}
.bottom-nav .container .icons a:hover {
  background-color: var(--primary-color);
  border: 2px solid var(--primary-color);
}
.tel-nummer:hover img {
  content: url("./imgs/icons/phone-white.png");
}

.location:hover img {
  content: url("./imgs/icons/location-white.png");
}

.nav {
  background-color: white;
  visibility: hidden; /* Hidden by default */
  position: absolute;
  right: 0;
  top: 120px;
  width: 100vw;
  height: calc(100vh - 120px);
  z-index: 10;
  justify-content: flex-start;
  padding-inline: 20px;
  transform: translateX(-100%); /* Start offscreen */
  opacity: 0; /* Start invisible */
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; /* Smooth transition */
}

.nav.active {
  visibility: visible; /* Make it visible */
  transform: translateX(0); /* Slide in */
  opacity: 1; /* Fully visible */
}
.nav .nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  margin-left: -20px;
  padding-left: 20px;
}
.nav .nav-list .nav-item {
  padding-block: 10px;
  margin-left: -20px;
  padding-left: 20px;
  margin-right: -20px;
  padding-right: 20px;
  border-bottom: 2px solid #a3a3a3;
}

.nav .nav-list .nav-item .nav-link {
  text-decoration: none;
  color: var(--secondary-color);
  font-size: 18px;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 100%;
  transition: all 0.3s ease;
  max-width: fit-content;
  cursor: pointer;
}

.nav .nav-list .nav-item .nav-link:hover {
  color: var(--primary-color);
  transition: all 0.3s ease;
}

.menu-toggle {
  display: flex;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  position: relative;
  z-index: 1000;
}

.menu-toggle .hamburger {
  width: 38px;
  height: 2px;
  background: var(--secondary-color);
  transition: all 0.3s ease;
}

.menu-toggle.active .hamburger:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}

.menu-toggle.active .hamburger:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active .hamburger:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -6px);
}

/* Accordion Styles */
.accordion-content {
  display: none;
  gap: 10px;
  max-height: 0; /* Collapsed */
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.4s ease; /* Smooth height and opacity change */
  opacity: 0;
  margin-left: -20px;
  padding-left: 20px;
  margin-right: -20px;
  padding-right: 20px;
  display: flex;
  flex-direction: column;
  background-color: #f2f1ee;
}

.accordion.open + .accordion-content {
  max-height: 1000px; /* Large enough to fit content */
  opacity: 1;
  margin-bottom: -10px;
  transition: all 0.3s ease-in-out;
}
.accordion.open span:not(:last-child) {
  color: var(--primary-color) !important;
  margin-bottom: 10px;
  text-decoration: underline !important;
}

.accordion-content a {
  text-decoration: none;
  color: var(--secondary-color);
  font-size: 18px;
  font-weight: 300;
  padding-top: 10px;
  border-bottom: 1px solid #d2d1d0;
  margin-right: -20px;
  padding-right: 20px;
  margin-left: -20px;
  padding-left: 20px;
  padding-bottom: 5px;
}

.accordion-content img {
  display: none;
}

.accordion-content a:hover {
  color: var(--primary-color);
}

.nav .first-menu {
  display: none;
}

.nav-bottom-kontakt {
  margin-top: 40px;
}
.nav-bottom-kontakt .kontakt-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 100;
}

.nav .btn-orange {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  min-width: 100%;
  text-align: center;
  height: 46px;
}
/* Hero */
.hero {
  position: relative;
  min-height: 160px;
}
.hero .hero-content {
  margin-top: 0px;
}
.hero .hero-content h1 {
  max-width: 745px !important;
	font-size:22px;
}
.hero .hero-content {
  padding-top: 100px;
  padding-bottom: 45px;
}
.hero .hero-img img {
  max-height: 260px;
  height: 100%;
  min-height: 260px;
  max-width: 100%;
  width: 100%;
  position: absolute;
  z-index: -1;
  object-position: center;
  object-fit: cover;
  top: 0;
  left: 0;
}
.hero-slide {
  display: none;
  position: relative;
  min-height: 160px;
}
.hero-slide.active {
  display: block;
}
.bg {
  background-color: var(--bg-light);
  height: 900px;
  width: 100%;
  min-width: 100%;
  position: absolute;
  z-index: -2;
  top: 500px;
}
.buttons-list {
  height: 100px;
  background-color: #fff;
  display: flex;
  max-width: 814px;
  padding-left: 0;
  margin-top: 0;
  position: relative;
}
.custom-hero {
  margin-bottom: 210px !important;
}
.custom-hero::after {
  background-color: #d9000d !important;
  height: 41% !important;
}
.buttons-list .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.buttons-list .container .slide-list {
  display: flex;
  gap: 20px;
  align-items: center;
}
.buttons-list .container .slide-arrows {
  display: none;
  gap: 20px;
  align-items: center;
}
.buttons-list .container .slide-arrows img {
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.buttons-list li {
  color: rgba(53, 62, 62, 0.3);
  border-left: 2px solid var(--secondary-color);
  padding-left: 20px;
  padding-top: 5px;
  cursor: pointer;
  transition: color 0.3s;
}

.buttons-list li:hover {
  color: rgba(53, 62, 62, 1);
}
.buttons-list li.active {
  color: rgba(53, 62, 62, 1);
}

.buttons-list li:last-child {
  border-right: 2px solid var(--secondary-color);
  padding-right: 20px;
}

/* Willkommen */
.willkommen {
  padding-top: 0 !important;
  background-color: var(--bg-light);
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 50px;
  position: relative;
  z-index: 1;
}

.willkommen .img {
  order: -1;
  max-height: 300px;
}
.willkommen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.willkommen h2 {
  margin-top: 10px;
  margin-bottom: 30px;
  max-width: 630px;
}
.willkommen .p {
  margin-bottom: 30px;
  color: #353e3e !important;
}
.bg-dark {
  height: 900px;
  width: 100%;
  min-width: 100%;
  background-color: var(--bg-dark);
  position: absolute;
  top: 60rem;
  z-index: -2;
}
/* Erfolg */
.erflog {
  padding-block: 50px;
  position: relative;
  z-index: 2;
  background-color: #eaeaea;
}
.erflog h2 {
  color: #353e3e;
}
.erflog {
  margin-top: 0;
}

		.custom-hero::after {
  height: 66% !important;
			bottom:-206px !important;
	}
/* Energiegeladen */
.erflog {
  position: relative;
}
.erflog .yellow {
  display: none !important;
  text-wrap: nowrap;
  position: absolute;
  bottom: -94px;
  z-index: 100;
  font-family: "Raleway";
  font-weight: 100;
  font-size: 35px;
}
.erflog .buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.energiegeladen {
  background: url("./imgs/laden.png");
  background-size: cover;
  background-position: 0;
  background-repeat: no-repeat;
  height: 400px;
  display: flex;
  margin-top: 0 !important;
  position: relative;
  overflow-x: hidden;
  z-index: 1;
}
.energiegeladen::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #000000a1;
  position: absolute;
  z-index: -1;
}
.laden-text {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.laden-text .subheading,
.laden-text .h-secondary {
  text-align: center;
}
.energiegeladen .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: end;
  gap: 20px;
}
.energiegeladen .container p,
.energiegeladen .container h2 {
  max-width: 575px;
}
/* leistungen */
.leistungen .leistung-cards {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.leistungen .leistung-cards .top {
  display: flex;
}
.leistungen .leistung-cards .top .leistung-card {
  width: 100%;
}
.leistungen .leistung-cards .left {
  display: flex;
  height: 100%;
  min-height: 226px;
}

.leistungen .leistung-cards .leistung-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.leistungen .leistung-cards .leistung-card {
  position: relative;
  transition: all 0.3s ease;
  cursor: pointer;
}
.leistungen .leistung-cards .bottom .leistung-card {
  height: 100%;
}
.leistungen .leistung-cards .leistung-card::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 1;
  transition: all ease 0.3s;
}

.leistungen .leistung-cards .leistung-card:hover::after {
  transition: all ease 0.3s;
  opacity: 0.3;
}
.leistungen .leistung-cards .leistung-card:hover p {
  text-decoration: underline;
}
.leistungen .leistung-cards .leistung-card .leistung-card-icon,
.leistungen .leistung-cards .leistung-card p {
  z-index: 100;
}
.leistungen .leistung-cards .leistung-card p {
  position: relative;
}
.leistungen .leistung-cards .leistung-card .leistung-card-icon {
  content: url("https://georg.eilinghoff.de/wp-content/themes/georg/imgs/icons/white-arrow-rotate.png");
  transition: all 0.3s ease;
}
.leistungen .leistung-cards .leistung-card:hover .leistung-card-icon {
  content: url("https://georg.eilinghoff.de/wp-content/uploads/2025/10/arrow-on-hover-green.png");
  max-height: 51px;
  max-width: 51px;
  transition: all 0.3s ease;
}
.leistungen .leistung-cards .leistung-card:hover .p {
  color: var(--primary-color) !important;
  transition: all 0.3s ease;
}
.leistungen .leistung-cards .leistung-card-icon,
.leistungen .leistung-cards .leistung-card .p {
  position: absolute;
  z-index: 10;
  transition: all 0.3s ease;
}
.kunden .card .text p {
  padding-left: 0;
}
.leistungen .leistung-cards .leistung-card-icon {
  top: 30px;
  right: 30px;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.leistungen .leistung-cards .p {
  bottom: 30px;
  left: 30px;
  font-size: 20px;
  font-weight: lighter;
  font-family: "Relaway", sans-serif;
}
.leistungen-head {
  margin-bottom: 20px;
}
.leistungen .leistung-cards .right {
  order: -1;
  margin-bottom: -20px;
}
.komplettpaket .container .center {
  display: flex;
  align-items: start;
  justify-content: space-between;
  flex-direction: column;
}
.komplettpaket .container .left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.komplettpaket .right {
  display: grid;
  grid-template-columns: auto auto;
}
.vorteile .card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.vorteile .card ul {
  margin-block: 20px;
}
.vorteile .card ul li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.Kundenservice {
  background-color: var(--bg-light);
}
.Kundenservice .cards .card {
  background-color: #fff;
  max-width: 550px;
}
.Kundenservice .right {
  order: -1;
}
.Kundenservice .cards .card .text {
  padding: 20px;
}
.Kundenservice .container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.Kundenservice .container .cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.regional .container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
  justify-content: center;
}
.regional li img {
  width: 28px;
  height: 28px;
}
.projekte {
  background-color: var(--bg-dark);
}
.projekte .top {
  display: none;
}
.projekte .container {
}
.projekte .taps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-bottom: 70px;
  flex-wrap: wrap;
}
.projekte .taps .tap .tap-link {
  color: white;
  font-weight: lighter;
  border: 2px solid white;
  border-radius: 50px;
  background-color: transparent;
  transition: all 0.3s ease;
}
.projekte .taps .tap .tap-link:hover,
.projekte .taps .tap .tap-link.active {
  border: 2px solid transparent;
  background-color: var(--primary-color);
  transition: all 0.3s ease;
}
.projekte .taps .tap a {
  color: white;
  font-size: 14px;
  font-weight: 100;
  padding: 5px 30px;
}
.projekte .gallery {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 50px;
}

/* Mobile/Tablet Slider Styles */
.gallery-slider-container {
  position: relative;
  margin-bottom: 50px;
  width: 100%;
  overflow: hidden;
}

.gallery-slider {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
}

.gallery-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: translateX(100%);
  transition: all 0.5s ease-in-out;
}

.gallery-slide.active {
  opacity: 1;
  transform: translateX(0);
}

.gallery-slide .slide-content {
  padding: 0 10px;
  width: 100%;
  height: 100%;
}

.gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

.slider-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

.slider-dots .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}

.slider-dots .dot.active {
  background-color: var(--primary-color);
  transform: scale(1.2);
}

.foto-gallery {
  margin-top: 0 !important;
}
/* Responsive Display Controls */
.mobile-tablet-only {
  display: block;
}

.desktop-only {
  display: none;
}
.projekte .gallery .center img {
  max-height: 300px;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.projekte .gallery .left,
.projekte .gallery .right {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.machen {
  background-color: var(--bg-light);
}
.machen .container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
  justify-content: center;
}
.weg .map .map-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.weg .map {
  height: 300px;
  position: relative;
  margin-top: 50px;
}
.weg .map .map-link {
  position: absolute;
  top: calc(50% - 21px);
  background-color: white;
  padding: 5px 20px;
  border-radius: 50px;
  left: calc(50% - 174px);
  cursor: pointer;
  transition: all 0.3s ease;
}
.weg .map .map-link:hover {
  background-color: var(--primary-color);
}
.weg .map .map-link:hover .green {
  color: #fff;
  transition: all 0.3s ease;
}
.weg .map .map-link:hover img {
  content: url("./imgs/icons/location-white-2.png");
  transition: all 0.3s ease;
}

/* Footer
 */
.footer {
  padding-top: 0 !important;
}
.footer .top {
  background-color: var(--primary-color);
  position: absolute;
  right: 4%;
  bottom: 80px;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  cursor: pointer;
  padding: 5px;
}
.footer .top:hover {
  background-color: #fff;
  border: 2px solid var(--primary-color);
  transition: all 0.3s ease;
}
.footer .top:hover img {
  content: url("./imgs/icons/green-top.png");
  transition: all 0.3s ease;
}
.footer p,
.footer li,
.footer span,
.footer a {
  font-size: 16px !important;
  color: #353e3e !important;
  font-weight: 100;
  transition: all 0.3s ease;
}
.footer p:hover,
.footer a:hover {
  color: var(--primary-color) !important;
  transition: all 0.3s ease;
}
.footer .follow:hover h4 {
  color: var(--secondary-color);
  transition: all 0.3s ease;
}
.footer .list-title {
  font-size: 25px;
  font-weight: 400;
  font-family: "Relaway", sans-serif;
}
.footer ul li img {
  max-width: 10px;
  max-height: 10px;
}
.footer ul li .img {
  padding: 5px;
  border-radius: 50%;
  border: 1px solid #353e3e;
  margin-bottom: 6px;
}
.footer .navigation li:hover a {
  color: var(--primary-color) !important;
  transition: all 0.3s ease;
}
.footer .navigation li:hover img {
  content: url("./imgs/icons/rotate-white.png");
  transition: all 0.3s ease;
}
.footer .navigation li:hover .img {
  background-color: var(--primary-color);
  border: 1px solid transparent;
  transition: all 0.3s ease;
}
.footer .container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.footer-bottom {
  background-color: var(--bg-dark);
  padding-block: 20px;
}
.footer-bottom .container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.footer-bottom .container .right-links {
  display: flex;
  gap: 20px;
}
.footer-bottom .container .right-links a {
  color: #fff;
  position: relative;
  transition: all 0.3s ease;
}
.footer-bottom .container .right-links a:hover {
  color: var(--primary-color);
  transition: all 0.3s ease;
}
.footer-bottom .container .right-links a:not(:last-child):after {
  width: 2px;
  height: 80%;
  background-color: #fff;
  content: "";
  position: absolute;
  right: -10px;
  top: 0;
}

/* LEISTUNGEN SEITEN */
.leistung-hero {
  position: relative;
  z-index: 10;
  margin-bottom: 152px;
  height: unset !important;
  height: unset !important;
  margin-top: 60px !important;
}
.leistung-hero::after {
  content: "";
  position: absolute;
  top: unset;
  left: 0;
  bottom: -164px;
  width: 100%;
  height: 90%;
  background-color: var(--bg-dark);
  z-index: -1;
}
.leistung-hero .hero-img {
  margin-top: 50px;
}
.leistung-hero .hero-img img {
  max-height: 300px !important;
}
.leistung-hero .hero-para {
  font-size: 16px;
  margin-top: 50px;
  font-weight: 100;
  max-width: 1420px;
  position: absolute;
  bottom: -200px;
  padding-right: 20px;
}
.alle_leistungen {
  padding-top: 0;
  background-color: var(--bg-light);
}
.filter-buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  white-space: nowrap;
  overflow: scroll;
}
.sticky-buttons {
  position: sticky;
  top: 150px;
  padding: 15px 0;
  z-index: 100;
  transition: opacity 0.3s ease;
  background-color: var(--bg-light);
}
.sticky-hidden {
  opacity: 0;
  pointer-events: none;
}
.filter-buttons button {
  background-color: var(--primary-color);
  color: #fff;
  border: none;
  padding: 10px 20px;
  padding-top: 12px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: lighter;
  cursor: pointer;
  transition: all 0.3s ease;
}
.filter-buttons button:hover {
  background-color: var(--bg-dark);
  transition: all 0.3s ease;
}
.filter-buttons button.active {
  background-color: var(--bg-dark);
  transition: all 0.3s ease;
}
.alle_leistungen .cards {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 20px;
  column-gap: 20px;
  place-items: center;
}
.alle_leistungen .cards .card {
  background-color: #fff;
  max-width: 550px;
  position: relative;
}
.alle_leistungen .cards .card .img-card {
  width: 100%;
  object-fit: cover;
}

.alle_leistungen .cards .card .text {
  padding-inline: 20px;
  padding-block: 20px;
}
.alle_leistungen .cards .card .text .h-quaternary {
  font-family: "Relaway", sans-serif;
  font-size: 25px !important;
}
.alle_leistungen .cards .card .card-icon {
  border-radius: 50%;
  border: 3px solid var(--secondary-color);
  position: absolute;
  bottom: 10px;
  right: 20px;
  padding: 13px;
  transition: all 0.3s ease;
}

.alle_leistungen .cards .last {
  background-color: transparent !important;
  grid-column: 1;
  max-width: 850px;
}
.alle_leistungen .cards .card:hover .card-icon {
  background-color: var(--primary-color);
  border: 3px solid transparent;
  transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.alle_leistungen .cards .card .card-icon img {
  max-width: 18px !important;
}
.alle_leistungen .cards .card:hover .card-icon img {
  content: url("./imgs/icons/rotate-white.png");
  transition: all 0.3s ease;
  max-width: 18px !important;
}

/* Unterseite */
.komplettpaket {
  position: relative;
  z-index: 10;
  margin-top: 0;
}
.komplettpaket .container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
  justify-content: center;
}

.einfach .cards {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 60px;
  counter-reset: card-counter;
  align-content: center;
  justify-content: center;
}
.einfach {
  background-color: #eaeaea;
}
.einfach .cards .card {
  max-width: 100%;
  background-color: #fff;
  position: relative;
}
.einfach .cards .card .p,
.einfach .cards .card .card-title {
  padding: 0;
  padding-inline: 0;
}
.einfach .cards .card .card-title {
  font-size: 20px;
}
.einfach .cards .card::before {
  /* add number to the before as a counter */
  content: counter(card-counter);
  counter-increment: card-counter;
  position: absolute;
  width: 50px;
  height: 50px;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #d9000d;
  color: #fff;
  padding: 0;
  border-radius: 50%;
  font-size: 45px;
  text-align: center;
}
.einfach .cards .card .text {
  padding: 0;
  padding-inline: 20px;
  margin-block: 30px;
}

.card-title {
  color: #d9000d;
  padding-left: 10px;
  margin-bottom: 20px;
  font-family: "Relaway", sans-serif;
  font-size: 22px;
}
.wi .wohlige {
  background-color: var(--bg-light);
}
.wohlige .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  justify-content: center;
}
.wohlige li {
  position: relative;
  margin-left: 20px;
}
.wohlige li::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #d9000d;
  border-radius: 50%;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
}
.kunden .container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  row-gap: 20px;
  column-gap: 20px;
}
.kunden .left {
  max-width: 440px;
}
.kunden .right {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.kunden .card {
  background-color: #fff;
  max-width: 530px;
}
.kunden .card .text {
  padding: 20px;
}
.kunden .card .text p {
  padding-left: 10px;
}
/* Unterseite */
/* Datenschutz */
.datenschutz {
  padding-top: 150px;
  padding-bottom: 150px;
}
.leist .cards .card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.leist .cards .card p {
  text-transform: uppercase;
}
.leist .cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-block: 100px;
  row-gap: 20px;
}
.leist .cards img {
  max-width: 130px;
  max-height: 130px;
}
.jobs .card {
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  transition: all 0.3s ease;
  background-color: transparent;
  padding-top: 14px;
}
.jobs .card:first-child {
  border-top: 1px solid #fff;
}
.jobs .card h4 {
  width: 550px;
}
.jobs .card:hover {
  background-color: rgb(211, 174, 40);
  cursor: pointer;
  transition: all 0.3s ease;
}
/* Datenschutz */
/* Responsive Breakpoints - Mobile First */
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .bg-dark {
    top: 64rem;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.hero .hero-content h1 { 
		font-size:26px;
	}
	.leistung-hero .hero-para {
	  bottom: -120px;		
	}

  .buttons-list .container {
    display: flex;
    flex-direction: row !important;
    gap: 100px !important;
  }
  .bg-dark {
    top: 88rem;
  }
  .weg .map .map-link {
    left: calc(50% - 174px);
  }
  .footer-bottom .container {
    justify-content: space-between;
  }

  /* Tablet Slider Improvements */
  .gallery-slide img {
    height: 300px;
  }

  .slider-dots .dot {
    width: 14px;
    height: 14px;
  }
  .hero {
    min-height: 500px;
    margin-top: 140px;
  }
  .hero .hero-img img {
    max-height: 76vh;
    min-height: 500px;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
		.hero .hero-content h1 { 
		font-size:33px;
	}

  .bg-dark {
    top: 97rem;
  }
  .Kundenservice .container {
    grid-template-columns: 1fr 1fr;
  }
  .projekte .gallery {
    align-items: center;
    justify-content: center;
  }
  .weg .map .map-link {
    left: calc(50% - 174px);
  }
  .footer .container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .custom-hero {
    margin-bottom: 210px !important;
  }
  .einfach .cards {
    grid-template-columns: 1fr 1fr;
    row-gap: 20px;
    column-gap: 20px;
  }
  .leist .cards {
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 30px;
  }
}

/* Extra Large devices (1200px and up) */
@media (min-width: 1200px) {
		.custom-hero::after {
  height: 66% !important;
}
		.hero .hero-content h1 { 
		font-size:60px;
	}
  .laden-text {
    align-items: start;
  }
  .komplettpaket .right {
    display: block;
  }
  .laden-text .subheading,
  .laden-text .h-secondary {
    text-align: start;
  }
  .alle_leistungen {
    padding-top: 100px;
  }
  .card-title {
    font-size: 35px;
  }
  .einfach .cards .card .card-title {
    font-size: 26px;
  }
  .energiegeladen::before {
    display: none;
  }
  .projekte .gallery .center img {
    max-height: unset;
  }
  .einfach .cards .card img {
    width: 100%;
    object-fit: cover;
  }
  .einfach .cards .card .card-title,
  .einfach .cards .card .p {
    padding-inline: 20px;
  }
  .logo {
    max-width: 300px;
  }
  /* SCHRITTEN */
  .schritten .container .schritten-content {
    display: flex;
    gap: 50px;
  }
  .schritten .container .schritten-content .image-container {
    flex: 1;
  }
  .schritten .container .schritten-content .step-list {
    flex: 2;
  }
  .image-container .circle-white {
    bottom: 60px;
    right: -65px;
  }
  .erflog {
    padding-block: 160px;
  }
  /* Unterseite */
  .komplettpaket {
    margin-top: 0;
  }
  .scroll {
    display: flex;
  }
  /* Fixed Items */
  .instagram {
    position: absolute;
    bottom: unset;
    left: unset;
    transform: unset;
    right: -15px;
    rotate: 90deg;
    top: 220px;
  }
  .instagram .p {
    font-weight: 100;
    font-size: 16px;
  }
  .bottom-nav .container .icons {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .menu-toggle {
    display: none;
  }

  header .bottom-nav {
    max-width: 100%;
    width: 100%;
    background-color: #fff;
    color: var(--secondary-color);
    padding-block: 18px;
    max-height: 100px;
    display: flex;
    align-items: normal;
  }

  .nav {
    all: unset;
  }

  .nav .nav-list {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-left: 0;
    padding-left: 0;
  }
  .nav .nav-list .nav-item .nav-link {
    color: var(--secondary-color);
  }
  .nav .nav-list .nav-item {
    border: none !important;
  }
  .nav .btn-orange,
  .nav .folge,
  .nav .no-border {
    display: none;
  }
  /* Accordion in desktop */
  .accordion .plus-icon {
    display: none;
  }

  .accordion-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background-color: var(--bg-light);
    margin-bottom: unset;
    padding-block: 50px;
    position: absolute;
    top: 142px;
    left: 50%;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
    transform: translateX(-50%);
    opacity: 0; /* Start with opacity 0 for closed state */
    visibility: hidden; /* Hide the content initially */
    transition: all 0.3s ease; /* Smooth transition for opacity and visibility */
  }

  .accordion.open + .accordion-content {
    opacity: 1; /* Fully visible when open */
    visibility: visible; /* Show the content */
    transition: all 0.3s ease; /* Smooth transition for opacity and visibility */
  }
  .accordion.open + .accordion-content img {
    display: block;
    max-width: 240px;
    width: 100%;
    margin-bottom: 30px;
    transition: all 0.4s ease; /* Smooth transition for opacity and visibility */
  }
  .accordion-content a {
    border: none;
    padding: 0;
    margin: 0;
  }
  .accordion.open span:not(:last-child) {
    color: var(--primary-color) !important;
    margin-bottom: 0;
    text-decoration: underline !important;
  }
  .nav .first-menu {
    margin-right: 54px;
    display: block;
  }
  .nav .first-menu-title {
    font-size: 25px;
    color: var(--primary-color);
    margin-bottom: 14px;
  }
  .nav .first-menu-list {
    margin-bottom: 10px;
  }
  .hero {
    min-height: 65vh;
	  margin-top:160px;
  }
  .buttons-list {
    margin-top: 0;
    padding-left: 100px;
  }
  .hero .hero-img img {
    object-position: center;
    max-height: 100vh;
    min-height: 65vh;
  }
  .buttons-list .container {
    align-items: center;
    gap: 150px;
  }
  .buttons-list .container .slide-list {
    gap: 20px;
  }
  .buttons-list .container .slide-arrows {
    display: flex;
    gap: 20px;
  }
  .willkommen {
    padding-top: 75px !important;
    background-color: var(--bg-light);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }
  .willkommen .img {
    order: 1;
    flex: 1;
    max-height: unset;
  }
  .willkommen .container {
    flex: 1;
  }
  .willkommen .container {
    margin-left: 40px;
  }
  .bg-dark {
    top: 52rem;
  }
  .leistungen .leistung-cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    justify-content: center;
  }
  .leistungen .right {
    width: 100%;
  }
  .leistungen .left {
    width: 100%;
  }
  .leistungen .left .leistung-card,
  .leistungen .left .bottom {
    width: 100%;
  }

  .leistungen .leistung-cards .leistung-card-img {
    max-height: unset;
  }
  .leistungen .leistung-cards .leistung-card {
    margin-bottom: 20px;
  }
  .leistungen .leistung-cards .leistung-card-img {
    max-height: 280px;
  }
  .vorteile .card {
    flex-direction: row;
    gap: 40px;
  }
  .vorteile .card .left {
    flex: 1;
  }
  .vorteile .card .right {
    flex: 1.2;
  }
  .vorteile .card ul .p {
    font-size: 24px;
    font-family: "Relaway", sans-serif;
  }
  .Kundenservice .container {
    flex-direction: row;
    gap: 60px;
  }
  .Kundenservice .container .right {
    order: 1;
  }
  .Kundenservice .cards h2 {
    font-size: 50px;
  }
  .regional .container {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .regional .container .left,
  .regional .container .right {
    flex: 1;
  }
  .regional .container .right {
    display: flex;
    align-items: end;
    justify-content: end;
  }
  .projekte .gallery {
    flex-direction: row;
    align-items: stretch;
  }

  /* Desktop Display Controls */
  .mobile-tablet-only {
    display: none;
  }

  .desktop-only {
    display: block;
  }
  .machen .container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .machen .container {
    flex-direction: row;
    gap: 50px;
    align-items: stretch;
    justify-content: center;
  }
  .machen .container .left,
  .machen .container .right {
    flex: 1;
  }
  /* LEISTUNGEN SEITEN */
  .leistung-hero {
    position: relative;
    height: 78vh !important;
    z-index: 10;
  }

  .leistung-hero::after {
    content: "";
    position: absolute;
    top: 44.5%;
    left: 0;
    width: 100%;
    height: 65%;
    background-color: var(--bg-dark);
    z-index: -11;
  }
  .unter-seite-hero-paragraph {
    position: absolute;
    bottom: 10%;
    left: 46%;
    transform: translateX(-50%);
    color: #fff;
    width: 100%;
  }

  .leistung-hero .hero-para {
    position: absolute;
    bottom: -40px;
    font-size: 26px;
    font-weight: 100;
    max-width: 1420px;
  }
  .filter-buttons button {
    font-size: 22px;
  }
  .alle_leistungen .cards {
    grid-template-columns: 1fr 1fr;
    place-items: center;
  }
  .custom-hero {
    margin-bottom: 173px !important;
  }
  .komplettpaket .container {
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 30px;
  }
  .komplettpaket .container .left,
  .komplettpaket .container .center,
  .komplettpaket .container .right {
    flex: 1 1 50%;
  }
  .komplettpaket .container .left,
  .komplettpaket .container .right {
    max-width: max-content;
  }
  .wohlige .container .left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .wohlige .container {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  .wohlige .container .left {
    flex: 1;
  }
  .wohlige .container .right {
    flex: 1.2;
  }
  .kunden .right .card {
    flex: 1;
  }
  .kunden .container {
    display: grid;
    grid-template-columns: 460px auto;
    grid-template-rows: 1fr;
    column-gap: 100px;
  }
}

/* Extra Extra Large devices (1440px and up) */
@media (min-width: 1440px) {
		.hero .hero-content h1 { 
		font-size:60px;
	}
  .Kundenservice .right {
    order: unset;
  }
  .footer .top {
    right: 4%;
    bottom: 5.2%;
  }
  .energiegeladen {
    height: 75vh;
  }
  .erflog {
    margin-top: -0;
  }
  .hero .hero-content {
    margin-top: 0px;
  }
  .hero .hero-img img {
    max-height: 600px !important;
    height: 100%;
    max-width: 1746px;
    width: 100%;
    position: absolute;
    z-index: -1;
    object-position: unset;
  }
  .buttons-list {
    margin-top: 0;
  }
  .willkommen .container {
    margin-left: 160px;
  }
  .leistungen .leistung-cards {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    justify-content: center;
  }
  .leistungen .leistung-cards .leistung-card-img {
    max-height: unset;
  }
  .leistungen .leistung-cards .leistung-card {
    margin-bottom: 0;
  }
  .leistungen .leistung-cards .left,
  .leistungen .leistung-cards .right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
  .leistungen .leistung-cards .bottom,
  .leistungen .leistung-cards .top {
    display: flex;
    gap: 20px;
  }
  .leistungen .leistung-cards .right {
    order: 1;
  }
  .Kundenservice .cards {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
    justify-content: center;
  }
  .Kundenservice .cards .card {
    flex: 1;
  }
  .Kundenservice .cards .card .text {
    padding: 30px;
  }
  .Kundenservic e .container {
    grid-template-columns: 1fr 400px;
  }
  .Kundenservice .container .cards {
    grid-template-columns: 470px 470px;
  }
  .machen .container {
    gap: 100px;
  }
  .weg .map .map-link {
    left: calc(50% - 210px);
  }
  .weg .map {
    height: 400px;
  }
  .leistung-hero .hero-para {
    font-size: 30px;
  }
  .filter-buttons {
    gap: 10px;
  }
  .alle_leistungen .cards {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .alle_leistungen .cards .last {
    grid-column: 2 / 4;
  }
  .komplettpaket .container {
    gap: 60px;
  }
  .einfach {
    position: relative;
  }
  .einfach::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--bg-light);
    top: 38.7%;
    left: 0;
    z-index: -1;
  }
  .einfach .cards {
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 20px;
    column-gap: 20px;
  }
  .wohlige .container {
    gap: 50px;
  }
  .kunden .right {
    flex-direction: row;
  }
  .leist .cards {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    row-gap: 60px;
  }
}

/* 4K screens (1920px and up) */
@media (min-width: 1920px) {
		.hero .hero-content h1 { 
		font-size:70px;
	}
  .vorteile .card ul .p {
    font-size: 30px;
    font-family: "Relaway", sans-serif;
  }
  .machen .container {
    gap: 150px;
  }
  .komplettpaket .container {
    gap: 105px;
  }
  .einfach::after {
    top: 47%;
  }
}

/* Foto Gallery Styles */
.alle__referenzen {
  background-color: var(--bg-light);
}

.foto-gallery {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  margin-top: 0;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(auto-fit, 250px);
  gap: 15px;
  padding: 20px 0;
}

/* Simple 3-column layout - 3 images per row */
.gallery-item:nth-child(1) {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

.gallery-item:nth-child(2) {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.gallery-item:nth-child(3) {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
}

.gallery-item:nth-child(4) {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}

.gallery-item:nth-child(5) {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.gallery-item:nth-child(6) {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
}

.gallery-item:nth-child(7) {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}

.gallery-item:nth-child(8) {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}

.gallery-item:nth-child(9) {
  grid-column: 3 / 4;
  grid-row: 3 / 4;
}

/* Additional items continue the pattern */
.gallery-item:nth-child(10) {
  grid-column: 1 / 2;
  grid-row: 4 / 5;
}

.gallery-item:nth-child(11) {
  grid-column: 2 / 3;
  grid-row: 4 / 5;
}

.gallery-item:nth-child(12) {
  grid-column: 3 / 4;
  grid-row: 4 / 5;
}

.gallery-item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.gallery-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
}

.gallery-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(0, 134, 47, 0.7),
    rgba(53, 62, 62, 0.7)
  );
  opacity: 0;
  transition: all 0.3s ease;
}

.gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(0, 134, 47, 0.8),
    rgba(53, 62, 62, 0.8)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all 0.3s ease;
}

.gallery-item:hover .gallery-overlay {
  opacity: 1;
}

.gallery-icon {
  font-size: 3rem;
  color: white;
  transform: scale(0.5);
  transition: all 0.3s ease;
}

.gallery-item:hover .gallery-icon {
  transform: scale(1);
}

.gallery-item:hover::after {
  opacity: 0;
}

.gallery-header {
  margin-bottom: 50px;
}

/* Gallery Filter Buttons */
.gallery-filters {
  justify-content: center;
  margin-bottom: 30px;
}

.gallery-filters .filter-btn {
  margin: 5px;
  font-size: 14px;
  padding: 8px 20px;
}

/* Hide filtered items */
.gallery-item.hidden {
  display: none;
}

.gallery-item.show {
  display: block;
  animation: fadeIn 0.5s ease-in-out;
}

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

/* Mobile Responsive */
@media (min-width: 768px) {
		.custom-hero::after {
  height: 41% !important;
	}}
@media (max-width: 768px) {

  .gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 15px;
  }

  .gallery-item:nth-child(1),
  .gallery-item:nth-child(2),
  .gallery-item:nth-child(3),
  .gallery-item:nth-child(4),
  .gallery-item:nth-child(5),
  .gallery-item:nth-child(6),
  .gallery-item:nth-child(7),
  .gallery-item:nth-child(8),
  .gallery-item:nth-child(9),
  .gallery-item:nth-child(10),
  .gallery-item:nth-child(11),
  .gallery-item:nth-child(12) {
    grid-column: 1;
    grid-row: auto;
    height: 280px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(auto-fit, 220px);
    gap: 12px;
  }

  .gallery-item:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .gallery-item:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .gallery-item:nth-child(3) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  .gallery-item:nth-child(4) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  .gallery-item:nth-child(5),
  .gallery-item:nth-child(6),
  .gallery-item:nth-child(7),
  .gallery-item:nth-child(8),
  .gallery-item:nth-child(9),
  .gallery-item:nth-child(10),
  .gallery-item:nth-child(11),
  .gallery-item:nth-child(12) {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Lightbox Styles */
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  align-items: center;
  justify-content: center;
}

.lightbox-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 8px;
}

.lightbox-close {
  position: absolute;
  top: -40px;
  right: 0;
  color: white;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  z-index: 10000;
  transition: all 0.3s ease;
}

.lightbox-close:hover {
  color: var(--primary-color);
  transform: scale(1.1);
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.lightbox-prev,
.lightbox-next {
  color: white;
  font-size: 30px;
  font-weight: bold;
  cursor: pointer;
  padding: 10px 15px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  transition: all 0.3s ease;
  pointer-events: all;
  user-select: none;
}

.lightbox-prev:hover,
.lightbox-next:hover {
  background-color: var(--primary-color);
  transform: scale(1.1);
}

.lightbox-prev {
  margin-left: -50px;
}

.lightbox-next {
  margin-right: -50px;
}

@media (max-width: 768px) {
  .lightbox-close {
    top: -50px;
    font-size: 35px;
  }

  .lightbox-prev,
  .lightbox-next {
    font-size: 25px;
    padding: 8px 12px;
  }

  .lightbox-prev {
    margin-left: -30px;
  }

  .lightbox-next {
    margin-right: -30px;
  }
}
