@font-face {
    font-family: 'open_sansregular';
    src: url('fonts/OpenSans-Regular-webfont.eot');
    src: url('fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/OpenSans-Regular-webfont.woff') format('woff'),
         url('fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
         url('fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'open_sansbold';
    src: url('fonts/OpenSans-Bold-webfont.eot');
    src: url('fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/OpenSans-Bold-webfont.woff') format('woff'),
         url('fonts/OpenSans-Bold-webfont.ttf') format('truetype'),
         url('fonts/OpenSans-Bold-webfont.svg#open_sansbold') format('svg');
    font-weight: normal;
    font-style: normal;
}

:root{
    --farbe-rot:#ff0000;
    --farbe-gruen:#2ac432;
    --farbe-orange:#ff9118;
    --farbe-gelb:#ffce44;
    --farbe-blau:#3193f1;
    --farbe-grau:#333;
}

*{
	padding:0px;
	margin:0px;
	font-family:open_sansregular,Helvetica, Ariel, sans-serif;
	font-weight:normal;
	font-size:12px;
	line-height:16px;
	font-style:normal;
	color:#fff;
	border:0px;
    outline:none;
	text-decoration:none;
	border-collapse:collapse;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: none;
	/*-webkit-transform: translate3d(0,0,0);*/
}
html {
	width:100%;
	height:100%;
	background:#000;
    overflow: hidden;
}
body {
    width:100%;
	height:100%;
    overflow: hidden;
}
#backg{
    position:fixed;
    left:0px;
	top:0px;
	width:100%;
	height:calc(100% + 100px);
    overflow: hidden;
    background:#000;
    transition: filter 0.5s;
	-webkit-transform: translate3d(0,0,0);
    opacity: 0.3;
    z-index:2;
}
#backg img{
    display:block;
    margin-left:-50px;
    margin-top:-50px;
    min-width: calc(100% + 100px);
    min-height: calc(100% + 100px);
}
#backg.login{
    opacity: 1;
}
#backg.blur img{
    filter: blur(5px);
}
#node{
    position: absolute;
    top:-100px;
    left:0px;
    background: #f00;
    z-index:1;
}
.mitte{
	display: inline-block;
	position: relative;
	width:100%;
    max-width:1000px;
    display: block;
    margin: auto;
    text-align: left;
}
.mitteXY{
	position:absolute !important;
	left:50%;
	top:50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.mitteX{
	position:absolute;
	left:50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
.mitteY{
	position:absolute;
	top:50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.blur{
	-webkit-filter: blur(10px);
	-moz-filter: blur(10px);
	-o-filter: blur(10px);
	-ms-filter: blur(10px);
	filter: blur(10px);
}
.blur3{
	-webkit-filter: blur(3px);
	-moz-filter: blur(3px);
	-o-filter: blur(3px);
	-ms-filter: blur(3px);
	filter: blur(3px);
}
.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none;   /* Chrome/Safari/Opera */
  -khtml-user-select: none;    /* Konqueror */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* Internet Explorer/Edge */
  user-select: none;           /* Non-prefixed version, currently
                                  not supported by any browser */
}
.nope{
    pointer-events: none;
}
.center{
    text-align: center;
    color:inherit;
}
.link{
    text-decoration: underline #999;
}
.link.over{
    text-decoration: none;
}
.linkrev{
    text-decoration: none;
}
.linkrev.over{
    text-decoration: underline #999;
}
.maus.over{
    opacity: 0.5;
}
.bt_icon{
    position: relative;
    display: inline-block;
    background: #ccc;
    color:#333;
    transition: all 0.2s;
    padding:7px 15px;
    border-radius: 3px;
    padding-left:40px;
    overflow: hidden;
}
.bt_icon .rahmen{
    position: absolute;
    left:0px;
    top:0px;
    width: 30px;
    height: 100%;
    background: #333;
}
.bt_icon .rahmen .pics{
    position: absolute;
    left:10px;
    top:8px;
    transition: all 0.2s;
}
.bt_icon.over .rahmen .pics{
    margin-left: 5px;
}
.bt_icon.over{
    background: #333;
    color:#fff;
}
h1{
    color:inherit;
    font-size:16px;
    line-height: 20px;
    margin-bottom: 10px;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
h1.big{
    font-size:30px;
    line-height: 30px;
    margin-bottom: 20px;
    font-family:open_sansregular,Helvetica, Ariel, sans-serif;
}
h1.link{
    cursor: pointer;
    text-decoration: none;
}
h1.link:hover{
    opacity: 0.5;
}
h2{
    color:inherit;
    font-size:14px;
    line-height: 18px;
    margin-bottom: 10px;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
h3{
    color:inherit;
    font-size:14px;
    line-height: 18px;
    margin-bottom: 0px;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
h4{
    display:inline-block;
    color:inherit;
    font-size:13px;
    line-height: 15px;
    margin-bottom: 0px;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
img{
	vertical-align:top;
}
a{
	cursor: pointer;
    color:inherit;
}
b{
    color:inherit;
    font-size: inherit;
    line-height: inherit;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
span,center{
    color:inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
}
small{
    color:inherit;
    font-size: 10px;
    font-weight:inherit;
    line-height: inherit;
}
i{
    color:inherit;
	font-style: italic;
    font-size: inherit;
    line-height: inherit;
}
u{
	color:inherit;
    text-decoration: underline;
    font-size: inherit;
    line-height: inherit;
}
del{
	display: inline;
	color:#f00;
	font-size: inherit;
	line-height: inherit;
}
dfn{
	color:#666;
}
 /* CONTENT ####################################################################*/
textarea {
    resize: none;
}
ul,ol,li{
    color:inherit;
}
ul,ol{
    padding-left:18px;
}
#initdata{
    display: none;
}
.file_btn{
    color:inherit;
    line-height: inherit;
    display: block;
    position: relative;
    padding-left:40px;
    margin-bottom: 10px;
}
.file_btn.over .label{
    text-decoration: underline;
}
.file_btn .pics{
    position: absolute;
    left:0px;
    top:0px;
}
.file_btn .label{
    color:inherit;
    line-height: inherit;
    display: inline-block;
    margin-top: 13px;
}

/* Inhalt ######################################################################*/
.inhalt .bt{
    display: inline-block;
    position: relative;
    padding:8px 15px;
    height: auto;
    line-height: auto;
    background: #fff;
    color:#333;
    vertical-align: top;
    border-radius: 3px;
    transition: all 0.2s;
    margin-right: 10px;
    margin-bottom: 10px;
}
.inhalt .bt.block{
    display: block;
    text-align: center;
    margin-right: 0px;
}
.inhalt .bt .mit_pics_nav{
    display: inline-block;
    color:inherit;
    font-size:16px;
    font-family: 'open_sansbold';
    vertical-align: top;
}
.inhalt .bt .pics_nav{
    display: inline-block;
    margin-left:-10px;
    vertical-align: top;
    transition: 0.2s all;
}
.inhalt .bt.over,.inhalt .bt:hover,
.inhalt .bt.gruen.over,.inhalt .bt.gruen:hover,
.inhalt .bt.blau.over,.inhalt .bt.blau:hover,
.inhalt .bt.orange.over,.inhalt .bt.orange:hover,
.inhalt .bt.rot.over,.inhalt .bt.rot:hover,
.inhalt .bt.grau.over,.inhalt .bt.grau:hover{
    background: #ccc;
    color:#000;
}
.inhalt .bt.over .pics_nav,.inhalt .bt:hover .pics_nav{
    filter:invert(1);
}
.inhalt .bt.gruen{
    background: var(--farbe-gruen);
    color:#fff;
}
.inhalt .bt.blau{
    background: var(--farbe-blau);
    color:#fff;
}
.inhalt .bt.orange{
    background: var(--farbe-orange);
    color:#fff;
}
.inhalt .bt.rot{
    background: var(--farbe-rot);
    color:#fff;
}
.inhalt .bt.grau{
    background: var(--farbe-grau);
    color:#fff;
}
.inhalt .bt.klein{
    padding:4px 10px;
}
.inhalt .bt.last{
    margin-bottom: 0px;
}
.inhalt .bt .ic{
    margin-right:5px;
    margin-left:-5px;
}
@media only screen and (max-width:600px){
    .inhalt .bt .ic{
        margin-top:0px;
    }
}
.inhalt .suche{
    position: relative;
    display: block;
    width: 100%;
    background: rgba(255,255,255,0.5);
    border-radius: 4px;
    height: 36px;
    line-height: 36px;
    transition: all 0.2s;
}
.inhalt .suche.focus{
    background: rgba(255,255,255,1);
}
.inhalt .suche.add{
    width:calc(100% - 40px - 10px);
}
.inhalt .suche .suche_lupe{
    position: absolute;
    top:-2px;
    left:-5px;
    height: 40px;
    width:40px;
}
.inhalt .suche input{
    position: absolute;
    top:0px;
    left:30px;
    width:calc(100% - 40px);
    height: 36px;
    line-height: 36px;
    background: none;
    color:#333;
    font-size: 12px;
}
.inhalt .suche .add{
    position: absolute;
    top:0px;
    right:-50px;
    font-size:20px;
    line-height: 36px;
    height: 36px;
    width: 36px;
    text-align: center;
    border-radius: 40px;
    background: rgba(255,255,255,0.5);
    color:#666;
    transition: all 0.2s;
}
.inhalt .suche .add.over{
    background: #fff;
    color:#333;
}
.inhalt .suche .add.icon .icon_svg{
    margin-top:3px;
    width:20px;
    height:20px;
}
/* Fenster ######################################################################*/
.fenster{
    position:absolute;
    position:fixed;
    display: none;
    top:0px;
    left:0px;
    width:100%;
    height: 100%;
    z-index:2;
    z-index:19;
    text-align: center;
    -webkit-transform: translate3d(0,0,0);
    -webkit-backdrop-filter: blur(1px);
    overflow-y: scroll;
}
.fenster_close{
    position:fixed;
    display: none;
    width:100%;
    height:60px;
    z-index:19;
    left:0px;
    bottom:0px;
    opacity: 0;
    transition: opacity 0.2s;
}
.fenster_close .mask{
    overflow: hidden;
    max-width:calc(600px - 40px);
    height: 60px;
    padding:0px 20px;
    border-radius: 0px 0px 3px 3px;
    display: block;
    margin: auto;
}
.fenster_close .fenster_nav{
    display: block;
    position: relative;
    text-align: center;
    margin-top:10px;
    margin-left: -20px;
    margin-right: -20px;
    height: 50px;
    line-height: 54px;
    background: #fff;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.25),0px 0px 1px rgba(0,0,0,0.35);
}
.fenster_close .fenster_nav .bt_close,
.fenster_close .fenster_nav .kreis{
    display: inline-block;
    text-align: center;
    background: rgba(0,0,0,0.1);
    height: 30px;
    width: 30px;
    line-height: 30px;
    transition: all 0.2s;
    border-radius: 30px;
    color:#333;
    font-size: 20px;
}
.fenster_close .fenster_nav .txt{
    display: inline-block;
    color:#333;
    font-size:10px;
    line-height: 20px;
    padding:0px 5px;
    vertical-align: middle;

    position: relative;
    text-overflow: ellipsis;
    overflow: hidden;
    width: calc(100% - 50px);
}
.fenster_close .fenster_nav .bt_close.over{
    background: rgba(0,0,0,0.2);
}
.fenster_close .fenster_nav .bt_prev,
.fenster_close .fenster_nav .bt_next{
    display: inline-block;
    position: absolute;
    top:10px;
    white-space: nowrap;
    overflow: hidden;
    width:calc(50% - 60px);
}
.fenster_close .fenster_nav .bt_prev .kreis,
.fenster_close .fenster_nav .bt_next .kreis{
    line-height: 24px;
    font-size: 24px;
    vertical-align: middle;
}
.fenster_close .fenster_nav .bt_prev{
    left:20px;
    text-align: left;
}
.fenster_close .fenster_nav .bt_next{
    right:20px;
    text-align: right;
}
.fenster_close .fenster_nav .bt_prev.over .kreis,
.fenster_close .fenster_nav .bt_next.over .kreis{
    background: rgba(0,0,0,0.2);
}
.fenster .box{
    position: relative;
    display:block;
    padding:20px;
    width:calc(100% - 40px);
    max-width: calc(600px - 40px);
    background: #fff;
    color:#333;
    box-shadow: 0px 0px 10px #000;
    border-radius: 0px 0px 3px 3px;
    text-align: left;
    margin-top: 0px;
    opacity:0;
    transition: opacity 0.2s,margin-top 0.2s;
    overflow:hidden;
}
.fenster .box .fenster_nav{
    display: block;
    height: 45px;
}
.fenster .bt{
    display: inline-block;
    position: relative;
    padding:7px 15px;
    height: auto;
    line-height: auto;
    background: #ccc;
    color:#333;
    vertical-align: top;
    border-radius: 3px;
    transition: all 0.2s;
    margin-right: 10px;
    margin-bottom: 10px;
}
.fenster .bt.weiss{
    padding:3px 15px;
    background: none;
}
.fenster .bt.weiss.over{
    background: #ddd;
    color:#333;
}
.fenster .bt.block{
    display: block;
    margin-right: 0px;
}
.fenster .bt.over,.fenster .bt.gruen.over,.fenster .bt.rot.over{
    background: #333;
    color:#fff;
}
.fenster .bt.gruen{
    background: #2ac432;
    color:#fff;
}
.fenster .bt.rot{
    background: #f73434;
    color:#fff;
}
.fenster .bt.klein{
    padding:4px 10px;
}
.fenster .bt.last{
    margin-bottom: 0px;
}
.fenster .bt .pics{
    margin-top: 1px;
    margin-left:5px;
}
.fenster hr{
    display: block;
    height: 1px;
    margin:20px -20px;
    background: rgba(0,0,0,0.15);
}
.fenster hr.klein{
    margin:10px -20px;
}
.fenster h2 small{
    padding-left: 10px;
    font-size: 9px;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
.fenster small{
    display:inline-block;
    line-height: 13px;
}
.fenster small br{
    line-height: inherit;
}
.fenster .werte,.fenster .werte .zeile{
    display: block;
    color:inherit;
}
.fenster .werte .zeile{
    margin-bottom:5px;
    white-space: nowrap;
    background: rgba(0,0,0,0.05);
    padding:3px;
    border-radius: 3px;
}
.fenster .werte .zeile .bez{
    position: relative;
    display: inline-block;
    color:inherit;
    padding-right: 10px;
    font-size:11px;
    line-height:15px;
    white-space: normal;
    vertical-align: top;
}
.fenster .werte .zeile .wert{
    display: inline-block;
    color:inherit;
    white-space: normal;
    vertical-align: baseline;
    font-size:12px;
    line-height:15px;
}
.fenster .werte.klein .zeile{
    margin-bottom:5px;
    white-space: nowrap;
    background: none;
    padding:0px;
    border-radius: 0px;
}
.fenster .werte.klein .zeile .bez{
    display: block;
    font-size:10px;
    padding-left: 3px;
}
.fenster .werte.klein .zeile .wert{
    display: block;
    background: rgba(0,0,0,0.05);
    padding:3px;
    border-radius: 3px;
}
.fenster .suche{
    position: relative;
    display: block;
    width: 100%;
    background: rgba(0,0,0,0.1);
    border-radius: 4px;
    height: 26px;
    line-height: 26px;
}
.fenster .suche.add{
    width:calc(100% - 30px - 10px);
}
.fenster .suche .suche_lupe{
    position: absolute;
    top:-2px;
    left:0px;
    height: 30px;
    width:30px;
}
.fenster .suche input{
    position: absolute;
    top:0px;
    left:30px;
    width:calc(100% - 30px);
    height: 26px;
    line-height: 26px;
    background: none;
    color:#333;
}

.fenster .suche .add{
    position: absolute;
    top:0px;
    right:-40px;
    font-size:20px;
    line-height: 26px;
    height: 26px;
    width: 26px;
    text-align: center;
    border-radius: 30px;
    background: rgba(0,0,0,0.1);
    color:#999;
    transition: all 0.2s;
}
.fenster .suche .add.over{
    background: #333;
    color:#fff;
}

.fenster .tab{
    position: relative;
    display: block;
    color:inherit;
    font-size:inherit;
	line-height:inherit;
}
.fenster table{
    display:block;
	position:relative;
	empty-cells:show;
	border-collapse:collapse;
	font-size:inherit;
	line-height:inherit;
	table-layout: fixed;
    color:inherit;
}
.fenster tbody,.fenster thead,.fenster tr,.fenster th,.fenster td{
	font-size:inherit;
	line-height:inherit;
    color:inherit;
}
.fenster td{
    padding-right: 20px;
    padding-top:3px;
}
.fenster .tab.border td{
    padding-left: 5px;
    padding-right: 5px;
    border:1px solid #ccc;
}
.fenster td:last-child{
    padding-right: 0px;
}
.fenster td.right{
    text-align: right;
}
.fenster td.gruen span{
    background: #3ad041;
}
.fenster td.rot span{
    background: #f60b0b;
}
.fenster td span{
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 10px;
    margin-right: 5px;
    vertical-align: baseline;
}
.fenster .legende{
    opacity: 0.5;
    font-size:11px;
    border-bottom:1px solid #ddd;

}
.fenster .legende td{
    padding-bottom:3px;
}
@media only screen and (max-width:440px){
    .fenster .werte .zeile{
        margin-bottom:5px;
        white-space: nowrap;
        background: none;
        padding:0px;
        border-radius: 0px;
    }
    .fenster .werte .zeile .bez{
        display: block;
        font-size:10px;
        padding-left: 3px;
    }
    .fenster .werte .zeile .wert{
        display: block;
        background: rgba(0,0,0,0.05);
        padding:3px;
        border-radius: 3px;
    }
}
/* KALENDER ##################################################################*/
.kalender{
    color:#fff !important;
}
.kalender small{
    margin-left: 5px;
    opacity:0.5;
}
.kalender .legende{
    margin-left: 10px;
    margin-right: 0px;
}
.jahr {
	display:block;
	font-size:20px;
	margin:0px 10px;
	margin-top:20px;
	font-weight:normal;
}
.monat{
	display:inline-block;
	position:relative;
    margin-right: 30px;
    margin-bottom: 30px;
	border:0px solid #f00;
	vertical-align:top;
    text-align: left;
    min-width: 295px;
    min-width: 277.5px;
    color:inherit;
}
@media only screen and (max-width:660px){
    .kalender{
        text-align: center;
    }
}
@media only screen and (max-width:590px){
    .monat{
        margin-right: 0px;
    }
}
.monat .flip{
    position: relative;
    text-align: center;
    color:inherit;
}
.monat .flip small{
    margin:0px;
    line-height: 24px;
    vertical-align: top;
    color:inherit;
}
.monat .flip a{
    display: inline-block;
    position: absolute;
    top:0px;
    left:1px;
    height: 22px;
    line-height: 19px;
    width: 36px;
    border-radius: 3px;
    text-align: center;
    font-size: 20px;
    color:inherit;
}
.monat .flip a.over{
    background: rgba(255,255,255,0.2);
    text-decoration: none;
}
.monat .flip a.rechts{
    left:auto;
    right:1px;
}
.monat .flip.fmonat .ljahre{
    left:75px;
}
.monat .flip.fmonat .ljahrzehnt{
    left:35px;
}
.monat .flip.fmonat .rjahre{
    left:auto;
    right:75px;
}
.monat .flip.fmonat .rjahrzehnt{
    left:auto;
    right:35px;
}
.monat .flip .name{
    display: inline-block;
    height: 22px;
    line-height: 22px;
    margin-bottom: 5px;
}
.monat .name{
	display:block;
	font-size:16px;
    color:inherit;
}
.monat .wtage{
	display:block;
	position:relative;
	border-bottom:1px solid rgba(255,255,255,0.4);
    color:inherit;
}
.monat .wtage div{
	display:inline-block;
	width:40px;
    width:38px;
    width:37.5px;
	height:30px;
	line-height:30px;
	text-align:center;
	font-size:10px;
    color:inherit;
}
.monat .wtage .kw{
    width: 15px !important;
    font-size: 8px;
    vertical-align:baseline;
    color:rgba(255,255,255,0.4);
}
.monat .wtage .wochenende{
	color:rgba(255,255,255,0.5);
}
.monat .woche{
	display:block;
    color:inherit;
}
.monat .tag,.monat .tag_auswahl,.monat .tag_leer,.monat .tag_auswahl_wochenende,.monat .kw{
	position:relative;
	vertical-align:top;
	display:inline-block;
    width:40px;
    width:37.5px;
	height:30px;
	line-height:30px;
	text-align:center;
}
.monat .kw{
    width:15px;
    font-size: 8px;
    color:rgba(255,255,255,0.4);
    text-align: center;
}
.monat span{
    position: relative;
    display: inline-block;
    color:inherit;
    z-index: 10;
}
.monat .aktiv span{
    color:#000;
}
.monat .tag,.monat .tag_auswahl,.monat .tag_auswahl_wochenende{
	/*cursor:pointer;*/
}
.monat .tag_auswahl,.monat .tag_auswahl_wochenende{
	background:#f00;
	color:#fff;
	font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
.monat .tag.wochenende{
	color:rgba(255,255,255,0.5);
}
.monat .tag.over,.monat .tag_wochenende.over{
	color:#fff;
    color:#000;
}
.monat .tag .over_bg{
    position: absolute;
    top:2px;
    left:2px;
    width:calc(100% - 4px);
    height:calc(100% - 4px);
    opacity: 0;
    background: #d00;
    border-radius: 3px;

    z-index:2;
}
.monat .tag .over_bg.opa{
    background: #fff;
}
.monat .tag.over .over_bg{
    opacity: 1;
}
.monat .tag.over .over_bg.opa{
    opacity: 0.7;
}
.monat .tag.soft,.monat .tag_wochenende.soft{
	opacity:0.25;
}
.monat .termin{
    border-radius:3px;
}
.monat .buchung{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	display:block;
	opacity:0.5;
}
.monat .taginfo{
	position:absolute;
	top:30px;
	left:0px;
	padding:0px 6px;
	line-height:24px;
	white-space:nowrap;
	background:#fff;
	border:1px solid #ccc;
	z-index:1;
	text-align:left;
}
.monat .taginfo .alle{
	display:block;
}
.monat .taginfo .dot{
	display:inline-block;
	position:relative;;
	vertical-align:middle;
	margin-right:5px;
	margin-top:-1px;
	width:12px;
	height:12px;
	opacity:0.5;
	border-radius:20px;
}
.monat .tag_bg{
    position: absolute;
    top:2px;
    left:2px;
    width:calc(100% - 4px);
    height:calc(100% - 4px);
    border-radius: 3px;
    z-index:1;
}
.monat .tag_bg.flip_aktiv{
    background: #fff;
}
.monat .tag_bg.weiss{
    background: #fff;
}
.monat .tag_bg.rot{
    background: #f00;
}
.monat .tag_bg.rot_rand{
    width:calc(100% - 8px);
    height:calc(100% - 8px);
    border: 2px solid rgba(255,0,0,0.5);
}
.monat .rot_rand span{
    color:#fff;
}
.monat .tag .pkt{
    position: absolute;
    top:3px;
    left:3px;
    width:calc(100% - 6px);
    z-index:11;
    text-align: center;
    line-height: 4px;
}
.monat .tag .pkt .pk{
    position: relative;
    display: inline-block;
    width:4px;
    height: 4px;
    margin:1px;
    border-radius: 4px;
    vertical-align: top;
}
.monat .tag .pkt .klein{
    display:inline-block;
    color:#000;
    font-size: 8px;
    line-height: 4px;
    vertical-align: top;
    margin:0px 1px;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
.monat .tag .hover{
    display:none;
    position: absolute;
    top:calc(100% + 5px);
    background:#222;
	color:#fff;
	font-size:12px;
	padding:1px 5px;
	border:1px solid #fff;
	border-radius:3px;
	box-shadow: 0px 0px 3px #000;
    text-align: left;
    z-index:100;
}
.monat .tag.over .hover{
    display: block;
}
.monat .tag .hover p{
    display: block;
    white-space: nowrap;
    color:inherit;
    font-size:inherit;
}

.zeitlinie{
    display: block;
}
.zeitlinie .zjahr{
    display: block;
    font-size: 18px;
    margin-bottom: 10px;
}
.zeitlinie .zbox{
    display: block;
    position: relative;
    padding-left:100px;
    margin-bottom: 20px;
    text-align: left;
}
.zeitlinie.inline .zbox{
    padding-top: 30px;
    padding-left:0px;
}
.zeitlinie .zbox .zmonat{
    position: absolute;
    top:0px;
    left:0px;
    display: block;
}
.zeitlinie .zbox .zmonat_linie{
    position: absolute;
    top:20px;
    left:10px;
    width:1px;
    height: calc(100% - 30px);
    background: rgba(255,255,255,0.2);
}
.zeitlinie .zbox .zbt{
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    background: #fff;
    padding:10px 15px;
    border-radius: 3px;
    overflow: hidden;
    color:#333;
}
.zeitlinie .zbox .zbt.over{
    background: #ccc;
}
.zeitlinie .zbox .zbt.datum{
    padding-left:100px;
}
.zeitlinie .zbox .zbt.datum .zanzeige{
    position: absolute;
    top:0px;
    left:0px;
    display:block;
    padding:10px 5px;
    width:80px;
    height: 100%;
    text-align: center;
    vertical-align: top;
}
.zeitlinie .zbox .zbt.datum.kurz{
    padding-left:60px;
}
.zeitlinie .zbox .zbt.datum.kurz .zanzeige{
    width:40px;
}

.zeitplan{
    display: block;
    position: relative;
    width:100%;
    white-space: nowrap;
    margin-top:10px;
}
.zeitplan .labels{
    display:inline-block;
    position: absolute;
    top:0px;
    left:0px;
    vertical-align: top;
}
.zeitplan .labels .label{
    display: block;
    background: #fff;
    color:#333;
    padding:10px 15px;
    border-radius: 3px;
    margin-bottom:20px;
}
.zeitplan .labels .label.over{
    opacity: 0.75;
}
.zeitplan .wochen{
    display:inline-block;
    position: relative;
}
.zeitplan .wochen .legende{
    position: relative;
    display: block;
    top:-25px;
    left:20px;
}
.zeitplan .wochen .legende .kw{
    position: relative;
    display:inline-block;
    width:70px;
    height: 15px;
    line-height: 15px;
    text-align: center;
    font-size:10px;
    vertical-align: top;
    opacity: 0.5;
}
.zeitplan .wochen .legende .kw .zeitplan_kw_linie{
    position: absolute;
    top:25px;
    left:0px;
    height: 100px;
    width:1px;
    background: rgba(255,255,255,0.2);
    display: none;
}
.zeitplan .zeitplan_balken{
    position: absolute;
    height: 10px;
    width: 100px;
    border-radius: 3px;
    background: #f00;
    margin-top:-5px;
    display: none;
    z-index: 2;
}
.zeitplan .zeitplan_balken .von{
    position: absolute;
    top:-13px;
    left:0px;
    text-align: left;
    font-size:10px;
    line-height: 15px;
    height: 15px;
}
.zeitplan .zeitplan_balken .bis{
    position: absolute;
    bottom:-14px;
    right:0px;
    text-align: right;
    font-size:10px;
    line-height: 15px;
    height: 15px;
}
.zeitplan .zeitplan_balken .linie_label{
    position: absolute;
    left:-40px;
    top:4px;
    height: 1px;
    width:10px;
    background: rgba(255,255,255,1);
}
.zeitplan .zeitplan_heute{
    position: absolute;
    top:0px;
    left:0px;
    width:10px;
    height: 100%;
    background: rgba(255,255,255,0.1);
    border-radius: 0px;
    z-index: 1;
}

@media only screen and (max-width:600px){
    .zeitlinie .zbox .zbt{
        padding:7px 10px;
    }
    .zeitlinie .zbox .zbt.datum .zanzeige{
        padding:7px 5px;
    }
    .zeitlinie .zbox .zbt.datum.kurz{
        padding-left:40px;
    }
    .zeitlinie .zbox .zbt.datum.kurz .zanzeige{
        width:20px;
    }

}
/* BIGPIC ####################################################################*/
.bigpic{
    display:none;
    position: fixed;
    top:0px;
    left:0px;
    width: 100%;
    height: 100%;
    z-index:99;
    background: #000;
    transition: opacity 0.2s;
}
.bigpic .bild{
    position: absolute;
	height:calc(100% - 60px);
	width:100%;
	top:30px;
	margin: auto;
	z-index:8;
}
.bigpic .bild img{
    max-width:calc(100% - 60px);
    max-height:100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
    transition: all 0.2s;
    cursor: pointer;
    border-radius: 2px;
}
.bigpic .close{
	position: absolute;
	top:0px;
	right:0px;
	width:100px;
	height:100px;
    z-index:10;
	cursor: pointer;
    color:#fff;
}
.bigpic .close .icon{
    position: absolute;
    top:9px;
    right:10px;
    font-size:20px;
}
.bigpic .close.over .icon{
    opacity: 0.5;
}
.bigpic .del{
	position: absolute;
	top:0px;
	left:0px;
	z-index:10;
	cursor: pointer;
    color:#f00;
    height: 40px;
    line-height: 40px;
    padding:0px 10px;
    opacity: 1;
}
.bigpic .del.over{
    opacity: 0.5;
}
.bigpic .prev,
.bigpic .next{
    left:0px;
    height:200px;
    line-height: 200px;
    padding:0px 10px;
    width:100px;
    font-size:30px;
    color:rgba(255,255,255,0.5);
    text-shadow:0px 0px 2px rgba(0,0,0,0.5);
    z-index:10;
    transition: all 0.2s;
}
.bigpic .next{
    left:auto;
    right:0px;
    text-align:right;
}
.bigpic .prev.over,
.bigpic .next.over{
    padding:0px 0px;
    font-size:40px;
    color:rgba(255,255,255,1);
    text-shadow:0px 0px 2px rgba(0,0,0,1);
}
/* PLAYER ####################################################################*/
.player{
    display:none;
    position: fixed;
    top:0px;
    left:0px;
    width: 100%;
    height: 100%;
    z-index:150;
    background: rgba(0,0,0,0.8);
    transition: all 0.2s;
}
.player video{
    height:100%;
    width: auto;
    max-height: calc(100% - 100px);
    max-width: calc(100% - 100px);
    z-index:1;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 0 0 10px #000;
    background: #000;
}
@media only screen and (max-width:600px){
    .player video{
        max-height: calc(100% - 100px);
        max-width: calc(100% - 0px);
    }
}
.player .bt_close{
    position: absolute;
    top:-10px;
    left:-10px;
    font-size:25px;
    z-index:2;
    color:#fff;
    padding:20px;
}
.player .bt_close.over{
    color:#f00;
}
/* WIN #######################################################################*/
.win{
    display:none;
    position: fixed;
    top:0px;
    left:0px;
    width: 100%;
    height: 100%;
    z-index:99;
}
.win .bg{
    position: absolute;
    display: block;
    top:0px;
    left:0px;
    width: 100%;
    height: 100%;
    transition: all 0.2s;
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    z-index: 1;
}
.win .bg.aktiv{
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}
.win .box{
    position: relative;
    display: inline-block;
    padding:20px;
    background: #fff;
    color:#333;
    border-radius: 5px;
    opacity: 0;
    max-width:calc(100% - 60px);
    margin-top: -20px;
    transition: all 0.2s;
    box-shadow: 0 2px 20px #000;
    z-index: 2;
}
.win .box.ohneBG{
    background: none;
    box-shadow: none;
    padding:0px;
    max-width:100%;
}
.win .box .close{
    position: absolute;
    top:0px;
    right:0px;
    color:inherit;
    padding: 5px 6px 15px 15px;
    opacity: 0.5;
    font-size:20px;
    transition: opacity 0.2s;
    cursor: pointer;
}
.win .box .close.over{
    opacity: 1;
}
.win input{
    display: block;
    border:1px solid rgba(0,0,0,0);
    box-shadow: 0px 0px 1px #000;
    width:calc(100% - 12px);
    padding:5px;
    border-radius: 3px;
    margin-bottom:10px;
    color:#333;
}
.win input:focus{
    box-shadow: 0px 0px 5px #000;
}
.win .box.ohneBG input{
    box-shadow: 0 2px 10px #000;
}
.win .box.ohneBG input:focus{
    background: #fdd;
}
.win input:last-child{
    margin-bottom: 0px;
}
.win .box.weiss input{
    background: #eee;
}
.win .box.weiss input:focus{
    background: #fdd;
    box-shadow: 0px 0px 1px #000;
}
.win .box .login_btn{
    display:block;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    color:#fff;
    font-size: 15px;
}
.win .box .login_btn.over{
    opacity: 0.5;
}
.win .box .pw_reset{
    display:block;
    font-size:10px;
    text-align: center;
    color:rgba(0,0,0,0.5);
}
.win .box .pw_reset.over{
    color:rgba(0,0,0,1);
}
.win .box.ohneBG .pw_reset{
    color:rgba(255,255,255,0.5);
    text-shadow: 0px 0px 1px rgba(0,0,0,0.5);
}
.win .box.ohneBG .pw_reset.over{
    color:rgba(255,255,255,1);
}
.win .box .rechtliches{
    display:inline-block;
    font-size:10px;
    padding:10px 10px;
    color:rgba(255,255,255,0.5);
    text-shadow: 0px 0px 1px rgba(0,0,0,0.5);
}
.win .box .rechtliches.over{
    color:rgba(255,255,255,1);
}
.win .logo{
    position: relative;
    width:200px;
    height: 80px;
    margin-bottom: 20px;
    margin-top: -50px;
}
.win .logo img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter:drop-shadow(0px 0px 5px #000);
}
.win .logo_default{
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
    height: 60px;
}
.win .bt{
    display: inline-block;
    position: relative;
    padding:7px 15px;
    margin-right: 10px;
    height: auto;
    line-height: auto;
    background: #ccc;
    color:#333;
    vertical-align: top;
    border-radius: 3px;
    transition: all 0.2s;
}
.win .bt.over{
    background: #333;
    color:#fff;
}
.win .bt.gruen{
    background: #2ac432;
    color:#fff;
}
.win .bt.rot{
    background: #f73434;
    color:#fff;
}
.win .bt.gruen.over,.win .bt.rot.over{
    background: #333;
}
.win .bt_klein{
    display: inline-block;
    padding:10px 15px;
    height: auto;
    line-height: auto;
    font-size: 11px;
    background: #fff;
    color:#333;
    margin-top:20px;
    margin-bottom:30px;
    border-radius: 3px;
    box-shadow: 0 2px 10px #000;
}
.win .bt_klein.over{
    background: #999;
}
.win hr{
    display: block;
    height: 1px;
    margin:20px 0px;
    margin-left:-20px;
    margin-right: -20px;
    background: rgba(0,0,0,0.15);
}
.win hr.klein{
    margin:10px 0px;
    margin-left:-20px;
    margin-right: -20px;
}
.win .focus_box{
    display:block;
    width:0px;
    height:0px;
}
.win .version{
    display: block;
    font-size:10px;
    color:#aaa;
    text-align: center;
}
@media only screen and (max-width:600px){
    .win .box{
        padding:10px;
        max-width:calc(100% - 40px);
    }
    .win hr{
        margin:10px 0px;
        margin-left:-10px;
        margin-right: -10px;
    }
}
/* LOADING & SPERRE #######################################################*/
#loading {
	display:none;
	position:fixed;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0);
	z-index:100;
}
@keyframes rotation_ani {
  0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);}
}
.load_icon{
	position:fixed;
	bottom:10px;
	left:50%;
	margin-left:-20px;
	height:40px;
	width:40px;
	animation: rotation_ani 0.7s linear infinite;
}
.load_icon .pics.loading {
	position:absolute;
	left:0px;
	top:0px;
	width:40px;
	height:40px;
}
#sperre{
    display: none;
	position: fixed;
	top:0px;
	left:0px;
	width:100%;
	height: 100%;
	z-index:200;
}
#hinweis{
	display:none;
	position:fixed;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	cursor: pointer;
	background:rgba(0,0,0,0.9);
	backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    -webkit-transform: translate3d(0,0,0);
    transition: opacity 0.2s;
    cursor: pointer;
    z-index:199;
}
#hinweis.nobtn{
    cursor: default;
}
.hinweis{
	position:absolute;
	min-width:240px;
	max-width:560px;
	color:#f00;
	text-align:center;
	margin-top:-10px;
    font-size:13px;
}
.hinweis div{
    color:inherit;
    font-size:inherit;
}
.hinweis button{
    position: relative;
    display: block;
    margin: auto;
    margin-top:30px;
    cursor: pointer;
    color:inherit;
    border-radius:50%;
    width:40px;
    height: 40px;
    background: none;
    border:1px solid #f00;
}
.hinweis button span{
    color:inherit;
    font-size:16px;
}
.hinweis button.over,.hinweis button:hover,.hinweis button:focus{
    background: #fff;
    border:1px solid #fff !important;
    color:#000;
}
.hinweis button.over span,.hinweis button:hover span,.hinweis button:focus span{
    font-size:20px;
}
.hinweis.ok{
	color:#0f0;
}
.hinweis.ok button{
    border:1px solid #0f0;
}
.hinweis.update{
	color:#fff;
}
.hinweis.update button{
    border:1px solid #fff;
}
.hinweis .load_icon{
    top: -30px;
}
.hinweis .wait,.hinweis .balken{
    position: relative;
    display: block;
    margin:auto;
    margin-top: 20px;
    margin-bottom: 20px;
    height: 5px;
    border-radius: 5px;
    width:200px;
    background: #fff;
    overflow: hidden;
}
.hinweis .wait div,.hinweis .balken div{
    position: absolute;
    top:0px;
    left:0%;
    width:100%;
    height: 100%;
    background: #333;
}
.hinweis .balken div{
    transition: all 1s linear;
}
.hinweis .wait div{
    animation: wait_ani 3s infinite;
}
.hinweis input{
    display:block;
    position: relative;
    background: #fff;
    color:#333;
    padding:8px 10px;
    font-size: inherit;
    line-height:16px;
    border-radius: 3px;
    width:200px;
    margin:20px auto;
}
.hinweis a.over{
    opacity: 0.5;
}
.pincode{
    width:250px;
    text-align: center;
}
.pincode a{
    position: relative;
    display: inline-block;
    width:60px;
    height: 60px;
    border-radius: 100px;
    border:1px solid rgba(255,255,255,0.5);
    margin:10px;
    text-align: center;
    line-height: 60px;
    font-size: 30px;
    color:#fff;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
.pincode .txt{
    display: block;
    font-size: 14px;
    color:#fff;
    margin-bottom: 30px;
}
.pincode .code{
    display: block;
    height: 40px;
    font-size: 30px;
    color:#fff;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
}
@keyframes wait_ani {
	0% {left:0%;width:100%;}
	50% {left:100%;width:0%;}
	51% {left:0%;width:0%;}
	100% {left:0%;width:100%;}
}
#saveicon{
	position:fixed;
	left:0px;
	top:0px;
	z-index:201;
}
#saveicon .saveicon{
	position:absolute;
	width:80px;
	height:80px;
	opacity:0;
	opacity: 1;
	animation: saveicon_ani 1s;
    box-shadow: 0 0 20px rgba(0,0,0,0.5),0 0 5px rgba(0,0,0,0.3);
}
#saveicon .saveicon.save_ok{
	background: #3ad041;
	border-radius:100px;
}
#saveicon .saveicon.save_error{
	background: #f60b0b;
	border-radius:100px;
}
@keyframes saveicon_ani {
  0% {opacity:0;} 30% {opacity:1;} 70% {opacity:1;} 100% {opacity:0;}
}
#debug{
    display:none;
    position: fixed;
    left:0px;
    top:0px;
    z-index:100;
    background: #333;
    color:#fff;
    padding:2px;
    font-size:9px;
}
/* HELP ############################################################ */
#help{
	display: none;
	position: absolute;
	top:0px;
	left:0px;
	background:#222;
	color:#fff;
    white-space: nowrap;
	font-size:12px;
	padding:1px 5px;
	border:1px solid #fff;
	border-radius:3px;
	box-shadow: 0px 0px 3px #000;
	z-index:210;
}
#help code{
    font-size: inherit;
    line-height: inherit;
    color: %icon_rot%;
}
#help span{
    font-size: inherit;
    line-height: inherit;
    color: %icon_gruen%;
}
#help hr{
    display:block;
    height: 1px;
    width: calc(100% + 10px);
    margin-left: -5px;
    background: rgba(255,255,255,0.25);
}
.help{
	cursor:help;
}
/* FORM #######################################################*/
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
	color: rgba(0,0,0,0.5);
}
input::-moz-placeholder,textarea::-moz-placeholder{
	color: rgba(0,0,0,0.5);
}
input[type=range] {
	-webkit-appearance: none;
	border:0;
	margin:15px 5px;
	width: 300px;
	background:none !important;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
	width: 100%;
	height: 2px;
	cursor: pointer;
	background: #aaa;
}
input[type=range]::-webkit-slider-thumb {
	border: 0px;
	height: 30px;
	width: 30px;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	-webkit-appearance: none;
	margin-top: -9px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
	background: #c1a755;
}
input[type=range]::-moz-range-track {
	width: 100%;
	height: 2px;
	cursor: pointer;
	background: #aaa;
}
input[type=range]::-moz-range-thumb {
    border: 0px;
	height: 30px;
	width: 30px;
	border-radius: 30px;
	background: #fff;
	cursor: pointer;
	margin-top: -9px;
}

