.accommodation-availability-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    padding-left: 0px;
    padding-right: 0px;
}

.calendar-control.availability-month-calendar {
    width: 100%;
    margin: 15px 0px;
    /*display: none;*/
}

.calendar-control.availability-month-calendar.in {
    display: block;
}

@media (min-width: 768px) {
    .calendar-control.availability-month-calendar {
        /*width: -webkit-calc((100% / 3) - 30px);
        width: calc((100% / 3) - 30px);*/
        width: -webkit-calc((100% / 3) - 10px);
        width: calc((100% / 3) - 10px);
        margin: 15px 0px;
        display: block;
    }
}


@media (min-width: 992px) {
    .calendar-control.availability-month-calendar {
        /*width: -webkit-calc((100% / 4) - 30px);
        width: calc((100% / 4) - 30px);*/
        width: -webkit-calc((100% / 4) - 10px);
        width: calc((100% / 4) - 10px);
        margin: 15px 0px;
    }
}

.calendar-control .calendar-monthyear-header {
    text-align: center;
    font-size: 1.25rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
}

.calendar-control .month-button-wrapper {
    /*width: 30px;*/
    width: -webkit-calc(100% / 7);
    width: calc(100% / 7);
}

@media (min-width: 768px) {
    .calendar-control .month-button-wrapper {
        display: none;
    }
}

.calendar-control .month-button-wrapper a {
    width: 100%;
    height: 100%;
    background-color: transparent;
    border-radius: 0px;
    background-image: url(../Images/Icons/arrow-left-black_96x96.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
}

.calendar-control .month-button-wrapper .next-month-button {
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.calendar-control .calendar-monthyear-header .calendar-monthyear-header-label {
    /*width: -webkit-calc(100% - 60px);
    width: calc(100% - 60px);*/
    /*width: -webkit-calc((100% / 7) * 5);
    width: calc((100% / 7) * 5);*/
    width: 100%;
}

@media (min-width: 768px) {
    .calendar-control .calendar-monthyear-header .calendar-monthyear-header-label {
        width: 100%;
    }
}

.calendar-control .calendar-daynames-header {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: space-around;
    -moz-justify-content: space-around;
    -ms-justify-content: space-around;
    justify-content: space-around;
}

    .calendar-control .calendar-daynames-header .calendar-daynames-header-cell {
        width: -webkit-calc((100% / 7) - 4px);
        width: calc((100% / 7) - 4px);
        margin-left: 2px;
        margin-right: 2px;
        font-weight: bold;
        text-align: center;
    }

.calendar-control .calendar-days {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: space-around;
    -moz-justify-content: space-around;
    -ms-justify-content: space-around;
    justify-content: space-around;
}

    .calendar-control .calendar-days .calendar-cell {
        width: -webkit-calc((100% / 7) - 6px);
        width: calc((100% / 7) - 6px);
        margin: 2px;
        /*margin-right: 2px;*/
        padding-top: 4px;
        padding-bottom: 4px;
        font-weight: bold;
        text-align: center;
    }

        .calendar-control .calendar-days .calendar-cell.unavailable,
        .calendar-legend-control .legend-unavailable {
            background-color: #999;
	    color: #ffffff;
        }

        .calendar-control .calendar-days .calendar-cell.available,
        .calendar-legend-control .legend-available {
            /*background-color: #CCDCA7;*/
            background-color: #004b1b;
	    color: #ffffff;
        }

        .calendar-control .calendar-days .calendar-cell.available-limited,
        .calendar-legend-control .legend-available-limited {
            background-color: #CBDEA9;
        }

        .calendar-control .calendar-days .calendar-cell.unavailable-booked,
        .calendar-legend-control .legend-unavailable-booked {
            background-color: #bd2b2c;
	    color: #ffffff;
        }

        .calendar-control .calendar-days .calendar-cell.available.available-arrival,
        .calendar-control .calendar-days .calendar-cell.available-arrival-limited {
            /*background: -webkit-linear-gradient(left top, #ccdca7 48%, #bd2b2c 50%);
            background: -o-linear-gradient(bottom right, #ccdca7 48%, #bd2b2c 50%);
            background: -moz-linear-gradient(bottom right, #ccdca7 48%, #bd2b2c 50%);
            background: linear-gradient(to bottom right, #ccdca7 48%, #bd2b2c 50%);*/
            background: -webkit-linear-gradient(left top, #004b1b 48%, #bd2b2c 50%);
            background: -o-linear-gradient(bottom right, #004b1b 48%, #bd2b2c 50%);
            background: -moz-linear-gradient(bottom right, #004b1b 48%, #bd2b2c 50%);
            background: linear-gradient(to bottom right, #004b1b 48%, #bd2b2c 50%);
	    color: #ffffff;
        }

        .calendar-control .calendar-days .calendar-cell.available.available-departure {
            /*background: -webkit-linear-gradient(left top, #bd2b2c 48%, #ccdca7 50%);
            background: -o-linear-gradient(bottom right, #bd2b2c 48%, #ccdca7 50%);
            background: -moz-linear-gradient(bottom right, #bd2b2c 48%, #ccdca7 50%);
            background: linear-gradient(to bottom right, #bd2b2c 48%, #ccdca7 50%);*/
            background: -webkit-linear-gradient(left top, #bd2b2c 48%, #004b1b 50%);
            background: -o-linear-gradient(bottom right, #bd2b2c 48%, #004b1b 50%);
            background: -moz-linear-gradient(bottom right, #bd2b2c 48%, #004b1b 50%);
            background: linear-gradient(to bottom right, #bd2b2c 48%, #004b1b 50%);
	    color: #ffffff;
        }

.calendar-legend-control {
    width: 50%;
    margin: 15px 0px;
    padding: 4px 5px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -moz-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
}

@media (min-width: 768px) {
    .calendar-legend-control {
        width: -webkit-calc((100% / 3) - 30px);
        width: calc((100% / 3) - 30px);
        margin: 15px 0px;
        padding: 4px 0px;
    }
}

@media (min-width: 992px) {
    .calendar-legend-control {
        width: -webkit-calc((100% / 4) - 30px);
        width: calc((100% / 4) - 30px);
        margin: 15px 0px;
        padding: 4px 0px;
    }
}

.calendar-legend-control .legend-color-block {
    width: 30px;
    height: 30px;
    margin-right: 5px;
}

.calendar-legend-control .legend-description-block {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
}