body {
    position: fixed;
    background-color: #000;
     left: 0; 
     top: 0;
      right: 0;
       bottom: 0;
       touch-action: none;
    }

.fma-background {
    background-image: url(../images/background.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
    min-height: 100%;
    touch-action: none;
    will-change: background;
 } 

 .fma-background_bayern {
    background-image: url(../images/background_bayern.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
    min-height: 100%;
    touch-action: none;
    will-change: background;
 } 

 /* Drehender FMA-Stempel (wie auf taekwondo.berlin), nur im Berlin/Potsdam-Look.
    Position = Stelle des früher fest ins Bild gerenderten Stempels: background.jpg ist
    1854x1250, Stempelmitte bei (1242, 1107), Durchmesser 316 px; background-size: cover. */
 .fma-stamp {
    display: none;
    position: fixed;
    /* Viewport schmaler als das Bild: Bild füllt die Höhe, Seiten werden beschnitten. */
    left: calc(50vw + 25.2vh);
    top: 88.56vh;
    width: 25.28vh;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 1;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .35));
 }
 /* Viewport breiter als das Bild: Bild füllt die Breite, oben/unten werden beschnitten. */
 @media (min-aspect-ratio: 1854/1250) {
    .fma-stamp {
       left: 66.99vw;
       top: calc(50vh + 26vw);
       width: 17.04vw;
    }
 }
 .fma-background .fma-stamp { display: block; }
 .fma-stamp img {
    display: block;
    width: 100%;
    height: 100%;
    animation: fma-stamp-spin 40s linear infinite;
 }
 @keyframes fma-stamp-spin { to { transform: rotate(360deg); } }
 @media (prefers-reduced-motion: reduce) {
    .fma-stamp img { animation: none; }
 }

 .circle-loader {
    margin-bottom: 1em;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-left-color: #5cb85c;
    animation: loader-spin 1.2s infinite linear;
    position: relative;
    display: inline-block;
    vertical-align: top;
    border-radius: 50%;
    width: 2em;
    height: 2em;
}
.load-complete {
    -webkit-animation: none;
    animation: none;
    border-color: #5cb85c;
    transition: border 500ms ease-out;
}
.checkmark {
    display: none;
}

.title {
    color: #fff;
    font-family: "Plus Jakarta Sans", serif;
    font-optical-sizing: auto;
    font-weight: bold;
    font-style: normal;
}

.titleModal4 {
    color: #000;
    font-family: "Plus Jakarta Sans", serif;
    font-optical-sizing: auto;
    font-weight: bold;
    font-style: normal;
    font-size: 30;
}

.titleModal5 {
    color: #000;
    font-family: "Plus Jakarta Sans", serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    font-size: 30;
}

.checkmark.draw:after {
    animation-duration: 800ms;
    animation-timing-function: ease;
    animation-name: checkmark;
    transform: scaleX(-1) rotate(135deg);
}
.checkmark:after {
    opacity: 1;
    height: 1em;
    width: 0.5em;
    transform-origin: left top;
    border-right: 3px solid #5cb85c;
    border-top: 3px solid #5cb85c;
    content: '';
    left: 0.5em;
    top: 1em;
    position: absolute;
}
@keyframes loader-spin {
    0% {
        transform: rotate(0deg);
   }
    100% {
        transform: rotate(360deg);
   }
}
@keyframes checkmark {
    0% {
        height: 0;
        width: 0;
        opacity: 1;
   }
    20% {
        height: 0;
        width: 0.5em;
        opacity: 1;
   }
    40% {
        height: 1em;
        width: 0.5em;
        opacity: 1;
   }
    100% {
        height: 1em;
        width: 0.5em;
        opacity: 1;
   }
}