/*
input,select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-height: 16px;
}
*/
/* PICS #######################################################*/
.pics{
	position:relative;
	display:inline-block;
	vertical-align:top;
	background:url(images/pics.png?v15) no-repeat 0 0;
	background-size: 400px 400px;
	width:40px;
	height:40px;
}
.pics.kreis{
	border:1px solid #fff;
	border-radius:50px;
}
.pics.black{
    filter:invert(1);
}
.pics.schatten{
    filter:drop-shadow(0px 0px 1px rgba(0,0,0,0.5));
}
.pics.nav_menu		 		{background-position:0px 0px;}
.pics.icon_loading			{background-position:-40px 0px;}
.pics.nav_user		 		{background-position:-80px 0px;}
.pics.b_nav_user		 	{background-position:-40px -40px;}
.pics.nav_cloud		 		{background-position:-120px 0px;}
.pics.nav_cloud_black		{background-position:-120px -40px;}
.pics.nav_x			 		{background-position:-160px 0px;}
.pics.nav_location	 		{background-position:-200px 0px;}
.pics.icon_refresh		 	{background-position:-240px 0px;}
.pics.icon_close		 	{background-position:-280px 0px;}
.pics.icon_mail 		 	{background-position:-320px 0px;}
.pics.b_icon_mail 		 	{background-position:-320px -40px;}
.pics.icon_kunde		 	{background-position:-360px 0px;}
.pics.b_icon_kunde		 	{background-position:-360px -40px;}
.pics.hinweis_klein	 		{background-position:-210px -10px;width:20px;height:20px;}
.pics.icon_download		 	{background-position:-0px -40px;}
.pics.icon_ok	      	 	{background-position:-80px -40px;}
.pics.sign_reset		 	{background-position:-0px -80px;}
.pics.sign_close		 	{background-position:-40px -80px;}
.pics.sign_save		       	{background-position:-80px -80px;}

