.calendar table {
    margin-bottom: 0;
    background-color: transparent;
    border-spacing: 0;
    width:100%;
}
.calendar tr {
    background-color: transparent;
}
@media only screen and (max-width: 767px) {
    .calendar table,
    #quickquote table {
        display: table;
    }

}
.calendar table th,
.calendar table td {
    padding: 0;
    border: 1px solid #41b6d0;
    text-align: center;
    width: 14.2857%
}
.calendar tbody td {
    font-size: 0.8em;
    position: relative;
    padding-bottom: 14.2857%;
    overflow: hidden;
}
.calendar td.selected {
    opacity: 0.5;
}
.calendar td.arrival-only, .calendar td.departure-only, .calendar td.available {
    cursor: pointer;
}
.calendar td.unavailable {
    background-color: #a3a5a8;
    border-color: darkgrey;
    color: white;
}
.calendar td.unavailable div, .calendar td.unavailable span {
    color: white;
}
.calendar td.available {
    background-color: white;
}
.calendar td.arrive {
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 1) 50%, #EDAB86 50%);;
    font-size: 1.2em;
    color: white !important;
}
.calendar td.depart {
    background: linear-gradient(to bottom right, #EDAB86 50%, rgb(255 255 255) 50%);
    color: #374963 !important;
}
.calendar td div, .calendar td span {
    position: absolute;
    width: 100%;
    height: 100%;
    justify-content: flex-end;
    align-items: flex-end;
    flex-flow: column nowrap;
    display: flex;
    
}
.calendar td.stay div, .calendar td.arrive div, .calendar td.depart div {
    font-weight: bold;
}
.calendar td.arrival-only.arrive {
    background-image: linear-gradient(to bottom right, #a3a5a8 50%, #EDAB86 50%) !important;
}
.calendar td.departure-only.depart {
    background-image : linear-gradient(to bottom right, #EDAB86 50%, #a3a5a8 50%) !important;
}

.calendar tbody td.arrival-only {
    background-image : linear-gradient(to bottom right, #a3a5a8 50%, white 50%);
    border-left-color: darkgrey;
    border-top-color: darkgrey;
}
.calendar tbody td.departure-only {
    background-image: linear-gradient(to bottom right, white 50%, #a3a5a8 50%);
    border-right-color: darkgrey;
    border-bottom-color: darkgrey;
}

.calendar select {
    margin: 0;
    width: auto;
    padding: 3px 1.5rem 3px 3px;
    display: inline-block;
    background-color: #545454;
    text-align-last: center;
    color: white;
}
.calendar button {
    cursor: pointer;
    font-weight: bold;
    border-style: solid;
    border-width: 2px;
    border-radius: 20px;
    width: 40px;
    height: 40px;
    line-height: 36px;
    padding-left: 2px;
    display: inline-block;
    color: white;
}
#availability {
    color: #FFF;
    font-size: 1.5em;
    background:#545454;
    padding-top: 15px;
    border-style: solid;
    border-color: #545454;
    border-radius: 5px;
}
.monthButton {
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
}
thead td {
    color: #374963;
}

.calendar h3 {
    color: #666666;
    font-family: adobe-text-pro, serif;
    font-size: 1.7rem;
}

.Top {
    color: #374963;
    font-family: bilo, sans-serif;
    background-color: rgba(209, 212, 218, 0.4);
    
}

.Top .BookNow {
    text-align: center;
    font-size: 3rem;
}

.Top select, .Top input{
    border: none;
    color: #374963;
    border-bottom: 2px solid #EDAB86;
    border-radius: 0;
    font-size: 1.3rem;
    background-color: transparent;
}

@media (min-width: 768px) {
    .Top .text-center select[name="RVType"] {
        margin-right: 6rem;
    }
    .Top .text-center select[name="RVYear"] {
        margin-right: 6rem;
    }
}

.Middle div {
    width: max-content;
    margin: 30px auto;
    color: #374963;
    font-family: adobe-text-pro, serif;
    -webkit-touch-callout: none;
}

.Middle select {
    border: none;
    border-bottom: 2px solid #EDAB86;
    color: #374963;
    font-size: 1.3rem;
    width: 180px;
}

.Bottom td.available {
    background-color: white;
    color: #374963;
}

.Bottom td:hover div{
    border-radius: 8px;
    border: 2px solid #EDAB86;
}
.Bottom td.stay:hover div{
    border-radius: 8px;
    border: 2px solid white;
}
.Bottom td.arrive:hover div, .Bottom td.depart:hover div {
    border-bottom-left-radius: 0;
    border-top-right-radius: 0;
}

.calendar table th, .calendar table td {
    border: none;
}
.calendar td.stay {
    background-color: #EDAB86 !important;
    font-size: 1em;
    color: white !important;
}

.calendar td.stay div{
    color: white;
}

.tooltip-arrow::before {
    display: none;
}

.tooltip-inner {
    background-color: rgba(255, 255, 255, 0.8);
    color: #EDAB86;
}

#quickquote div.row {
    margin: 20px auto;
    color: #666666;
}

#quickquote div.col-6.text-end {
    border-right: 2px solid #EDAB86;
}

.btn-close {
    position: absolute;
    right: .5rem;
    top: .5rem;
}

.modal-body {
    padding: 0;
}

.modal-footer button {
    font-family: bilo, sans-serif;
    border: 2px solid #374963;
    text-transform: uppercase;
    padding: 12px 15px;
    -webkit-transition: background-color 0.1s ease;
    -moz-transition: background-color 0.1s ease;
    -o-transition: background-color 0.1s ease;
    transition: background-color 0.1s ease;
    letter-spacing: 1px;
}

.modal-footer button.close {
    background-color: white;
    color: #374963;
}
.modal-footer button.close:hover, #bookNowModal .modal-footer button.close:active {
    background-color: #374963;
    color: white;
}

.modal-footer button.btn-bookNow {
    background-color: #374963;
    color: white;
    border-radius: 0;
}
.modal-footer button.btn-bookNow:hover, #bookNowModal .modal-footer button.btn-bookNow:hover {
    background-color: white;
    color: #374963;
}
button.close {display: none;}
.modal-body button.close {display: block;}

.legend-unavailable {
    background-color: #a3a5a8;
    width: 24px;
    display: inline-block;
}
.legend-available {
    border: solid 1px #a3a5a8;
    display: inline-block;
    width: 24px;
    margin-left: 20px;
}
