body {
  background-color: #2b2a29;
  color: #fff;
}

a {
  color: #6f9fff;
}

a:hover {
  color: #cecece;
}

.btn-primary {
  background-color: #0ee0ea;
  border-color: #0ee0ea;
  color: #000000;
}

.btn-primary:hover {
  background-color: #727d7d;
  border-color: #727d7d;
  color: #000000;
}

.container-banner {
  margin: 0 0 1rem;
}

.banner_over_header.no-card.logo {
  max-width: 1300px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
}

@media only screen and (min-width: 0px) and (max-width: 499px) {
#mod-custom110 {
  display: none;
}
#djslider-loader122 {
  display: none;
}
#djslider-loader123 {
  margin-top: 10px;
}
.container-banner {
  margin: 0 0 0rem;
}
.kontaktformular {
  width: 100%;
}
.bavaria {
  width: 100%;
}
}

@media only screen and (min-width: 500px) {
#mod-custom118 {
  display: none;
}
#djslider-loader123 {
  display: none;
}
.kontaktformular {
  width: 50%;
}
.bavaria {
  width: 50%;
}
}

.container-banner.full-width {
  background-color: #2b2a29;
}

.container-header {
  background-color: #2b2a29;
  background-image: none;
}

/* mobile menu zentriert */
.container-header .container-nav {
  justify-content: center;
}
.container-nav nav {
    justify-content: center;
}
.metismenu.mod-menu .metismenu-item {
  justify-content: center;
}
/* mobile menu zentriert - Ende */

.container-header .navbar-toggler {
  color: #999;
  cursor: pointer;
  border: 1px solid #999;
}

.home-menu-icon {
  margin-bottom: 2px;
}

#web {
  background-image: url("/images/design/web.webp");
  padding: 20px;
}

#social_media {
  background-image: url("/images/design/social-media.webp");
  padding: 20px;
}

#brand {
  background-image: url("/images/design/brand.webp");
  padding: 20px;
}

#photography {
  background-image: url("/images/design/photography.webp");
  padding: 20px;
}

#inhalt-internet {
  background-color: #fff;
  padding: 20px;
  color: #000;
}

#inhalt-internet .inhalt-rechts {
  text-align: center;
}

#landkarte {
  display: flex;
  padding: 20px;
}

textarea#jform_contact_message {
  height: 100px;
}

.control-group {
  width: 100%;
}

@media only screen and (max-width: 991px) {
#landkarte {
  flex-wrap: wrap;
}
.bavaria {
  margin-right: auto;
  margin-left: auto;
}
.kontaktformular {
  margin-left: unset;
}
.text-nl {
  font-size: 1.4rem;
}
}

a.heading {
  font-size: 80px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
}

@media only screen and (min-width: 480px) and (max-width: 619px) {
a.heading {
  font-size: 60px;
}
}

@media only screen and (max-width: 479px) {
a.heading {
  font-size: 42px;
}
}

.collapse {
  color: #000;
}

.inhalt-container {
  display: flex;
}

.inhalt-links {
  text-align: center;
  font-size: 32px;
  color: #717171;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

@media only screen and (min-width: 992px) {
.inhalt-links {
  width: 20%;
  margin-right: 20px;
}
.inhalt-rechts {
  width: 80%;
}
.container-header .container-nav {
  justify-content: center;
}
.bavaria img {
  max-width: 400px;
}
.text-nl {
  font-size: 2rem;
}
}

@media only screen and (min-width: 500px) and (max-width: 991px) {
.inhalt-links {
  width: 30%;
  margin-right: 20px;
}
.inhalt-rechts {
  width: 70%;
}
}

@media only screen and (max-width: 499px) {
.inhalt-container {
  flex-wrap: wrap;
}
.inhalt-links {
  width: 100%;
}
}

.hashtag {
  border: 1px solid;
  background-color: #2b2a29;
  color: #ffffff;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  margin: 4px 2px;
  border-radius: 5px;
}

.button {
  background-color: #2b2a29;
  border: none;
  color: white;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  cursor: pointer;
  border-radius: 5px;
}

.button:hover {
  color: white;
}

.back-to-top-link:hover, .back-to-top-link:focus {
  background-color: #2b2a29;
}

.footer .grid-child {
  justify-content: center;
  padding: 0px;
}

.footer {
  background-color: #2b2a29;
  background-image: none;
}

.footer .mod-menu {
  flex-direction: row;
}

.footer .mod-menu a {
  margin: 0px 10px;
}

.map-container {
  position: relative;
  width: 99%;
  max-width: 1000px;
  margin: 0px auto;
}

/* CSS fuer Landkarte */

.map-container img {
  max-width: 100%;
  height: auto;
  display: block;
}

.map-link {
  position: absolute;
  width: 35%; /* Größe des klickbaren Bereichs (anpassbar) */
  height: 6%;
  border-radius: 50%;
  /* Optional zur Kontrolle: */
  /* background-color: rgba(255, 0, 0, 0.3); */
  z-index: 10;
}

/* Link Positionen auf Bild */

.waldsassen {
  top: 18%;
  left: 34%;
}

.regensburg {
  top: 42%;
  left: 33.5%;
}

.landshut {
  top: 60%;
  left: 39%;
}

/* CSS fuer pulsierenden Unterstrich */

.pulsating-underline {
  text-decoration: none;
  display: inline-block; /* Für die Animation */
  position: relative; /* Für die absolute Positionierung des Unterstrichs */
}

.pulsating-underline::after {
  content: '';
  position: absolute;
  bottom: -2px; /* Abstand zum Text */
  left: 0;
  width: 100%;
  height: 2px; /* Dicke des Unterstrichs */
  background-color: currentColor; /* Farbe des Unterstrichs */
  animation: pulse 5s infinite; /* Animation definieren */
}

@keyframes pulse {
  0% {
    transform: scaleX(0); /* Startzustand: Unterstrich ist 0% breit */
    opacity: 0.5; /* Startzustand: Sichtbarkeit */
  }
  50% {
    transform: scaleX(1); /* 50% Zustand: Unterstrich ist voll breit */
    opacity: 1; /* 50% Zustand: volle Sichtbarkeit */
  }
  100% {
    transform: scaleX(0); /* Endzustand: Unterstrich ist 0% breit */
    opacity: 0.5; /* Endzustand: Sichtbarkeit */
  }
}

.kontaktformular.newsletter {
 border: 1px solid red;
}

/* CSS fuer Rahmen um Kontaktformular bei klick auf Link*/

.kontaktformular {
  padding: 20px;
  border: 2px solid transparent;
  transition: box-shadow 0.4s ease-in-out, border-color 0.4s ease-in-out;
}

.kontaktformular.highlight {
  border-color: rgba(255, 0, 0, 0.5);
  box-shadow: 0 0 10px rgba(255, 0, 0, 0.4);
}