.pics.camera		       	{background-position:-160px -40px;}
.pics.b_camera		       	{background-position:-160px -80px;}
.pics.chaticon	           	{background-position:-200px -40px;}
.pics.b_chaticon          	{background-position:-200px -80px;}
.pics.b_nav_location        {background-position:-240px -80px;}
.pics.dokument              {background-position:-280px -80px;}
.pics.backspace             {background-position:-320px -80px;}

.pics.ok_big        		{background-position:0px -140px;width:20px;height:20px;}
.pics.b_ok_big        		{background-position:-20px -140px;width:20px;height:20px;}

.pics.cb1_1				{background-position:0px -160px;width:14px;height:14px;}
.pics.cb1_0				{background-position:-14px -160px;width:14px;height:14px;}
.pics.cb2_1				{background-position:-28px -160px;width:14px;height:14px;}
.pics.cb2_0				{background-position:-42px -160px;width:14px;height:14px;}
.pics.close				{background-position:-56px -160px;width:14px;height:14px;}
.pics.sync				{background-position:-70px -160px;width:14px;height:14px;}
.pics.sync_black		{background-position:-84px -160px;width:14px;height:14px;}
.pics.cb3_1				{background-position:-98px -160px;width:14px;height:14px;}
.pics.cb3_0				{background-position:-112px -160px;width:14px;height:14px;}

