*{
    box-sizing:border-box;
}

html,
body{
    padding:0;
    margin:0;
    font-family:Calibri, Arial, sans-serif;
    background:#eef0f4;
    color:#222;
    font-size:16px;
}

body a{
    text-decoration:none;
    color:inherit;
}

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

/* HEADER */

header{
    background:#1e1f52;
    width:100%;
    min-height:76px;
    box-shadow:0 3px 12px rgba(0,0,0,0.18);
    overflow:visible;
}

#logo{
    float:left;
    margin-left:35px;
    margin-top:8px;
    height:58px;
}

nav{
    float:right;
    min-height:76px;
    margin-right:45px;
    display:flex;
    align-items:center;
    gap:10px;
}

nav a{
    padding:9px 13px;
    border:1px solid rgba(255,255,255,0.45);
    border-radius:8px;
    color:#f4f4f4;
    text-transform:uppercase;
    font-size:13px;
    transition:0.2s;
}

nav a:hover{
    background:#fff;
    border-color:#fff;
    color:#1e1f52;
}

#navButton_mobile{
    display:none;
}

#site_header,
header{
    overflow:visible !important;
}

#navigation_main{
    overflow:visible !important;
}

.dropdown_content{
    top:calc(100% + 8px);
}

/* LAYOUT */

#main{
    max-width:1180px;
    margin:28px auto;
    padding:28px;
    background:#fff;
    border-radius:16px;
    box-shadow:0 4px 20px rgba(0,0,0,0.08);
    overflow:hidden;
}

#left{
    width:calc(100% - 340px);
    float:left;
    min-height:500px;
}

#right{
    width:300px;
    float:right;
    min-height:500px;
    background:#f7f8fb;
    padding:18px;
    border-radius:14px;
}

/* TYPO */

.titel,
.ueberschrift,
.section_title{
    font-size:28px;
    color:#1e1f52;
    padding-bottom:10px;
    border-bottom:3px solid #1e1f52;
    margin:0 0 24px 0;
    font-weight:bold;
}

.ueberschrift{
    text-transform:uppercase;
}

.ueberschrift_2{
    font-size:18px;
    color:#1e1f52;
    text-transform:uppercase;
    padding-bottom:6px;
    font-weight:bold;
    margin:0 0 12px 0;
}

h1,
h2,
h3{
    color:#1e1f52;
}

p{
    line-height:1.65;
}

/* NEWS */

.news_titel{
    border-bottom:0;
    margin-right:10px;
    font-size:18px;
    color:#1e1f52;
    font-weight:bold;
}

.news_nachricht{
    float:right;
    width:500px;
    font-size:15px;
    line-height:1.55;
}

.news_bild img{
    width:180px;
    height:auto;
    border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,0.15);
}

.news_rating{
    float:right;
    text-align:right;
}

/* EINSÄTZE / TERMINE */

.einsatzdetails{
    margin-top:15px;
    font-size:17px;
    line-height:1.6;
    display:block;
}

.einsatzArchivListeElement,
.einsatzListeElement,
.kalenderNext{
    text-decoration:none;
    font-size:16px;
    background-repeat:no-repeat;
    background-size:25px 25px;
    padding-left:34px;
    line-height:28px;
    display:block;
    margin-bottom:12px;
}

.einsatzArchivListeElement{
    background-image:url('https://www.ff-oelbronn-duerrn.de/dateien/img/archiv_icon.png');
}

.einsatzListeElement{
    background-image:url('https://www.ff-oelbronn-duerrn.de/dateien/img/einsatz_icon.png');
}

.kalenderNext{
    background-image:url('https://www.ff-oelbronn-duerrn.de/dateien/img/termin_icon.png');
}

/* FORMULARE */

input{
    background:#c2c3c3;
    border:0;
    padding:0;
    margin:5px;
}

.z_select,
.z_input,
.z_textarea{
    width:100%;
    font-size:16px;
    background:#fff;
    margin:0 0 12px 0;
    padding:10px;
    border:1px solid #c5c5c5;
    border-radius:8px;
    font-family:Calibri, Arial, sans-serif;
}

