/*
colors: 
    blue - rgba(0,134,203, )
    yellow - rgb(250, 240, 189)
    hellblau - #bfe2f4 / schrift auf hellblau -  color: #356;
    #0086cb
    #F89406
    #BD362F
    #51A351
*/

/* resets */


input {border: none}


html { 
    height: 100%;
    margin-bottom: 1px;
    /*font-family:  Arial, sans-serif; */
    font-family: "Barlow";
    font-size: 18px;
    line-height: 1.4;
    color: #555;
    margin: 0;  padding: 0;
    background-color: #eee;
}

* {box-sizing: border-box;}


body {  background-size: cover; background-attachment: fixed}



body {
/*    background-image: url(../images/bg/bgLine2.png); */
    background-repeat: repeat;
    background-size: 100%
}

body.frontend {
    /*background-image: url(../images/bg/bgLine1.png);*/ 
}




/* was content.css --------------------------------------------------------------------------- */
/*
frontend / start /content styles
*/


.content h1, h2, h3, h4 {
    font-family: 'Roboto Condensed', sans-serif; 
    /*    font-family: "Barlow", sans-serif;*/
}

h2.tease {
    font-size: 300%; margin-top: 20px;
    margin-bottom: 0.5em

}

h3 {
    font-size: 30px;
    color: #0086cb;
    font-weight: 300;
    border: none;
    padding: 0
}

