@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;
}

*{
	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;
	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;
}
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;
}
/* NAV ####################################################################*/
.nav{
    position: fixed;
    top:0px;
    left:0px;
    margin: auto;
    text-align: center;
    width: 100%;
    z-index: 20;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.25),0px 0px 1px rgba(0,0,0,0.35);
    -webkit-transform: translate3d(0,0,0);
    transition: all 0.4s;
    top:-140px;
    opacity: 0;
}
.nav.show{
    top:0px;
    opacity: 1;
}
.nav.soft{
    opacity:0.2;
}
.nav.mobil{
    height: 70px;
}
.nav .header,.nav .btns{
    display:block;
    position: relative;
}
.nav .header{
    height: 100px;
    background: #fff;
    transition: all 0.2s;
    z-index:22;
}
.nav .logo{
    display: block;
    position: relative;
    left:20px;
    height: 60px;
    transition: all 0.2s;
    cursor: pointer;
    z-index: 1;
}
.nav .logo img{
    margin:auto;
    transition: all 0.2s;
}
.nav .logo.over{
    opacity: 0.75;
}
.nav .user{
    position: absolute;
    right:20px;
    top:22px;
    transition: all 0.2s;
    z-index: 2;
}
.nav.mobil .user{
    margin-right: 45px;
}
.nav.nobtns .user{
    margin-right: 0px;
}
.nav .user .name{
    display: inline-block;
    vertical-align: middle;
    color:#333;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
    cursor:pointer;
}
.nav .user .name.over{
    opacity: 0.5;
}
.nav .user .bild{
    display: inline-block;
    border-radius: 100px;
    overflow: hidden;
    transition: all 0.2s;
    vertical-align: middle;
    margin-left: 20px;
    height: 50px;
    box-shadow: 0px 0px 1px rgba(0,0,0,0.5);
}
.nav .user .bild.over{
    opacity:0.75;
}
.nav .user .bild img{
    width: 100% !important;
    height: 100% !important;
}
.nav .btns{
    white-space: nowrap;
    overflow: hidden;
    transition: all 0.2s;
    background: #fff;
    height:40px;
    z-index:21;
}
.nav .btns .mitte{
    padding:0px 20px;
    max-width:calc(1000px - 40px);
}
.nav .btns .mitte br{
    display: none;
}
.nav .btns .bt{
    position: relative;
    display: inline-block;
    line-height: 40px;
    margin-right: 20px;
    color:#333;
    font-family:open_sansbold,Helvetica, Ariel, sans-serif;
    transition: all 0.2s;
}
.nav .btns .bt div{
    background: #f00;
    position: absolute;
    bottom:0px;
    transition: all 0.2s;
    height: 0px;
    width: 100%;
}
.nav .btns .bt.aktiv div{
    height: 4px;
}
.nav .btns .bt.over div{
    height: 6px;
}
.nav .btns .pos{
    background: #f00;
    position: absolute;
    left:20px;
    bottom:6px;
    transition: all 0.2s;
    height: 2px;
    width: 0px;
}
.nav.mobil .btns{
    display:block;
    height: auto;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
}
.nav.mobil .btns .mitte{
    padding-top:20px;
    padding-bottom:20px;
    width:calc(100% - 20px);
    text-align: center;
}
.nav.mobil .btns .mitte br{
    display: inline-block;
}
.nav.mobil .btns .bt.over div{
    height: 6px;
    bottom:3px;
}
.nav.mobil .btns .bt.aktiv div{
    height: 2px;
    bottom:7px;
}
.nav.mobil .btns .pos{
    display: none;
}
.nav .menu{
    position: relative;
    position: absolute;
    display: inline-block;
    height: 40px;
    height: 100%;
    width: 40px;
    margin-left: 10px;
    margin-right: -10px;
    vertical-align: middle;
    display: none;
    z-index: 3;
}
.nav .menu.show{
    display: inline-block;
}
.nav.nobtns .menu.show{
    display:none;
}
.nav .menu div{
    position:absolute;
    width: 30px;
    height: 2px;
    background: rgba(0,0,0,0.4);
    left:5px;
    top:calc(50% - 1px);
    transition: all 0.2s;
}
.nav .menu.over div{
    width: 40px;
    left:0px;
    background: rgba(0,0,0,0.6);
}
.nav .menu div:first-child{
    top:calc(50% - 10px);
}
.nav .menu div:last-child{
    top:calc(50% + 8px);
}
.nav .menu.aktiv div{
    opacity: 0;
}
.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);
}
/* INHALT ####################################################################*/
.inhalt{
    display:block;
    position: absolute;
    position:fixed;
    top:0px;
    left:0px;
	width:100%;
    min-height: 20px;
    height: 100%;
    margin:0px auto;
    transition: opacity 0.2s;
    z-index:1;
    z-index:3;
    -webkit-transform: translate3d(0,0,0);
    overflow-y: scroll;
}
.inhalt.noscroll{
    overflow-y:hidden;
    pointer-events: none;
}
.inhalt.hide{
    opacity: 0;
}
.inhalt.soft{
    opacity: 0.2;
}
.inhalt .mitte{
    padding:0px 20px;
    padding-top:20px;
    width:calc(100% - 40px);
    max-width: 960px;
    min-height:calc(100% - 20px);
}
.inhalt .linie,.inhalt .linie_report{
    display: block;
    height: 1px;
    width:100%;
    margin-top:10px;
    margin-bottom:20px;
    background: rgba(255,255,255,0.25)
}
.inhalt .linie_report{
    margin-top:15px;
    margin-bottom:5px;
}
.inhalt .nav_abstand{
    display: block;
    height: 0px;
}
.inhalt .nav_abstand.mitbtns{
    height: 140px;
}
.inhalt .nav_abstand.nobtns{
    height: 100px;
}
.inhalt .abschluss{
    display: block;
    height: 20px;
}
.inhalt .buttons{
    display: block;
    text-align: right;
    margin-top:-20px;
    margin-bottom:20px;
}
.inhalt .buttons .klein{
    display:inline-block;
    font-size: 10px;
    margin-left: 20px;
    opacity: 0.5;
}
.inhalt .buttons .klein.over,
.inhalt .buttons .klein.aktiv{
    opacity: 1;
}
.inhalt .legende{
    display: inline-block;
    margin:5px;
    color:rgba(255,255,255,0.6);
    font-size: 11px;
}
.inhalt .legende.over{
    color:rgba(255,255,255,1);
}
.inhalt .legende.hide{
    text-decoration: line-through;
    color:rgba(255,255,255,1);
    opacity: 0.4;
}
.inhalt .legende .dot{
    position: relative;
    display: inline-block;
    height: 10px;
    width: 12px;
    border-radius: 3px;
    box-shadow: 0px 0px 2px #000;
    margin-right: 5px;
}
.inhalt .footer_abstand{
	position:relative;
    display: block;
}
.inhalt .footer{
    display: none;
	position:relative;
	width:100%;
    opacity: 0;
    transition: opacity 0.2s;
}
.inhalt .footer.show{
    opacity:1;
}
.inhalt .footer .mitte{
    padding:0px;
}
.inhalt .footer .rechtliches{
    display:inline-block;
    font-size:11px;
    padding:10px 10px;
    color:rgba(255,255,255,0.6);
    text-shadow: 0px 0px 1px rgba(0,0,0,0.5);
}
.inhalt .footer .rechtliches.over{
    color:rgba(255,255,255,1);
}
/* Fenster ######################################################################*/
.fenster{
    position:absolute;
    position:fixed;
    display: none;
    top:0px;
    left:0px;
    width:100%;
    height: 100%;
    z-index:2;
    z-index:4;
    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.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 .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 .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{}
.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;
}
@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;
}
.monat .flip small{
    margin:0px;
    line-height: 24px;
    vertical-align: top;
}
.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;
}
.monat .flip a.over{
    background: rgba(255,255,255,0.2);
}
.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;
}
.monat .wtage{
	display:block;
	position:relative;
	border-bottom:1px solid rgba(255,255,255,0.4);
}
.monat .wtage div{
	display:inline-block;
	width:40px;
    width:38px;
    width:37.5px;
	height:30px;
	line-height:30px;
	text-align:center;
	font-size:10px;
}
.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;
}
.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;
}
.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 .over_bg{
    opacity: 1;
}
.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;
}

