/*!------------------------------------------------------------------
[MAIN STYLESHEET]

PROJECT:	GeXaSo
VERSION:	Version 1.0
-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[TABLE OF CONTENTS]
-------------------------------------------------------------------*/
    
/* Trauergrau 
html {
 -moz-filter: grayscale(100%);
 -webkit-filter: grayscale(100%);
 filter: gray; 
 filter: grayscale(100%);
}
*/
/*  typography */
<link rel="stylesheet" href="fonts.css">;
@font-face {
  font-family: 'futura-bold';
  src: url("../fonts/Futura-Bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

body {
  line-height: 1.2;
  font-family: "Poppins", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: 15px;
  color: #5c5c77;
}

p, .paragraph {
  font-weight: 400;
  color: #5c5c77;
  font-size: 15px;
  line-height: 1.9;
  font-family: "Poppins", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  color: #1e1e4b;
  font-family: "futura-bold";
  font-weight: 700;
  line-height: 1.2;
}

h1, .h1 {
  font-size: 60px;
}

@media (max-width: 575px) {
  h1, .h1 {
    font-size: 45px;
  }
}

h2, .h2 {
  font-size: 40px;
}

@media (max-width: 575px) {
  h2, .h2 {
    font-size: 30px;
  }
}

h3, .h3 {
  font-size: 25px;
}

@media (max-width: 575px) {
  h3, .h3 {
    font-size: 20px;
  }
}

h4, .h4 {
  font-size: 20px;
}

@media (max-width: 575px) {
  h4, .h4 {
    font-size: 18px;
  }
}

h5, .h5 {
  font-size: 18px;
}

@media (max-width: 575px) {
  h5, .h5 {
    font-size: 16px;
  }
}

h6, .h6 {
  font-size: 16px;
}

@media (max-width: 575px) {
  h6, .h6 {
    font-size: 14px;
  }
}

/* Button style */
.btn {
  font-size: 16px;
  font-family: "Poppins", sans-serif;
  text-transform: capitalize;
  padding: 15px 40px;
  border-radius: 0;
  font-weight: 500;
  border: 0;
  position: relative;
  z-index: 1;
  transition: .2s ease;
  overflow: hidden;
}

.btn::before {
  position: absolute;
  content: "";
  height: 80%;
  width: 100%;
  left: 0;
  bottom: 10%;
  z-index: -1;
  transition: -webkit-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
  transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
}

.btn:focus {
  outline: 0;
  box-shadow: none !important;
}

.btn:active {
  box-shadow: none;
}

.btn:hover::before {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}

.btn-sm {
  font-size: 14px;
  padding: 10px 35px;
}

.btn-xs {
  font-size: 12px;
  padding: 5px 15px;
}

.btn-primary {
  background: #1f2f69;
  color: #fff;
}

.btn-primary::before {
  background: #fff;
}

.btn-primary:active {
  background: #1f2f69 !important;
  color: #1f2f69;
}

.btn-primary:active::before {
  height: 80%;
}

.btn-primary:hover {
  background: #1f2f69;
  color: #1f2f69;
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #1f2f69;
  border-color: #1f2f69;
}

.btn-secondary {
  background: #fff;
  color: #1f2f69;
  border: 1px solid #fff;
}

.btn-secondary::before {
  background: #1f2f69;
}

.btn-secondary:active {
  background: #1f2f69;
  color: #fff;
  border: 1px solid #fff;
}

.btn-secondary:hover {
  background: #fff;
  color: #fff;
  border: 1px solid #fff;
}

.btn-primary-outline {
  border: 1px solid #1f2f69;
  color: #1f2f69;
  background: transparent;
}

.btn-primary-outline::before {
  background: #fff;
}

.btn-primary-outline:hover {
  background: #1f2f69;
  color: #1f2f69;
}

.btn-primary-outline:active {
  background: #1f2f69;
  color: #fff;
}

body {
  background-color: #fff;
  overflow-x: hidden;
}

::-moz-selection {
  background: #ffcd6e;
  color: #fff;
}

::selection {
  background: #ffcd6e;
  color: #fff;
}

/* preloader */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}

ol,
ul {
  list-style-type: none;
  margin: 0px;
}

img {
  vertical-align: middle;
  border: 0;
}

a,
a:hover,
a:focus {
  text-decoration: none;
}

a,
button,
select {
  cursor: pointer;
  transition: .2s ease;
}

a:focus,
button:focus,
select:focus {
  outline: 0;
}

a:hover {
  color: #1f2f69;
}

a.text-primary:hover {
  color: #1f2f69 !important;
}

a.text-light:hover {
  color: #1f2f69 !important;
}

h4 {
  transition: .2s ease;
}

a h4:hover {
  color: #1f2f69;
}

.slick-slide {
  outline: 0;
}

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

.section-sm {
  padding-top: 40px;
  padding-bottom: 40px;
}

.section-title {
  margin-bottom: 30px;
}

.bg-cover {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.border-primary {
  border-color: #ededf1 !important;
}

/* overlay */
.overlay {
  position: relative;
}

.overlay::before {
  position: absolute;
  content: '';
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: #418366;
  opacity: .8; 
}

.outline-0 {
  outline: 0 !important;
}

.d-unset {
  display: unset !important;
}

.bg-primary {
  background: #1f2f69 !important;
}

.bg-secondary {
  background: #a4a4ea !important;
}

.bg-gray {
  background: #f8f8f8;
}

.text-primary {
  color: #fcfcfc !important;
}

.text-color {
  color: #5c5c77;
}

.text-light {
  color: #8585a4 !important;
}

.text-lighten {
  color: #d6d6e0 !important;
}

.text-muted {
  color: #b5b5b7 !important;
}

.text-dark {
  color: #1e1e4b !important;
}

.font-secondary {
  font-family: "futura-bold";
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.pl-150 {
  padding-left: 150px;
}

.zindex-1 {
  z-index: 1;
}

.overflow-hidden {
  overflow: hidden;
}

.vertical-align-middle {
  vertical-align: middle;
}

.icon-md {
  font-size: 36px;
}

/* page title */
.page-title-section {
  padding: 200px 0 80px;
}

.custom-breadcrumb li.nasted {
  position: relative;
  padding-left: 25px;
}

.custom-breadcrumb li.nasted::before {
  position: absolute;
  font-family: "themify";
  content: "\e649";
  font-size: 20px;
  top: 50%;
  left: -5px;
  color: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* /page title */
.list-styled {
  padding-left: 25px;
}

.list-styled li {
  position: relative;
  margin-bottom: 15px;
}

.list-styled li::before {
  position: absolute;
  content: "";
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background: #1f2f69;
  left: -25px;
  top: 5px;
}

textarea.form-control {
  height: 200px;
  padding: 20px;
}

#map_canvas {
  height: 500px;
}

.top-header {
  font-size: 12px;
  transition: -webkit-transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease;
  -webkit-transform-origin: top;
          transform-origin: top;
  font-weight: 600;
}

.top-header.hide {
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
}

.navigation {
  background-image: linear-gradient(to right, transparent 50%, #1f2f69 50%);
  transition: .2s ease;
}

@media (max-width: 575px) {
  .navigation {
    background-image: linear-gradient(to right, transparent 70%, #1f2f69 30%);
  }
}

.navbar-nav {
  padding-left: 50px;
  background: #1f2f69;
}

@media (max-width: 91px) {
  .navbar-nav {
    padding-left: 0;
  }
}

.nav-bg {
  background-color: #fcfcfc;
  margin-top: -46px;
}

@media (max-width: 991px) {
  .nav-bg {
    margin-top: -76px;
  }
}

@media (max-width: 400px) {
  .nav-bg {
    margin-top: -106px;
  }
}

.nav-item {
  margin: 0 15px;
  position: relative;
}

.nav-item .nav-link {
  text-transform: uppercase;
  font-weight: 600;
}

.nav-item::before {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 6px;
  width: 100%;
  content: "";
  background: #fff;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease;
}

.nav-item:hover::before, .nav-item.active::before {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}

.navbar-light .navbar-nav .nav-link {
  color: #fff;
}

link:focus,
.navbar-light .navbar-nav .nav-link:hover {
  color: #fff;
}

.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show > .nav-link {
  color: #fff;
}

.navbar-expand-lg .navbar-nav .nav-link {
  padding: 40px 0px;
}

@media (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-link {
    padding: 20px;
  }
}

.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
  background: #fff;
  box-shadow: 0 2px 5px #0000000d;
}

.navbar .dropdown:hover .dropdown-menu {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.navbar .dropdown-menu {
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.12);
  border-bottom: 5px solid #1f2f69;
  padding: 15px;
  top: 96px;
  border-radius: 0;
  display: block;
  visibility: hidden;
  transition: .3s ease;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  background: #fff;
}

@media (max-width: 991px) {
  .navbar .dropdown-menu {
    display: none;
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform-origin: unset;
            transform-origin: unset;
  }
}

.navbar .dropdown-menu.view {
  visibility: visible !important;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media (max-width: 991px) {
  .navbar .dropdown-menu.view {
    display: block;
  }
}

.navbar .dropdown-menu.show {
  visibility: hidden;
}

@media (max-width: 991px) {
  .navbar .dropdown-menu.show {
    visibility: visible;
    display: block;
  }
}

.navbar .dropdown-item {
  position: relative;
  color: #1e1e4b;
  transition: .2s ease;
  font-family: "Poppins", sans-serif;
}

@media (max-width: 991px) {
  .navbar .dropdown-item {
    text-align: center;
  }
}

.navbar .dropdown-item:not(:last-child) {
  margin-bottom: 10px;
}

.navbar .dropdown-item:hover {
  color: #1f2f69;
  background: transparent;
}

.hero-section {
  padding: 1px 0 1px;
}

.hero-slider .prevArrow,
.hero-slider .nextArrow {
  position: absolute;
  bottom: -123px;
  z-index: 9;
  padding: 15px;
  color: rgba(255, 255, 255, 0.5);
  border: 0;
  font-size: 30px;
  transition: all linear .2s;
  background: transparent;
}

.hero-slider .prevArrow:focus,
.hero-slider .nextArrow:focus {
  outline: 0;
}

.hero-slider .prevArrow:hover,
.hero-slider .nextArrow:hover {
  color: #1f2f69;
}

.hero-slider .prevArrow {
  right: 60px;
}

.hero-slider .nextArrow {
  right: 0;
}

.hero-slider .slick-dots {
  position: absolute;
  left: 0;
  bottom: -100px;
  padding-left: 0;
}

.hero-slider .slick-dots li {
  display: inline-block;
  margin: 0 6px;
}

.hero-slider .slick-dots li.slick-active button {
  background: #1f2f69;
}

.hero-slider .slick-dots li button {
  color: transparent;
  padding: 0;
  overflow: hidden;
  height: 10px;
  width: 10px;
  background: rgba(255, 255, 255, 0.5);
  border: 0;
  outline: 0;
}

/* banner feature */
.feature-icon {
  font-size: 50px;
  color: #1f2f69;
  display: inline-block;
}

.feature-blocks {
  margin-top: -100px;
  padding-left: 70px;
  padding-top: 80px;
  padding-right: 30%;
}

@media (max-width: 1400px) {
  .feature-blocks {
    padding-right: 10%;
  }
}

@media (max-width: 1200px) {
  .feature-blocks {
    padding-right: 50px;
    padding-left: 50px;
    padding-top: 30px;
  }
  .feature-blocks h3 {
    font-size: 20px;
  }
}

@media (max-width: 991px) {
  .feature-blocks {
    margin-top: 0;
    padding: 50px;
  }
  .feature-blocks h3 {
    font-size: 25px;
  }
}

/* /banner feature */
/* course */
.card-btn {
  font-size: 12px;
  padding: 5px 10px;
}

.flex-basis-33 {
  flex-basis: 33.3333%;
}

.hover-shadow {
  transition: .3s ease;
}

.hover-shadow:hover {
  box-shadow: 0px 4px 25px 0px rgba(27, 39, 71, 0.15);
}

/* /course */
/* success story */
.success-video {
  min-height: 300px;
}

.success-video .play-btn {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media (max-width: 767px) {
  .success-video .play-btn {
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.play-btn {
  display: inline-block;
  height: 80px;
  width: 80px;
  border-radius: 50%;
  background: #1f2f69;
  color: #fff;
  font-size: 20px;
  text-align: center;
}

.play-btn i {
  line-height: 80px;
}

.play-btn::before {
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  z-index: -2;
  transition: .3s ease;
  transition-delay: .2s;
}

.play-btn::after {
  position: absolute;
  content: "";
  height: 80%;
  width: 80%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #1f2f69;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  z-index: -1;
  transition: .3s ease;
}

.play-btn:hover::before {
  height: 80%;
  width: 80%;
  transition-delay: 0s;
}

.play-btn:hover::after {
  height: 0;
  width: 0;
  transition: 0s ease;
}

/* /success story */
/* events */
.card-date {
  position: absolute;
  background: #1f2f69;
  font-family: "futura-bold";
  text-align: center;
  padding: 10px;
  color: #fff;
  top: 0;
  left: 0;
  text-transform: uppercase;
}

.card-date span {
  font-size: 40px;
}

/* /events */
/* teacher */
.teacher-info {
  width: 70%;
  bottom: 0;
  right: 0;
}

/* /teacher */
/* footer */
.newsletter {
  background-image: linear-gradient(to right, transparent 50%, #1f2f69 50%);
  margin-bottom: -170px;
  position: relative;
  z-index: 1;
}

.newsletter-block {
  padding-left: 50px;
}

@media (max-width: 575px) {
  .newsletter-block {
    padding-left: 15px;
  }
}

.input-wrapper {
  position: relative;
}

.input-wrapper button {
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.form-control {
  height: 60px;
  background: #fff;
  border-radius: 0;
  padding-left: 25px;
}

.form-control:focus {
  border-color: #1f2f69;
  box-shadow: none;
}

.newsletter-block .form-control {
  height: 90px;
}

.bg-footer {
  background-color: #fcfcfc;
}

.logo-footer {
  margin-top: -20px;
  display: inline-block;
}

.footer {
  border-color: #494a43 !important;
  padding-top: 275px;
}

/* /footer */
.filter-controls li {
  cursor: pointer;
  transition: .1s ease;
}

.filter-controls li.mixitup-control-active {
  font-weight: 600;
  color: #1f2f69;
}

.filter-controls li:hover {
  color: #1f2f69;
}

body {
    overflow-x: hidden;
    font-family: "Roboto Slab","Helvetica Neue",Helvetica,Arial,sans-serif;
}

a,
a:hover,
a:focus,
a:active,
a.active {
    outline: 0;
}

a {
    color: #1f2f69;
    text-decoration: none;
}

a:hover,
a:focus,
a:active,
a.active {
    color: #1f2f69;
}
/*video player css*/
#container {
    position: relative;
}

#container div, #container video {
    top: 0;
    left: 0;
    width: auto;
    min-width: 100%;
    z-index: -1;
}


#container video {
/*  filter: grayscale sepia saturate opacity contrast ...*/
  /*可加濾鏡特效，但要考慮網頁效能 或從影片後置著手*/
  -webkit-filter: opacity(.2);
  filter: opacity(.2);
  width: auto;
}

#container .content {
	position: absolute;
    padding-top: 100px;
    padding-bottom: 50px;
    text-align: center;
    z-index: 1;
}

#container .content .intro-lead-in {
    margin-bottom: 25px;
    font-family: "Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 22px;
    font-style: italic;
    line-height: 22px;
}

#container .content .intro-heading {
    margin-bottom: 25px;
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 50px;
    font-weight: 700;
    line-height: 50px;
}


@media(min-width:768px) {
    #container .content {
        padding-top: 300px;
        padding-bottom: 200px;
    }

    #container .content .intro-lead-in {
        margin-bottom: 25px;
        font-family: "Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;
        font-size: 40px;
        font-style: italic;
        line-height: 40px;
    }

    #container .content .intro-heading {
        margin-bottom: 50px;
        text-transform: uppercase;
        font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
        font-size: 75px;
        font-weight: 700;
        line-height: 75px;
    }
}

/* Förderverein Elternbrief Highlight Box */
.highlight-box {
    background-color: #e3f2fd;
    border-left: 4px solid #1f2f69;
    padding: 1rem;
    margin-bottom: 1.5rem;
    border-radius: 0 4px 4px 0;
}

.highlight-box h3 {
    color: #1f2f69;
    margin-bottom: 0.5rem;
}

.highlight-box .feature-icon {
    font-size: 2.5rem;
}

/
/*# sourceMappingURL=maps/style.css.map */

/*!------------------------------------------------------------------
[MAIN STYLESHEET]  GeXaSo – korrigiert & erweitert
-------------------------------------------------------------------*/

/* === Grundschrift === */
@font-face {
  font-family: 'futura-bold';
  src: url("../fonts/Futura-Bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

body {
  font-family: "Poppins", sans-serif;
  line-height: 1.5;
  color: #5c5c77;
  background: #fff;
  overflow-x: hidden;
}

/* === Typografie === */
p, .paragraph {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 1rem;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "futura-bold";
  color: #1e1e4b;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: .5rem;
}

h1 { font-size: clamp(2.2rem, 6vw, 3.8rem); }
h2 { font-size: clamp(1.8rem, 5vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 4vw, 1.8rem); }
h4 { font-size: clamp(1.1rem, 3.5vw, 1.4rem); }

/* === Buttons === */
.btn {
  font-size: 16px;
  font-family: "Poppins", sans-serif;
  text-transform: capitalize;
  padding: 12px 30px;
  border-radius: 4px;
  font-weight: 500;
  border: none;
  transition: all .2s ease;
}
.btn-primary { background:#1f2f69; color:#fff; }
.btn-primary:hover { background:#14204d; color:#fff; }
.btn-success { background:#28a745; color:#fff; }
.btn-success:hover { background:#218838; }

/* === Friedenslied: harte Responsive-Overrides (ans Dateiende!) === */
.friedenslied-alert .alert-content{
  display:flex; align-items:flex-start; gap:.75rem;
}
.friedenslied-alert .alert-text-content{ min-width:0; } /* erlaubt richtige Umbrüche */
.friedenslied-alert .alert-icon{ font-size:clamp(22px,6vw,34px); }

/* Typo zwingend fließend – überschreibt globale h*-Regeln */
.friedenslied-alert h4{
  font-size:clamp(1.1rem,4.2vw,1.5rem) !important;
  line-height:1.25; margin:0 0 .5rem;
}
.friedenslied-alert p{
  font-size:clamp(.95rem,3.4vw,1rem) !important;
  line-height:1.5; margin:.4rem 0 .6rem;
}
.friedenslied-alert .we-teaser{
  font-size:clamp(.92rem,3.2vw,.98rem) !important;
  background:rgba(40,167,69,.1); border-left:4px solid #28a745;
  padding:12px; border-radius:6px; margin:12px 0;
}
.friedenslied-alert small{
  font-size:clamp(.8rem,3vw,.9rem) !important;
}

/* saubere Wortumbrüche */
.friedenslied-alert h4,
.friedenslied-alert p,
.friedenslied-alert small{
  word-break:break-word; overflow-wrap:anywhere; hyphens:auto;
}

/* Buttons: mobil untereinander, ab sm nebeneinander */
.friedenslied-alert .btn-wrap{ display:flex; flex-direction:column; gap:.5rem; }
@media (min-width:576px){
  .friedenslied-alert .btn-wrap{ flex-direction:row; }
}
@media (max-width:575.98px){
  .friedenslied-alert .alert-content{ flex-direction:column; text-align:center; }
}

/* --- FIX: Friedenslied-Box wird rechts abgeschnitten --- */

/* 1) Nichts mehr abschneiden */
.alert-box { overflow: visible !important; }

/* 2) In der Banner-/Feature-Spalte weniger rechtes Padding,
      damit der Kasten nicht in den unsichtbaren Bereich ragt */
.feature-blocks { padding-right: 0 !important; }
@media (min-width: 1200px){
  .feature-blocks { padding-right: 50px !important; }
}

/* 3) Buttons dürfen umbrechen, damit sie nicht nach rechts rauslaufen */
.friedenslied-alert .btn { white-space: normal; line-height: 1.3; }
.friedenslied-alert .btn-sm { padding: 10px 16px; }

/* 4) Sicherheit: fließende Typo + saubere Umbrüche */
.friedenslied-alert h4{ font-size:clamp(1.1rem,4.2vw,1.5rem) !important; line-height:1.25; }
.friedenslied-alert p{ font-size:clamp(.95rem,3.4vw,1rem) !important; line-height:1.5; }
.friedenslied-alert small{ font-size:clamp(.8rem,3vw,.9rem) !important; }
.friedenslied-alert h4,
.friedenslied-alert p,
.friedenslied-alert small{ word-break:break-word; overflow-wrap:anywhere; hyphens:auto; }

/* 5) Mobil Layout stacken */
@media (max-width:575.98px){
  .friedenslied-alert .alert-content{ flex-direction:column; text-align:center; }
}

.btn-light {
    transition: 0.3s ease;
}

.btn-light:hover {
    background-color: #ffffffd9 !important;
    transform: scale(1.06);
}


  <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
            line-height: 1.6;
            color: #1a1a1a;
            background: #ffffff;
        }

        /* Top Header */
        .top-header {
            background: #ffffff;
            border-bottom: 1px solid #e5e7eb;
            padding: 0.5rem 0;
            font-size: 0.9rem;
        }

        .top-header a {
            color: #1e3a8a;
            text-decoration: none;
            transition: color 0.2s ease;
        }

        .top-header a:hover {
            color: #22c55e;
        }

        /* Main Header */
        .main-header {
            background: #ffffff;
            padding: 1.5rem 0;
            border-bottom: 1px solid #e5e7eb;
            position: sticky;
            top: 0;
            z-index: 100;
            backdrop-filter: blur(10px);
            background: rgba(255, 255, 255, 0.95);
        }

        .header-content {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 2rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
            position: relative;
        }

        .logo-section {
            display: flex;
            align-items: center;
            gap: 1.5rem;
            flex: 1;
        }

        .logo img {
            height: 60px;
            width: auto;
        }

        .school-name h1 {
            font-size: 2.2rem;
            font-weight: 300;
            color: #1e3a8a;
            margin-bottom: 0.2rem;
            letter-spacing: -0.5px;
        }

        .school-name .willi {
            font-weight: 600;
            color: #1e3a8a;
        }

        .school-name .gesamtschule {
            color: #22c55e;
            font-weight: 400;
        }

        .school-name .tagline {
            font-size: 0.95rem;
            color: #6b7280;
            font-weight: 400;
            font-style: italic;
        }

        /* Navigation */
        .main-nav {
            background: #f8fafc;
            border-bottom: 1px solid #e2e8f0;
        }

        .nav-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .nav-menu {
            display: flex;
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .nav-menu > li {
            position: relative;
        }

        .nav-menu > li > a {
            display: block;
            padding: 1rem 1.5rem;
            text-decoration: none;
            color: #374151;
            font-weight: 500;
            font-size: 0.95rem;
            transition: all 0.2s ease;
            border-bottom: 2px solid transparent;
        }

        .nav-menu > li > a:hover {
            color: #1e3a8a;
            background: #ffffff;
            border-bottom-color: #22c55e;
        }

        /* Dropdown Menüs */
        .dropdown-menu {
            position: absolute;
            top: 100%;
            left: 0;
            background: #ffffff;
            min-width: 280px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.1);
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            padding: 1rem 0;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all 0.3s ease;
            z-index: 1000;
        }

        .nav-menu li:hover .dropdown-menu {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .dropdown-menu h4 {
            color: #1e3a8a;
            font-size: 0.9rem;
            font-weight: 600;
            padding: 0.5rem 1rem;
            margin: 0.5rem 0;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .dropdown-menu a {
            display: block;
            padding: 0.5rem 1rem;
            color: #4b5563;
            text-decoration: none;
            font-size: 0.9rem;
            transition: all 0.2s ease;
        }

        .dropdown-menu a:hover {
            background: #f8fafc;
            color: #1e3a8a;
            padding-left: 1.5rem;
        }

        /* Hero Section mit geschwungenem Hintergrund */
        .hero {
            background: url('video/gifhead.gif');
            background-size: cover;
            background-position: center;
            color: white;
            padding: 4rem 2rem;
            text-align: center;
            min-height: 500px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(45deg, 
                rgba(30, 58, 138, 0.8) 0%, 
                rgba(59, 130, 246, 0.6) 25%, 
                rgba(34, 197, 94, 0.4) 50%, 
                rgba(59, 130, 246, 0.6) 75%, 
                rgba(30, 58, 138, 0.8) 100%);
            background-size: 400% 400%;
            animation: waveAnimation 8s ease-in-out infinite;
            z-index: 1;
        }

        @keyframes waveAnimation {
            0%, 100% { 
                background-position: 0% 50%;
            }
            25% { 
                background-position: 100% 50%;
            }
            50% { 
                background-position: 50% 100%;
            }
            75% { 
                background-position: 50% 0%;
            }
        }

        .hero-content {
            position: relative;
            z-index: 2;
        }

        .hero-content h1 {
            font-size: 3rem;
            font-weight: 200;
            margin-bottom: 1rem;
            letter-spacing: -1px;
        }

        .hero-content .willi {
            color: #22c55e;
            font-weight: 600;
        }

        .hero-content h2 {
            font-size: 1.5rem;
            font-weight: 300;
            margin-bottom: 2rem;
            opacity: 0.9;
        }

        .hero-buttons {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
            margin-top: 2rem;
        }

        .btn {
            padding: 0.75rem 1.5rem;
            border-radius: 8px;
            text-decoration: none;
            font-weight: 500;
            transition: all 0.3s ease;
            border: 2px solid transparent;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }

        .btn-primary {
            background: #1e3a8a;
            color: white;
            border-color: #1e3a8a;
        }

        .btn-primary:hover {
            background: #1d4ed8;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(30, 58, 138, 0.4);
        }

        .btn-success {
            background: #22c55e;
            color: white;
            border-color: #22c55e;
        }

        .btn-success:hover {
            background: #16a34a;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(34, 197, 94, 0.4);
        }

        .btn-info {
            background: #06b6d4;
            color: white;
            border-color: #06b6d4;
        }

        .btn-info:hover {
            background: #0891b2;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(6, 182, 212, 0.4);
        }

        /* Content Sections */
        .section {
            padding: 4rem 2rem;
            max-width: 1400px;
            margin: 0 auto;
        }

        .section:nth-child(even) {
            background: #f8fafc;
        }

        .content-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .card {
            background: #ffffff;
            border-radius: 12px;
            padding: 2rem;
            border: 1px solid #e5e7eb;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background: linear-gradient(90deg, #1e3a8a, #22c55e);
            transform: scaleX(0);
            transition: transform 0.3s ease;
        }

        .card:hover::before {
            transform: scaleX(1);
        }

        .card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(0,0,0,0.1);
        }

        .card h3 {
            font-size: 1.4rem;
            font-weight: 500;
            color: #1e3a8a;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .card-icon {
            font-size: 1.5rem;
            color: #22c55e;
        }

        .card p {
            color: #4b5563;
            line-height: 1.6;
            font-weight: 300;
        }

        /* News Alert */
        .news-alert {
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-left: 4px solid #007bff;
            padding: 20px;
            border-radius: 8px;
            margin: 2rem 0;
        }

        .news-alert h4 {
            color: #495057;
            margin-bottom: 0.5rem;
        }

        .news-alert p {
            color: #6c757d;
            margin-bottom: 1rem;
        }

        /* Musik-Ticker Styles */
        .music-ticker {
            background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
            color: white;
            padding: 0.75rem 1rem;
            position: relative;
            overflow: hidden;
            border-bottom: 2px solid #22c55e;
            animation: slideDown 0.5s ease-out;
        }

        @keyframes slideDown {
            from { transform: translateY(-100%); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

        .music-ticker::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
            animation: tickerShine 3s infinite;
        }

        @keyframes tickerShine {
            0% { left: -100%; }
            100% { left: 100%; }
        }

        .ticker-content {
            max-width: 1400px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 1rem;
            position: relative;
            z-index: 2;
        }

        .ticker-icon {
            font-size: 1.2rem;
            color: #22c55e;
            animation: bounce 2s ease-in-out infinite;
        }

        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
            40% { transform: translateY(-5px); }
            60% { transform: translateY(-3px); }
        }

        .ticker-text {
            flex: 1;
            font-weight: 500;
            font-size: 0.95rem;
        }

        .ticker-actions {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .mini-play-btn {
            background: #22c55e;
            color: white;
            border: none;
            padding: 0.5rem 1rem;
            border-radius: 20px;
            cursor: pointer;
            font-size: 0.85rem;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 0.3rem;
            transition: all 0.2s ease;
        }

        .mini-play-btn:hover {
            background: #16a34a;
            transform: translateY(-1px);
            box-shadow: 0 3px 10px rgba(34, 197, 94, 0.3);
        }

        .mini-download {
            background: rgba(255,255,255,0.2);
            color: white;
            border: none;
            padding: 0.5rem;
            border-radius: 50%;
            cursor: pointer;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            transition: all 0.2s ease;
            width: 35px;
            height: 35px;
        }

        .mini-download:hover {
            background: rgba(255,255,255,0.3);
            color: white;
            transform: translateY(-1px);
        }

        .ticker-close {
            background: rgba(255,255,255,0.1);
            color: white;
            border: none;
            padding: 0.3rem;
            border-radius: 50%;
            cursor: pointer;
            font-size: 0.8rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            width: 30px;
            height: 30px;
            margin-left: 0.5rem;
        }

        .ticker-close:hover {
            background: rgba(255,255,255,0.2);
            transform: scale(1.1);
        }

        /* Musik-Ticker Responsive */
        @media (max-width: 768px) {
            .music-ticker {
                padding: 0.75rem 0.5rem;
            }

            .ticker-content {
                gap: 0.75rem;
                padding: 0 0.5rem;
                flex-wrap: nowrap;
            }

            .ticker-left {
                gap: 0.75rem;
                min-width: 0;
            }

            .ticker-text {
                font-size: 0.85rem;
            }

            .mini-play-btn {
                padding: 0.4rem 0.8rem;
                font-size: 0.8rem;
            }

            .mini-download, .ticker-close {
                width: 32px;
                height: 32px;
                font-size: 0.8rem;
            }
        }

        @media (max-width: 480px) {
            .music-ticker {
                padding: 0.75rem 0.25rem;
            }

            .ticker-content {
                flex-direction: column;
                gap: 0.75rem;
                align-items: center;
                text-align: center;
            }

            .ticker-left {
                justify-content: center;
                width: 100%;
            }

            .ticker-text {
                font-size: 0.85rem;
                text-align: center;
            }

            .ticker-actions {
                justify-content: center;
            }

            .ticker-close {
                position: absolute;
                top: 0.5rem;
                right: 0.5rem;
                width: 28px;
                height: 28px;
            }
        }
        .mobile-menu-toggle {
            display: none;
            background: #f8fafc;
            border: 2px solid #1e3a8a;
            font-size: 1.5rem;
            color: #1e3a8a;
            cursor: pointer;
            padding: 0.5rem;
            border-radius: 6px;
            transition: all 0.2s ease;
            z-index: 1001;
            position: relative;
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .mobile-menu-toggle:hover {
            background-color: #1e3a8a;
            color: white;
        }

        .mobile-menu-toggle:active {
            transform: scale(0.95);
        }

        /* Footer */
        footer {
            background: #1a1a1a;
            color: white;
            padding: 3rem 2rem 1rem;
        }

        .footer-content {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
        }

        .footer-section h4 {
            color: #22c55e;
            margin-bottom: 1rem;
        }

        .footer-section a {
            color: #d1d5db;
            text-decoration: none;
            transition: color 0.2s ease;
        }

        .footer-section a:hover {
            color: #22c55e;
        }

        .footer-logos {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            gap: 1rem;
            margin-top: 2rem;
        }

        .footer-logo img {
            max-width: 100%;
            height: auto;
            max-height: 60px;
            object-fit: contain;
        }

        .copyright {
            text-align: center;
            padding-top: 2rem;
            margin-top: 2rem;
            border-top: 1px solid #374151;
            opacity: 0.7;
        }

        /* Responsive Design */
        
        /* Large Tablets */
        @media (max-width: 1024px) {
            .header-content {
                padding: 0 1rem;
            }
            
            .nav-container {
                padding: 0 1rem;
            }
            
            .section {
                padding: 3rem 1rem;
            }
            
            .content-grid {
                grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
                gap: 1.5rem;
            }
        }

        /* Tablets */
        @media (max-width: 768px) {
            .top-header {
                font-size: 0.8rem;
            }
            
            .top-header > div > div {
                flex-direction: column;
                gap: 0.5rem;
                text-align: center;
            }
            
            .header-content {
                flex-direction: row;
                justify-content: space-between;
                align-items: center;
                gap: 1rem;
                padding: 0 1rem;
            }

            .logo-section {
                flex: 1;
                justify-content: flex-start;
            }

            .school-name h1 {
                font-size: 1.6rem;
                text-align: left;
                line-height: 1.2;
            }
            
            .school-name .tagline {
                font-size: 0.85rem;
                text-align: left;
            }

            .mobile-menu-toggle {
                display: block;
                flex-shrink: 0;
                margin-left: auto;
            }

            .nav-menu {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: white;
                border-top: 1px solid #e5e7eb;
                box-shadow: 0 5px 15px rgba(0,0,0,0.1);
                flex-direction: column;
                z-index: 1000;
                max-height: 70vh;
                overflow-y: auto;
            }

            .nav-menu.active {
                display: flex;
            }

            .dropdown-menu {
                position: static;
                opacity: 1;
                visibility: visible;
                transform: none;
                box-shadow: none;
                border: none;
                background: #f8fafc;
                margin-left: 1rem;
                border-radius: 0;
            }

            .hero {
                padding: 3rem 1rem;
                min-height: 400px;
            }

            .hero-content h1 {
                font-size: 2.2rem;
                margin-bottom: 0.5rem;
            }
            
            .hero-content h2 {
                font-size: 1.2rem;
                margin-bottom: 1.5rem;
            }

            .hero-buttons {
                flex-direction: column;
                align-items: center;
                gap: 0.75rem;
            }
            
            .hero-buttons .btn {
                width: 100%;
                max-width: 300px;
                justify-content: center;
            }

            .section {
                padding: 2.5rem 1rem;
            }

            .content-grid {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }
            
            .card {
                padding: 1.5rem;
            }
            
            .card h3 {
                font-size: 1.2rem;
            }
            
            .card .btn {
                font-size: 0.9rem;
                padding: 0.6rem 1.2rem;
            }
            
            /* News Section Mobile */
            .section h2 {
                font-size: 2rem;
                margin-right: 0;
                margin-bottom: 1rem;
            }
            
            .section > div:first-child {
                flex-direction: column;
                text-align: center;
            }
            
            .section > div:first-child > div {
                margin: 1rem 0;
            }
            
            /* Willi Fährmann Section Mobile */
            .section[style*="background: linear-gradient"] h2 {
                font-size: 2.2rem;
            }
            
            .section[style*="background: linear-gradient"] p {
                font-size: 1.2rem;
            }
            
            /* Office 365 Video Section Mobile */
            .section > div[style*="grid-template-columns: 1fr 1fr"] {
                grid-template-columns: 1fr !important;
                gap: 2rem;
            }
        }

        /* Mobile Phones */
        @media (max-width: 480px) {
            .top-header {
                padding: 0.25rem 0;
                font-size: 0.75rem;
            }
            
            .main-header {
                padding: 1rem 0;
            }
            
            .header-content {
                padding: 0 0.5rem;
                gap: 0.5rem;
            }
            
            .logo img {
                height: 45px;
            }
            
            .school-name h1 {
                font-size: 1.3rem;
                line-height: 1.1;
            }
            
            .school-name .tagline {
                font-size: 0.8rem;
            }

            .mobile-menu-toggle {
                font-size: 1.3rem;
                padding: 0.4rem;
            }

            .hero {
                padding: 2rem 0.5rem;
                min-height: 350px;
            }

            .hero-content h1 {
                font-size: 1.8rem;
                line-height: 1.2;
            }
            
            .hero-content h2 {
                font-size: 1.1rem;
            }

            .section {
                padding: 2rem 0.5rem;
            }
            
            .card {
                padding: 1.25rem;
            }
            
            .btn {
                padding: 0.6rem 1rem;
                font-size: 0.85rem;
            }
            
            /* Footer Mobile */
            .footer-content {
                grid-template-columns: 1fr;
                gap: 1.5rem;
                text-align: center;
            }
            
            .footer-logos {
                grid-template-columns: repeat(2, 1fr);
                gap: 1rem;
            }
            
            .footer-logo img {
                max-height: 50px;
            }
        }

        /* Extra Small Devices */
        @media (max-width: 320px) {
            .hero-content h1 {
                font-size: 1.6rem;
            }
            
            .section h2 {
                font-size: 1.8rem;
            }
            
            .card h3 {
                font-size: 1.1rem;
            }
            
            .btn {
                padding: 0.5rem 0.8rem;
                font-size: 0.8rem;
            }
        }

/* Announcement Banner */
.announcement-banner {
    margin: 20px auto;
    max-width: 1200px;
    text-align: center;
    padding: 0 20px;
}

.announcement-image {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
    .announcement-banner {
        margin: 15px auto;
        padding: 0 10px;
    }
}

    </style>