/* KNIFFE
Hintergründe: Man kann kommagetrennt mehrere Hintergründe hinterlegen. Der erste ist ganz oben. Funktioniert auch mit Gradients
*/

/* TAGS */
*:disabled {
    color: #FF0000 !important;
}
a, a:link, a:hover, a:focus, header .clicker {
    color: #FFF;
    text-decoration: none;
    transition: all .5s ease-in-out;
}
a:hover, header .clicker:hover {
    color: #CCD629;
}
body {
    background: #004A18;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    font-family: 'brocharegu';
    font-size: 22px;
}
.margin-top-100 {
    margin-top: 100px;
}
footer {
    color: #CCD629;
}
footer a {
    padding: 0 30px;
    font-size: 22px;
}
footer a.mail {
    padding: 0;
    text-decoration: underline;
    font-size: 22px;

}
footer .container {
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: -1px;
}
footer span {
    margin-right: 30px;

}

h2 {
    color: #fff;
    font-family: 'brochabold';
    font-size: 55px;
    margin-bottom: 30px;
}
h3 {
    font-family: 'brocharegu';
    font-size: 28px;
}
h4 {
    color: #004A18;
    font-family: 'aesthetbold';
    font-size: 27px;

}
header {
    text-align: center;
    top: 0px;
    width: 100%;
    z-index: 10;
    height: 0;
}
header .bi {
    font-size: 45px;
    color: #fff;
    position: absolute;
    right: 100px;
    top: 25px;
}
header .container {
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}
header span {
    font-family: 'brochabold';
    font-size: 35px;
    margin: 0 30px;
}
header .logo {
    height: 155px;
}
hr {
    color: #fff;
    border: 1px solid;
    opacity: 1;
}
p {
    margin-bottom: 15px;
}
small {
    font-size: 18px;
}
strong {
    font-family: 'aesthetbold';
}
video {
    width: 100%;
}

/* IDs */

#danke h3 {
    font-size: 27px;
    color: #fff;
    font-family: "aesthetbold";
    text-transform: none;
    padding: 0px 50px;
}
.dankeimage {
    max-width: 644px;
}


#gewinn .container {
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    color: #FFFFFF;
    font-size: 30px;
    margin-top: -3px;


}
#intro-ende .container, #produkte .container, #danke .container, #gewonnen .container {
    padding: 0;
}


#kassenbonvorschau {
     border-top: 1px solid #fff !important;
    border-right: 1px solid #fff !important;
    border-bottom: 1px solid #fff !important;
    border-left: 1px solid #fff !important;
    border-radius: 0px !important;
    box-shadow: none !important;
    background-color: #A50500;
    min-height: 296px;
}
#kassenbonvorschauimg {
    border-radius: 8px;
    max-height: 300px;
    max-width: 100%;
}

#malteser .container {
    padding: 0 130px;
}
#mitmacheninfo {
    margin-left: 15px;
    margin-top: -5px;
    width: 30px;

}
#popBON .modal-content {
    background-image: none !important;
    background: none !important;
}
#popCOO h2, #popCOO .modal-content {
    color: #fff;
    font-family: "brocharegu";
    font-size: 30px;
}
#popCOO .modal-content {
    background: #004A18;
    border: solid;
    border-radius: 50px;
    box-shadow: 5px 5px 5px #004A18;
}
#popCOO .btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:focus  {
   font-size: 17px;
   text-transform: none;
}
#popDSE h2, #popTNB h2 {
    text-align: center;
}
#popDSE input[type="checkbox"] {
    margin-top: 8px;
    height: 30px;
    width: 30px;
    float: left;
}
#popDSE label {
    float: right;
    font-family: 'aesthetmedi';
    width: calc(100% - 40px);
}
#popNAV a, #popNAV span {
    display: block;
}
#popNAV a {
    font-size: 20px;
}
#popNAV span {
    font-size: 30px !important;
}
#produkte {
    color: white;
    text-align: center;
} 
#sogehts {
    margin-bottom: -1px;
    padding: 0 100px;
    text-align: center;
    margin-top: -50px;
    color: #FFFFFF;

}
#sogehts {
    font-size: 30px;
}
#sogehts img {
    margin-bottom: 15px;

}
#sogehts span {
    font-family: "brochabold";
}
#teilnahme .container {

    padding-top: 60px;
    text-align: center;
    margin-top: -50px;
    color: white;
}


/* Classes */
.accordion {
    --bs-accordion-btn-color: #3B2774;
}
.accordion-body {
    border: none !important;
    color: #3B2774;
    font-family: 'goodregular';
    font-size: 16px;
    padding: 5px 0 30px 0;
    text-align: left;
}
.accordion-button {
    background: none !important;
    border-bottom: 1px solid #7D69AC !important;
    box-shadow: none !important;
    color: #3B2774;
    padding: 30px 0 5px 0;
}
.accordion-item {
    background: none;
}
.bild {
    padding: 0 !important;
}
.brocha18 {
    font-size: 18px;
    font-family: "brocharegu";
}
.broch22 {
    font-size: 22px;
    font-size: "bocharegu";
}
.brochainfo {
    font-family: "brochabold";
    font-size: 20px;
}
.btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:focus  {
    background-color: #fff;
    border: none;
    border-radius: 15px;
    border: none;
    color: #A50500;
    display: inline-block;
    font-family: 'brochabold';
    font-weight: bold;
    font-size: 23px;
    line-height: 60px;
    padding: 6px 30px;
    text-transform: uppercase;
}

