.eb-availability {
    width: 100%;
    box-sizing: border-box;
    float:left;
    clear: both;
}
.eb-availability h2, .eb-availability h3, .eb-availability h4 {
    margin: 0 !important;
    line-height: 40px;
    vertical-align: middle;
}
.eb-availability h2 {
    text-align: center !important;
}
.eb-availability-form {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    background: #fafafa;
    border: 1px solid #ccc;
    float:left;
    clear: both;
    margin-bottom: 20px;
}
.eb-availability button.eb-button {
    border: none;
    text-align: center;
    float: left;
    width: 25%;
}

.eb-availability-startdate {
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    padding: 7px 6px;
    width: 160px;
    max-width: 100%;
    /*margin-top: 10px;*/
    font-size: 1em;
    float: left;
    display: inline-block;
    line-height: 40px;    
    vertical-align: middle;
    margin-left: 10px;
}
.eb-availability-form-input label {
    float: left;
    display: inline-block;
    line-height: 40px;
    vertical-align: middle;
    text-align: left;
}
/*.eb-availability-form-input select {
    float: left;
    display: inline-block;
    min-width: 50px;
    line-height: 40px;
    vertical-align: middle;
    text-align: left;
}*/

.eb-availability-month-nav {
    position: relative;
    height: 40px;
}
a.eb-availability-month-nav-button, img.eb-availability-month-nav-button, a.eb-availability-month-nav-button:link, a.eb-availability-month-nav-button:hover, a.eb-availability-month-nav-button:visited {
    position: absolute;
    height:40px;
    line-height:40px;
    color: #fff;
    font-size: 24px;
    vertical-align: middle;
    text-align: center;
    z-index: 99;
    padding: 0 7px;
    /*top:5px;*/
}
img.eb-availability-month-nav-button {
    height: auto;
    margin-top:10px;
}
.eb-availability-prev, .eb-availability-prev-loader{
    left: 0px;
}
.eb-availability-next, .eb-availability-next-loader {
    right:0px;
}

.eb-availability-prev, .eb-availability-next {
    display:none;
}

.eb-availability-month-header {
    min-height:40px;
    width: 100%;
    box-sizing: border-box;
    background: none repeat scroll 0 0 #F0F1F3;
    float:left;
    clear: both;
    overflow-x:hidden;
}

.eb-availability-month-headings {
    position: absolute;
}
.eb-availability-months {
    background: #fff;
    float: left;
    height: 40px;
    position: relative;
    width:100%;
}
.eb-availability-month-headings-onemonth {
    float:left;
    height: 40px;
    text-align:center;
}
.eb-availability-categories {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ccc;
    float:left;
    clear: both;
    margin-bottom: 20px;
    overflow: hidden;
}

.eb-availability-onecat {
    float: left;
    clear:both;
    width:100%;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
    position:relative;
    overflow: visible;
}

.eb-availability-onecat-name {
    float:left;
    width:25%;
    height: 100%;
    z-index:98;
    overflow: hidden;
    position: relative;
    background: #fff;
}

.eb-availability-onecat-name h3 {
    margin: 0 !important;
    height: 40px;
    line-height: 40px;
    font-size: 13px;
    vertical-align: middle;
}

.eb-availability-onecat-name.odd {
    background: #eaeaea;
}

.eb-availability-onecat-calendar {
    float:left;
/*    min-width:100px;
    max-width:280px;*/
    width:75%;
}

.eb-availability-legend {
    width: 100%;
    box-sizing: border-box;
    border-top: 2px dotted #333;
    border-bottom: 2px dotted #333;
    min-height:40px;
    float:left;
    clear: both;
    padding: 10px 0;
}

.eb-availability-legend .eb-oneday, .eb-availability-legend .eb-oneday .eb-date-day {
    width: 40px;
}

.eb-availability-legend p {
    clear: both;
    height: 40px;
    line-height: 40px;
    vertical-align: middle;
    padding: 0;
}

