.content-panel,
.generator,
p {
 line-height:1.6 
}
.contact,
.faq,
.generator,
.support {
 position:relative 
}

#impressum-container h5,
footer a:hover {
 text-decoration:underline 
}
html {
 min-width:300px 
}
body {
 background-color:#000!important;
 color:#fff;
 background-image:url(../media/back-min.png);
 background-position:top center;
 background-position-y:200px;
 background-repeat:no-repeat;
 font-family:Montserrat,sans-serif!important;
 line-height:var(--bs-body-line-height);
 min-width:100%;
 margin:0!important 
}
a {
  color:#ffe576;
  text-decoration: none;
}
.logo-container {
 text-align:center;
 margin-top:15px;
 margin-bottom:10px 
}
.logo-container img {
 max-width:100%;
 height:auto;
 width:400px 
}
.buttons-top {
 display:grid;
 grid-template-columns:1fr;
 grid-template-rows:auto auto;
 justify-items:center;
 gap:8px;
 margin-bottom:50px;
 padding:8px 20px 
}
.buttons-top a {
 border-radius:30px;
 display:block 
}
.generator {
 background-color:#000;
 font-size:31px!important;
 color:#ffe576;
 border:2px solid #ffe576;
 border-radius:30px;
 padding-right:60px;
 padding-left:20px 
}
#download-button,
.faq {
 background-color:#ccc 
}
.generator::after {
 content:'';
 position:absolute;
 top:50%;
 right:-2px;
 transform:translateY(-50%);
 width:49px;
 height:49px;
 border:2px solid #ffe576;
 border-radius:30px;
 display:flex;
 align-items:center;
 justify-content:center;
 background:url(/media/pfeil.svg) center center/30px 30px no-repeat 
}
.generator:hover {
  transform: scale(1.02);
}
.hinweis {
  color: red;
}
.bottom-buttons {
 display:flex;
 gap:3px;
 margin-left:-20px 
}
.bottom-buttons a {
 padding:3px 10px;
 font-size:20px;
 font-weight:500;
 color:#000;
 border-radius:30px;
 text-align:center 
}

.bottom-buttons .faq {
 width:50px!important 
}
.bottom-buttons .faq:hover  {
  transform: scale(1.02);
}
.bottom-buttons .contact {
 background-color:#ffb3c9;
 width:80px!important 
}
.bottom-buttons .contact:hover  {
  transform: scale(1.02);
}
.bottom-buttons .support {
 background-color:#96eada 
}
.bottom-buttons .support:hover  {
  transform: scale(1.02);
}
.content-container,
.content-panel {
 background-color:rgb(0 0 0 / .8);
 border-radius:30px;
 color:#fff 
}
nav .bottom-buttons a:hover,
nav .top-button a:hover {
 box-shadow:0 8px 50px -6px rgb(0 0 0 / .4) 
}
.content-head {
 text-align:center!important;
 font-size:24px;
 padding-top:20px 
}
.content-container {
 max-width:900px;
 width:95%;
 margin:20px auto 100px;
 /* hyphens:auto */ 
}
.content-panel {
 padding:20px;
 margin-top: -10px;
 margin-right: 4%;
 display:none;
 /* width:90% */
}
.accordion-button-gelbschwarz,
.accordion-button-hellblau,
.accordion-button-tiefblau,
.accordion-button-rosa,
.accordion-button-grau {
 position:relative;
 padding:15px;
 margin-left:45px;
 font-weight:500;
 font-size:20px;
 border:2px solid;
 border-radius:30px;
 cursor:pointer;
 align-items:center;
 display:flex;
 max-height:42px 
}
.accordion-button-gelbschwarz::after,
.accordion-button-hellblau::after,
.accordion-button-tiefblau::after,
.accordion-button-rosa::after,
.accordion-button-grau::after  {
 content:none!important 
}
.accordion-button-gelbschwarz::before,
.accordion-button-hellblau::before,
.accordion-button-tiefblau::before,
.accordion-button-rosa::before,
.accordion-button-grau::before  {
 content:'';
 position:absolute;
 left:-42px;
 background-size:30px;
 background-repeat:no-repeat;
 background-position:center;
 width:calc(1.8em + 2px)!important;
 height:calc(1.8em + 2px)!important;
 border-radius:30px;
 border:2px solid 
}
.accordion-button-gelbschwarz[aria-expanded=true]::before,
.accordion-button-hellblau[aria-expanded=true]::before,
.accordion-button-rosa[aria-expanded=true]::before,
.accordion-button-grau[aria-expanded=true]::before {
 background-image:url(../media/blackx.gif) 
}
.accordion-button-gelbschwarz::before {
 background-image:url(../media/blackplus.gif);
 background-color:#ffe576;
 border-color:#ffe576; 
}
.accordion-button-gelbschwarz {
 background-color:#000!important;
 color:#ffe576 
}
.accordion-button-hellblau::before {
 background-image:url(../media/blackplus.gif);
 background-color:#96eada;
 border-color:#96eada;
}
.accordion-button-hellblau {
 background-color:#96eada;
 color:#000;
 border-color:#96eada; 
}
.accordion-button-tiefblau::before {
 background-image:url(../media/whiteplus.gif);
 background-color:#00f;
 border-color:#00f;
}
.accordion-button-tiefblau[aria-expanded=true]::before {
 background-image:url(../media/whitex.gif) 
}
.accordion-button-tiefblau {
 background-color:#00f;
 color:#fff;
 border-color:#00f;
}