.z_select{
    width:auto;
    height:38px;
    padding:0 10px;
}

.z_textarea{
    height:150px;
    resize:none;
}

.z_button{
    padding:8px 14px;
    border:1px solid #1e1f52;
    border-radius:8px;
    background:#fff;
    color:#1e1f52;
    cursor:pointer;
}

.z_button_submit{
    border-color:#0B610B;
    background:#0B610B;
    color:#fff;
}

.z_button_submit:hover{
    background:#fff;
    color:#0B610B;
}

.z_button_delete{
    border-color:#cc0000;
    background:#cc0000;
    color:#fff;
}

.z_button_delete:hover{
    background:#fff;
    color:#cc0000;
}

/* IMPRESSUM */

.impressum_box{
    background:#f7f8fb;
    padding:20px;
    margin-bottom:20px;
    border-radius:12px;
    box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

.impressum_box p{
    line-height:1.7;
    margin-top:0;
}

.impressum_box ul{
    line-height:1.8;
}

/* TEAM / LEITUNG & ZÜGE */

.team_section{
    margin-bottom:45px;
    clear:both;
}

.team_title{
    font-size:24px;
    color:#1e1f52;
    margin:0 0 20px 0;
    border-left:6px solid #d60000;
    padding-left:12px;
}

.team_row{
    width:100%;
    overflow:hidden;
    clear:both;
}

.team_card{
    width:calc(50% - 12px);
    flex:0 0 calc(50% - 12px);
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.team_card img{
    width:100%;
    height:320px;
    object-fit:cover;
    background:#e9eef1;
}

.team_content{
    padding:20px;
}

.team_content h3{
    margin:0 0 10px 0;
    color:#1e1f52;
    text-transform:uppercase;
    font-size:14px;
}

.team_name{
    font-size:22px;
    font-weight:bold;
    margin:0 0 14px 0;
}

.team_content a{
    color:#d60000;
    font-weight:bold;
}

.zug_name{
    margin:0;
    padding:18px 20px;
    background:#1e1f52;
    color:#fff;
    font-size:22px;
}

/* EINSATZ DETAIL */

#zffOelDue_einsatz_main_left{
    width:50%;
    float:left;
}

#zffOelDue_einsatz_main_right{
    width:45%;
    float:right;
}

#zffOelDue_einsatz_detail_tabelle{
    float:left;
    width:65%;
}

#zffOelDue_einsatz_detail_fahrzeuge{
    float:right;
    width:35%;
}

.meldung{
    padding:7px;
    width:100%;
    display:block;
}

.fehler{
    border:2px solid red;
}

.erfolg{
    border:2px solid green;
}

/* FOOTER */

footer{
    background:#1e1f52;
    width:100%;
    min-height:56px;
    text-align:center;
}

footer a{
    color:#c2c3c3;
    text-transform:uppercase;
    margin:0 15px;
    line-height:56px;
    font-size:13px;
}

#footer_nav{
    margin:0 auto;
    width:auto;
}

.mobile{
    display:none;
}

.desktop{
    display:block;
}

/* RESPONSIVE */

@media only screen and (max-width:1199px){

    #main{
        width:95%;
        max-width:95%;
    }

    #left,
    #right{
        width:100%;
        float:none;
    }

    #right{
        margin-top:25px;
    }

    nav{
        margin-right:20px;
        gap:6px;
    }

    nav a{
        font-size:12px;
        padding:8px 10px;
    }
}

@media only screen and (max-width:900px){

    header{
        height:auto;
        padding:15px 0;
    }

    #logo{
        float:none;
        margin:0 auto 15px auto;
    }

    nav{
        float:none;
        margin:0 auto;
        justify-content:center;
        flex-wrap:wrap;
        height:auto;
        padding:0 10px;
    }

    #main{
        margin:18px auto;
        padding:18px;
        border-radius:12px;
    }

    .team_grid{
        gap:20px;
    }

    .team_card{
        width:100%;
        flex:0 0 100%;
    }

    .team_card img{
        height:300px;
    }

    .titel,
    .ueberschrift,
    .section_title{
        font-size:24px;
    }
}