.eb-availability .eb-day-headings {
    overflow:hidden;
    height: 40px;
    width:2000px;
    float:left;
    /*padding-left: 1px;*/
    box-sizing: border-box;
    position: absolute;
    background: #fff;
    left: 25%;
}
.eb-availability .eb-day-headings .eb-oneday {
    background: #f6f6f6;
}
.eb-availability .eb-onecat-onemonth {
    display: flex;
    flex-wrap: wrap;
    float: left;
    clear:both;
    width:100%;
    position: absolute;
    left:25%;
    top:0;
}
.eb-availability .eb-oneweek {
    display: flex;
    float: left;
}
.eb-availability .eb-oneday {
    display: flex;
    flex: 1;
    width: 20px;
    height:40px;
    border-bottom:1px solid #FFF;
    border-right:1px solid #FFF;
    float: left;
    position: relative;
}

.eb-availability .eb-oneday .eb-date-day.header-name_of_day {
    display: inline-block;
    position: absolute;
    background-color: #f3f3f3;
    top: -41px;
}

.eb-availability .eb-oneday .eb-date-day {
    line-height: 40px;
    vertical-align: middle;
    text-align:center;
    width: 100%;
    display: inline-block;
    font-size: 9px;
}

.eb-availability .eb-oneday.arrival-free.departure-free {
    background: #b7ce01;
}

.eb-availability .eb-oneday.arrival-blocked.departure-blocked {
    background: #ff9893;
}
.eb-availability .eb-oneday.past {
    background: #ecf3bf !important;
}
.eb-availability .eb-oneday.departure-blocked.arrival-free {
    background: #b7ce01; /* Old browsers */
/*    background: -moz-linear-gradient(left,  #ff9893 0%, #ff9893 50%, #b7ce01 50%, #b7ce01 100%);  FF3.6+ 
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#ff9893), color-stop(50%,#ff9893), color-stop(50%,#b7ce01), color-stop(100%,#b7ce01));  Chrome,Safari4+ 
    background: -webkit-linear-gradient(left,  #ff9893 0%,#ff9893 50%,#b7ce01 50%,#b7ce01 100%);  Chrome10+,Safari5.1+ 
    background: -o-linear-gradient(left,  #ff9893 0%,#ff9893 50%,#b7ce01 50%,#b7ce01 100%);  Opera 11.10+ 
    background: -ms-linear-gradient(left,  #ff9893 0%,#ff9893 50%,#b7ce01 50%,#b7ce01 100%);  IE10+ 
    background: linear-gradient(to right,  #ff9893 0%,#ff9893 50%,#b7ce01 50%,#b7ce01 100%);  W3C 
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff9893', endColorstr='#b7ce01',GradientType=1 );  IE6-9 */

}

.eb-availability .eb-oneday.departure-free.arrival-blocked {
    background: #ff9893; /* Old browsers */
/*    background: -moz-linear-gradient(left,  #b7ce01 0%, #b7ce01 50%, #ff9893 50%, #ff9893 100%);  FF3.6+ 
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#b7ce01), color-stop(50%,#b7ce01), color-stop(50%,#ff9893), color-stop(100%,#ff9893));  Chrome,Safari4+ 
    background: -webkit-linear-gradient(left,  #b7ce01 0%,#b7ce01 50%,#ff9893 50%,#ff9893 100%);  Chrome10+,Safari5.1+ 
    background: -o-linear-gradient(left,  #b7ce01 0%,#b7ce01 50%,#ff9893 50%,#ff9893 100%);  Opera 11.10+ 
    background: -ms-linear-gradient(left,  #b7ce01 0%,#b7ce01 50%,#ff9893 50%,#ff9893 100%);  IE10+ 
    background: linear-gradient(to right,  #b7ce01 0%,#b7ce01 50%,#ff9893 50%,#ff9893 100%);  W3C 
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b7ce01', endColorstr='#ff9893',GradientType=1 );  IE6-9 */
}

.eb-availability .eb-header-week-names {
    display: flex;
    position: absolute;
    z-index: 99;
}

.eb-availability .week-name {
    display: inline-block;
    width: 20px;
    height: 40px;
    border-bottom: 1px solid #FFF;
    border-right: 1px solid #FFF;
    background-color: #f3f3f3;
    font-size: 9px;
    text-align: center;
    line-height: 40px;
}