.pics.sign_black		{background-position:-150px -340px;width:125px;height:60px;}
.pics.sign_white		{background-position:-275px -340px;width:125px;height:60px;}

.pics.save_ok			{background-position:0px -240px;width:80px;height:80px;}
.pics.save_error		{background-position:0px -320px;width:80px;height:80px;}

.pics.file_na	 		{background-position:-80px -205px;}
.pics.file_zip	 		{background-position:-120px -205px;}
.pics.file_ppt	 		{background-position:-160px -205px;}
.pics.file_mov	 		{background-position:-200px -205px;}
.pics.file_xls	 		{background-position:-240px -205px;}
.pics.file_doc	 		{background-position:-280px -205px;}
.pics.file_pic	 		{background-position:-320px -205px;}
.pics.file_pdf	 		{background-position:-360px -205px;}


.pics.i			 		{width:14px;height:14px;}
.pics.i.pfeil_wo		{background-position:0px -175px;}
.pics.i.pfeil_nwso		{background-position:0px -175px;transform: rotate(45deg);}
.pics.i.pfeil_o			{background-position:-14px -175px;transform: rotate(0deg);}
.pics.i.pfeil_w			{background-position:-14px -175px;transform: rotate(180deg);}
.pics.i.pfeil_no		{background-position:-14px -175px;transform: rotate(-45deg);}
.pics.i.pfeil_n			{background-position:-14px -175px;transform: rotate(-90deg);}
.pics.i.pfeil_s			{background-position:-14px -175px;transform: rotate(-270deg);}
.pics.i.download  		{background-position:-28px -175px;}
.pics.i.download_s  	{background-position:-28px -175px;transform: rotate(90deg);}
.pics.i.frage  		    {background-position:-42px -175px;}
.pics.i.ausruf  		{background-position:-56px -175px;}
.pics.i.sync  		    {background-position:-70px -175px;}
.pics.i.del_x  		    {background-position:-84px -175px;}
.pics.i.minus  		    {background-position:-98px -175px;}
.pics.i.plus  		    {background-position:-112px -175px;}
.pics.i.ok  		    {background-position:-126px -175px;}
.pics.i.edit  		    {background-position:-140px -175px;}
.pics.i.glocke			{background-position:-154px -175px;}
.pics.i.verlauf  		{background-position:-168px -175px;}
.pics.i.lupe	  		{background-position:-182px -175px;}
.pics.i.mail    	  	{background-position:-196px -175px;}
.pics.i.infoicon	  	{background-position:-210px -175px;}
.pics.i.paket	  	    {background-position:-224px -175px;}
.pics.i.maps	  	    {background-position:-238px -175px;}
.pics.i.auge	  	    {background-position:-252px -175px;}
.pics.i.chbox	  	    {background-position:-266px -175px;}
.pics.i.euro	  	    {background-position:-280px -175px;}
.pics.i.person	  	    {background-position:-294px -175px;}
.pics.i.kaffee	  	    {background-position:-308px -175px;}
.pics.i.stern	  	    {background-position:-322px -175px;}