/* FIX: TEAMKARTEN 2 NEBENEINANDER */

#left .team_row{
    width:100% !important;
    display:block !important;
    clear:both !important;
    overflow:hidden !important;
}

#left .team_card{
    width:48% !important;
    float:left !important;
    margin:0 4% 28px 0 !important;
    display:block !important;
}

#left .team_card:nth-child(2n){
    margin-right:0 !important;
}

#left .team_card img{
    width:100% !important;
    height:300px !important;
    object-fit:cover !important;
    display:block !important;
}

@media only screen and (max-width:900px){
    #left .team_card{
        width:100% !important;
        float:none !important;
        margin-right:0 !important;
    }
}

/* SEITE: FAHRZEUGE */

.fahrzeug_section{
    margin-bottom:50px;
    clear:both;
}

.fahrzeug_title{
    font-size:24px;
    color:#1e1f52;
    margin:0 0 20px 0;
    border-left:6px solid #d60000;
    padding-left:12px;
}

.fahrzeug_row{
    width:100%;
    overflow:hidden;
    clear:both;
}

.fahrzeug_card{
    width:48%;
    max-width:380px;
    float:left;
    margin:0 4% 28px 0;
    display:block;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,0.10);
    transition:0.2s;
}

.fahrzeug_card:nth-child(2n){
    margin-right:0;
}

.fahrzeug_card:hover{
    transform:translateY(-3px);
}

.fahrzeug_card img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
    background:#e9eef1;
}

.fahrzeug_content{
    padding:20px;
}

.fahrzeug_content h3{
    margin:0 0 8px 0;
    color:#1e1f52;
    font-size:22px;
}

.fahrzeug_content p{
    margin:0;
    color:#d60000;
    font-weight:bold;
    text-transform:uppercase;
}

/* Mobil */
@media only screen and (max-width:900px){
    .fahrzeug_card{
        width:100%;
        float:none;
        margin-right:0;
    }

    .fahrzeug_card img{
        height:230px;
    }
}

/* FIX FAHRZEUGE */

#left .fahrzeug_row{
    width:100% !important;
    overflow:hidden !important;
    clear:both !important;
}

#left .fahrzeug_card{
    width:48% !important;
    max-width:48% !important;
    float:left !important;
    margin:0 4% 28px 0 !important;
    display:block !important;
    background:#fff !important;
    border-radius:16px !important;
    overflow:hidden !important;
    box-shadow:0 4px 14px rgba(0,0,0,0.10) !important;
}

#left .fahrzeug_card:nth-child(2n){
    margin-right:0 !important;
}

#left .fahrzeug_card img{
    width:100% !important;
    height:220px !important;
    max-height:220px !important;
    object-fit:cover !important;
    display:block !important;
}

#left .fahrzeug_content{
    padding:18px !important;
}

#left .fahrzeug_content h3{
    font-size:20px !important;
    margin:0 0 8px 0 !important;
    color:#1e1f52 !important;
}

#left .fahrzeug_content p{
    margin:0 !important;
    color:#d60000 !important;
    font-weight:bold !important;
}

@media only screen and (max-width:900px){
    #left .fahrzeug_card{
        width:100% !important;
        max-width:100% !important;
        float:none !important;
        margin-right:0 !important;
    }
}

/* FAHRZEUG DETAILSEITEN */

.fahrzeug_backlink{
    margin-bottom:25px;
}

.fahrzeug_backlink a{
    color:#d60000;
    font-weight:bold;
}

.fahrzeug_detail_section{
    width:100%;
}

.fahrzeug_detail_card{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
    margin-bottom:35px;
}

.fahrzeug_detail_image img{
    width:100%;
    height:420px;
    object-fit:cover;
    display:block;
}

.fahrzeug_detail_text{
    padding:28px;
}