.accordion-button-rosa::before {
 background-image:url(../media/blackplus.gif);
 background-color:#ffb3c9;
 border-color:#ffb3c9; 
}

.accordion-button-grau {
 background-color:#ccc !important;
 border-color:#ccc; 
}

.accordion-button-grau::before {
 background-image:url(../media/blackplus.gif);
 background-color:#ccc;
 border-color:#ccc; 
}

.accordion-button-rosa {
 background-color:#ffb3c9 !important;
 /*! color:#ffe576; */ 
 border-color:#ffb3c9; 
}
.accordion-button-gelbschwarz:hover,
.accordion-button-hellblau:hover,
.accordion-button-tiefblau:hover,
.accordion-button-rosa:hover,
.accordion-button-grau:hover, {
   transform: scale(1.02);  
   box-shadow:0 8px 50px -6px rgb(0 0 0 / .4) 
}
.indexcontainer {
 position:relative;
 padding-top:250px;
 margin-bottom:200px;
 flex-direction:row;
 align-items:center 
}
.indexcontainer-grid {
 display:grid;
 grid-template-columns:1fr;
 margin:0 auto;
 padding-left:0;
 max-width:1000px 
}
.accordion-index {
 display:flex;
 flex-direction:column;
 gap:20px;
 align-items:flex-start;
 margin-left:4% 
}
.beobachtungsticker {
  max-width: 100%;
  height: auto;
}

.indexvideo, .indexupdatevideo {
  display: flex;
  justify-content: center;
  transition: transform 0.3s ease;
}
.indexvideo:hover, .indexupdatevideo:hover {
  transform: scale(1.02);
}
.indexvideo video, .indexupdatevideo video {
  width:100%;
  max-width: 700px;
  height: auto; 
}

.indexupdatevideoheadline {
  text-align: center;
}

fieldset.checkbox-group legend.form-label {
 font-size:21px 
}
.impressumsgrid .column,
.privacy-text,
form#aemterForm {
 padding:20px 
}
.aemtergrid {
 display:flex;
 flex-wrap:wrap 
}
.aemtergrid .column {
 flex:1 1 40%;
 margin:0 40px 
}
.form-check {
 display:flex;
 align-items:center 
}
.form-check-input {
 margin-right:10px 
}
.aemtergrid .form-check {
 margin-bottom:15px 
}
#aemter-box {
 margin-bottom:25px 
}
.form-control#grund {
 height:250px 
}
#geburtsdatum-field {
 padding-right:80% 
}
.antrag-hinweis {
  border: 3px solid red;
  padding: 15px 15px 0px 15px;
  text-align: center;
  margin-bottom: 20px;
}
.generatorbuttons {
 display:flex;
 flex-direction:row;
 justify-content:space-evenly;
 word-wrap:none;
 overflow-wrap:none;
 hyphens:none 
}
.accordion-faq .content-panel,
.accordion-support .content-panel {
  border-radius: 0;
}
#download-button,
#reset-button,
#submit-button {
 font-size:19px;
 font-weight:500;
 border-radius:30px;
 text-align:center;
 text-decoration:none;
 display:inline-block;
 cursor:pointer;
 padding:7px;
 transition: all 0.2s ease;
}
#submit-button {
 background-color:#001cf9;
 border:2px solid #001cf9;
 color:#fff 
}
#submit-button:hover {
    background-color: #0070ff;
    border-color: #001cf9;
    box-shadow: 0 4px 8px rgba(77, 97, 255, 0.5);
    transform: scale(1.02);
}
#reset-button {
 background-color:#ffe576;
 border:2px solid #ffe576;
 color:#000 
}