.zeitlinie{
    display: block;
}
.zeitlinie .zjahr{
    display: block;
    font-size: 18px;
    margin-bottom: 10px;
}
.zeitlinie .box{
    display: block;
    position: relative;
    padding-left:100px;
    margin-bottom: 20px;
}
.zeitlinie .box .zmonat{
    position: absolute;
    top:0px;
    left:0px;
    display: block;
}
.zeitlinie .box .zmonat_linie{
    position: absolute;
    top:20px;
    left:10px;
    width:1px;
    height: calc(100% - 30px);
    background: rgba(255,255,255,0.2);
}
.zeitlinie .box .bt{
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    background: #fff;
    padding:10px 15px;
    border-radius: 3px;
    overflow: hidden;
    color:#333;
}
.zeitlinie .box .bt.over{
    background: #ccc;
}
.zeitlinie .box .bt.datum{
    padding-left:100px;
}
.zeitlinie .box .bt.datum .anzeige{
    position: absolute;
    top:0px;
    left:0px;
    display:block;
    padding:10px 5px;
    width:80px;
    height: 100%;
    text-align: center;
    vertical-align: top;
}
.zeitlinie .box .bt.datum.kurz{
    padding-left:60px;
}
.zeitlinie .box .bt.datum.kurz .anzeige{
    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 .box .bt{
        padding:7px 10px;
    }
    .zeitlinie .box .bt.datum .anzeige{
        padding:7px 5px;
    }
    .zeitlinie .box .bt.datum.kurz{
        padding-left:40px;
    }
    .zeitlinie .box .bt.datum.kurz .anzeige{
        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% - 20px);
    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: 0.5;
}
.bigpic .del.over{
    opacity: 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 .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.gruen.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 .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;
    z-index:199;
}
.hinweis{
	position:absolute;
	min-width:240px;
	max-width:560px;
	color:#f00;
	text-align:center;
	margin-top:-10px;
    font-size:13px;
}
.hinweis.ok{
	color:#0f0;
}
.hinweis.update{
	color:#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;
}
@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:102;
}
#saveicon .saveicon{
	position:absolute;
	width:80px;
	height:80px;
	opacity:0;
	opacity: 1;
	animation: saveicon_ani 0.6s;
    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;} 50% {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;
}
/* 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?v8) 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.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.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;
}

@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;
    }
}
/* Signature #################################################################*/
.sign{
    position: fixed;
    display: none;
    top:0px;
    left:0px;
    width: 100%;
    height: 100%;
    background: #333;
    z-index:99;
}
.sign .box{
    width:100%;
    max-width:600px;
}
.sign .box .reset,.sign .box .save,.sign .box .close{
    position: absolute;
    height:50px;
    width:50px;
    opacity: 0.3;
}
.sign .box .reset.over,.sign .box .save.over,.sign .box .close.over{
    opacity: 1;
}
.sign .box .reset{
    left:0px;
    top:0px;
}
.sign .box .close{
    right:0px;
    top:0px;
}
.sign .box .save{
    left:0px;
    bottom:0px;
}
.sign .box .zone{
    display: block;
    position: relative;
    background: #fff;
    border-radius:10px;
    box-shadow: 0px 0px 20px #000;
    margin-top: 50px;
    margin-bottom:50px;
    width: 100%;
    max-width: 600px;
    height: 300px;
}
.sign .box .zone .dummy{
    position: absolute;
    max-width:100%;
    max-height:100%;
    /*background:url(images/signature.png?v1) no-repeat contain;*/
    opacity: 0;
}
.sign .box .zone .linie{
    position: absolute;
    left:5%;
    bottom:30%;
    height: 1px;
    width: 90%;
    background: #333;
    opacity: 0.5;
}
.sign .box .zone .drag,.sign .box .zone canvas{
    position: absolute;
    left:0px;
    top:0px;
    height:100%;
    width: 100%;
}
/* Vertrag #################################################################*/
.vertraege{
    display: block;
    color:inherit;
    font-size: inherit;
    line-height: normal;
    text-align:left;
}
.vertraege hr{
    display:block;
    background: rgba(0,0,0,0.5);
    height: 1px;
    width:calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    margin-top:20px;
    margin-bottom: 20px;
}
.vertraege .vertragsunterlagen{
    display: inline-block;
    background: #fff;
    padding-right:10px;
}
.vertraege .vertragsunterlagen .label{
    display: inline-block;
    line-height:40px;
}
.vertraege .vertrag{
    display: block;
    background: #fff;
    color:#333;
    border-radius: 3px;
    margin: auto;
    margin-bottom:10px;
    position: relative;
    padding:0px;
    min-height: 40px;
    max-width:600px;
    /*box-shadow: 0px 1px 2px rgba(0,0,0,0.1);*/
}
.vertraege .vertrag .offen{
    position: absolute;
    left:-10px;
    top:0px;
    width:5px;
    height: 100%;
    background: #f00;
    border-radius: 5px;
    /*box-shadow: 0px 1px 2px rgba(0,0,0,0.1);*/
}
.vertraege .vertrag .vertrag_donwload{
    display: inline-block;
    vertical-align: top;
}
.vertraege .vertrag .mehr{
    display: inline-block;
    padding:3px;
    color:inherit;
}
.vertraege .vertrag .unterschreiben{
    display: inline-block;
    float:right;
    background: var(--color-gruen);
    color:#fff;
    line-height:40px;
    height: 40px;
    padding:0px 20px;
    border-radius: 0px 3px 3px 3px;
}
.vertraege .vertrag .unterschreiben.over{
    opacity: 0.5;
}
.vertraege .vertrag .vertrag_inhalt{
    display:block;
    position: relative;
    overflow:hidden;
    height: 0px;
    color:inherit;
    transition: height 0.2s;
}
.vertraege .vertrag .vertrag_inhalt .mask{
    display:block;
    position: relative;
    color:inherit;
}
.vertraege .vertrag .vertrag_inhalt .text{
    display:block;
    padding:10px;
    background: #ddd;
    border-radius: 2px;
    color:inherit;
    margin:10px;
}
.vertraege .vertrag .vertrag_inhalt .text h3{
    font-weight: bold;
    color: inherit;
}
.vertraege .vertrag .vertrag_inhalt .zeile{
    display: block;
    margin: 10px;
    text-align: center;
    color: inherit;
}
.vertraege .vertrag .vertrag_inhalt .vertrag_sign_btn{
    display:inline-block;
    position: relative;
    background: #ddd;
    border-radius: 10px;
    margin:10px;
    width:140px;
    height:80px;
}
.vertraege .vertrag .vertrag_inhalt .vertrag_sign_btn .sign_black{
    opacity:0.5;
}
.vertraege .vertrag .vertrag_inhalt .bild{
    display: none;
    position: absolute;
    width:100%;
    height: 100%;
    top:0px;
    left:0px;
}
.vertraege .vertrag .vertrag_inhalt .speichern{
    display: inline-block;
    background: var(--color-gruen);
    color:#fff;
    line-height:40px;
    height: 40px;
    margin:10px;
    padding:0px 20px;
    float:right;
    border-radius: 3px;
}
.vertraege .vertrag .vertrag_inhalt .speichern.over{
    opacity: 0.5;
}
.vertraege .vertrag .vertrag_inhalt .sign_legende{
    display:block;
    margin-left:10px;
    width:140px;
    font-size:9.5px;
    text-align:center;
    margin-top:-8px;
    padding-bottom:20px;
}
/* Upload ######################################################################*/
.foto_upload,.file_upload{
    display: block;
    position: relative;
}
.foto_upload.fenster{
    color:#333;
}
.foto_upload .fotos{
    display: block;
    vertical-align: top;
    text-align: left;
}
.foto_upload .fotos .foto_box{
    position: relative;
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    z-index:1;
}
.foto_upload .fotos .foto_box.preview{
    display: block;
}
.foto_upload .fotos.tags .foto_box{
    display: block;
}
.foto_upload .fotos .foto{
    position: relative;
    display: inline-block;
    height:60px;
    width:60px;
    padding:0px;
    vertical-align: top;
    white-space: normal;
    margin-right:10px;
    margin-bottom: 10px;
}
.foto_upload .fotos .foto_tags{
    position: relative;
    display: inline-block;
    vertical-align: top;
    white-space: normal;
    margin-left: -5px;
    padding-bottom: 10px;
}
.foto_upload .fotos .foto_tags .tag_bt{
    position: relative;
    display: inline-block;
    background: rgba(255,255,255,0.2);
    padding:7px 15px;
    padding:5px 12px;
    font-size:11px;
    border-radius: 3px;
    color:#fff;
    margin-right: 5px;
    margin-bottom: 5px;
    vertical-align: top;
    overflow: hidden;
}
.foto_upload .fotos .foto_tags .tag_bt.over{
    background: rgba(255,255,255,0.4);
}
.foto_upload .fotos .foto_tags .tag_bt.aktiv{
    background: rgba(255,255,255,1);
    color:#333;
}
.foto_upload .fotos .foto_tags .tag_bt.hide{
    display: none;
}

