.caruso-load-overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    background-color: rgba(0, 0, 0, 0.5);
    background-repeat: no-repeat;
    background-position: center center;
    overflow-y:auto;
    overflow-x:hidden;
}

.caruso-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 10001;
    overflow-y:auto;
    overflow-x:hidden;

}

.caruso-overlay-content {
    width:530px;
    position:absolute;
    left:calc(50% - 265px);
    background-color: white;
    margin-top:10px;
    padding: 10px;
    border:1px solid black;
}

.caruso-overlay-content-full {

    position:absolute;
    background-color: white;
    margin-top:10px;
    padding: 10px;
    border:1px solid black;
}

.caruso-load-overlay-hidden{
    display: none !important;
}

@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.glyphicon-spin{
    -webkit-animation: rotating 2s linear infinite;
    -moz-animation: rotating 2s linear infinite;
    -ms-animation: rotating 2s linear infinite;
    -o-animation: rotating 2s linear infinite;
    animation: rotating 2s linear infinite;
}

.caruso-outer {
    display: table;
    height: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.caruso-middle {
    display: table-cell;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

.caruso-inner {
    margin: 0 auto;
    padding: 10px;
    text-align: left;
    width: 100px;
}

.caruso-info-box{
    display: block;
    color: black;
    background-color: #a5ce97;
    padding: 5px;
    margin: 1px;
}

.caruso-error-box{
    display: block;
    color: black;
    background-color: red;
    padding: 5px;
    margin: 1px;
}

.pull-right{
    float:right !important;
}

.pull-left{
    float:left !important;
}

.caruso-text-right{
    text-align: right !important;
}

.caruso-text-left{
    text-align: left !important;
}

.caruso-text-center{
    text-align: center !important;
}

.c-row{

}

.c-row-center{
    text-align: center;
}

.c-row-right{
    text-align: right;
}

.c-row-left{
    text-align: left;
}

.c-column{

}

.c-column-5{
    width: 5% !important;
}

.c-column-10{
    width: 10% !important;
}

.c-column-15{
    width: 15% !important;
}

.c-column-20{
    width: 20% !important;
}

.c-column-25{
    width: 25% !important;
}

.c-column-30{
    width: 30% !important;
}

.c-column-33{
    width: 33.333333% !important;
}

.c-column-40{
    width: 40% !important;
}

.c-column-50{
    width: 50% !important;
}

.c-column-60{
    width: 60% !important;
}

.c-column-66{
    width: 66.666666% !important;
}

.c-column-75{
    width: 75% !important;
}

.caruso-error-msg {
    display:block;
    color: white;
    background-color: red;
    padding: 5px;
    margin: 1px;
    width:100%;
}

.caruso-success-msg {
    display:block;
    color: white;
    background-color: #4c9f2f;
    padding: 5px;
    margin: 1px;
    width:100%;
}

.caruso-basket-error{
    color:red;
}

.caruso-dot {
    height: 20px;
    width: 20px;
    border-radius: 50%;
    display: inline-block;
}

.caruso-dot.green{
    background-color: green;
}

.caruso-dot.yellow{
    background-color: yellow;
}

.caruso-dot.red{
    background-color: red;
}

.caruso-box-outer{
    box-shadow:10px 10px 5px grey;
}

.caruso-box-inner{
    -moz-box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .4), inset -2px -2px 2px rgba(0, 0, 0, .4);
    -webkit-box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .4), inset -2px -2px 2px rgba(0, 0, 0, .4);
    box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .4), inset -2px -2px 2px rgba(0, 0, 0, .4);
}


.stp-print{
    margin:2px;
    padding:5px;
}

.stp-print:before{
    background-size: 11345px 225px;
    background-image: url(../img/sprites/sprites-icons-sprite.svg);
    width: 25px;
    height: 25px;
    background-position: -7635px 0;
    content: '';
    display: inline-block;
    z-index: 1;
    -webkit-transform: translateY(49%);
    -ms-transform: translateY(49%);
    transform: translateY(49%);
}

.stp-pdf{
    margin:2px;
    padding:5px;
}

.stp-pdf:before{
    background-size: 11345px 225px;
    background-image: url(../img/sprites/sprites-icons-sprite.svg);
    width: 25px;
    height: 25px;
    background-position: -7050px 0;
    content: '';
    display: inline-block;
    z-index: 1;
    -webkit-transform: translateY(49%);
    -ms-transform: translateY(49%);
    transform: translateY(49%);
}

.stp-link{
    margin:2px;
    padding:5px;
}

/* ### STD DIV ###*/

div.stp-table .stp-kw-switch div{
    float:left;
}

div.stp-table .stp-weekday{
    float:left;
}

div.stp-table .stp-rowheader,
div.stp-table .stp-kw-switch{
    font-weight: bold;
    background-color: #dddedf !important;  /*Needs to be important for print!*/
    text-align: center;
    border-left: 1px solid lightgrey;
    border-right: 1px solid lightgrey;
    display:inline-block;
    float:left;
    height:50px;
}

div.stp-table .stp-body .stp-row {
    border-bottom: 1px solid lightgrey;
    border-left: 1px solid lightgrey;
    border-right: 1px solid lightgrey;
}

div.stp-table .stp-head .stp-row {
    border: 1px solid lightgrey;
}

div.stp-table .stp-head .stp-row .stp-kw-switch {
    position:relative;
}

div.stp-table .stp-head .stp-row .stp-kw-switch>div {
    margin:auto;
    width:99.99%;
    position:absolute;
    top:25%;
}

div.stp-table .stp-head .stp-row .stp-weekday{
    text-align: center;
    padding:0.5%;
    height:50px;
}

div.stp-table .stp-head .stp-row .stp-weekday:not(.last) {
    border-right: 1px solid lightgrey;
}


div.stp-table .stp-body .stp-row .stp-rowheader {
    padding: 1.5%;
}

div.stp-table .stp-block{
    display:inline-block;
    height:50px;
    float:left;
}

div.stp-table .stp-block:not(.last){
    border-right:1px solid lightgrey;
}

div.stp-table .stp-body .stp-row .stp-eintrag-container {

}

div.stp-table .stp-body .stp-row .stp-eintrag {
    height:50px;
    cursor:pointer;
}

div.stp-table .stp-eintrag-container.stp-has-entries.stp-active{
    overflow: visible;
    position: absolute;
    min-height:50px;
    width: max-content;
    height: max-content;
    z-index: 100;
    filter: brightness(85%);
}

div.stp-table .stp-body .stp-row .stp-block .stp-eintrag-container{
    overflow:hidden;
}

table.rooms {
    border-left: 1px solid black;
    border-top: 1px solid black;
}

table.rooms thead th:last-child {
    border-left: 1px solid black;
}

table.rooms thead th:not(.headcol) {
    border-right: 1px solid black;
}

table.rooms tbody>tr{
    border-bottom: 1px solid black;
}

table.rooms tr>td{

    border-right: 1px solid black;

}

table.rooms tr td.subgroup-last{
    border-right: 2px solid black;
}