.btn-primary img {
    margin-left: 10px;
    margin-top: -2px;
    width: 22px;
}
.btn-secondary, .btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus {
    background-color: #fff;
    border: none;
    border-radius: 15px;
    border: none;
    color: #005924;
    display: inline-block;
    font-family: 'brochabold';
    font-weight: bold;
    font-size: 23px;
    line-height: 60px;
    padding: 6px 30px;
    text-transform: uppercase;
}
.container {
    max-width: 100vw !important;
}

.endelogo {
    max-width: 262px;
}
.estmedi40 {
    font-family: "aesthetmedi";
    font-size: 35px;
    font-weight: bold;
    line-height: 45px;
}
.estmedi27 {
    color: #004A18;
    font-family: 'aesthetmedi';
    font-size: 27px;
}

.form-check {
    font-size: 18px;
    border: none;
    border-radius: 0px;
}
.form-check-input {
    border: none !important;
    border-radius: 0px !important;
}
.form-check-input:checked {
    background-color: #408927;
    border: none !important;
    border-radius: 0px;
}
.form-check-label {
    font-family: 'brocharegu';
    font-size: 18px;
    text-align: left;
}
.form-control, .form-select {
    border-top: 2px solid #ddd !important;
    border-right: 2px solid #ddd !important;
    border-bottom: 2px solid #ddd !important;
    border-left: 2px solid #ddd !important;
    border-radius: 0px !important;
    box-shadow: none !important;
    background-color: #A50500;
    color: #fff !important;
}
.form-select {
    border-top: 2px solid #ddd !important;
    border-right: 2px solid #ddd !important;
    border-bottom: 2px solid #ddd !important;
    border-left: 2px solid #ddd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: #A50500 !important;
    color: #fff !important;

    /* Eigenen Pfeil einfügen */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='white' d='M4.646 6.146a.5.5 0 0 1 .708 0L8 8.793l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem 1rem;

    /* Platz für den Pfeil schaffen */
    padding-right: 2rem;
    appearance: none;        /* Standard-Pfeil entfernen */
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Optionen Styling */
.form-select option {
    background-color: #A50500 !important;
    color: #fff !important;
    padding: 8px 12px;
    border: none;
}

.form-select option:hover,
.form-select option:focus {
    background-color: #8B0400 !important;
    color: #fff !important;
}

/* Mobile Optimierung */
@media (max-width: 768px) {
    .form-select {
        font-size: 16px !important; /* Verhindert Zoom auf iOS */
        padding: 12px 2rem 12px 12px !important;
        min-height: 48px !important; /* Bessere Touch-Target Größe */
    }
    
    .form-select option {
        font-size: 16px !important;
        padding: 12px !important;
        min-height: 44px !important;
    }
}

/* ERASCO Button Styles */
.btn-primary:disabled {
    background-color: #004A18 !important;
    border-color: #004A18 !important;
    opacity: 0.6 !important;
    color: #ffffff !important;
}

.btn-primary:disabled:hover {
    background-color: #004A18 !important;
    border-color: #004A18 !important;
    opacity: 0.6 !important;
    color: #ffffff !important;
}

.btn-secondary:disabled {
    background-color: #A50500 !important;
    border-color: #A50500 !important;
    opacity: 0.6 !important;
    color: #ffffff !important;
}

.btn-secondary:disabled:hover {
    background-color: #A50500 !important;
    border-color: #A50500 !important;
    opacity: 0.6 !important;
    color: #ffffff !important;
}
.form-control::placeholder {
    color: #fff;
}
.form-control:focus {
    color: #fff;
    background-color: #025925;
}
.formular {

    height: 960px;
    margin-left: 130px;
    padding: 155px 100px 100px 0px;
    width: 823px;
}
.formularfeld {
    background-color: #A50500;
    border: 1px solid #A50500;
    border-radius: 40px;
}
.herzzz{
    max-width: 98px;
}
.kontaktbubble {
    background-color: #A50500;
    border: 1px solid #A50500;
    color: #fff;
    border-radius: 40px;
}
.modal-content {
    background-color: #004A18;
    border: none;
    border-radius: 50px;
    color: white;
    padding: 20px;
}
.small {
    font-size: 16px;
}
.smallinfo {
    background-color: #E63312;
    border-radius: 50px;
    padding-top: 20px;
}
.stoerer {
    max-width: 256px;
    position: absolute;
    left: 200px;
    margin-top: -350px;
}
.stoerer2 {
    max-width: 300px;
}
.social img {max-width: 44px;}
.text-danger, #kassenbonText {
    font-size: 16px;
    height: 20px;
    overflow: hidden;
    color: darkorange !important;
}


input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="checkbox"]:focus,
select:focus,
textarea:focus,
button:focus {
    outline: 2px solid #3EBCFF; /* oder eine andere Farbe */
    outline-offset: 2px;
  }

#popBON2 h2 {
    color: #fff;
    font-size: 30px;
}
#popBON2 .modal-content {
    color: #fff;
    background: #A50500 !important;
    font-size: 17px;
}
#popBON2 span {
    color: #A50500;
    background-color: #fff;
    border: solid 1px;
    border-color: #fff;
    border-radius: 15px;
    padding:  3px 9px;
    font-weight: bold;
    font-size: 20px;
    margin-left: -5px;
    
}
#popBON2 img {
    max-height: 400px;
}
.closebtn img {
    max-width: 25px;
}
.was-validated .form-check-input:invalid ~ .form-check-label {
    color: darkorange;
}