.file_upload .files .file_box{
    position: relative;
    display: block;
    vertical-align: top;
    white-space: nowrap;
    z-index:1;
}
.file_upload .files .file_box .file{
    position: relative;
    display: inline-block;
    vertical-align: top;
    height: 50px;
    width: 50px;
    margin-right: 10px;
    background: rgba(255,255,255,0.2);
    border-radius: 3px;
    margin-bottom: 10px;
}
.file_upload .files .file_box .txt{
    vertical-align: top;
    display:inline-block;
    white-space: normal;
    padding-top:11px;
    width: calc(100% - 60px);
    overflow: hidden;
    padding-bottom:10px;
}
.file_upload .files .file_box .txt.over{
    opacity: 0.5;
}
.file_upload .files .file_box .txt small{
    display:block;
    opacity: 0.5;
    line-height: 10px;
}
.file_upload .files .file_box .hide{
    display:none;
}


.foto_upload .neu,.file_upload .neu{
    display: block;
    position: relative;
    height: 50px;
    width: 50px;
    vertical-align: top;
    background: rgba(255,255,255,0.2);
    border-radius: 3px;
    margin-bottom: 0px;
    margin-right: 10px;
}
.foto_upload.fenster .neu,.file_upload.fenster .neu{
    background: rgba(0,0,0,0.1);
}
.file_upload .neu{
    width: 100%;
    background: none;
}
.file_upload .neu .icon{
    display: inline-block;
    position: relative;
    vertical-align: top;
    height: 50px;
    width: 50px;
    margin-right: 10px;
    background: rgba(255,255,255,0.2);
    border-radius: 3px;
}
.foto_upload .neu input,.file_upload .neu input{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	margin: 0;
	padding: 0;
	opacity:0;
	cursor:pointer;
	z-index:1;
}
.foto_upload .neu .label,.file_upload .neu .label{
    opacity: 1;
}
.foto_upload .neu .label.over,.file_upload .neu .label.over{
    opacity: 0.5;
}
.foto_upload .neu .pics,.file_upload .neu .pics{
    opacity: 1;
    position:absolute;
}
.foto_upload .abstand,.file_upload .abstand{
    display: block;
    height: 10px;
}
.file_upload .neu .txt{
    display: inline-block;
    cursor: pointer;
    width:calc(100% - 60px);
}

