body {
    background-color: #a5d9ff;
    font-family: Arial, Helvetica, sans-serif;
    background-image: url('sea.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position-y: bottom;
    overflow-x: hidden;
}
b { font-weight: bold; }
.label {
    font-weight: bold;
    font-size: 1.2rem;
}
#container {
    max-width: 500px;
    margin: 0 auto;
}
h1, h2 {
    text-align: center;
    text-transform: uppercase;
}
h1 {
    font-size: 1.5rem;
    margin: 25px 0 10px;
}
h2 {
    font-size: 1.2rem;
    margin: 10px 0 25px;
}
.apartment-container {
    float: left;
    box-sizing: border-box;
    width: 20%;
}
.square {
    height: 75px;
    text-align: center;
    border-style: solid;
    border-color: #000;
    border-width: 1px 0 0 1px;
    background-color: #fff;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
    box-sizing: border-box;
}
.A {
    background-color: #ff8585;
}
.A.check-in {
    background: linear-gradient(to bottom left, white 50%, #ff8585 50%);
}
.A.check-out {
    background: linear-gradient(to bottom left, #ff8585 50%, white 50%);
}
.B {
    background-color: #0aa0ff;
}
.B.check-in {
    background: linear-gradient(to bottom left, white 50%, #0aa0ff 50%);
}
.B.check-out {
    background: linear-gradient(to bottom left, #0aa0ff 50%, white 50%);
}
.C {
    background-color: orange;
}
.C.check-in {
    background: linear-gradient(to bottom left, white 50%, orange 50%);
}
.C.check-out {
    background: linear-gradient(to bottom left, orange 50%, white 50%);
}
.D {
    background-color: green;
}
.D.check-in {
    background: linear-gradient(to bottom left, white 50%, green 50%);
}
.D.check-out {
    background: linear-gradient(to bottom left, green 50%, white 50%);
}

.checkout-A-checkin-A {
    background: linear-gradient(to bottom left, #ff8585 48%, white 48%, white 52%, #ff8585 52%);
}
.checkout-A-checkin-B {
    background: linear-gradient(to bottom left, #ff8585 48%, white 48%, white 52%, #0aa0ff 52%);
}
.checkout-A-checkin-C {
    background: linear-gradient(to bottom left, #ff8585 48%, white 48%, white 52%, orange 52%);
}
.checkout-A-checkin-D {
    background: linear-gradient(to bottom left, #ff8585 48%, white 48%, white 52%, green 52%);
}

.checkout-B-checkin-A {
    background: linear-gradient(to bottom left, #0aa0ff 48%, white 48%, white 52%, #ff8585 52%);
}
.checkout-B-checkin-B {
    background: linear-gradient(to bottom left, #0aa0ff 48%, white 48%, white 52%, #0aa0ff 52%);
}
.checkout-B-checkin-C {
    background: linear-gradient(to bottom left, #0aa0ff 48%, white 48%, white 52%, orange 52%);
}
.checkout-B-checkin-D {
    background: linear-gradient(to bottom left, #0aa0ff 48%, white 48%, white 52%, green 52%);
}

.checkout-C-checkin-A {
    background: linear-gradient(to bottom left, orange 48%, white 48%, white 52%, #ff8585 52%);
}
.checkout-C-checkin-B {
    background: linear-gradient(to bottom left, orange 48%, white 48%, white 52%, #0aa0ff 52%);
}
.checkout-C-checkin-C {
    background: linear-gradient(to bottom left, orange 48%, white 48%, white 52%, orange 52%);
}
.checkout-C-checkin-D {
    background: linear-gradient(to bottom left, orange 48%, white 48%, white 52%, green 52%);
}

.checkout-D-checkin-A {
    background: linear-gradient(to bottom left, green 48%, white 48%, white 52%, #ff8585 52%);
}
.checkout-D-checkin-B {
    background: linear-gradient(to bottom left, green 48%, white 48%, white 52%, #0aa0ff 52%);
}
.checkout-D-checkin-C {
    background: linear-gradient(to bottom left, green 48%, white 48%, white 52%, orange 52%);
}
.checkout-D-checkin-D {
    background: linear-gradient(to bottom left, green 48%, white 48%, white 52%, green 52%);
}

.apartment {
    padding-top: 16px;
    height: 75px;
    position: sticky;
    z-index: 1;
    top: 0;
    border-bottom: 1px solid #aaa;
}
.lemon {
    background-color: #FAFA33;
}
.olive {
    background-color: #6b8a33;
}
.bougainvillea {
    background-color: #ff44ff;
}
.fig {
    background-color: #9ad632;
}
.date {
    font-weight: bold;
    line-height: 75px;
    background-color: #ebf3ff;
}
#today {
    border-width: 8px 7px 7px 8px;
    border-color: #f00000;
    line-height: 59px;
    position: relative;
}
#today::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #f00000;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); /* Center the triangle horizontally */
}
.weekend {
    background-color: #ccd3de;
}
.apartment-container:first-child > .apartment {
    background-color: #ebf3ff;
    border-bottom-color: #aaa;
}
.apartment-container:last-child > .square {
    border-right-width: 1px;
}
.square:last-child {
    border-bottom-width: 1px;
}

.legend {
    text-align: center;
    margin-bottom: 15px;
}
.legend > div {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 1px solid black;
    box-sizing: border-box;
}
.legend > div:not(:first-child) {
    margin-left: 20px;
}
.smaller {
    font-size: 0.75rem;
}
.webcam {
    line-height: 20px;
    padding-top: 7px;
}
.webcam a {
    color: inherit;
    line-height: 17px;
    text-decoration: none;
}
.webcam a span.link:hover {
    text-decoration: underline;
}
.webcam a span.camera {
    font-size: 18px;
}
.bold {
    font-weight: bold;
}

/* tooltip */
.tooltip {
    position: relative;
    display: block;
    height: 100%;
    z-index: 2;
}
.tooltip .tooltiptext {
    visibility: hidden;
    width: 200px;
    background-color: #666;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    bottom: 110%;
    left: 50%;
    margin-left: -105px;
    opacity: 0;
    transition: opacity 0.3s;
    line-height: 1.2rem;
    pointer-events: none;
}
.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #666 transparent transparent transparent;
}
.tooltip .tooltiptext.last {
    bottom: 10px;
    left: unset;
    margin-left: -216px;
}
.tooltip .tooltiptext.last::after {
    right: -10px;
    border-color: transparent transparent transparent #666;
    left: unset;
    top: unset;
    bottom: 25px;
}
.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}
