.quickquote {
    top: 48px;
}

.cabin-page #photos .playBtn {
    position: absolute;
    top: 50%;
    bottom: auto;
    right: auto;
    left: 50%;
    width: 20%;
    height: auto;
    transform: translate(-50%, -50%);
}

#photos [data-bs-toggle="modal"] {
    cursor: pointer;
}

#photos .btn {
    width: auto;
    height: auto;
    top: auto;
    left: auto;
    right: 1rem;
    bottom: 1rem;
}

.qqresults>p {
    margin-top: 0;
}
.qqresults td {
    text-align: right;
}
.qqresults label {
    padding-right: 0.5em;
}
.qqresults .specialsLine {
    color: var(--bs-secondary);
}
.cabin-page .amenities li {
    float: left;
    width: 280px;
}
.calendar table {
    margin-bottom: 0;
    background-color: transparent;
    border-spacing: 0;
    width:100%;
}

.calendar tr {
    background-color: transparent;
}
.calendar table th,
.calendar table td {
    padding: 0;
    border: 1px solid var(--bs-secondary);
    text-align: center;
    width: 14.2857%
}
.calendar table thead td {
    border-top: 0;
}
.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 {
    --unavailable-bg: lightgrey;;
    --unavailable-text: darkgrey;
    --available-bg: white;
    --available-text: var(--bs-body-color);
    --selected-bg: var(--bs-primary);
    --selected-text: white;
    --arrival-departure-text: black;
}

.calendar td.unavailable {
    background-color: var(--unavailable-bg);
    border-color: var(--unavailable-text);
    color: var(--unavailable-text);
}
.calendar td.unavailable div, .calendar td.unavailable span {
    color: var(--unavailable-text);
}
.calendar td.available {
    background-color: var(--available-bg);
}
.calendar td.arrive {
    background: linear-gradient(to right bottom, var(--available-bg) 50%, var(--selected-bg) 50%);

}
.calendar td.depart {
    background: linear-gradient(to right bottom, var(--selected-bg) 50%, var(--available-bg) 50%);
}
.calendar td.stay {
    background-color : var(--selected-bg);
}
.calendar td div, .calendar td span {
    color: var(--available-text);
    position: absolute;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    display: flex;
    
}
.calendar td.stay div {
    color: var(--selected-text);
    font-weight: bold;
}
.calendar td.arrive div, .calendar td.depart div {
    color: var(--arrival-departure-text);
    font-weight: bold;
}
.calendar td.arrival-only.arrive {
    background-image : linear-gradient(to right bottom, var(--unavailable-bg) 50%, var(--selected-bg) 50%) !important;
}
.calendar td.departure-only.depart {
    background-image : linear-gradient(to right bottom, var(--selected-bg) 50%, var(--unavailable-bg) 50%) !important;
}

.cabin-page .calendar tbody td.arrival-only {
    background-image : linear-gradient(to right bottom, var(--unavailable-bg) 50%, var(--available-bg) 50%);
    border-left-color: var(--unavailable-text);

}
.cabin-page .calendar tbody td.departure-only {
    background-image : linear-gradient(to right bottom, var(--available-bg) 50%, var(--unavailable-bg) 50%);
    border-right-color: var(--unavailable-text);
    border-bottom-color: var(--unavailable-text);
}

#nextMonth {
    float: right;
    border-bottom-right-radius: 0;
}
#prevMonth {
    float: left;
    border-bottom-left-radius: 0;
}

#calendar .input-group .btn {
    --bs-btn-border-radius: var(--bs-border-radius);
}
#calendar .form-select {
    border-color: var(--bs-secondary);
}

.quickquoteloading {
    text-align: center;
}
#goFullscreen {
    width: 30px;
    height: 30px;
    right: 10px;
    top: 10px;
    position: absolute;
    cursor: pointer;
    background-image: url(../maximize.png);
}
.fullscreen #goFullscreen {
    background-image: url(../minimize.png);
}
.cabin-page .galleria-theme-classic {
    background: #A1B1BC;
}
.cabin-page .galleria-theme-classic .galleria-stage {
    top: 50px;
    bottom: 60px;
    left: 0px;
    right: 0px;
}
.photos {
    min-height:200px;
    background: #FFF url(/packages/brightside/blocks/single_cabin/ajax-loader.gif) no-repeat center;
    width: 100%;
}
#photos-tab img {
    object-fit: cover;
}
.chgmobtn {
    cursor: pointer;
}
svg {
    margin: 0;
    padding: 0;
}
svg polygon {
    fill: none;
}
.arrive .pm,
.depart .am,
.stay .am,
.stay .pm
{
    fill: rgba(255,255,255,0.5);
}

.pm.booked, .am.booked {
    fill: #E3E1E1 !important;
}

.datefields {
    position:sticky;
    bottom: 0px;
}