#reset-button:hover {
    background-color: #ffc107;
    border-color: #ffa000;
    box-shadow: 0 4px 8px rgba(255, 193, 7, 0.4);
    transform: scale(1.02);
}
#download-button {
 border:2px solid #ccc;
 color:#000 
}
#download-button:hover {
    background-color: #f0f0f0;
    border-color: #999;
    box-shadow: 0 4px 8px rgba(204, 204, 204, 0.4);
    transform: scale(1.02);
}
.pdf-container {
 height:842px;
 width:auto;
 padding:20px;
 margin:auto 
}
#pdf-viewer {
 width:100%;
 height:100%;
 display:block;
 overflow:auto;
 background-color:#f0f0f0;
 border:12px solid #3c3c3c 
}
#pdf-viewer canvas {
 width:100%;
 margin:0 auto 
}

:root,
[data-bs-theme=light] {
 --bs-white-rgb:255,255,255;
 --bs-black-rgb:0,0,0;
 --bs-body-color:#212529;
 --bs-body-color-rgb:33,37,41;
 --bs-body-bg:#fff;
 --bs-body-bg-rgb:255,255,255;
 --bs-emphasis-color:#000;
 --bs-border-width:2px;
 --bs-border-style:solid;
 --bs-border-color:#dee2e6 
}
.form-check-input {
 --bs-form-check-bg:var(--bs-body-bg);
 width:1em;
 height:1em;
 margin-top:.25em;
 vertical-align:top;
 -webkit-appearance:none;
 -moz-appearance:none;
 appearance:none;
 background-color:var(--bs-form-check-bg);
 background-image:var(--bs-form-check-bg-image);
 background-repeat:no-repeat;
 background-position:center;
 background-size:contain;
 border:var(--bs-border-width) solid var(--bs-border-color);
 -webkit-print-color-adjust:exact;
 print-color-adjust:exact 
}
.form-check-input[type=checkbox] {
 border-radius:.25em;
 flex-shrink:0!important 
}
.form-check-input:checked {
 background-color:#0d6efd;
 border-color:#0d6efd 
}
.form-check-input:checked[type=checkbox] {
 --bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") 
}
.mb-3 {
 margin-top:10px;
 margin-bottom:20px 
}
::-webkit-file-upload-button {
 font:inherit 
}
::file-selector-button {
 font:inherit 
}
.form-label {
 margin-bottom:.5rem 
}
.form-control {
 display:block;
 width:99%;
 padding:3px 0;
 font-size:1rem;
 font-weight:400;
 line-height:1.5;
 color:var(--bs-body-color);
 -webkit-appearance:none;
 -moz-appearance:none;
 appearance:none;
 background-color:var(--bs-body-bg);
 background-clip:padding-box;
 border:var(--bs-border-width) solid var(--bs-border-color);
 border-radius:var(--bs-border-radius);
 transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out 
}
.form-control::-webkit-file-upload-button {
 padding:.375rem .75rem;
 margin:-.375rem -.75rem;
 -webkit-margin-end:.75rem;
 margin-inline-end:.75rem;
 color:var(--bs-body-color);
 background-color:var(--bs-tertiary-bg);
 pointer-events:none;
 border:0 solid;
 border-inline-end-width:var(--bs-border-width);
 border-radius:0;
 -webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
 transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
 border-color:inherit 
}
button,
input,
optgroup,
select,
textarea {
 margin:0;
 font-family:inherit;
 font-size:inherit;
 line-height:inherit 
}
img,
svg {
 vertical-align:middle 
}
label {
 display:inline-block 
}
.accordion-faq,
.accordion-support {
 position:relative;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 gap:20px;
 padding:20px 
}
.accordion-faq .accordion-button-gelbschwarz,
.accordion-faq .accordion-button-hellblau,
.accordion-faq .accordion-button-tiefblau,
.accordion-faq .accordion-button-rosa,
.accordion-support .accordion-button-gelbschwarz,
.accordion-support .accordion-button-hellblau,
.accordion-support .accordion-button-tiefblau,
.accordion-support .accordion-button-rosa {
 background-color:transparent!important;
 border:none;
 color:#fff;
 padding:10px;
 width:fit-content;
 max-height:none;
 cursor:pointer;
 position:relative;
 display:flex;
 justify-content:flex-start;
 align-items:center;
 text-align:start 
}