.pics.i.b_pfeil_wo		{background-position:0px -190px;}
.pics.i.b_pfeil_nwso	{background-position:0px -190px;transform: rotate(45deg);}
.pics.i.b_pfeil_w		{background-position:-14px -190px;transform: rotate(180deg);}
.pics.i.b_pfeil_o		{background-position:-14px -190px;transform: rotate(0deg);}
.pics.i.b_pfeil_no		{background-position:-14px -190px;transform: rotate(-45deg);}
.pics.i.b_pfeil_n		{background-position:-14px -190px;transform: rotate(-90deg);}
.pics.i.b_pfeil_s		{background-position:-14px -190px;transform: rotate(-270deg);}
.pics.i.b_download  	{background-position:-28px -190px;}
.pics.i.b_download_s  	{background-position:-28px -190px;transform: rotate(90deg);}
.pics.i.b_frage  		{background-position:-42px -190px;}
.pics.i.b_ausruf  		{background-position:-56px -190px;}
.pics.i.b_sync  		{background-position:-70px -190px;}
.pics.i.b_del_x  		{background-position:-84px -190px;}
.pics.i.b_minus  		{background-position:-98px -190px;}
.pics.i.b_plus  		{background-position:-112px -190px;}
.pics.i.b_ok  		    {background-position:-126px -190px;}
.pics.i.b_edit  		{background-position:-140px -190px;}
.pics.i.b_glocke		{background-position:-154px -190px;}
.pics.i.b_verlauf  		{background-position:-168px -190px;}
.pics.i.b_lupe	  		{background-position:-182px -190px;}
.pics.i.b_mail  	  	{background-position:-196px -190px;}
.pics.i.b_infoicon	  	{background-position:-210px -190px;}

.pics.land{
    width:20px;
    height:20px;
    border-radius: 20px;
}
.pics.land.de,.pics.land.DE{background-position:-300px -320px;}
.pics.land.en,.pics.land.EN{background-position:-320px -320px;}
.pics.land.fr,.pics.land.FR{background-position:-340px -320px;}
.pics.land.it,.pics.land.IT{background-position:-360px -320px;}
.pics.land.sp,.pics.land.SP{background-position:-380px -320px;}

.ic{
	display: inline-block;
	vertical-align: top;
	margin-top: 1px;
	width:14px;
	height:14px;
	border-radius: 14px;
}
.ic.weiss{
	background:#fff;
}
.ic.schwarz{
	background:#000;
}
.ic.rot{
	background: #ff0000;
}
.ic.gruen{
	background: #2ac432;
}
.ic.orange{
	background: #ff9118;
}
.ic.gelb{
	background: #ffce44;
}
.ic.blau{
	background: #3193f1;
}
.ic.rand{
	border:1px solid #666;
    width:12px;
	height:12px;
}
.ic.hell{
	border:1px solid #999;
}
.ic.rand .pics{
    margin-left:-1px;
    margin-top:-1px;
}
.ic.soft{
	opacity: 0.5;
}
.ic.m{
	vertical-align: middle;
}
.ic.b{
	vertical-align: baseline;
}
.ic.mr{
    margin-right: 5px;
}
.ic.ml{
    margin-left: 5px;
}

.ic2{
    display: inline-block;
    position: relative;
    vertical-align: top;
    fill:inherit;
}
.ic2 path{
    fill:inherit;
}
.ic2.s32{
    width:32px;
    height:32px;
}
.ic2.s28{
    width:28px;
    height:28px;
}
.ic2.s24{
    width:24px;
    height:24px;
}
.ic2.s20{
    width:20px;
    height:20px;
}
.ic2.s16{
    width:16px;
    height:16px;
}

@keyframes ani_rotate {
  0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);}
}
.ani_rotate{
	animation: ani_rotate 1s linear infinite;
}
@keyframes ani_puls {
  0% {opacity:1;} 80% {opacity:0.5;} 100% {opacity:1;}
}
.ani_puls{
	animation: ani_puls 1s ease-out infinite;
}
@keyframes ani_fadeout {
  0% {opacity:0.3;} 100% {opacity:0;}
}
.ani_fadeout{
	animation: ani_fadeout 5s ease-out;
}

@media only screen and (max-width:600px){
    *{
        font-size:11px;
        line-height:15px;
    }
    h1{
        font-size:15px;
        margin-bottom: 8px;
    }
    h2{
        font-size:13px;
        margin-bottom: 8px;
    }
    h3{
        font-size:13px;
    }
}

.pics_nav{
	position:relative;
	display:inline-block;
	vertical-align:top;
	background:url(images/pics_nav.png?v2) no-repeat 0 0;
	background-size: 400px 400px;
	width:40px;
	height:40px;
}
.pics_nav.m{
    vertical-align: middle;
}
.pics_nav.black{
    filter:invert(1) opacity(0.8);
}
.pics_nav.sitemap	 	{background-position:0px 0px;}
.pics_nav.listedit	 	{background-position:-40px 0px;}
.pics_nav.gruppe	 	{background-position:-80px 0px;}
.pics_nav.ticket_open	{background-position:-120px 0px;}
.pics_nav.ticket_booked	{background-position:-160px 0px;}
.pics_nav.web       	{background-position:-200px 0px;}
.pics_nav.cfg	 		{background-position:-240px 0px;}
.pics_nav.home	 		{background-position:-280px 0px;}
.pics_nav.papierkorb	{background-position:-320px 0px;}
.pics_nav.bug			{background-position:-360px 0px;}
.pics_nav.ticket		{background-position:0px -40px;}
.pics_nav.code			{background-position:-40px -40px;}
.pics_nav.balken		{background-position:-80px -40px;}
.pics_nav.client		{background-position:-120px -40px;}
.pics_nav.location		{background-position:-160px -40px;}
.pics_nav.personal		{background-position:-200px -40px;}
.pics_nav.cloud			{background-position:-240px -40px;}
.pics_nav.paket			{background-position:-280px -40px;}
.pics_nav.plan			{background-position:-320px -40px;}
.pics_nav.tiles			{background-position:-360px -40px;}
.pics_nav.personen		{background-position:0px -80px;}
.pics_nav.checkbox		{background-position:-40px -80px;}
.pics_nav.report		{background-position:-80px -80px;}
.pics_nav.controlling	{background-position:-120px -80px;}
.pics_nav.user,.pics_nav.benutzer			{background-position:-160px -80px;}
.pics_nav.help			{background-position:-200px -80px;}
.pics_nav.dashboard		{background-position:-240px -80px;}
.pics_nav.company		{background-position:-280px -80px;}
.pics_nav.mail			{background-position:-320px -80px;}
.pics_nav.fragebogen	{background-position:-360px -80px;}
.pics_nav.form	 	    {background-position:0px -120px;}
.pics_nav.form_cfg	 	{background-position:-40px -120px;}
.pics_nav.form_open	 	{background-position:-80px -120px;}
.pics_nav.form_booked	{background-position:-120px -120px;}
.pics_nav.ticket_storno	{background-position:-160px -120px;}
.pics_nav.form_storno	{background-position:-200px -120px;}
.pics_nav.tablet	    {background-position:-240px -120px;}
.pics_nav.euro  	    {background-position:-280px -120px;}
.pics_nav.auto  	    {background-position:-320px -120px;}
.pics_nav.gast  	    {background-position:-360px -120px;}
.pics_nav.uhr     	    {background-position:0px -160px;}
.pics_nav.fon     	    {background-position:-40px -160px;}
.pics_nav.flug     	    {background-position:-80px -160px;}
.pics_nav.gallery     	{background-position:-120px -160px;}
.pics_nav.werkzeug     	{background-position:-160px -160px;}
.pics_nav.strom     	{background-position:-200px -160px;}
.pics_nav.kran     	    {background-position:-240px -160px;}
.pics_nav.kamera     	{background-position:-280px -160px;}
.pics_nav.kalender     	{background-position:-320px -160px;}
.pics_nav.gesetz     	{background-position:-360px -160px;}
.pics_nav.ticket_edit   {background-position:0px -200px;}
.pics_nav.buch          {background-position:-40px -200px;}
.pics_nav.add           {background-position:-80px -200px;}
.forms{
    display: block;
    position: relative;
    color:inherit;
    line-height: inherit;
    text-align: left;
    z-index:1;
}
.forms.fenster{
    overflow: visible !important;
}
.forms .ffolien{
    position: relative;
    display:none;
    color:inherit;
    line-height:inherit;
    margin-bottom: 20px;
    border-radius:3px;
}
.forms .ffolien.show{
    display: block;
}
.forms .ffolien span{
    display: inline-block;
    opacity: 0.5;
    margin-right: 10px;
    padding:5px 10px;
    border-radius:3px;
}
.forms .ffolien span.aktiv{
    opacity: 1;
}
.forms .fdaten{
    position: relative;
    display:block;
    color:inherit;
    line-height:inherit;
    padding:20px;
    background: #ccc;
    border-radius:3px;
    margin-bottom: 20px;
}
.forms .fdaten .fdaten_text,
.forms .fdaten .fdaten_titel,
.forms .fdaten .fdaten_hinweis,
.forms .fdaten .fdaten_wert{
    display:block;
    color:inherit;
    margin-bottom: 15px;
}
.forms .fdaten .fdaten_wert{
    background: rgba(0,0,0,0.1);
    margin-left: -20px;
    margin-right: -20px;
    padding:2px 20px;
}
.forms .fdaten .fdaten_wert small{
    display:inline-block;
}
.forms .ffolie{
    position: relative;
    display: block;
    color:inherit;
    line-height:inherit;
    display:none;
    opacity: 0;
    transition: all 0.2s;
}
.forms .ffolie.show{
    display:block;
    opacity: 1;
}
.forms .fzeile{
    position: relative;
    display:block;
    color:inherit;
    line-height:inherit;
}
.forms .fzeile .fspalte{
    display:inline-block;
    color:inherit;
    line-height:inherit;
    vertical-align: top;
    margin-right: 10px;
}
.forms .fzeile .fspalte:last-child{
    margin-right: 0px;
}
.forms .fzeile .fspalte.r1{
    width:100%;
}
.forms .fzeile .fspalte.r2{
    width:calc(50% - 5px);
}
.forms .fzeile .fspalte.r3{
    width:calc(100% / 3 - 20px / 3);
}
.forms .fzeile .fspalte.r4{
    width:calc(100% / 4 - 30px / 4);
}
.forms .fzeile .fspalte.rx{
    width:auto;
    margin-right: 0px;
}
.forms .fmask{
    display: none;
    position: relative;
    color:inherit;
    line-height:inherit;
}
.forms .fmask.show{
    display: block;
}
.forms .ffeld{
    display: block;
    position: relative;
    color:inherit;
    font-size: inherit;
    line-height: inherit;
    margin-bottom: 10px;
}
.forms.fenster .ffeld{
    margin-bottom: 5px;
}
.forms .ffeld.ftitel{
    font-size:1.5em;
    line-height:1.35em;
}
.forms .ffeld.fsub{
    font-size:1.3em;
    line-height:1.3em;
}
.forms .ffeld.fhinweis{
    font-style: italic;
}
.forms .ffeld.fhtml{}
.forms .ffeld.flinie{
    height: 1px;
    background: rgba(255,255,255,0.2);
}
.forms.fenster .ffeld.flinie{
    background: rgba(0,0,0,0.15);
    margin-left:-20px;
    margin-right:-20px;
}
.forms .ffeld.fabstand{
    height: 10px;
}
.forms .ffeld.fno{
    margin-bottom: 0px;
}
.forms .ffeld.vars{
    display: none;
}
.forms .fpflicht{
    display: none;
    position: absolute;
    top:0px;
    left:-6px;
    height: 100%;
    width: 3px;
    background: #f00;
    border-radius: 3px;
}
.forms .fpflicht.kurz{
    height: calc(100% - 10px);
}
.forms .fpflicht.show{
    display: block;
}
.forms .fbez{
    display:block;
    color:inherit;
    font-size: inherit;
    line-height: inherit;
    margin-bottom: 2px;
}
.forms.fenster .fbez{
    color:#999;
    font-size: 11px;
    margin-bottom: 0px;
}
.forms .fbez .fpopup{
    display: inline-block;
    margin-left: 5px;
    opacity: 0.5;
}
.forms .fbez .fpopup.over{
    opacity: 1;
}
.forms .fform{
    display:block;
    position: relative;
    background: rgba(255,255,255,0.2);
    padding:9px 10px;
    padding:8px 10px;
    margin:0px;
    color:inherit;
    font-size: inherit;
    line-height:16px;
    border-radius: 3px;
    width:calc(100% - 20px);
}
.forms input.fform::-webkit-input-placeholder, .forms textarea.fform::-webkit-input-placeholder {
	color: rgba(255,255,255,0.7);
}
.forms input.fform::-moz-placeholder,.forms textarea.fform::-moz-placeholder{
	color: rgba(255,255,255,0.7);
}
.forms.fenster input.fform::-webkit-input-placeholder, .forms.fenster textarea.fform::-webkit-input-placeholder {
	color: rgba(0,0,0,0.5);
}
.forms.fenster input.fform::-moz-placeholder,.forms.fenster textarea.fform::-moz-placeholder{
	color: rgba(0,0,0,0.5);
}

