:root{
    --hellblau : rgb(214,231,245);
    --dunkelblau: rgb(79,111,146);
}
*{
    margin:0;
    padding:0;
    font-family: Verdana, sans-serif;
    font-size:14px;
    text-decoration: none;
    color:#000;
    box-sizing: border-box;
}
html,body{
    background-color: rgb(79,111,146);
    /*min-height:300vH;*/
}
a{
    cursor:pointer;
}

#logo{
    max-height: 140px;
    position:fixed;
    top:10px;
    left:40px;
    z-index:101;
    -webkit-filter: drop-shadow(5px 5px 3px rgba(0,0,0,0.7));
     filter: drop-shadow(5px 5px 3px rgba(0,0,0,0.7));
}
menu li{
    list-style-type: none;
}
body > menu:first-of-type{
    height:40px;
    background-color: rgb(79,111,146);
    line-height:30px;
    text-align: right;
    padding-right: 30px;
    width:100%;
    position:sticky;
    top:0px;
    left:0px;
    z-index:100;
    box-shadow: 0px 4px 8px #333333;
}
body > menu:first-of-type a{
    display:inline-block;
    margin-right:10px;
    opacity:0.5;
    transition:all 0.6s;
    color:rgb(214,231,245);
    vertical-align: middle;
}
body > menu:first-of-type a img{
    vertical-align: middle;
}
body > menu:first-of-type a:hover,body > menu:first-of-type a.aktiv{
    opacity:0.8;
}
body > menu:nth-of-type(2){
    position:sticky;
    top:40px;
    left:0px;
    height:40px;
    line-height:40px;
    text-align: center;
    background-color: rgb(214,231,245);
    box-shadow: 0px 4px 8px #333333;
    width:100%;
    z-index:100;
}
body > menu:nth-of-type(2) > li{
    display:inline-block;
    position:relative;
    transition:all 0.6s;
    height:40px;
}
body > menu:nth-of-type(2) > li:hover{
    background-color: rgba(255,255,255,0.4);
}
body > menu:nth-of-type(2) a{
    display:block;
    margin:0px 10px;
    opacity:0.8;
    transition:all 0.6s;
    font-weight:bold;
    color:rgb(79,111,146);
    white-space: nowrap;
}
body > menu:nth-of-type(2) li:hover a{
    opacity:1;
    color:#000;
}
body > menu:nth-of-type(2) li menu{
    position:absolute;
    top:40px;
    left:0px;
    z-index:1000;
    opacity:0;
    transition:all 0.6s;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    box-shadow: 0px 0px 8px #000;
    line-height: 2rem;
    display:none;
}
body > menu:nth-of-type(2) li menu li{
    line-height: inherit;
    height:auto;
}
body > menu:nth-of-type(2) li menu li a{
    font-size:0.9em;
}
body > menu:nth-of-type(2) > li:hover menu{
    background-color: rgb(226,238,248);
    opacity:1;
    display:block;
}
#m_menu{
    display:none;
}
.lang{
    opacity: 0.3;
}
body > header:first-of-type{
    padding-top:10px;
    height:350px;
    background-image: url(../image/header_neu.webp);
    background-position: center center;
    background-size: cover;
    box-shadow: 0px 0px 8px #000;
}
body > footer{
    position:fixed;
    bottom:0px;
    left:0px;
    height:40px;
    line-height:40px;
    text-align: right;
    padding-right: 30px;
    background-color: rgb(214,231,245);
    box-shadow: 0px 0px 8px #000;
    width:100%;
}
body > footer a{
    display:inline-block;
    margin-right:10px;
}


/* ---------------------------------- [+] CONTENT ------------------------------------------- */


main{
    padding-top:20px;
    padding-bottom:50px;
}
main section{
    width:95vW;
    margin:auto;
    margin-bottom:20px;
    position: relative;
}
main section.g11{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-areas: "links rechts";
}
main section.g12{
    display: grid;
    grid-template-columns: 33% 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-areas: "links rechts";
}
main section.g21{
    display: grid;
    grid-template-columns: 1fr 33%;
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-areas: "links rechts";
}

main section.g3{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}

article{
    background-color:rgba(214,231,245,0.7);
    padding:15px;
    border-radius:8px;
    border:1px solid rgb(214,231,245);
}

main section.g3 article:last-of-type{
    display:none;
}

article.bg{
    background-color:rgba(214,231,245,0.7) !important;
    border:1px solid rgb(214,231,245) !important;
}

article img{
    max-width:100%;
    max-height:100%;
    border-radius:5px;
}

section > h6,article > h6{
    display:none;
}

main section.g12 article:first-of-type,main section.g21 article:last-of-type{
    background-color:rgba(255,255,255,0);
    border:1px solid transparent;
}

.border{
    border:1px solid rgb(214,231,245) !important;
}
.fancybox-infobar *{
    color:#fff !important;
}


/* ---------------------------------- [-] CONTENT ------------------------------------------- */