.fahrzeug_detail_text h2{
    margin-top:0;
    margin-bottom:18px;
    color:#1e1f52;
}

.fahrzeug_detail_text p{
    line-height:1.8;
    margin-bottom:15px;
}

/* Desktop nebeneinander */

@media only screen and (min-width:1000px){

    .fahrzeug_detail_card{
        overflow:hidden;
    }

    .fahrzeug_detail_image{
        width:50%;
        float:left;
    }

    .fahrzeug_detail_text{
        width:50%;
        float:left;
        padding:35px;
    }

    .fahrzeug_detail_image img{
        height:100%;
        min-height:340px;
    }
}

/* Mobile */

@media only screen and (max-width:999px){

    .fahrzeug_detail_image img{
        height:260px;
    }

    .fahrzeug_detail_text{
        padding:20px;
    }
}

/* FIX: FAHRZEUG DETAIL BILDER */

#left .fahrzeug_detail_card{
    margin-bottom:35px;
}

#left .fahrzeug_detail_image img{
    width:100%;
    height:360px !important;
    object-fit:cover !important;
    object-position:center center;
    border-radius:12px;
}

#left .fahrzeug_detail_text{
    padding:22px 0 10px 0;
}

#left .fahrzeug_detail_text h2{
    margin:0 0 16px 0;
    color:#1e1f52;
    font-size:24px;
}

#left .fahrzeug_detail_text p{
    font-size:16px;
    line-height:1.75;
}

/* FAHRZEUG DETAIL SAUBER UNTEREINANDER */

#left .fahrzeug_detail_card{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
    margin-bottom:35px;
}

#left .fahrzeug_detail_image{
    width:100% !important;
    float:none !important;
}

#left .fahrzeug_detail_image img{
    width:100% !important;
    height:340px !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:0 !important;
}

#left .fahrzeug_detail_text{
    width:100% !important;
    float:none !important;
    padding:26px !important;
}

#left .fahrzeug_detail_text h2{
    margin-top:0;
    font-size:24px;
    color:#1e1f52;
}

#left .fahrzeug_detail_text p{
    font-size:16px;
    line-height:1.75;
}

/* MODERNER KOMPAKTER HEADER */

#site_header{
    width:100%;
    background:#141633;
    position:sticky;
    top:0;
    z-index:999;
    box-shadow:0 3px 10px rgba(0,0,0,0.18);
}

.header_inner{
    max-width:1280px;
    margin:0 auto;
    padding:10px 25px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

/* LOGO */

.logo_wrap{
    display:flex;
    align-items:center;
    color:#fff;
}

#logo{
    height:52px;
    margin-right:14px;
}

.logo_title{
    display:block;
    font-size:18px;
    font-weight:bold;
    line-height:1.1;
}

.logo_subtitle{
    display:block;
    font-size:11px;
    color:#c8cad8;
    margin-top:3px;
    text-transform:uppercase;
    letter-spacing:1px;
}

/* NAVIGATION */

#navigation_main{
    display:flex;
    align-items:center;
    gap:8px;
}

#navigation_main a{
    display:inline-block;
    padding:10px 14px;
    border:1px solid rgba(255,255,255,0.25);
    border-radius:8px;
    color:#fff;
    font-size:12px;
    font-weight:bold;
    text-transform:uppercase;
    transition:0.2s;
}

#navigation_main a:hover{
    background:#d60000;
    border-color:#d60000;
    color:#fff;
}

/* MOBILE */

@media only screen and (max-width:900px){

    .header_inner{
        flex-direction:column;
        gap:14px;
        padding:14px;
    }

    .logo_wrap{
        justify-content:center;
    }

    #navigation_main{
        flex-wrap:wrap;
        justify-content:center;
    }

    #navigation_main a{
        padding:9px 12px;
        font-size:11px;
    }

    #logo{
        height:44px;
    }

    .logo_title{
        font-size:16px;
    }
}

@media only screen and (max-width:900px){
    #navigation_main{
        display:none;
    }

    #navigation_main.nav_open{
        display:flex;
    }
}