.forms input,.forms textarea,.forms select{
	-webkit-appearance: none;
}
.forms input:disabled,
.forms textarea:disabled,
.forms select:disabled,
.forms .fform.disabled,
.forms .fcheckbox.disabled .fkreis{
    opacity: 0.5 !important;
    cursor:not-allowed !important;
}
.forms .fbild{
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 3px;
    margin-bottom: 5px;
}
.forms .fbt.bild_block{
    display:block !important;
    margin-right:0px !important;
}
.forms .fbt .fbild{
    margin-top: 0px;
    margin-left: -10px;
    margin-right: -10px;
    width: calc(100% + 20px);
    margin-top:3px;
    margin-bottom: 5px;
}
.forms .fbt.bild_block .fbild{
    margin:auto;
    width:auto;
    margin-top:3px;
    margin-bottom: 5px;
}
.forms.fenster input:disabled,
.forms.fenster textarea:disabled,
.forms.fenster select:disabled,
.forms.fenster .fform.disabled,
.forms.fenster .fcheckbox.disabled .fkreis{
    background: rgba(0,0,0,0.1);
    box-shadow: inset 0px 0px 1px rgba(0,0,0,0.4);
    opacity: 0.5;
    color:#000;
}
.forms.fenster .fcheckbox.disabled .ftxt{
    opacity: 0.5;
}
.forms.fenster .fform{
    background: rgba(0,0,0,0.1);
    border-radius: 4px;
    padding:4px 10px;
}
.forms .fform:focus{
    background: rgba(255,255,255,0.3);
}
.forms.fenster .fform:focus{
    background: rgba(0,0,0,0.2);
}
.forms .fform.fbt,.forms .fform.ftextbt{
    display: inline-block;
    padding:9px 20px;
    padding:8px 20px;
    width: auto;
    margin-right: 10px;
    margin-bottom: 10px;
    text-align: center;
    text-align: left;
}
.forms .fform.fcolsx{
    margin-right: 10px;
}
.forms.fenster .fform.fbt,.forms.fenster .fform.ftextbt{
    margin-right: 5px;
    margin-bottom: 5px;
    color:#333;
    padding:4px 10px;
}
.forms .fform.fbt.over,.forms .fform.ftextbt.over{
    background: rgba(255,255,255,0.3);
}
.forms.fenster .fform.fbt.over,.forms.fenster .fform.ftextbt.over{
    background: rgba(0,0,0,0.3);
}
.forms .fform.fbt.aktiv,.forms .fform.ftextbt.aktiv{
    color:#000;
    background: #fff;
    opacity: 1 !important;
}
.forms .fform.fbt.rot,.forms .fform.ftextbt.rot{
    color:#fff;
    background: #f73434;
}
.forms .fform.fbt.rot.over,.forms .fform.ftextbt.rot.over{
    color:#333;
}
.forms.fenster .fform.fbt.aktiv,.forms.fenster .fform.ftextbt.aktiv{
    color:#fff;
    background: #333;
}
.forms .fform.fbt.over.aktiv,.forms .fform.ftextbt.over.aktiv{
    color:#fff;
    background: #e00;
}
.forms .fform.ftext{
    padding:9px 10px;
    padding:8px 10px;
}
.forms .fform.ftextbt{
    padding:9px 10px;
    padding:8px 10px;
    width:calc(100% - 20px);
}
.forms select.fform{
    width:100%;
}
.forms .fform option{
    background: #fff;
    color:#000;
    font-size: 1.2em;
}
.forms .fform.ficon_links{
    padding-left:40px !important;
    width:calc(100% - 20px - 30px);
}
.forms .fform.ficon_rechts{
    padding-right:40px !important;
    width:calc(100% - 20px - 30px);
}
.forms .fform.ficon_beide{
    padding-left:40px !important;
    padding-right:40px !important;
    width:calc(100% - 20px - 30px - 30px);
}
.forms .fform.fbt.klein{
    padding:6px 8px;
}
.forms .fform.fbt.ficon_links,
.forms .fform.fbt.ficon_rechts,
.forms .fform.fbt.ficon_beide{
    width:auto;
}
.forms .fform.fbt i{
    color:#ccc;
    font-style: normal;
    font-size:10px;
}
.forms .ficon{
    position: absolute;
    top:0px;
    left: 0px;
    width:30px;
    height: 100%;
    background: rgba(0,250,0,0.5);
    border-radius: 3px 0px 0px 3px;
}
.forms .ficon.nobg{
    background: none;
}
.forms .ficon.hide{
    display:none;
}
.forms .ficon.rechts{
    left:auto;
    right:0px;
    border-radius: 0px 3px 3px 0px;
}
.forms .ficon.rot{
    background: #e00;
}
.forms .ficon.gruen{
    background: #0e0;
}
.forms .ficon.over{
    opacity: 0.5;
}
.forms .fblock{
    display: none;
}
.forms .fbox{
    position: relative;
    display: inline-block;
    background: rgba(0,0,0,0.5);
    border-radius:3px;
    padding:10px;
    z-index: 2;
}
.forms.fenster .fbox{
    padding:5px;
}
.forms .fbox.fixed{
    position: absolute;
    z-index:5;
    background: #000;
    margin-top: -5px;
    box-shadow: 0px 5px 5px rgba(0,0,0,0.5),0px 5px 10px rgba(0,0,0,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
}
.forms.fenster .fbox.fixed{
    margin-top: 0px;
}
.forms .fbox.btns{
    padding-right: 0px;
    padding-bottom: 0px;
}
.forms .fbox .fform.fbt{
    background: rgba(255,255,255,0.2);
    color:#fff;
}
.forms .fbox .fform.fbt.over{
    background: rgba(255,255,255,0.3);
}
.forms .fbox .monat{
    margin:0px;
    min-width:260px;
}
.forms .fbox p{
    display:block;
    margin-right: 10px;
    margin-bottom: 10px;
}
.forms .kalender{

}
.forms .monat .tag,
.forms .monat .tag_auswahl,
.forms .monat .tag_leer,
.forms .monat .tag_auswahl_wochenende,
.forms .monat .wtage div{
    width: 35px;
}
.forms .monat .wtage{
	border-bottom:1px solid rgba(255,255,255,0.1);
}
.forms .fuhrzeit{
    white-space: nowrap;
}
.forms .fuhrzeit .fzahl{
    display: inline-block;
    vertical-align: top;
    line-height: 26px;
}
.forms .fuhrzeit .fzahl .fvalue,
.forms .fuhrzeit .fzahl .fset,
.forms .fuhrzeit .fzahl .fset .fmin{
    position: relative;
    display: block;
    width: 30px;
    height: 26px;
    text-align: center;
    line-height: 26px;
    border-radius: 3px;
    color:#999;
}
.forms .fuhrzeit .fzahl .fvalue{
    background: #333;
    color:#fff;
    text-align: right;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
    margin-bottom: 10px;
    border-radius: 3px 0 0 3px;
    width: 24px;
    padding:0px 3px;
}
.forms .fuhrzeit .fzahl .fvalue.rechts{
    border-radius: 0 3px 3px 0;
    text-align: left;
}
.forms .fuhrzeit .fzahl .fset.over,
.forms .fuhrzeit .fzahl .fset.over .fmin{
    background: #e00;
    color:#fff;
}
.forms .fuhrzeit .fzahl .fset.aktiv,
.forms .fuhrzeit .fzahl .fset.aktiv .fmin{
    background: #fff;
    color:#000;
}
.forms .fuhrzeit .fzahl .fset .fmin{
    position: absolute;
    left:25px;
    top:0px;
    padding-left:5px;
}
.forms .fuhrzeit .fzahl .fsync{
    position: relative;
    display: block;
    width: 26px;
    height: 26px;
    border-radius: 30px;
    margin-left: 10px;
}
.forms .fuhrzeit .fzahl .fsync.over{
    background: #e00;
}
.forms .fpunkte{
    display: inline-block;
}
.forms .fpunkte.block{
    width: 100%;
    max-width: 600px;
}
.forms .fpunkte .block{
    display: block;
}
.forms .fpunkte .links,
.forms .fpunkte .rechts{
    font-size:10px;
    opacity: 0.5;
    float:left;
    margin-top:-5px;
    margin-bottom: 10px;
}
.forms.fenster .fpunkte .links,
.forms.fenster .fpunkte .rechts{
    margin-top:-10px;
    color:#000;
}
.forms .fpunkte .rechts{
    float: right;
    padding-right: 10px;
}
.forms .fpunkte.block .rechts{
    padding-right: 0px;
}
.forms .fpunkte .regler{
    display:block;
    position: relative;
    width:100%;
    height: 32px;
    margin-bottom: 10px;
}
.forms.fenster .fpunkte .regler{
    height: 25px;
}
.forms .fpunkte .regler .rani{
    transition: all 0.1s;
}
.forms .fpunkte .regler .fregler{
    display: inline-block;
    position: relative;
    z-index: 1;
}
.forms .fpunkte .regler .rlinie_links,
.forms .fpunkte .regler .rlinie_rechts{
    width: 20px;
    height: 3px;
    left:0px;
    background: rgba(255,255,255,0.2);
    border-radius: 5px;
}
.forms.fenster .fpunkte .regler .rlinie_links,
.forms.fenster .fpunkte .regler .rlinie_rechts{
    background: rgba(0,0,0,0.2);
}
.forms .fpunkte .regler .rlinie_rechts{
    left:auto;
    right: 0px;
}
.forms .fliste{
    display:block;
}
.forms .fcheckbox{
    display: block;
    white-space: nowrap;
    color: inherit;
    line-height: inherit;
    font-size: inherit;
}
.forms .fcheckbox.abstand{
    margin-right: 5px;
}
.forms .fcheckbox .fkreis{
    display: inline-block;
    position: relative;
    vertical-align: top;
    width:32px;
    height:32px;
    background: rgba(255,255,255,0.2);
    border-radius: 40px;
    margin-right: 5px;
}
.forms .fcheckbox.klein .fkreis{
    margin-top: 0px;
    width:22px;
    height:22px;
}
.forms.fenster .fcheckbox .fkreis{
    background: rgba(0,0,0,0.1);
}
.forms.fenster .fcheckbox .fkreis .pics{
    filter: invert(1);
}
.forms .fcheckbox.over .fkreis{
    background: rgba(255,255,255,0.4);
}
.forms.fenster .fcheckbox.over .fkreis{
    background: rgba(0,0,0,0.2);
}
.forms .fcheckbox .ftxt{
    padding-top: 8px;
    display: inline-block;
    position: relative;
    vertical-align: top;
    color: inherit;
    line-height: inherit;
    font-size: inherit;
    white-space: normal;
    width: calc(100% - 34px - 5px);
}
.forms .fcheckbox .ftxt a{
    color:inherit;
    font-family: inherit;
    font-weight: inherit;
    text-decoration: underline;
}
.forms .fcheckbox .ftxt a:hover{
    text-decoration: none;
}
.forms .fcheckbox.klein .ftxt{
    padding-top: 3px;
}

.forms .fcheckbox2{
    display: block;
    position: relative;
    white-space: nowrap;
    color: inherit;
    line-height: inherit;
    font-size: inherit;
    margin-top:10px;
    margin-bottom: 12px;
}
.forms .fcheckbox2 label{
    position: relative;
    padding-left:36px;
    white-space: normal;
    color: inherit;
    line-height: inherit;
    font-size: inherit;
    cursor:pointer;
}
.forms .fcheckbox2 input{
    display:block;
    position: absolute;
    left:0px;
    top:0px;
    left: -10000px;
}
.forms .fcheckbox2 input:checked + label .fkreis .pics{
    display:block;
}
.forms .fcheckbox2 input:hover + label .fkreis{
    background: rgba(255,255,255,0.4);
}
.forms.fenster .fcheckbox2 input:hover + label .fkreis{
    background: rgba(0,0,0,0.2);
}

.forms .fcheckbox2 .fkreis .pics{
    display:none;
}
.forms .fcheckbox2 .fkreis{
    display: block;
    position: absolute;
    vertical-align: top;
    top:-7px;
    width:32px;
    height:32px;
    background: rgba(255,255,255,0.2);
    border-radius: 40px;
    margin-right: 5px;
}
.forms .fcheckbox2.klein .fkreis{
    margin-top: 0px;
    width:22px;
    height:22px;
}
.forms.fenster .fcheckbox2 .fkreis{
    background: rgba(0,0,0,0.1);
}
.forms.fenster .fcheckbox2 .fkreis .pics{
    filter: invert(1);
}


.forms .fdyn{
    display: block;
    position: relative;
}
.forms .fdyn .fsuche{
    display: block;
    position: relative;
    margin-bottom: 10px;
}
.forms.fenster .fdyn .fsuche{
    margin-bottom: 5px;
}
.forms .fdyn .fsuche input{
    z-index: 1;
}
.forms.fenster .fdyn .fsuche input{
    color:#333;
}
.forms .fdyn .fsuche .ficon.rechts{
    z-index: 2;
}
.forms .fdyn .fwarenkorb,
.forms .fdyn .fgruppen{
    display: block;
}
.forms .fdyn .fmenge,.forms .fdyn .fvk{
    position: relative;
    display:inline-block;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    text-align: right;
    width: 50px;
    background: rgba(0,0,0,0.1);
    box-shadow: inset 0px 0px 1px rgba(0,0,0,0.3);
    border-radius: 3px;
    padding: 4px 2px;
    margin-right: 2px;
    margin-top:-5px;
    margin-bottom: -5px;
    margin-left: -6px;
    vertical-align: baseline;
    z-index: 2;
}
.forms .fdyn .fvk{
    margin-right: 10px;
}
.forms .fdyn .fmenge.hide,.forms .fdyn .fvk.hide{
    display:none;
}
.forms .fdyn .flabel{
    position: relative;
    display: inline-block;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    padding:8px 10px;
    margin:-8px -10px;
    vertical-align: top;
    z-index: 1;
    border-radius: 3px;
}
.forms .fdyn .flabel .vk{
    background: #000;
    color:#fff;
    padding:0px 2px;
    border-radius: 2px;
    margin-right:4px;
}
.forms .fdyn .flabel i{
    color:#666;
    font-style: normal;
    font-size:10px;
}
.forms.fenster .fdyn .flabel{
    padding:4px 10px;
    margin:-4px -10px;
}
.forms .fdyn .flabel.in{
    padding-left: 60px;
    margin-left:-60px;
    width:calc(100% - 50px);
}
.forms .fdyn .flabel.invk{
    padding-left: 120px;
    margin-left:-118px;
    width:calc(100% - 110px);
}
.forms .fdyn .fform.ficon_rechts .flabel{
    border-radius: 3px 0px 0px 3px;
}
.forms .fdyn .fform.ficon_beide .flabel{
    border-radius: 0px;
}
.forms .fdyn .flabel.over{
    background: #aaa;
}
.forms .fdyn .flabel span.hide{
    display:none;
}
.forms .fsave{
    display: block;
}
.forms .fsave.blau .ficon_links{
    background: #3193f1;
    color: #fff;
}
.forms .fsave.gruen .ficon_links{
    background: #2ac432;
    color: #fff;
}
.forms .fsave.rot .ficon_links{
    background: #ff0000;
    color: #fff;
}
.forms.fenster .fsave{
    color:#000;
}
.forms .fsave .ficon_links{
    padding-left: 50px;
}
.forms.fenster .fsave .ficon_links{
    padding-left: 10px !important;
}
.forms.fenster .fsave .ficon_links .ficon{
    display: none;
}
.forms .fsave .rechts{
    float: right;
    margin-right: 0px;
}

.forms .fform.sign{
    width: 120px;
    text-align: center;
    margin-top: -1px;
    text-transform: uppercase;
}
.forms .vertrag_sign{
    display:inline-block;
    position: relative;
    height: 80px;
    width:140px;
    background: rgba(255,255,255,0.2);
    border-radius: 3px;
}
.forms .vertrag_sign.black{
    filter:invert(1);
}
.forms .vertrag_sign.na{
    height: 40px;
}
.forms .vertrag_sign .pics{
    opacity: 0.5;
}
.forms .vertrag_sign.over{
    background: rgba(255,255,255,0.3);
}
.forms .vertrag_sign .bild{
    display: none;
    height: 80px;
    width:140px;
    filter:invert(1);
}
/* Website #################################################################*/
:root{
    --web-padding:20px;
    --web-padding-minus:-20px;
    --web-padding-halb:10px;
    --web-body-w:800px;
    --web-nav-w:800px;
    --web-nav-h-total:100px;
    --web-nav-h:100px;
    --web-nav-h-leiste:0px;
    --web-nav-leiste-bg:none;
    --web-nav-bg:#fff;
    --web-nav-font-size:12px;
    --web-nav-font-color:#000;
    --web-nav-schatten:none;
    --web-mobnav-h:40px;
    --web-mobnav-font-size:12px;
    --web-mobnav-bg:#fff;
    --web-mobnav-linien-farbe:#000;
    --web-mobnav-linien-open-farbe:#000;
    --web-mobnav-tennlinien-farbe:#000;
}
body{
    position: relative;
    height:100vh;
    margin:0;
    display:flex;
    flex-direction:column;
    overflow: scroll;
    overflow-x: hidden;
}
.mitte{
    max-width: calc(var(--web-body-w) - var(--web-padding) - var(--web-padding));
}
.nav{
    position: fixed;
    display: block;
    top:0px;
    left:0px;
    margin: auto;
    text-align: center;
    width: 100%;
    height: var(--web-nav-h-total);
    z-index: 20;
    -webkit-transform: translate3d(0,0,0);
    background: var(--web-nav-bg);
    box-shadow: var(--web-nav-schatten);
}
.nav.mobil{
    height: var(--web-mobnav-h);
}
.nav.mobil .desktop{
    visibility: hidden;
}
.nav .mitte{
    display: block;
    position: relative;
    padding:var(--web-padding) var(--web-padding);
    width:calc(100% - var(--web-padding) - var(--web-padding));
    max-width: calc(var(--web-nav-w) - var(--web-padding) - var(--web-padding));
    height: calc(var(--web-nav-h) - var(--web-padding) - var(--web-padding));
    color:inherit;
}
.nav .mitte .logo{
    position: relative;
    z-index:3;
}
.nav .mitte.links .logo,.nav .mitte.leiste_rechts .logo{
    float: right;
}
.nav .mitte.rechts .logo,.nav .mitte.leiste_links .logo{
    float: left;
}
.nav .mitte.leiste_mittig .logo{
    display: block;
    margin:auto;
}
.nav .mitte .btns{
    display: inline-block;
    position: relative;
    white-space: nowrap;
    z-index:3;
}
.nav .mitte.links .btns{
    float:left;
    margin-left: -15px;
}
.nav .mitte.rechts .btns{
    float:right;
    margin-right: -15px;
}
.nav .mitte .btns .btn{
    position: relative;
    display:inline-block;
    margin:0px 15px;
    padding:0px;
    line-height:calc(var(--web-nav-font-size) + 15px);
    font-size:var(--web-nav-font-size);
    color:var(--web-nav-font-color);
}
.nav .mitte .btns .btn .btn_linie {
    position: absolute;
    left:50%;
    bottom: 0px;
    height: 1px;
    width: 0%;
    margin: auto;
    opacity: 0;
    transition: 0.2s all;
    background:var(--web-nav-font-color);
}
.nav .mitte .btns .btn.aktiv .btn_linie,
.nav .mitte .btns .btn.over .btn_linie{
    left:0%;
    opacity: 1;
    width: 100%;
}
.nav .leiste{
    display:block;
    position:relative;
    height:var(--web-nav-h-leiste);
    background:var(--web-nav-leiste-bg);
}
.nav .leiste .mitte{
    padding:0px var(--web-padding);
    padding:0px;
    height:var(--web-nav-h-leiste);
}
.nav .leiste.leiste_mittig .btns{
    position:absolute;
	left:50%;
	top:50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.nav .leiste.leiste_links .btns{
    margin-left: -15px;
}
.nav .leiste.leiste_rechts .btns{
    float: right;
    margin-right: -15px;
}
.nav .mob{
    display: block;
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    height: var(--web-mobnav-h);
    display: none;
}
.nav .mob.show,.nav .mob.only{
    display: block;
}
.nav .mob .mitte{
    padding: 0px;
    height: var(--web-mobnav-h);
    /*background: var(--web-nav-bg);*/
    z-index: 3;
}
.nav .mob_btns{
    position: fixed;
    display: none;
    top:calc(0px - var(--web-mobnav-h) - var(--web-padding));
    padding:var(--web-padding);
    padding-top:calc(var(--web-mobnav-h) + var(--web-padding));
    left:0px;
    width: calc(100% - var(--web-padding) - var(--web-padding));
    text-align: center;
    transition: all 0.2s;
    background: var(--web-mobnav-bg);
    box-shadow: var(--web-nav-schatten);
    z-index: 1;
    overflow: hidden;
}
.nav .mob_btns .btn{
    display:block;
    position: relative;
    margin:0px;
    padding: 10px 0px;
    font-size:var(--web-mobnav-font-size);
    color:var(--web-mobnav-farbe);
    transition: all 0.2s;
}
.nav .mob_btns .btn.over{
    font-size:calc(var(--web-mobnav-font-size) + 2px);
}
.nav .mob_btns .mob_land{
    display:inline-block;
    margin:0px 10px;
    margin-top:20px;
    filter:grayscale(0);
    transition: 0.2s all;
}
.nav .mob_btns .mob_land.over{
    filter:grayscale(1);
}

.nav .mob .mitte.links .logo{
    right:0px;
}
.nav .mob .mitte.rechts .logo{
    left:0px;
}
.nav .mob .mitte.mittig_links .logo,.nav .mob .mitte.mittig_rechts .logo{
    position:absolute;
    left:50%;
    top:50%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
.nav .mob .mitte.links .menu, .nav .mob .mitte.mittig_links .menu{
    left:-5px;
}
.nav .mob .mitte.rechts .menu,.nav .mob .mitte.mittig_rechts .menu{
    right:-5px;
}
.nav .menu{
    position: absolute;
    height: 40px;
    width: 40px;
    z-index: 3;
}
.nav .menu div{
    position:absolute;
    width: 30px;
    height: 1px;
    background: var(--web-mobnav-linien-farbe);
    left:5px;
    top:calc(50% - 1px);
    transition: all 0.2s;
    border-radius: 2px;
}
.nav .menu div:last-child{
    width: 25px;
}
.nav .rechts .menu div:last-child{
    width: 25px;
    left:10px;
}
.nav .menu.over div{
    width: 40px !important;
    left:0px !important;
}
.nav .menu div:first-child{
    top:calc(50% - 4px);
}
.nav .menu div:last-child{
    top:calc(50% + 3px);
}
.nav .menu.aktiv div{
    opacity: 0;
    height: 1px;
    background: var(--web-mobnav-linien-open-farbe);
}
.nav .menu.aktiv div:first-child{
    opacity: 1;
    transform: rotate(-135deg);
    top:calc(50% - 1px);
}
.nav .menu.aktiv div:last-child{
    opacity: 1;
    transform: rotate(135deg);
    top:calc(50% - 1px);
    width: 30px;
}

article{
    display: block;
    position: relative;
    z-index:3 !important;
}
.webinhalt {
    display: block;
    position: relative;
    padding-top:var(--web-nav-h-total);
    z-index:1;
}
.webinhalt.mobil{
    padding-top:var(--web-mobnav-h);
}
.webinhalt h1,.webinhalt .mitte h1{
    margin:0px;
    padding:0px;
    color:inherit;
}
.webinhalt hr{
    display: block;
    height:1px;
    margin-top:18px;
}
.webinhalt a,.webinhalt b,.webinhalt u,.webinhalt i,.webinhalt strong,.webinhalt br,.webinhalt ul,.webinhalt li{
    font-size:inherit;
    line-height:inherit;
}
.webinhalt strong,.webinhalt b{
    font-weight:400;
}
.webinhalt a:hover{
    text-decoration: underline;
}
.webinhalt .btn{
    display:inline-block;
    padding:5px 10px;
}
.webinhalt .btn:hover{
    text-decoration: none;
    opacity: 0.5;
}
.webinhalt .abstand{
    display: block;
    height:var(--web-padding);
}
.webinhalt .abschluss{
    display: block;
    height:var(--web-padding);
}
.webinhalt .align_left{
	text-align: left;
}
.webinhalt .align_center{
	text-align: center;
}
.webinhalt .align_right{
	text-align: right;
}
.webinhalt .align_justify{
	text-align: justify;
}
.webinhalt .mitte{
    padding:var(--web-padding);
    padding-bottom:0px;
    width:calc(100% - var(--web-padding) - var(--web-padding));
}
.webinhalt .text{
	position: relative;
	display: block;
}
.webinhalt .text .box{
	position: relative;
	display: inline-block;
	width:100%;
	vertical-align: top;
}
.webinhalt .text .box.bottom{
    position: absolute;
    right: var(--web-padding);
    bottom:var(--web-padding);
}
.webinhalt.mobil .text .box.bottom{
    position: absolute;
    left: var(--web-padding);
    width:calc(100% - var(--web-padding) - var(--web-padding)) !important;
    bottom:var(--web-padding);
}
.webinhalt.mobil .text .box{
    display: block !important;
    width:100% !important;
}
.webinhalt .text .box.w50{
	position: relative;
	display: inline-block;
	width: calc(50% - var(--web-padding-halb));
	margin-right: var(--web-padding);
	vertical-align: top;
}
.webinhalt .text .box.w33{
	width: calc(33.333% - var(--web-padding) * 2 / 3);
    margin-right: var(--web-padding);
}
.webinhalt .text .box.w25{
	width: calc(25% - var(--web-padding) * 3 / 4);
    margin-right: var(--web-padding);
}
.webinhalt .text .box:last-child{
	margin-right: 0px !important;
}
.webinhalt .text .box .txt{
    display: block;
    position: relative;
}
.webinhalt .banner{
    position: relative;
    display: block;
    overflow: hidden;
}
.webinhalt .mitte.nopadding .banner{
    margin-top: var(--web-padding-minus);
    margin-left: var(--web-padding-minus);
    margin-right: var(--web-padding-minus);
}
.webinhalt .banner .mitte{
    position: absolute;
    height:calc(100% - var(--web-padding) - var(--web-padding));
    padding-bottom:var(--web-padding);
    background: none;
    z-index:2;
}
.webinhalt .banner .bild_100{
    display: block;
    position: relative;
    width: 100%;
    z-index:1;
}
.webinhalt .banner .bild_fixed{
    position: relative;
    display: block;
    height: 100vh;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.webinhalt .banner .bild_cover{
    position: absolute;
    top:0px;
    left:0px;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.webinhalt .banner .txt{
    display: block;
    position: absolute;
    width:calc(100% - var(--web-padding) - var(--web-padding));
    z-index:2;
}
.webinhalt .banner .txt.bottom{
    position: absolute;
    bottom:var(--web-padding);
}
.webinhalt .banner .txt .txt_bg{
    display:inline-block;
    color:inherit;
}
.webinhalt .big{
    position:relative;
    display: inline-block;
}
.webinhalt .big .plus{
    position:absolute;
    right:0px;
    bottom:0px;
    height:20px;
    width:20px;
    text-align: center;
    line-height: 20px;
    color:rgba(255,255,255,1);
    text-shadow: 0px 0px 1px rgba(0,0,0,0.5);
}


.webinhalt.mobil .scrollsnap .text .box.top{
    position: absolute;
    top:calc(var(--web-mobnav-h) + var(--web-padding));
    width:calc(100% - var(--web-padding) - var(--web-padding)) !important;
}
.scrollsnap {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 100vh;
    scroll-snap-align: center;
}
.webinhalt .scrollsnap .mitte{
    padding-top: calc(var(--web-nav-h) + var(--web-padding));
    height: calc(100vh - var(--web-padding) - var(--web-padding) - var(--web-nav-h));
}
.mitte.scrollsnap{
    padding-top: calc(var(--web-nav-h) + var(--web-padding));
    height: calc(100vh - var(--web-padding) - var(--web-padding) - var(--web-nav-h));
    min-height: calc(100vh - var(--web-padding) - var(--web-padding) - var(--web-nav-h));
    padding-bottom:var(--web-padding);
}
.webinhalt.mobil .scrollsnap .mitte{
    padding-top: calc(var(--web-mobnav-h) + var(--web-padding));
    height: calc(100vh - var(--web-padding) - var(--web-padding) - var(--web-mobnav-h));
}
.webinhalt.mobil .mitte.scrollsnap{
    padding-top: calc(var(--web-mobnav-h) + var(--web-padding));
    height: calc(100vh - var(--web-padding) - var(--web-padding) - var(--web-mobnav-h));
    min-height: calc(100vh - var(--web-padding) - var(--web-padding) - var(--web-mobnav-h));
    padding-bottom:var(--web-padding);
}

.forms .ffeld.flinie{
    background: var(--web-linie) !important;
}
.forms .fpunkte .regler .rlinie_links,
.forms .fpunkte .regler .rlinie_rechts{
    background: var(--web-linie) !important;
    opacity: 0.3;
}
footer{
    margin-top:auto;
    min-height: 50px;
    z-index:2;
}
footer.webinhalt{
    padding-top: 0px;
}
/* INDIVIDUELL ###############################################################*/
#backg{opacity: 1;filter: none;}
#backg.blur img{filter: none;}
.programm{
    display: block;
}
.programm .box{
    display: block;
    position: relative;
    white-space: nowrap;
    color:inherit;
    font-size:inherit;
}
.programm .datum,
.programm .zeiten{
    position: relative;
    display: inline-block;
    width:80px;
    white-space: normal;
    color:inherit;
    font-size:inherit;
    margin-bottom:20px;
    vertical-align: top;
}
.programm .datum{
    text-align: center;
    height: 100%;
    padding:2px 0px;
    border-radius: 3px;
    border:1px solid var(--web-linie);
}
.programm .zeiten .linie{
    position: absolute;
    width:1px;
    height: calc(100% - 79px);
    background: var(--web-linie);
    top:40px;
    left:-40px;
}
.programm .zeiten{
    width:calc(100% - 80px);
}
.programm .zeiten .eintrag{
    display: block;
    position: relative;
    white-space: nowrap;
    color:inherit;
    font-size:inherit;
    margin-bottom:30px;
}
.programm .zeiten .eintrag .uhrzeiten{
    position: relative;
    display: inline-block;
    width:100px;
    padding:2px 0px;
    padding-left: 20px;
    white-space: normal;
    color:inherit;
    font-size:inherit;
    vertical-align: top;
    margin-bottom: 10px;
}
.programm .zeiten .eintrag .texte{
    position: relative;
    display: inline-block;
    padding:2px 0px;
    padding-left:20px;
    width:calc(100% - 140px);
    white-space: normal;
    color:inherit;
    font-size:inherit;
    vertical-align: top;
}
.programm .zeiten .eintrag .texte strong{
    display:block;
    font-weight: bold;
    color:inherit;
    font-size:inherit;
}
.programm .zeiten .eintrag .texte small{
    display:block;
    color:inherit;
    font-size:12px;
}
@media only screen and (max-width:440px){
    .programm .zeiten .eintrag{
        white-space: normal;
    }
    .programm .zeiten .eintrag .uhrzeiten{
        display: block;
        width:auto;
    }
    .programm .zeiten .eintrag .texte{
        display: block;
        width:auto;
    }
}

.programm_hp{
    display: block;
}
.programm_hp table{
    border-collapse: collapse;
    border-spacing: 0;
    width:100%;
}
.programm_hp tr{
    border: 0;
    outline: 0;
    box-sizing: border-box;
}
.programm_hp td{
    vertical-align: top;
    border: 1px solid #ccc;
    padding: 5px;
    font-size: 14px;
    position: relative;
    line-height: 22px;
}
.programm_hp .hide{
    display: none;
    padding-top: 10px;
}
.programm_hp .show{
    display: block;
    padding-top: 10px;
}
.programm_hp .hide small,
.programm_hp .show small{
    font-size: 12px !important;
    line-height: 19px !important;
}
.programm_hp .titel{
    display: block;
    padding-right: 30px;
    position: relative;
    text-decoration: none !important;
}
.programm_hp .titel .expand{
    position: absolute;
    display: block;
    right:2px;
    top:2px;
    width:20px;
    height: 20px;
    background: url('images/expand-plus_udp.svg');
    background-size: 20px 20px;
}
.programm_hp .titel.bgcolor .expand{
    background: url('images/expand-plus_udp_white.svg');
    background-size: 20px 20px;
}
.programm_hp .titel.open .expand,
.programm_hp .titel.open:hover .expand{
    background: url('images/expand-plus-rotated_udp.svg');
    background-size: 20px 20px;
}
.programm_hp .titel.bgcolor.open .expand,
.programm_hp .titel.bgcolor.open:hover .expand{
    background: url('images/expand-plus-rotated_udp_white.svg');
    background-size: 20px 20px;
}
.programm_hp .titel:hover .expand{
    background: url('images/expand-plus-hover_udp.svg');
    background-size: 20px 20px;
}
.programm_hp .titel.bgcolor:hover .expand{
    background: url('images/expand-plus-hover_udp_white.svg');
    background-size: 20px 20px;
}
.programm_hp .downloads{
    display: block;
}
.programm_hp .download{
    position: relative;
    display:inline-block;
    padding:2px 8px;
    color:#fff;
    background: #000;
    font-size:12px;
    margin-top: 5px;
    margin-right: 5px;
}
