body {
  font-family: 'Atkinson Hyperlegible', sans-serif;
  font-size: 1.2rem;
}

.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}

.hero-background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: black;
}

.section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.section-full {
  height: 100vh; /* oder 90vh, je nach Geschmack */
  display: flex;
  align-items: center;
  justify-content: flex-start; /* optional */
  position: relative;
  overflow: hidden;
}


/*
.btn-braviso {
  background-color: #6C9CA4;
  border: none;
  color: #ffffff;
  transition: background-color 0.10s ease;
}

.btn-braviso:hover {
  background-color: #A8DADC;
  color: #ffffff;
}
  */

.btn-braviso {
  background-color: #6C9CA4;
  border: none;
  color: #ffffff;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

.btn-braviso:hover {
  background-color: #A8DADC;
  color: #ffffff;
  box-shadow: 0 0.5rem 0.8rem rgba(0, 0, 0, 0.2);
  transform: translateY(-2px); 
}

.btn-braviso:active {
  background-color: #BEE2E5 !important;
  color: #ffffff !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); /* leichter „Eindruck“-Effekt */
  transform: translateY(1px); 
}


.bs-icon {
  --bs-icon-size: .75rem;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: var(--bs-icon-size);
  width: calc(var(--bs-icon-size) * 2);
  height: calc(var(--bs-icon-size) * 2);
  color: var(--bs-primary);
}



/* navar start */
.navbar-shrink {
  transition: all 0.3s ease;
}

.navbar-shrink .navbar-brand img,
.navbar-shrink .navbar-brand span,
.navbar-shrink .nav-link,
.navbar-shrink .btn-braviso {
  transition: all 0.3s ease;
}

.navbar-shrink.shrunk {
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
}

.navbar-shrink.shrunk .navbar-brand img {
  height: 30px !important;
}

.navbar-shrink.shrunk .navbar-brand span {
  font-size: 1.2rem;
}

.navbar-shrink.shrunk .nav-link {
  font-size: 0.9rem;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.navbar-shrink.shrunk .btn-braviso {
  font-size: 0.85rem;
  padding: 0.3rem 0.75rem;
}

/* navar ende */

.hero-overlay {
  background-color: rgba(0, 0, 0, 0.8);
  z-index: -1;
}

.hero-content {
  position: relative;
  z-index: 1;
  color: white;
  padding-left: 3rem;
  padding-right: 3rem;
}

@media (min-width: 992px) {
  .hero-content {
    padding-left: 6rem;
    padding-right: 3rem;
  }
}

#visitor-name {
  max-width: 300px;
  font-size: 1.5rem;
  padding: 0.5rem;
}

#dynamic-text {
  text-align: left;
}


/* Card Zoom Start */
.card-hover-zoom {
  transition: transform 0.3s ease,  box-shadow 0.4s ease;
}


.card-hover-zoom:hover {
  transform: scale(1.03);
  box-shadow: 0 0.5rem 1.2rem rgba(0, 0, 0, 0.15);
}
/* Card Zoom Ende */

form .form-check-input:checked {
  background-color: #A8DADC !important;
  border-color: #A8DADC !important;
}


/* Überschriften */
h1 {
  font-size: 2.5rem !important;     /* ~40px */
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
}

h2 {
  font-size: 2rem !important;       /* ~32px */
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.9rem;
}

h3 {
  font-size: 1.75rem !important;     /* ~28px */
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.8rem;
}

h4 {
  font-size: 1.5rem !important;      /* ~24px */
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.75rem;
}

h5 {
  font-size: 1.25rem !important;     /* ~20px */
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.6rem;
}

h6 {
  font-size: 1rem !important;        /* ~16px */
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

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