form#kontaktForm {
 padding:20px 20px 30px 15px 
}
#message {
 height:400px 
}
#captchalabel {
 margin-bottom:8px 
}
#loading,
#response {
 text-align:center;
 padding:20px;
 font-weight:700 
}
#loading:after {
 content:'';
 display:inline-block;
 width:20px;
 height:20px;
 border:2px solid #f3f3f3;
 border-top:2px solid #3498db;
 border-radius:50%;
 animation:1s linear infinite spin;
 margin-left:10px 
}
@keyframes spin {
 0% {
  transform:rotate(0) 
 }
 100% {
  transform:rotate(360deg) 
 }
}
.impressumsgrid {
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:20px 
}
#impressum-container h5 {
 border:none;
 padding:0;
 margin:0 0 5px 
}
footer {
 background-color:#333;
 color:#ffe576;
 padding:20px;
 text-align:center 
}
footer a {
 margin:0 10px 
}
footer .footer-credit {
 font-size:smaller;
 color:#fff 
}
footer .footer-credit .heart {
 color:red;
 font-size:x-large;
 display:inline-block;
 transform:translateY(5px) 
}
@media (max-width:768px) {
 body,
 html {
  padding:0!important;
  width:100% 
 }
 body {
  background-image:url(../media/back-min-mob.png);
  background-size:auto 520px!important 
 }
 .main-centered-flex {
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  align-content:center 
 }
 .content-head h2 {
  text-align:center;
  max-width:100%;
  padding-top:25px!important 
 }
 .content-head h5 {
  margin:0 25px 
 }
 .accordion-index {
  margin-left:1% 
 }
.indexvideo {
  margin-top: 15%;
}
 .aemtergrid .column {
  flex:1 1 100% 
 }
 .impressumsgrid {
  grid-template-columns:1fr 
 }
 #geburtsdatum-field {
  padding-right:50%!important 
 }
 .form-control#grund {
  height:500px 
 }
 footer .footer-credit .heart {
  color:red;
  font-size:medium;
  display:inline-block;
  transform:translateY(-1px) 
 }
}
@media (min-width:768px) {
 body {
  background-size:auto 750px!important 
 }
 #download-button,
 #reset-button,
 #submit-button {
  padding:10px 
 }
.indexvideo {
  margin-top: 320px;
 }
}
@media (min-width:768px) and (min-height:1024px) {
 body {
  background-size:auto 850px!important 
 }
 .indexvideo {
  margin-top: 420px;
 }
}
@media screen and (min-width:1600px) {
 .accordion-index {
  max-width:92%!important; 
 }
}
@font-face {
 font-display:swap;
 font-family:Montserrat;
 font-style:normal;
 font-weight:300;
 src:url(../fonts/montserrat-v26-latin_latin-ext-300.woff2) format('woff2'),
 url(../fonts/montserrat-v26-latin_latin-ext-300.ttf) format('truetype') 
}
@font-face {
 font-display:swap;
 font-family:Montserrat;
 font-style:normal;
 font-weight:400;
 src:url(../fonts/montserrat-v26-latin_latin-ext-regular.woff2) format('woff2'),
 url(../fonts/montserrat-v26-latin_latin-ext-regular.ttf) format('truetype') 
}
@font-face {
 font-display:swap;
 font-family:Montserrat;
 font-style:normal;
 font-weight:500;
 src:url(../fonts/montserrat-v26-latin_latin-ext-500.woff2) format('woff2'),
 url(../fonts/montserrat-v26-latin_latin-ext-500.ttf) format('truetype') 
}
@font-face {
 font-display:swap;
 font-family:Montserrat;
 font-style:normal;
 font-weight:600;
 src:url(../fonts/montserrat-v26-latin_latin-ext-600.woff2) format('woff2'),
 url(../fonts/montserrat-v26-latin_latin-ext-600.ttf) format('truetype') 
}
@font-face {
 font-display:swap;
 font-family:Montserrat;
 font-style:normal;
 font-weight:700;
 src:url(../fonts/montserrat-v26-latin_latin-ext-700.woff2) format('woff2'),
 url(../fonts/montserrat-v26-latin_latin-ext-700.ttf) format('truetype') 
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
 margin-top:0;
 margin-bottom:.5rem;
 font-weight:500;
 line-height:1.2;
 color:var(--bs-heading-color) 
}
.h1,
h1 {
 font-size:calc(1.375rem + 1.5vw) 
}
.h2,
h2 {
 font-size:calc(1.325rem + .9vw) 
}
.h3,
h3 {
 font-size:calc(1.3rem + .6vw) 
}
.h4,
h4 {
 font-size:calc(1.275rem + .3vw) 
}
@media (min-width:1200px) {
 .h1,
 h1 {
  font-size:2.5rem 
 }
 .h2,
 h2 {
  font-size:2rem 
 }
 .h3,
 h3 {
  font-size:1.75rem 
 }
 .h4,
 h4 {
  font-size:1.5rem 
 }
}
.h5,
h5 {
 font-size:1.25rem;
 margin:20px;
 border:1px solid;
 padding:25px 
}
.h6,
h6 {
 font-size:1rem 
}
p {
 margin-top:0;
 margin-bottom:1rem 
}