.content h3 {color: #0088cc; }


h4 { font-size: 110%; font-weight: bold }


ul h4 {border: none}

.super {color: #BD362F; margin: 0; text-transform: uppercase}

.article {
    text-align: justify;
    font-size: 110%;
}

.article h1 {
    padding-top: 0.5em;
    margin: 0 0 1.3em 0
}

.article .intro {font-size: 110%; font-weight: bold}

.article h3 {
    position: relative;
    margin: 1.6em 0 1.3em 0;
}

.article h3:after {
    position: absolute;
    left: 0; 
    top: 1.5em;
    height: 4px;
    width: 60px; 
    background: #0088cc;
    content: "";
    line-height: 150%;
}

.article .boxImgLeft h3:after {background: none}


.article img {max-width: 100%}


#boxFrontendTeaserButtons {
    display: inline
}

#boxFrontendTeaserButtons a {margin: 10px}

body.viewregister {
    background: url('../images/bg/screenshot1.jpg');
    background-size: cover;
    background-position: fixed
}

#boxFingerprint {    float: right; padding-right: 4%}
#boxFingerprint img {width: 90px}



.feBox {
    display: block;
    background: #eee;
    width: 100%;
    min-height: 300px;   
    padding: 3%;

}

.feBox1 {
    min-height: 600px;
    background-image: url(../images/bg/teaser3.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left top;
    background-attachment: fixed;
    padding-top: 200px;
    xmargin-top: -180px;
}


.boxTease1 {
    margin-left: 50%;

    background: rgba(0,0,0, .4); backdrop-filter: blur(6px); padding: 20px
}

.boxTease1 h3 {
    font-weight: 800;
    font-size: 80px;
    line-height: 1.2em;
    color: rgba(255,255,255, .95);
    padding: 0;
    margin: 0;
    border: none;        
}

.boxTease1 h3 span {}

.boxTease1 p {
    font-weight: 400;
    font-size: 30px;
    color: rgba(255,255,255, .7);

}


.boxTeaserFixed {
    position: fixed;
    width: 100vw;
    text-align: center;
    left: 0;
    bottom: 0;
    padding: 15px;
    backdrop-filter: blur(10px);
    box-shadow: 0 3px 10px rgba(255,255,255,.6)
}

.boxTeaserFixed a, .boxTeaserFixed div {margin: 0 auto}


.explain {
    background: rgba(0,0,0,.08);
    text-align: center;
}

.feBox2 {
    min-height: 400px;
    background-color: white;
    background-image: url(../images/bg/teaser2.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
    padding-top: 250px;
}

.boxUsp h3, .boxImgLeft h3, .boxImgRight h3{
    margin: 0 0 12px 0;
    color: #0088cc; 
    font-weight: normal
}
.boxUsp h4 {
    margin: 0 0 18px 0;
    font-family: "Roboto Slab", serif;
    font-size: 16px;
    font-weight: normal;
    text-transform: uppercase;
    color: #888;
    padding: 10px 0 ;
    border-top: 1px dotted silver;
    border-bottom: 1px dotted silver;
}

.boxUsp img {  
    width: 100%;
    xborder: 1px solid none;
    filter:contrast(70%) brightness(120%);
    opacity: 0.9;
    transform: all 200ms;
}

.boxUsp {
    flex: 1 1 320px!important;
    text-align: center;
    border: 6px solid #eee;
    border-radius: 4px;
    margin: 1%;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(10px);
    cursor: pointer;
    transition: all 200ms;
}

.boxUsp .pad {padding: 4% 4% 8% 4%!important;}

.boxUsp ul {
    text-align: left;
    color: #999
}

.boxUsp:hover, .boxUsp.active {
    border: 6px solid #0086cb;
    box-shadow: 0 6px 6px -3px rgba(0,0,0,.2)
}

.boxUsp:hover img, .boxUsp.active img {
    filter:contrast(110%) brightness(100%);
    xborder: 1px solid white;
    opacity: 1;
}

.boxUsp a, .boxUsp a:visited {color: #666}

.inner {
    max-width: 1400px;
    margin: auto;
}

.flex .boxSpacer {background: none!important; transition: none; cursor: default}
.boxSpacer:hover {border: none; box-shadow: none}


body.viewBeschwerdemanagement-Software {
    background-color: rgba(0, 136, 204, .2);
    background-image: url(../images/frontend/reklamation-nicht-lustig2.jpg);
    background-size: cover;
    background-position: 0 90px;
    background-repeat: no-repeat;
    background-attachment: fixed;
}









/* ======================== l o g g e d ============================================ */



/* 8D REPORT */
#report {
    width: 100%;
    background: white;
    min-height: 100vh;
    padding: 30px 30px 100px
}

#boxReport  {
    padding: 30px; background: white; 
    text-align: center; width: 820px; margin: auto
}

.boxPage {
    border: 1px solid #777; 
    box-shadow: 1px 1px 8px 3px #aaa;
}




.report8d .cell { 
    min-height: 50px;
    background: white;
    text-align: left;
    border: 1px solid silver;
    border-top: none;
}

.report8d label { text-align: left; float: none; width: 100%; background: #ddd; padding: 3px 10px; margin: 0; display: block }
.report8d .cell div { padding: 10px; display: block }
.report8d .dim { background: #111; font-weight: bold; color: white; margin: -2px 15px -2px -10px; padding: 4px 8px }


@media print {
    .boxReport {  -webkit-print-color-adjust: exact;  }
    .report8d label { text-align: left; float: none; width: 100%; background: #ddd; padding: 3px 10px; margin: 0; display: block }
    .report8d .dim { background: #111; font-weight: bold; color: white; margin: -2px 15px -2px -10px; padding: 4px 8px }
}



@media (max-width:1200px) {

    h2.tease {font-size: 55px; }

    h3 {    font-size: 24px;}

    h4 {
    }


    .feBox1 {
        min-height: 500px;
        background-image: url(../images/bg/teaser3.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: left top;
        background-attachment: fixed;
        padding-top: 250px;
    }



    .boxTease1 h3 {
        font-size: 66px;
    }

    .boxTease1 p {
        font-size: 24px;
    }


    .boxUsp {
        flex: 1 1 270px!important;
    }


}












/* end content */




form {
    margin: 0;
    padding: 0;
}

body {
    min-height: 100vh;
    margin: 0; padding: 0;
    background-color: white;
}

body.wait {cursor: wait!important}

header {
    position: fixed;
    width: 100%;
    background: rgba(255,255,255,.8);
    backdrop-filter: blur(8px);	
    padding: 10px 0 10px 0;
    z-index: 9
}

header .wrapper {
    background: none; 
    backdrop-filter: none;
    padding: 0 10px;
    margin: 0 auto;
    max-width: 1600px
}

header img {  height: 40px;}

img {max-width: 100%}

/* compensate for fixed header*/
.frontend #content {
    padding-top: 130px

}


#content .wrapper {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: auto 2%;
}



.boxWhite {
    background: white; 
    padding: 3%;
}


.boxStd, .surface {
    background: rgba(255,255,255,.7);
    backdrop-filter: blur(10px);
    padding: 3%;
}



ul.menu {
    margin: 0; padding: 0 0 0 12px;
    list-style-type: none;
    line-height: 18px;
}

ul.menu li {
    display: inline-block;
}



#membership {
    text-align: right;
    color: #777;
}

#membership-test {

    text-align: right;
}
#membership-test h2 {margin: 0}

.help {
    min-width: 200px;
    position: absolute;
    margin-top: -60px;
    margin-left: 100%;
    background: #ddd; 
    padding: 15px;
    font-size: 80%; color: #666;
    box-shadow: 1px 2px 2px rgba(0,0,0,.15);
    z-index: 9;
}

.help h3:first-child {margin-top: 0}




#boxSaveNotice {    font-size: 14px; font-weight:normal; color:#51A351; }


#boxMsg {
    max-width: 1400px;
    padding: 120px 40px 15px 40px; margin: 0 auto; width: 100%
}


.msg {
    color: white;
    padding: 12px 20px;
    background: #999
}

.alert, .error {
    color: white;
    background: #BD362F; 
    font-weight: bold
}


.success {
    background: #51A351;
    border: 1px solid #51A351;
    border-radius: 6px
}

.alert {
    background: gold;
    color: rgba(0,0,0,.6);
    border-radius: 6px;
}

.error {
    background: crimson;
    color: white;
    border-radius: 6px;
}

.boxWarning {
    padding: 3%;
    background: yellow;
    border-top: 4px solid crimson
}

.blogArticle {
    background: white; 
    padding: 2%;
    margin-bottom: 2%;
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
}

.blogArticle img {width: 200px; max-width: 35%}

.top{margin-top: 0}


.imgArticle {
    width: 300px;
    max-width: 100%;
    float: left; 
    margin: 0 30px 30px 0
}

.imgArticle500 {
    width: 500px!important;
    float: left; 
    margin: 0 30px 30px 0
}

/* lets the imgArticle which is small in category view appear bigger in acticle view */
.article .expandsTo50 {    width: 50%; }


footer {
    text-align: center;
    font-size: 80%;
    color: rgba(0,0,0,.6);
    padding: 10px 40px;
}    


#tiles {
    padding: 0;
    width: 100%;
    height: 505px;
}

.tile {


    height: 50px;
    background: white;
    border: 1px solid silver;
    margin: 0;

}

.glow {animation-iteration-count: infinite;
       animation-duration: 2s
}

.glow1 {animation-name: glow1}
.glow2 {animation-name: glow2}

.glowspeed1 {animation-duration: 2s}
.glowspeed2 {animation-duration: 4s}

.blueTile {background: #bde0f2}


@keyframes glow1 {
    0% {background: white}
    50% {background: #bde0f2}
    0% {background: white}
}

@keyframes glow2 {
    0% {background: white}
    50% {background: #e0f1f9}
    0% {background: white}
}



.opa {background: #eee}



ul.square {
    list-style-image: url('../images/icons/square_s.png');
    margin: 20px 0 20px 20px;

}


ul.square li {padding: 0 0 0.6em 0.5em}




/* --------------------------------------------------horizontal  menus */

#topmenu {
    height: 30px;
    margin: -5px auto 0 auto;
}

#topmenu ul {margin-top: 0px; padding: 0}

#topmenu li {    
    margin: 0 5px 10px 0;
    padding: 0;
    line-height: 14px;
}

#topmenu li.item-10 {border: none} /* first */

#topmenu a {
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-weight: normal;
    text-decoration: none;
    color: rgba(0,0,0,.5);
    font-size: 11px;
    text-decoration: none;
    padding: 3px 8px; 
}

#topmenu a:hover {color: #0088cc}


#moduleLogging {
    position: absolute;
    height: 36px;
    background: #ddd;
    border: 1px solid #bbb;
    border-radius: 6px;
    padding: 4px 8px;
    text-align: center;
    right: 35px;
    top: -5px;


}
#moduleLogging button, #moduleLogging a {
    margin: 0;
    padding-top: 0;
    background: none;
    line-height: 30px;
    text-shadow: 0 1px 0px rgba(255,255,255, .5);
    font-weight: bold; font-size: 105%; color: grey;
    box-shadow: none;
}