.foto_upload .fhover img{
    position: relative;
    vertical-align: top;
    border-radius: 3px;
}
.foto_upload .fhover.over img{
    box-shadow: inset 0px 0px 20px #000;
    opacity: 0.5;
}
.file_upload .fhover.over .pics{
    opacity: 0.5;
}
.foto_upload .fhover,.file_upload .fhover{
    display: inline-block;
    position: relative;
    height:100%;
    width:100%;
    vertical-align: top;
    overflow:hidden;
    z-index: 2;
    background: none;
    border-radius: 3px;
}

.foto_upload .del,.file_upload .del{
    position: absolute;
    width: 30px;
    height: 30px;
    top:5px;
    left:5px;
    left:-30px;
    background: #f00;
    opacity: 0;
    text-align: center;
    border-radius: 3px 3px 0px 0px;
    border-radius: 30px;
    transition: all 0.2s;
    box-shadow: 0px 0px 5px #000;
    z-index: 2;
    overflow: hidden;
}
.foto_upload .del .icon_close,.file_upload .del .icon_close{
    transition: all 0.2s;
    margin-left: -5px;
    margin-top: -5px;
}
.foto_upload .del.over,.file_upload .del.over{
    width: 40px;
    height: 40px;
}
.foto_upload .del.over .icon_close,.file_upload .del.over .icon_close{
    margin-left: 0px;
    margin-top: 0px;
}
/* INDIVIDUELL ###############################################################*/
:root{
	--color-gruen:#2ac432;
}
#backg{
    background:#333;
    opacity: 1;
}
html,body{
	background:#333;
}
.nav_abstand{
    height: 0px;
}
.vertraege{
	text-align: left;
	padding:20px 15px;
}
.vertraege hr{
	background: rgba(0,0,0,0.1);
	margin-left: -15px;
	width:calc(100% + 30px);
}
.vertraege table.border td{
    border:1px solid #999;
    color:#333;
    padding:2px 5px;
}
.vertraege .vertrag{
	text-align: left;
}
.inhalt .mitte{
    color:#333;
    font-size:14px;
    text-align: left;
	padding:0px;
	max-width:600px !important;
	width:calc(100% - 0px);
	background: #eee;
	box-shadow: 0px 10px 50px rgba(0,0,0,0.5);
	border-radius: 0px 0px 3px 3px;
}
.inhalt .mitte b{
	font-size:16px;
}
.bt{
    display: inline-block;
    padding:15px 20px;
    border-radius: 3px;
    background: #009fe3;
    color:#fff;
    margin-top: 20px;
}
.bt.over{
    opacity: 0.5;
}
.feedback{
	width:calc(100% - 10px);
	max-width: calc(400px - 10px);
	height: 55px;
	color:#000;
	padding:5px;
	border-radius:3px;
}
.feedback_fotos{
	display:block;
}
.feedback_fotos .foto{}
.feedback_fotos .foto.over{
	opacity: 0.5;
}
.feedback_fotos img{
	height: 35px;
	border-radius: 2px;
	margin:5px 0px;
	margin-right: 10px;
}
.klein,.klein br,.klein b{
	font-size:10px !important;
	line-height: 13px !important;
	color:inherit !important;
}
.retourinfo{
	display:inline-block;
	background: #fff;
	padding:10px;
	border-radius: 3px;
	color:inherit;
	margin-top:10px;
	margin-bottom:10px;
	text-align: left;
	font-size: inherit;
}
.retourinfo.over{
	opacity: 0.75;
}
textarea{
	margin:10px 0px;
}