/* STARTSEITE */

.home_hero{
    min-height:360px;
    border-radius:18px;
    background:
        linear-gradient(rgba(20,22,51,0.75), rgba(20,22,51,0.75)),
        url('https://www.ff-oelbronn-duerrn.de/dateien/img/logo.png');
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    margin-bottom:35px;
    overflow:hidden;
}

.home_hero_content{
    color:#fff;
    padding:30px;
}

.home_hero h1{
    color:#fff;
    font-size:42px;
    margin:0 0 15px 0;
    text-transform:uppercase;
}

.home_hero p{
    font-size:20px;
    margin-bottom:28px;
}

.home_hero a{
    display:inline-block;
    background:#d60000;
    color:#fff;
    padding:13px 24px;
    border-radius:10px;
    font-weight:bold;
}

.home_cards{
    width:100%;
    overflow:hidden;
    margin-bottom:35px;
}

.home_card{
    width:31.33%;
    float:left;
    margin-right:3%;
    background:#fff;
    border-radius:16px;
    padding:24px;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
    min-height:210px;
}

.home_card:nth-child(3){
    margin-right:0;
}

.home_card_dark{
    background:#1e1f52;
    color:#fff;
}

.home_card h2{
    margin-top:0;
    color:inherit;
}

.home_card p{
    line-height:1.65;
}

.home_card a{
    color:#d60000;
    font-weight:bold;
}

.home_card_dark a{
    color:#fff;
}

.home_facts{
    width:100%;
    overflow:hidden;
    margin-bottom:35px;
}

.home_facts div{
    width:31.33%;
    float:left;
    margin-right:3%;
    background:#1e1f52;
    color:#fff;
    border-radius:16px;
    padding:26px;
    text-align:center;
}

.home_facts div:nth-child(3){
    margin-right:0;
}

.home_facts strong{
    display:block;
    font-size:34px;
    margin-bottom:8px;
}

.home_facts span{
    text-transform:uppercase;
    letter-spacing:1px;
}

.home_section{
    background:#fff;
    border-radius:16px;
    padding:28px;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.home_title{
    font-size:26px;
    color:#1e1f52;
    margin-top:0;
    border-left:6px solid #d60000;
    padding-left:12px;
}

@media only screen and (max-width:900px){
    .home_card,
    .home_facts div{
        width:100%;
        float:none;
        margin-right:0;
        margin-bottom:20px;
    }

    .home_hero h1{
        font-size:30px;
    }
}

/* JUGENDFEUERWEHR */

.jf_hero{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
    margin-bottom:35px;
}

.jf_hero img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
}

.jf_hero_content{
    padding:30px;
}

.jf_hero_content h2{
    margin-top:0;
    color:#1e1f52;
    font-size:30px;
}

.jf_hero_content p{
    line-height:1.8;
    font-size:16px;
}

.jf_boxes{
    width:100%;
    overflow:hidden;
    margin-top:25px;
}

.jf_box{
    width:31.33%;
    float:left;
    margin-right:3%;
    background:#f7f8fb;
    border-radius:14px;
    padding:24px;
}

.jf_box:nth-child(3){
    margin-right:0;
}

.jf_box h3{
    margin-top:0;
    color:#1e1f52;
}

.jf_box p{
    line-height:1.7;
}

@media only screen and (max-width:900px){

    .jf_box{
        width:100%;
        float:none;
        margin-right:0;
        margin-bottom:20px;
    }

    .jf_hero img{
        height:220px;
    }

    .jf_hero_content{
        padding:20px;
    }
}

/* DROPDOWN */

.dropdown{
    position:relative;
    display:inline-block;
}

.dropdown_button{
    padding:10px 14px;
    border:1px solid rgba(255,255,255,0.25);
    border-radius:8px;
    background:none;
    color:#fff;
    font-size:12px;
    font-weight:bold;
    text-transform:uppercase;
    cursor:pointer;
}