#cookiehinweis{
    background-color:rgba(214,231,245,0.9);
    position: fixed;
    bottom: 0px;
    left: 0px;
    height:250px;
    width:100%;
    z-index:5000;
    padding:40px;
    transition:all 1s;
    font-size:1.2rem;
    text-align: center;
}
#cookiehinweis.inaktiv{
    bottom:-300px
}
#cookiehinweis button{
    background-color:rgb(79,111,146);
    border-radius:8px;
    padding:8px 15px;
    color:rgb(214,231,245);
    border:2px solid rgb(214,231,245);
    cursor:pointer;
}
/* ------------------------------ [+] Formular ------------------------------------------------- */

form{
    width: 89%;
    margin:auto;
    line-height:34px;
}
#kontakt a,strong{
    color:inherit;
    font-size:inherit;
}
form label{
    display:inline-block;
    vertical-align:top;
    width:20%;
    padding-left:20px;
}

form input,form textarea{
    width:72%;
    padding:5px 7px;
    border-radius:5px;
    border:1px solid #969696;
}

form input[type=submit],form input[type=reset]{
    width:35.3%;
    background-color: rgba(84,93,133,0.7);
    color:#fff;
    cursor:pointer;
    transition:all 0.5s;
}

form input[type=submit]:hover,form input[type=reset]:hover{
    background-color: #12b3c5;
}
form input[name=vorname]{
    display:none;
}

form textarea{
    margin-top:3px;
    margin-bottom:6px;
    height:9em;
    resize: none;
}

form div{
    text-align: center;
    color:#EA5F00;
}

.fehler{
    color:#EA5F00;
    font-weight:bold;
}
.erfolg{
    color:#339966;
    font-weight:bold;
}
/* ------------------------------ [-] Formular ------------------------------------------------- */





/* ------------------------------ [+] Adminbereich --------------------------------------------- */

.adminlink{
    display:inline-block;
    width:100px;
    height:100px;
    border-radius:8px;
    background-color:rgba(255,255,255,0.3) !important;
    border:1px solid #C0C0C0;
    margin:5px;
}
.adminlink[class*="icon"]:before{
    font-size:65px;
    position:relative;
    top:15px;
    left:17px;
    color:#333333;
}
table{
    border-spacing:0px;
    width:100%;
}
table tr:nth-of-type(2n){
    background-color:rgba(0,0,0,0.1);
}
table tr td:first-of-type{
    padding:4px 6px;
}
table tr:hover{
    background-color:rgba(0,0,0,0.7);
}
table tr:hover *{
    color:#fff;
}

.ui-widget-header{
    background-color:rgb(214,231,245) !important;
}
.ui-dialog-title{
    color:#fff;
}

.ui-widget-content{
    line-height: auto !important;
}
select,option{
    width:100%;
    padding:3px 6px;
    color:#000;
}
option{
    width:100%;
    color:#000;
}
button#upload{
    width:100%;
    margin: auto;
    padding: 8px;
    border-radius:7px;
    border:1px solid #C0C0C0;
    margin-top:7px;
}
.progress{
    width:100%;
    margin: auto;
    margin-top:7px;
    border-radius:10px;
    border:1px solid #C0C0C0;
    padding: 0px;
    display: none;
}
#rasterauswahl a img{
    transition:all 0.6s;
    opacity:0.6;
    border:3px solid transparent;
}
#rasterauswahl a:hover img{
    border:3px solid #339966;
    opacity:1;
}
section > .icon-trash{
    position: absolute;
    top:-15px;
    right:-20px;
    height:40px;
    width:40px;
    border-radius:20px;
    border:1px solid #FF9900;
    background-color:rgba(255,255,255,0.7);
    line-height:40px;
    text-align:center;
    opacity:0.2;
    transition:all 0.6s;
}
section > .icon-arrow-bold-up{
    position: absolute;
    top:-15px;
    left:-20px;
    height:40px;
    width:40px;
    border-radius:20px;
    border:1px solid #FF9900;
    background-color:rgba(255,255,255,0.7);
    line-height:40px;
    text-align:center;
    opacity:0.2;
    transition:all 0.6s;
}
section:hover > .icon-trash,section:hover > .icon-arrow-bold-up{
    opacity:1;
}
.trumbowyg-insertImage-button{
    display: none !important;
}
/* ------------------------------ [-] Adminbereich --------------------------------------------- */



/* ------------------------------ [+] Galerie -------------------------------------------------- */
figcaption.galerie{
    margin-top:-10px;
}
.galeriethumb{
    width:130px;
    height:110px;
    background-size:cover;
    margin:5px;
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    opacity:0.7;
    border-radius:8px;
    display:inline-block;
    transition:all 0.4s;
}
.galeriethumb:hover,.galeriethumb.aktiv{
    cursor:pointer;
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
    opacity:1;
}
.galeriethumb a{
    display:block;
    width:100%;
    height:100%;
}

/* ------------------------------ [-] Galerie -------------------------------------------------- */



/* ------------------------------ [+] Klassen -------------------------------------------------- */
.bigicon:before{
    font-size:30px;
}
/* ------------------------------ [-] Klassen -------------------------------------------------- */