#boxLogin {display: block}
#boxLogout {display: none}


/*
#login {position: absolute; 
        top: 22px; 
        left: 50%;
        margin-left: -350px;
        z-index: 10; padding: 15px; 
        background: white;
        border: 4px solid #0086cb}*/

#topmenu a.login {  font-weight: bold;  letter-spacing: 1px}



#mainmenu {float: right; padding-top: 10px}
#mainmenu li {margin: 0 4px}
#mainmenu a {
    background: rgba(0,134,203, 1);
    color: rgba(255,255,255,.8);
    border-radius: 17px;
    font-size: 18px;
    height: 34px;
    padding: 5px 20px;
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-weight: normal;
    text-decoration: none;
    box-shadow: 1px 1px 1px rgba(255,255,255, .3),
        1px 1px 1px rgba(0,0,0, .3) inset;

}


#logo {
    margin-top: 9px;
    height: 73px;
    padding-left: 25px;
    zoom: 1;
}


#content {  
    padding: 0px;
    min-height: calc(100vh - 100px);
}

.colData {flex: 3 3 0!important}
.colData input, .colData textarea, .colData select{
    xwidth: 250px
}

.colStatus, .box3 {
    background: rgba(50,50,55,.8) /*#FEFDf3*/;
    padding: 0 15px 15px 15px; 
    margin: 0 0px 0 20px;
    border-radius: 6px
}

.colStatus, .colStatus .small {color: rgba(255,255,255,.7)}
.colStatus label, .colStatus i {color: rgba(255,255,255,.95)}


.colStatus input, .colStatus select {width: 100%}

.colStatus a {
    font-weight: bold;
    color: #33aaff;
}

.colStatus a.btn {font-weight: normal}


.colStatus input:read-only, .colStatus textarea:read-only,.colStatus  select:disabled, .colStatus div.readonly {
    color: silver!important;   
}

.colStatus input:read-only {border: none!important}



.colChat {
    position: relative;
    flex: 2 2 0;
    padding-left: 15px; 
    margin-left: 15px;
    background: #fffaf0
}

#boxChatPost {
    position: fixed;
    bottom: 0;
    padding: 15px;
    background: rgba(0,0,0,.3)
}




.colHelp {
    flex: 2 2 0;
    padding: 0 10px; 
}



#popup {
    position: fixed;
    width: 100%;
    height: 100vh;
    box-sizing: border-box;
    background: rgba(0,0,0, .2); 
    backdrop-filter: blur(8px);
    left: 0;
    top: 0;
    z-index: 9
}

#popup .inner {   
    width: 90%;
    max-width: 800px;
    max-height: 90%;
    margin: 4% auto;
    overflow-y: auto;
    background: rgba(255,255,255,.95);
    padding: 30px;
}

.inner h2 {font-size: 1.5em}
.inner>h2:first-of-type, #content>h2:first-of-type {margin-top: 0 }
.full {width: 100%}




a.btn,  button, a.lens { 
    display: inline-block;
    font-family: "FJALLA ONE";
    font-size: 17px;
    background: #0088cc;
    color: rgba(255,255,255,.8);
    padding: 6px 15px;
    border: none;
    border-radius: 50px;
    margin: 16px 0;
    cursor: pointer;
    transition: color 200ms, border-radius 200ms;
}

a.btnFront {
    display: inline-block;
    font-family: "FJALLA ONE";
    font-size: 24px;
    background: white;
    color: #0088CC;
    padding: 6px 15px;
    border: 2px solid #0088cc;
    border-radius: 50px;
    margin: 16px 0;
    cursor: pointer;
    transition: background 250ms;
}

a.btnFront:hover {
    background: rgba(0, 136, 204, .2)
}



table a.btn {border-radius: 50px}

a.lens:hover, a.btn:hover, button:hover {
    color: white;
}

a.btn.cancel {
    float: right;
    padding: 8px 20px;
    background: #888
}

a.btnSmall {
    font-size: 85%;
    background: none;
    color: #0086cb;
    border: 1px solid #0086cb;
    padding: 3px 10px;
    margin: 3px 0
}

a.btnSmall.primary {
    font-size: 100%;
}