.dropdown_button:hover{
    background:#d60000;
    border-color:#d60000;
}

.dropdown_content{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:220px;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,0.18);
    z-index:999;
}

.dropdown_content a{
    display:block;
    padding:14px 18px !important;
    color:#1e1f52 !important;
    background:#fff !important;
    border:none !important;
    border-radius:0 !important;
    text-transform:none !important;
    font-size:14px !important;
}

.dropdown_content a:hover{
    background:#f3f4f8 !important;
    color:#d60000 !important;
}

.dropdown:hover .dropdown_content{
    display:block;
}

/* EINSATZVORLAGE */

.einsatz_formular{
    background:#fff;
    border-radius:16px;
    padding:28px;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.form_group{
    margin-bottom:24px;
}

.form_group label{
    display:block;
    font-weight:bold;
    color:#1e1f52;
    margin-bottom:8px;
    font-size:16px;
}

.form_row{
    width:100%;
    overflow:hidden;
}

.form_row .form_group{
    width:31.33%;
    float:left;
    margin-right:3%;
}

.form_row .form_group:nth-child(3){
    margin-right:0;
}

.fahrzeug_checkboxen{
    background:#f7f8fb;
    padding:18px;
    border-radius:12px;
    overflow:hidden;
}

.fahrzeug_checkboxen label{
    width:48%;
    float:left;
    margin-right:4%;
    margin-bottom:12px;
    color:#222;
    font-weight:normal;
}

.fahrzeug_checkboxen label:nth-child(2n){
    margin-right:0;
}

.fahrzeug_checkboxen input{
    margin-right:8px;
}

.form_buttons{
    margin-top:30px;
}

.form_buttons button{
    margin-right:12px;
}

@media only screen and (max-width:900px){

    .form_row .form_group,
    .fahrzeug_checkboxen label{
        width:100%;
        float:none;
        margin-right:0;
    }

    .einsatz_formular{
        padding:20px;
    }
}

/* EINSÄTZE */

.einsatz_intro{
    margin-bottom:30px;
}

.einsatz_intro_box{
    background:#fff;
    border-radius:16px;
    padding:28px;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.einsatz_intro_box h2{
    margin-top:0;
    color:#1e1f52;
    font-size:28px;
}

.einsatz_intro_box p{
    line-height:1.8;
    margin-bottom:18px;
}

.einsatz_main_wrapper{
    background:#fff;
    border-radius:16px;
    padding:28px;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

/* AKTUELL / ARCHIV */

#zffOelDue_einsatz_main_left,
#zffOelDue_einsatz_main_right{
    background:#f7f8fb;
    border-radius:14px;
    padding:24px;
}

#zffOelDue_einsatz_main_left h3,
#zffOelDue_einsatz_main_right h3{
    margin-top:0;
    color:#1e1f52;
    font-size:24px;
    border-left:6px solid #d60000;
    padding-left:12px;
}

/* LISTENELEMENTE */

.einsatzListeElement,
.einsatzArchivListeElement{
    background:#fff;
    border-radius:12px;
    padding:14px 16px 14px 42px;
    margin-bottom:14px;
    box-shadow:0 2px 8px rgba(0,0,0,0.05);
    transition:0.2s;
}

.einsatzListeElement:hover,
.einsatzArchivListeElement:hover{
    transform:translateY(-2px);
    box-shadow:0 4px 12px rgba(0,0,0,0.08);
}

/* MOBILE */

@media only screen and (max-width:900px){

    .einsatz_intro_box,
    .einsatz_main_wrapper{
        padding:20px;
    }

    #zffOelDue_einsatz_main_left,
    #zffOelDue_einsatz_main_right{
        width:100% !important;
        float:none !important;
        margin-bottom:20px;
    }
}

/* ERROR PAGE */

.error_page{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px 0;
}