button:focus, a.btn:focus {border: none; box-shadow: none; outline: none}
a.btnSmall:hover, a.btnSmall:focus {color: #0086cb;}
a.btnSmall:focus {border: 1px solid #0086cb;}

button {
    padding: 8px 22px;
    font-size: 20px;
    text-transform: uppercase;

    vertical-align: top;
    cursor: pointer;
    box-shadow: 0 2px 3px -2px rgba(0,0,20,.2);
}

button i, button span {float: left}


td:first-child a, td:first-child a.btn, td:first-child a.lens {padding: 4px 13px; margin: 0; display:block; text-align: center; font-weight: normal}
td:first-child a {font-weight: bold}



.spinner img {width: 20px}

.btn.red {
    background-color: #BD362F!important;
    border: 1px solid rgba(0,0,0,0);
}

a img {border: none; }

h1, h2, h3 {color: black}
h1:first-child, h2:first-child, h3:first-child, .firstH {margin-top: 0}
xxx.frontend .wrapper h1 {margin-top: 50px}
h3 {margin: 26px 0 12px}
h4, ul h4:first-child {margin:  4px 0}
h4:first-child {margin: 0 0 4px 0}
h4.subtitle {color: #666; font-size: 20px; font-weight: normal; margin: 12px 0}



p {margin: 6px 0}
.page-header {font-size: 125%}



.tabbox {
    padding: 20px 20px 20px 30px;
    background: #eeeeef
}

#tabnavi li {
    font-family: "Fjalla one";
    font-size: 16px;
    font-weight: normal;
    padding: 10px 16px;
    margin-right: 3px;
    border-top: 2px solid white;
    cursor: pointer;
    background-repeat: no-repeat;
    background-color: #ddd;
    box-shadow: 0 -1px 2px rgba(0,0,0, .1) inset;
}

#tabnavi li.active {
    background-color: #eeeeef;
    border-top: 2px solid #0088cc;
    box-shadow: 1px -1px 1px rgba(0,0,0,.2);
}

#tabnavi ul.menu {padding-left: 0}



/* DELETE AFTER REPL */ 
.fehlerliste {background: url(../images/icons/icon_fehlerliste_s.png);}
.fehler {background: url(../images/icons/icon_fehler_s.png);}
.bilder {background: url(../images/icons/icon_bilder_s.png);  background-position: 9px 5px!important;   }
.massnahmen {background: url(../images/icons/icon_massnahmen_s.png);}
.kosten {background: url(../images/icons/icon_kosten_s.png);}
.auswertung {background: url(../images/icons/icon_auswertung_s.png);}
.lieferanten {background: url(../images/icons/icon_lieferanten.png);}
.produkte {background: url(../images/icons/icon_produkt.png);}
.kunden {background: url(../images/icons/icon_kunden_s.png);}



[class^="icon-"], [class*=" icon-"] {
    padding: 0px 8px 0 0;    
}

.icon {
    line-height: 24px;
    background-repeat: no-repeat;
    padding-left: 30px;
}

.solo {padding: 0}





h1,h2, .heading, tr.heading td, a.tab, .fjalla {  font-family: 'Fjalla One', sans-serif;	}
.heading {font-size: 120%;  color: white; background: #111}
h2 a span {font-size: 16px; font-weight: normal}



a, a:visited { color: #0088CC; text-decoration: none;}
a.btn:visited, a.lens:visited {color: rgba(255,255,255,.9)}
a.btnSmall:visited {color: #0088CC}

a:hover {   text-decoration:  none}    







td.id {width: 100px}


hr { border: none; border-bottom: 1px solid #ccc; height: 0px}    


.top {margin-top: 0}



.tooltip {
    cursor: help;
    position: relative;
}

.tooltip span[role=tooltip] {
    display: none;
    font-weight: normal!important;
    font-size: 90%;
    position: absolute;
    top: 1.8em;
    width: 22em;
    padding: 0.5em;
    z-index: 100;
    color: #444;
    background-color: rgba(250, 250, 245, .8);
    backdrop-filter: blur(10px);
    border-radius: 0.2em;
    border: 1px solid white;
    box-shadow: 0 1px 30px -5px rgba(0,0,0,.5);
}

.tooltip:hover span[role=tooltip] {
    display: block;
}

.tooltip h3:first-child {margin-top: 4px}


/*.tooltip {
    position: absolute;
    z-index: 1030;
    display: block;
    visibility: visible;
    font-size: 11px;
    line-height: 1.4;
    opacity: 0;
    filter: alpha(opacity=0);
}
.tooltip.in {
    opacity: 0.8;
    filter: alpha(opacity=80);
}
.tooltip.top {
    margin-top: -3px;
    padding: 5px 0;
}
.tooltip-inner {
    max-width: 200px;
    padding: 8px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #000;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}*/





/*   boxes     */    

.moduletable, .moduletable_menu {
    background-color: #F5F5F5;
    border: 1px solid #E3E3E3;
    border-radius: 4px 4px 4px 4px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset;
    margin-bottom: 20px;
    min-height: 20px;
    padding: 19px;

}


.box {background: #FEFDE2; padding: 15px; border: 1px solid #ccc }

.boxDotted {
    margin: 15px 0;
    padding: 15px 0;
    border-top: 1px dotted silver;
    border-bottom: 1px dotted silver 
}

.borderBottom {
    padding-bottom: 15px ;
    border-bottom: 1px dotted silver 
}

.box1 {
    padding: 20px; 
    background: rgba(220,220,220,.7);
    backdrop-filter: blur(10px);
    border: none;
    border-radius: 2px; 
}


.box2 {
    padding: 20px; background: #eef5ff;
    border-top: 3px solid #0088cc;
    border-radius: 1px; 
    box-shadow: 0px 1px 2px rgba(0,0,0,.2)}

.flex .box2 {
    margin: 10px
}

.flex .box2>h3:first-of-type {margin-top: 0; text-align: center}


.box3 {
    background: rgba(50,50,55,.1) /*#FEFDf3*/;
    padding: 3%; 
    margin: 0 2% 2% 0
}

.boxTitle {
    text-align: center;
    padding: 6px 10px;
    margin-bottom: -1px!important;
    border: 1px solid #0088cc;
    border-radius: 1px

}

.boxImgLeft, .boxImgRight, .boxImgFull {
    padding: 6% 0;
    margin: 0%;
    xborder-bottom: 1px dotted #aaa 
}

.boxImgLeft h2, .boxImgRight h2, .boxImgFull h2 {margin-top: 0}

.boxImgLeft {    background: rgba(0,0,0,.1); padding: 2%;   }
.boxImgRight {    background: none;  }

.boxImgLeft img {
    float: left;
    margin: 0 2% 2% 0;
    width: 500px;
    max-width: 100%;
    border: 1px solid white;
}

.boxImgRight img {
    float: right;
    margin: 0 0px 2% 2%;
    width: 500px;
    max-width: 100%;
}

.boxImgLeft:after, .boxImgRight:after {
    clear: both; 
    content: "";
    display: block;
}

@media (max-width:700px) {
    .boxImgLeft img, .boxImgRight img {
        float: none;
        margin: 0 0 2% 0;
        width: 100%;

    }  
}




/*
.box4 {
    margin: 0px -10px 0px;
    padding: 10px 20px;
    border-bottom: 1px dotted #ccc;
}*/



.no1 {padding-top: 0!important; margin-top: -10px}

.blog, .item-page, .category-list { padding: 35px;
                                    margin: auto -20px;
                                    background: white;
}

.blog h2, .item-page h2, .category-list h2 {margin-top: 3px}



/*    forms        */ 


.icoForm label {
    color:  #005c75; 
    background-color: silver;
    border: 1px solid silver;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
    float: left; 
    margin: 0;
    height: 32px;
    width: 32px;
    font-size: 25px;
    line-height: 30px;
    padding: 0 0 0 4px;
}

.icoForm label.icon-lock {padding: 0 0 0 8px}

.icoForm label:before {text-align: center}

.icoForm input {
    width: 300px;
    font-size: 22px;
    padding: 2px 6px;
    height: 32px;
    margin-bottom: 15px;
    border: 1px solid silver;
    border-left: none;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;


}

.icoForm button {
    font-size: 17px;
    letter-spacing: 1px
}


form h3.clearfix {margin-bottom: 0}


.spinner {margin-left: 12px}

/* tables */

.data {border-spacing: 1px}
.data th {
    background: #bfe2f4; 
    border-top-left-radius: 6px; border-top-right-radius: 6px ;
    border-bottom-left-radius: 0!important; border-bottom-right-radius: 0px!important ;
    color: rgba(33,33,33,.7);
    text-shadow: 0 1px 0 rgba(255,255,255,.5), 0 -1px 0 rgba(0,0,0,.9) inset

}
.data th.id {width: 100px}

.data tr.heading th {padding: 8px}
.data td, .data th {padding: 3px 6px; }

.data tr:nth-child(odd) td, tr.odd td { background: white!important}
.data tr:nth-child(even) td, tr.even td {background-color: rgba(0,0,80, .06)}
.data td:last-child {border-right: 1px solid rgba(0,0,0,.1)}

.data tbody td:first-child {}
.data td:first-child a.btn {padding: 3px 13px; opacity: 0.8; transition: opacity 300ms}
.data td:first-child a.btn:hover {opacity: 1}

.datepicker {width: 12ch!important; text-align: center}

.dateCol {width: 95px; text-align: center}


table.preise {border-collapse: separate}
table.preise th {width: 20%; background: #333; font-size: 120%; color: white}

table.preise td:first-child {font-weight: bold}
table.preise tr:nth-child(odd) td:first-child {background: #bfe2f4}
table.preise tr:nth-child(even) td:first-child {background: #abcbdb}

.preis {
    font-family: "FJALLA ONE";
    font-size: 48px;
    color: #0088CC;
    margin-bottom: 0px;

}

.preis:before {
    content:"EUR";
    font-size: 16px;
    opacity: 0.5
}

.preisSub {
    font-family: 'Roboto Condensed', sans-serif;
    padding: 5px 12px;
    background-color: #ddd;
    color: #666;
}

.roundleft {border-top-left-radius: 6px;}


table a i {color: #666}


.rowSum td {background: white; font-weight: bold; border-top: 2px solid #999; border-bottom: 2px solid #999}


tr.customerComplaint {outline: 1px solid crimson; }

tr.customerComplaint td {background: #fee!important;}

/* todo in dashboard */
table.todo  {border-collapse: collapse; color: #557788}
.todo th, .todo td {padding: 10px ; vertical-align: top; border-bottom: 1px dotted #0088cc}
.todo tr:first-child th, .todo tr:first-child td  {padding-top: 0}
.todo tr:last-child th, .todo tr:last-child td  {border: none}
.todo th {}
.todo h3 {font-size: 26px; margin: 0 0 6px ; color: #0088cc}


.tag {color: white; font-size: 85%; padding: 1px 3px; display: block; text-transform: uppercase } /* type of fehler */
.tag2 {background: rgba(0,40,100, .6)}
.tag1 {background: rgba(0,100,0, .6)}
.tag3 {background: rgba(100,0,0, .6)}


.severity {font-weight: normal;
           color: white;
           border-radius: 50px;
           padding: 3px 8px;
           line-height: 28px;
           opacity: 0.7
}

.severity1, .deadline1 {background: rgb(200,0,0)}
.severity2, .deadline2 {background: #111}
.severity3, .deadline3 {background: #777}

.deadline1, .deadline2, .deadline3 {
    display:inline-block;
    min-width: 50px;
    color: white; 
    padding: 2px 16px; 
    font-size: 90%;
} 

.cost {width: 9ch!important; text-align: right; float: right; font-size: 90%}
td.amount {text-align: right}


.details {float: right; width: 200px; 
          background: rgba(0,0,0,.15); 
          padding: 0 10px 10px 10px; text-size: 90%; 
          color: #666;
          border: 1px dotted #bba;
}

.details label {
    background: #333; color: white; display: block; font-size: 12px; font-weight: normal;
    padding: 2px 10px; 
    width: 180px;
    margin-top: 10px;
}

.details select,
.details textarea,
.details input {
    border-radius: 0; background: #eee;
    width: 187px;       
}

.details select{    
    width: 200px;       
}

.details input[type=checkbox] {width: auto!important}
input[type=checkbox], input[type=radio]  {width: 40px!important; box-shadow: none!important}
.details h3 { border-top: 3px dotted #999;  padding: 12px 0 0 6px}

label {
    margin: 10px 0 5px 0;
    display: block;
    float: left;
    width: 150px;
    padding-top: 6px;
    font-weight: bold
}

.fieldset {
    padding: 0 12px 0 0 ;
    position: relative; /* to fit in suggest boxes */
    transition: opacity 300ms
}

.colStatus .fieldset {padding: 0}
.colStatus .btnSmall{background: #0088CC; color: white!important}

.fieldset.inline {
    float: left;
    display: inline-block;
    width: auto;
}

.fieldset.border {
    margin: 15px 0 5px 0;
    border-top: 1px dotted silver;
    border-bottom: 1px dotted silver;
}

.fieldset.border label {padding: 0}

.fieldset label {
    width: auto;
    float: none;
}

.fieldset label.inline {
    display: inline-block;
}

.fieldset input, .fieldset select, .fieldset textarea {max-width: 400px}

.fieldset .icon-eye, .fieldset .icon-eye-blocked, .fieldset .icon-forward {float: right; margin: 18px 0 0 10px}

#formWebfront .icon-eye, #formWebfront .icon-eye-blocked, #formWebfront .icon-pencil {float: right; margin: 10px 0 0 10px}
#formWebfront .fieldset {border: 1px solid silver; padding: 10px 20px; margin-bottom: 10px}


div.hiddenByUser {    display: none;} /* boxDotted have to hide */
body.editing div.hiddenByUser {display:block}

.fieldset.hiddenByUser {
    opacity: 0;
    height:0;
    overflow: hidden
}

body.editing .fieldset.hiddenByUser {
    height: auto;
    opacity: 0.5;
}

table .icon-alert-triangle {color: orangered; margin-right: 0}


div.inline div {
    display: inline-block;
}


.boxBorderTopBottom {
    border-top: 1px dotted silver;
    border-bottom: 1px dotted silver;
}


#boxDecision {  margin: 10px -20px -20px -15px; padding: 15px 20px 20px 20px}
#boxDecision label {margin-top: 0}


.boxAttention {
    background: rgba(150,50,50,.3);
    animation: pulse 2s infinite
}

@keyframes pulse {
    0% {background: rgba(150,50,50,.3);}
    50% {background: rgba(150,50,50,.1);}
    100% {background: rgba(150,50,50,.3);}
}


.greenPulse {
    animation: greenPulse 1s;
}

@keyframes greenPulse {
    0% {color: rgba(0,134,203,1);}
    70% {color: rgba(81,163,81,1);}
    100% {color: rgba(0,134,203,1);}
}



.boxAccepted {
    color: white;
    background: #51A351
}
.boxRejected {
    color: white;
    background: #BD362F
}


#boxComplaint {
    margin-top: 15px;
    padding-bottom: 10px;
    border-top: 1px dotted silver;
    border-bottom: 1px dotted silver;
    border-radius: 0
}


.boxExtend {
    transition: all 300ms;
}

.boxExtend.active{
    border-radius: 4px;
    background: rgba(150,50,50,.2);
    padding: 5px 20px 20px 15px!important;
    border: 1px solid crimson!important
}

#boxRejected.active{
    border-top: 2px solid crimson;
    border-bottom: 2px solid crimson;
    border-radius: 0
}


.colStatus input.plain, input:read-only, textarea:read-only, select:disabled, div.readonly {
    color: #666!important;
    background: none!important; 
    border: 1px solid silver!important;
    box-shadow: none;
    pointer-events: none;
}

button:disabled {
    color: rgba(255,255,255,.5);
    background: #ddd;
    cursor: not-allowed
}

input.plain{
    width: auto!important; display: inline;
    border: none!important
}

div.small {margin: 0}
div.small  input {font-size: 16px; margin-bottom: 0}

textarea.plain {
    margin: 0!important;
    width: 100%!important; 
    border: none!important;
    background: none!important;
    box-shadow: none;
    resize: none;
}

div.readonly input { color: #666!important; }


h2 input {color: #aaa}

input[name='id'].plain {font-size: 23px}
input.plain:focus {outline: none}

input[type="radio"], input[type="checkbox"] {
    width: auto!important;
    margin: 2px 17px 12px 6px;
    border-left: none;
    transform: scale(2);
    xxxzoom: 1!important;
}

input[type="search"] {
    width: 100%;
    max-width: 310px
}

input[data-suggest="true"] {
}


.boxSelect {
    max-width: 400px;
    position: relative;
    padding: 0!important
}

.boxSelect input {background: none; border: none; box-shadow: none; margin: 0}
.boxSelect input:focus {border: none; outline: none}

input:focus, select:focus, textarea:focus {
    outline: none;
    background: #ddeaf0!important
}

.boxSelect .dd {
    color: black;
    flex: 0 0 20px;
    padding: 5px;
    cursor: pointer;
    transition: transform 200ms
}

.dd.up {transform: rotate(180deg)}


.sug {
    position: absolute;
    top: 31px;
    min-width: 200px;
    max-height: 360px;
    overflow-y: auto;
    background: white;
    padding: 5px 15px;
    border: 1px solid #ccc;
    box-shadow: 2px 2px 2px #999;
    z-index: 9
}


.sug div {
    font-size: 90%;
    text-align: left;
       
    line-height: 1.5em;
    height: 1.5em;
    overflow: hidden;
    word-break: break-all;
    color: #555;
    cursor:pointer;
}
.sug div:hover {    color: #333 }


.tagMultiSelect {}

.boxMultiSelect {
    background: rgba(0,0,0,.1);
    border-radius: 4px;
    padding: 6px!important}

.boxMultiSelect div {
    padding: 3px; margin: 5px; float: left;
    width: 185px; overflow: hidden
}

.boxMultiSelect input[type='checkbox'] {
    transform: scale( 1.2);
    margin: 3px 10px
}

a.btnUpDown {
    zoom: 1.5;
    margin: -22px 0 0 0px; float: left;

}

a.btnUpDown i {margin: 0; padding: 0 4px; font-weight: bold;}

a.lnkCorner {
    float: right;
    cursor: pointer;
    margin: -6px -21px 0 0;
    padding: 5px 12px; 
    background: #0088CC;
    color: white;
    font-size: 95%;
    border-bottom-left-radius: 6px
}



.onoffswitch {
    position: relative; 
    width: 90px;
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
}
.onoffswitch-checkbox {
    display: none;
}
.onoffswitch-label {
    width: 100%; float: none!important;
    display: block; overflow: hidden; cursor: pointer;
    padding: 0; margin: 0;
    border-radius: 20px;
}
.onoffswitch-inner {
    display: block; width: 200%; margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {
    display: block; float: left; width: 50%; height: 31px; padding: 0; line-height: 32px;
    font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
    box-sizing: border-box;
}
.onoffswitch-inner:before {
    content: "ja";
    padding-left: 10px;
    background-color: #0086cb; color: #FFFFFF;
}
.onoffswitch-inner:after {
    content: "nein";
    padding-right: 10px;
    background-color: #BD362F; color: #FFFFFF;
    text-align: right;
}


.onoffswitch-inner.theme:before {
    content: "dark";
    padding-left: 14px;
    background-color: #333; color: #FFFFFF;
}
.onoffswitch-inner.theme:after {
    content: "light";
    padding-right: 14px;
    background-color: #eee; color: #333;
    text-align: right;
}




body.en .onoffswitch-inner:before {    content: "yes";}
body.en .onoffswitch-inner:after {    content: "no";}




.onoffswitch-switch {
    display: block; width: 30px; 
    margin: 2px;
    background: #FFFFFF;
    position: absolute; top: 0; bottom: 0;
    right: 57px;
    border-radius: 20px;
    transition: all 0.3s ease-in 0s; 
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0px; 
}

#boxImagesExisting {
    padding: 2px;
    border: 1px solid white;
    margin-bottom: 20px
}

.boxImg {
    background: white;
    border: 1px solid silver;
    position: relative;
}

.boxImg label {font-weight: normal; font-size: 85%; color: #777;
               float: none; display: block; text-align: center; width: auto; margin: 0 0 15px 0
}

#boxImagesExisting img {width: 100%}

.boxImageEditor {
    position: absolute;
    max-width: 56px;
    right: 5px; 
    top: 5px;
    z-index: 4;
}

.boxImg div.desc  {
    padding: 15px
}

.tool {
    line-height: 1em!important;
    font-size: 26px;
    padding: 5px;
    margin: 2px;
    font-weight: bold;
    background: rgba(255,255,255,.7);
    backdrop-filter: blur(10px);
    border: 3px solid rgba(255,255,255,.5);
    border-radius: 5px;
    color: #999;
    cursor: pointer;
}

.tool:hover {
    background: rgba(255,255,255,.95);
}

.tool.active {
    background: rgba(255,255,255,.95);
    color: #0088CC;
    border: 3px solid #0088CC;
    opacity: 1
}

.msgTools{
    font-size: 12px;
    text-align: center;
    background: rgba(0,0,0,.5);
    color: white;
    margin: 3px auto;
}

.tool i {padding: 5px!important}


.crosshair{
    cursor: crosshair!important;
}

.delete{
    cursor: zoom-out !important;
}

.poi {
    position: absolute;
    z-index: 3;
    font-size: 30px;
    color: crimson;
    padding: 0;
    margin-left: -6px; /* compensate .icon spacing in letter */
    margin-top: -6px
}

.poi i {padding: 0!important; margin: 0!important}


.poi input, .poi div {
    width: 95%;
    margin: -11px 0 0 0;
    background: rgba(255,255,255,.4);
    box-shadow: 1px 1px 1px rgba(0,0,0,.2);
    backdrop-filter: blur(6px);
    padding: 4px 8px;
    font-size: 14px;
    color: #111;
    border: none;
    outline: none
}

.poi div, .poi input {
    width: auto;
    display: inline-block;
    line-height: 13px;
    position: absolute;
    top: 39px;
    left: 27px
}

.poiRight {
    margin-right: -6px /* compensate .icon spacing in letter */
}
.poiRight input,.poiRight div {
    text-align: right;
    right: 25px;
    left: auto;
}



#frmAreas select[name='level'] {
    padding-left: 25px;
    background-size: contain;
    background-position: left center;
}

#frmAreas select[name='level']:nth-child(1) {
    background: url(../images/icons/area1.svg);

}

.boxSelectArea select, .boxAddNewOption input  {width: 250px}
.boxSelectArea i, .boxAddNewOption i {font-size: 24px}

.boxAddNewOption {display: none}


#treeAreas li { padding: 5px 0}

#treeAreas>ul {    list-style-type: none; font-size: 18px}

#treeAreas>ul>li { padding: 20px 0 0px 0}


#treeAreas ul ul {    list-style-type: disc; font-size: 16px}
#treeAreas ul ul ul {    list-style-type: circle; font-size: 14px}


#treeAreas i {font-size: 80%;font-weight: normal; margin-left: 10px; cursor: pointer}
#treeAreas i.icon-cross {
    color: crimson; 
}





.deleted {opacity: 0.7; color: rgba(0,0,0,.7)!important; background: none!important }
.deleted {  text-decoration: line-through;}



.colorful .icon-checkmark, .colorful .icon-cross {    font-size: 150%;}





.flex {
    display: flex;
}

.flexMiddle {  align-items: center;
               justify-content: center;}

.wrap {flex-wrap: wrap}
.flex>div {flex: 1 1 200px}

.flex.spaced > div {margin-right: 3%}

.flex .col1 {flex: 1 1 200px}
.flex .col2, .flex2 {flex: 2 1 200px}
.flex .col3, .flex3 {flex: 3 1 200px}
.flex .col3.pad {padding-right: 30px}
.flex .col4 {flex: 4 1 200px}

.boxCheckbox {flex: 0 0 40px!important}


.blue {color: #0086cb}
.red {color: #BD362F!important}

.hidden {display: none!important}
.tiny {font-size: 70%}
.small {font-size: 90%; margin: 2px 0;   color: rgba(0,0,0,.5);}
.small h3 {font-size: 22px}

.disabled {color: rgba(0,0,0,.5)!important; background: none!important}
.big {font-size: 120%}
.bigNumber {
    font-size: 250%; 
    color: #0088CC;
    text-align: center
}
.huge {font-size: 160%}
.pad {padding: 15px}
.vcenter {display: flex; justify-content: center}
.right {text-align: right}
.center {text-align: center}
.blocki i {display: block; color: #999; font-size: 150%; margin: 20px}
a.center {display: block; max-width: 75%; margin: auto}
.block {display: block}
.floatRight {float: right}
.vertical {
    -webkit-transform: rotate(270deg);	
    -moz-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    transform: rotate(270deg);
}
.invalid {border: 2px solid crimson!important}


.borderLeft {border-left: 8px solid #0086cb}
.errorListDesc{
    height: 34px; 
    padding-top: 1px;
    max-width: 300px;
    overflow: hidden;
    font-size: 80%;
    line-height: 1.3em;
    cursor:zoom-in;
}

.errorListDesc.extend{
    height: auto;
    cursor: zoom-out;
}

.tblMails {width: 100%; font-size: 85%; border: 1px solid white; padding: 1px}
.tblMails th {background: #eee; text-align: left; border-right: 1px dotted white}
.tblMails th, .tblMails td {padding: 2px 5px}

.tblMails tbody td {cursor: pointer}
.tblMails tbody tr:hover td {background: rgba(0,136,204,.1)}
.tblMails tbody tr.active td {background: rgba(0,136,204,.2); border-top: 1px solid #0088cc; border-bottom: 1px solid #0088cc}

#boxMessages {margin-top: 30px}

#boxMessageDetail {border: 1px solid silver; padding: 10px; margin-left: 10px}
#boxMessageDetail textarea {height: 350px; border: none!important;}



.clearfix {
    display: block;
    clear: both;
}

.clearfix::before,
.clearfix::after {
    content: " ";
    display: table;
} 

.clearfix::after {
    clear: both;
}

.noBorder {border: none!important}



table {border-collapse: collapse}

textarea, input, select, .boxSelect {
    font-size: 20px;
    padding: 4px;
    border: 1px solid #0088cc;
    background: rgb(255, 248, 235);
    border-radius: 3px;
    margin-bottom: 10px;
}

textarea {font-size: 18px; 
          height: 80px}

#boxErrorDescription textarea {height: 120px; width: 100%; max-width: 100%}

/*.tabbox textarea, .tabbox input, .tabbox select, .tabbox .boxSelect { */
textarea, input, select, .boxSelect {
    width: 100%;
    background: white;
}





input[name='plz'] {   width: 6ch}
input[name='ort'] {   width: 212px}



.bigStepNumber {
    width: 100%; 
    text-align: center; 
    border-bottom: 1px solid #0088cc; 
    line-height: 0.1em;
    margin: 10px 0 20px; 



}

.bigStepNumber span {
    font-family: 'Fjalla One';
    font-size: 48px;  
    color: white;
    background: #0088cc;
    border-radius: 100px;
    padding: 10px 25px;
}

#tblSteps {
    width: 100%;
    border-collapse: collapse;}

#tblSteps td {
    padding: 5px 8px;
    border-bottom: 1px dotted silver
}

#tblSteps td:first-child {width: 35px; padding-left: 0; text-align: center}
#tblSteps td:last-child {text-align: right}


#tblSteps a.btnSmall {
    font-family: "arial narrow";
    margin: 0 3px;
    padding: 1px 10px;
    
}

.circle {
  font-family: monospace;
  border-radius: 20px;
  padding: 3px 10px;
  margin-right: 10px;
  background: #fff;
  color: #555;
  text-align: center;
  
}

.arrow-up {
    width: 0; 
    height: 0; 
    border-bottom: 25px solid #333;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    margin: 0 0 0 45%

}

.arrow-down {
    width: 0; 
    height: 0; 
    border-top: 25px solid #333;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    margin: 0 0 0 45%
}

.arrow-right {
    width: 0; 
    height: 0; 
    border-top: 60px solid transparent;
    border-bottom: 60px solid transparent;
    border-left: 60px solid green;
}

.arrow-left {
    width: 0; 
    height: 0; 
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent; 
    border-right:10px solid blue; 
}


.gradient-border {
    font-weight: bold;
    background: white;
    border-width: 3px;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    height: 50px;
    
}
.gradient-border::after {
    position: absolute;
    content: "";
    top: -3px;
    left: -3px;
    z-index: -1;
    width: calc(100% + 6px);
    height: calc(100% + 6px);
    background: linear-gradient(60deg, #5f86f2, #a65ff2, #f25fd0, #f25f61, #f2cb5f, #abf25f, #5ff281, #5ff2f0);
    background-size: 300% 300%;
    background-position: 0 50%;
    border-radius: 6px;
    animation: moveGradient 4s alternate infinite;
}

@keyframes moveGradient {
    50% {
        background-position: 100% 50%;
    }
}