.error_box{
    width:100%;
    max-width:700px;
    background:#fff;
    border-radius:18px;
    padding:50px;
    text-align:center;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.error_code{
    font-size:120px;
    font-weight:bold;
    line-height:1;
    color:#d60000;
    margin-bottom:20px;
}

.error_box h2{
    margin-top:0;
    color:#1e1f52;
    font-size:32px;
}

.error_box p{
    font-size:18px;
    line-height:1.8;
    margin-bottom:35px;
}

.error_button{
    display:inline-block;
    padding:14px 28px;
    background:#1e1f52;
    color:#fff !important;
    border-radius:10px;
    font-weight:bold;
    transition:0.2s;
}

.error_button:hover{
    background:#d60000;
}

@media only screen and (max-width:900px){

    .error_box{
        padding:30px 20px;
    }

    .error_code{
        font-size:80px;
    }

    .error_box h2{
        font-size:26px;
    }

    .error_box p{
        font-size:16px;
    }
}

/* MOBILE HEADER FIX */

@media only screen and (max-width:900px){

    header{
        padding:20px 15px !important;
        height:auto !important;
        overflow:visible !important;
    }

    #logo{
        float:none !important;
        display:block !important;
        margin:0 auto 20px auto !important;
        width:280px !important;
        height:auto !important;
        max-width:90% !important;
    }

    #navigation_main{
        width:100% !important;
        float:none !important;
        display:flex !important;
        flex-wrap:wrap !important;
        justify-content:center !important;
        gap:10px !important;
        margin:0 !important;
        padding:0 !important;
    }

    #navigation_main a,
    .dropdown_button{
        width:140px !important;
        text-align:center !important;
        font-size:14px !important;
        padding:12px 10px !important;
    }

    .dropdown{
        width:140px !important;
        position:relative !important;
    }

    .dropdown_content{
        position:absolute !important;
        left:0 !important;
        top:100% !important;
        width:100% !important;
        min-width:unset !important;
    }

    .dropdown_content a{
        width:100% !important;
        box-sizing:border-box !important;
    }

    /* TEXT NEBEN LOGO AUSBLENDEN */

    .header_text,
    .header_subtitle{
        display:none !important;
    }
}

@media only screen and (max-width:900px){

    .header_textblock{
        display:none !important;
    }

}

@media only screen and (max-width:900px){

    #site_header,
    header{
        padding:14px 16px !important;
        min-height:auto !important;
        overflow:visible !important;
    }

    .header_inner{
        display:block !important;
        padding:0 !important;
    }

    .logo_wrap{
        display:block !important;
        text-align:center !important;
        margin:0 auto 12px auto !important;
    }

    #logo{
        width:260px !important;
        max-width:85% !important;
        height:auto !important;
        margin:0 auto !important;
        float:none !important;
    }

    .logo_text{
        display:none !important;
    }

    #navButton_mobile{
        display:block !important;
        margin:10px auto 0 auto !important;
        width:48px !important;
        height:auto !important;
        cursor:pointer !important;
    }

    #navigation_main{
        display:none !important;
        width:100% !important;
        margin-top:14px !important;
        padding:12px !important;
        background:#20225a !important;
        border-radius:16px !important;
        text-align:center !important;
    }

    #navigation_main.nav_open{
        display:block !important;
    }

    #navigation_main a,
    .dropdown_button{
        display:block !important;
        width:100% !important;
        margin:0 0 10px 0 !important;
        padding:13px 12px !important;
        font-size:15px !important;
        border-radius:10px !important;
        text-align:center !important;
    }

    .dropdown{
        width:100% !important;
    }

    .dropdown_content{
        position:static !important;
        display:block !important;
        width:100% !important;
        box-shadow:none !important;
        border-radius:10px !important;
        margin-top:8px !important;
        overflow:hidden !important;
    }

    .dropdown_content a{
        color:#1e1f52 !important;
        background:#fff !important;
    }
}

@media only screen and (max-width:900px){

    #navigation_main{
        display:none !important;
    }

    #navigation_main.nav_open{
        display:block !important;
    }

    .dropdown_content{
        display:none !important;
    }

    .dropdown.dropdown_open .dropdown_content{
        display:block !important;
    }
}