﻿/* Holds the CSS for the basic park map in one place, instead of duplicating it across multiple files. */

.amenity-tag {
    display: inline-block;
    padding: 1px 3px;
    background-color: #f8f8f8;
    border: 1px solid #8a8a8a;
    color: #525252;
    border-radius: 2px;
    font-size: .87em;
    margin: 0 0 4px 0;
}

/*.amenity-tag.rv-tag {
        background: #303844;
        border: 1px solid #303844;
        color:white;
    }*/
.capacity-tags {
    padding: 5px 0;
}

.capacity-tag {
    display: inline-block;
    padding: 0 5px;
    color: #5a5a5a;
    font-size: .9em;
}

.no-data-found {
    background: #fcfcfc;
    border: 1px solid #cac8c8;
    padding: 20px;
    font-size: 1.2em;
    margin: 10px;
}

#property-map {
    position: relative;
}

/*#zoom-level {
    width: 150px;
}

    #zoom-level label {
        width: 40%;
        padding-right: 5px;
        text-align:center;
    }

    #zoom-level select {
        width: 60%;
    }*/
#map-container {
    position: relative;
}

#zoom-controls {
    position: absolute;
    z-index: 2;
    top: 20px;
    left: 20px;
    box-shadow: 0px 0px 26px -4px rgba(0,0,0,0.64);
    border-radius: 15px;
}

    #zoom-controls button {
        min-width: 0;
        font-size: 1.1em;
    }

        #zoom-controls button:first-of-type {
            border-right: 1px solid #bbbbbb;
            border-top-left-radius: inherit;
            border-bottom-left-radius: inherit;
        }

        #zoom-controls button:last-of-type {
            border-top-right-radius: inherit;
            border-bottom-right-radius: inherit;
        }

        #zoom-controls button:focus {
            outline: 0;
        }

#property-map img {
    width: 100%;
    height: auto;
    border-radius: 3px;
}

#svg-map {
    position: absolute;
    top: 0;
    right: 0;
    /*bottom: 19px;*/
    left: 0;
}

    #svg-map .unit {
        fill: rgba(226, 85, 85, 0.84);
        stroke: #303844;
        cursor: pointer;
    }

        #svg-map .unit:hover {
            fill: #e45c5c;
        }

        #svg-map .unit.available {
            fill: rgba(105, 219, 83, 0.84);
        }

            #svg-map .unit.available:hover {
                fill: #68bb58;
            }

        #svg-map .unit.booked-unit {
            fill: rgba(14, 82, 156, 0.86);
        }

            #svg-map .unit.booked-unit:hover {
                fill: #0e529c;
            }

        #svg-map .unit.unassigned {
            fill: rgba(184, 184, 184, 0.84);
        }

            #svg-map .unit.unassigned:hover {
                cursor: auto;
                fill: rgba(184, 184, 184, 1);
            }

.map-unit-quick-view {
    display: none;
    position: fixed;
    background: white;
    padding: 5px;
    border-radius: 3px;
}

    .map-unit-quick-view .unit-number {
        background: #ebebeb;
        padding: 2px 4px;
        border-radius: 2px;
    }

    .map-unit-quick-view .unit-status {
        background: #c66262;
        color: white;
        border-radius: 2px;
        text-align: center;
        padding: 2px 3px;
        letter-spacing: 1px;
        margin-bottom: 7px;
    }

        .map-unit-quick-view .unit-status.available {
            background: #78a170;
        }

.map-unit-info {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    background: white;
    padding: 30px 10px;
    box-shadow: 0px 0px 16px 2px rgba(0,0,0,0.33);
    border-radius: 3px;
    max-height: 95%;
    overflow: auto;
    z-index: 3;
}

.map-unit-name {
    font-weight: bold;
    font-size: 1.3em;
    padding-bottom: 5px;
}

.map-unit-image {
    height: 250px;
    cursor: pointer;
    position: relative;
    margin-bottom: 10px;
}

.map-close-unit-info-btn {
    position: absolute;
    top: 10px;
    right: 5px;
}

.map-subtotal-price {
    text-align: center;
    color: #78a170;
    font-size: 2em;
    font-weight: bold;
    padding: 10px 0 0px;
}

.map-price-details {
    text-align: center;
    color: #868686;
    font-size: 1em;
    padding: 0 0 2px;
}

.map-total-price {
    text-align: center;
    color: black;
    font-size: 1em;
    padding: 4px 0 2px;
    font-weight: bold;
}



.map-unit-info.unavailable .map-subtotal-price, .map-unit-info.unavailable .map-total-price, .map-unit-info.unavailable .map-price-details {
    display: none;
}

.map-in-cart {
    display: none;
    background: #78a170;
    color: white;
    padding: 5px;
    text-align: center;
    border-radius: 2px;
}

.map-unit-description {
    max-height: 100px;
    /*    overflow: auto;*/
    min-height: 35px;
    padding-top: 10px;
}

.map-unit-info.booked-unit .map-book-unit-btn {
    display: none;
}

.map-unit-info.booked-unit .map-in-cart {
    display: block;
}

.map-unit-details {
    position: relative;
}

.map-unit-info.unavailable .map-unit-details {
    /*filter: blur(1px);*/
}

.map-unavailable-unit {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.81);
}

.map-unavailable-unit-reason {
    font-size: 3em;
    font-weight: bold;
    position: relative;
    text-align: center;
    color: #8a8a8a;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.map-unavailable-unit-reason-description {
    font-size: 1em;
    font-weight: bold;
    position: relative;
    text-align: center;
    color: #8a8a8a;
    letter-spacing: 1px;
}

.map-unavailable-unit-reason-info {
    font-size: 1em;
    position: relative;
    text-align: center;
    color: #8a8a8a;
    letter-spacing: 1px;
}

.map-unavailable-unit .show-unit-availability-calendar-btn {
    position: relative;
    display: block;
    margin: auto;
}

.map-unavailable-unit .join-waitlist-btn {
    position: relative;
    display: block;
    margin: auto;
    padding-top: 10px;
}


#unit-availability-calendar {
    background: white;
    position: fixed;
    padding: 5px;
    width: 500px;
    border: 1px solid #c6c6c6;
    box-shadow: 0px 0px 16px 2px rgba(0,0,0,0.33);
    border-radius: 3px;
    display: none;
    z-index: 4;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

    #unit-availability-calendar .calendar-title {
        color: #404040;
        letter-spacing: 1px;
        position: relative;
        font-weight: bold;
        font-size: 1.1em;
        text-align: center;
    }

    #unit-availability-calendar .calendar-subtitle {
        color: #656565;
        letter-spacing: 1px;
        position: relative;
        text-align: center;
        min-height: 15px;
    }

    #unit-availability-calendar #close-availability-calendar {
        position: absolute;
        right: 3px;
        top: 5px;
    }

    #unit-availability-calendar .month-info {
        display: flex;
        border-bottom: 1px solid #d7d7d7;
        font-weight: bold;
        font-size: 1.4em;
        padding: 5px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    #unit-availability-calendar .previous-month, #unit-availability-calendar .next-month {
        width: 10%;
        text-align: center;
        padding: 10px;
        border-radius: 3px;
        cursor: pointer;
        color: #414141;
        background: white;
        border: 1px solid #5b5b5b;
    }

        #unit-availability-calendar .previous-month:hover, #unit-availability-calendar .next-month:hover {
            background: #3e3e3e;
            color: white;
        }

        #unit-availability-calendar .previous-month.disabled:hover, #unit-availability-calendar .next-month.disabled:hover {
            background: #eaeaea;
        }

        #unit-availability-calendar .previous-month.disabled, #unit-availability-calendar .next-month.disabled {
            cursor: default;
            color: #d7d7d7;
            border-color: #d7d7d7;
        }

    #unit-availability-calendar .month-name {
        width: 80%;
        text-align: center;
        padding: 10px;
    }

    #unit-availability-calendar .week {
        display: flex;
        border-bottom: 1px solid #d7d7d7;
        border-left: 1px solid #d7d7d7;
    }

    #unit-availability-calendar .day {
        width: calc(100% / 7);
        text-align: center;
        padding: 0;
        border-right: 1px solid #d7d7d7;
        position: relative;
        min-height: 45px;
    }

    #unit-availability-calendar .day-head {
        width: calc(100% / 7);
        text-align: center;
        padding: 3px;
        border-right: 1px solid #d7d7d7;
        background: #d7d7d7;
    }

    #unit-availability-calendar .day.other-month {
        background: #f5f5f5;
        color: #696969;
    }

    #unit-availability-calendar .day .day-number {
        text-align: left;
        padding: 2px;
    }

    /*#unit-availability-calendar .day.occupied {
        background: #c66262;
        color: white;
    }

    #unit-availability-calendar .day.occupied-start {
        position: relative;
    }

        #unit-availability-calendar .day.occupied-start:after {
            content: '';
            background: #c66262;
            width: 28px;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            border-top-left-radius: 5px;
            border-bottom-left-radius: 5px;
        }

    #unit-availability-calendar .day.occupied-end {
        position: relative;
    }

        #unit-availability-calendar .day.occupied-end:after {
            content: '';
            background: #c66262;
            width: 28px;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            border-top-right-radius: 5px;
            border-bottom-right-radius: 5px;
        }*/
    #unit-availability-calendar .day.today {
        background: #ecf6ff;
    }

        #unit-availability-calendar .day.today .day-number {
            color: #0275d8;
            font-weight: bold;
            font-size: 1.1em;
        }

    #unit-availability-calendar .day .occupied-start {
        width: 50%;
        /*background-image: linear-gradient(90deg, #bf5252 8.33%, #ffffff 8.33%, #ffffff 50%, #bf5252 50%, #bf5252 58.33%, #ffffff 58.33%, #ffffff 100%);*/
        /*background-size: 6.00px 6.00px;*/
        /*border: 1px solid #bf5252;*/
        background: #bf5252;
        border-right: none;
        height: 23px;
        border-top-left-radius: 15px;
        border-bottom-left-radius: 15px;
        margin-left: 50%;
        position: absolute;
        bottom: 5px;
    }

    #unit-availability-calendar .day .occupied {
        width: 100%;
        /*background-image: linear-gradient(90deg, #bf5252 8.33%, #ffffff 8.33%, #ffffff 50%, #bf5252 50%, #bf5252 58.33%, #ffffff 58.33%, #ffffff 100%);
    background-size: 6.00px 6.00px;*/
        /*border: 1px solid #bf5252;*/
        background: #bf5252;
        border-left: none;
        border-right: none;
        height: 23px;
        position: absolute;
        bottom: 5px;
    }

    #unit-availability-calendar .day .occupied-end {
        width: 25%;
        /*background-image: linear-gradient(90deg, #bf5252 8.33%, #ffffff 8.33%, #ffffff 50%, #bf5252 50%, #bf5252 58.33%, #ffffff 58.33%, #ffffff 100%);
    background-size: 6.00px 6.00px;*/
        /*border: 1px solid #bf5252;*/

        background: #bf5252;
        border-left: none;
        height: 23px;
        border-top-right-radius: 15px;
        border-bottom-right-radius: 15px;
        position: relative;
        left: 0;
        position: absolute;
        bottom: 5px;
    }

    #unit-availability-calendar .calendar-available-unit-count {
        width: 23px;
        height: 23px;
        border-radius: 50%;
        background: #78a170;
        color: white;
        text-align: center;
        padding-top: 6px;
        margin: auto;
        margin-left: 55%;
        margin-bottom: 5px;
        font-size: .9em;
    }

        #unit-availability-calendar .calendar-available-unit-count.low {
            background: #d5af34;
        }

    #unit-availability-calendar .occupied-count {
        /* background: white;
        color: #bf5252;*/
        font-weight: bold;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        text-align: center;
        margin-left: 60%;
        margin-top: 4px;
        background: #bf5252;
        color: white;
    }

    #unit-availability-calendar .occupied-start .occupied-count {
        margin-left: 30%;
    }

.available-unit-class {
    display: flex;
    margin: 0 5px 5px 0;
    position: relative;
    max-width: 950px;
    border: 1px solid #b7b7b7;
    border-radius: 3px;
    background-color: white;
    cursor: pointer;
}

    .available-unit-class:hover {
        border: 1px solid #696969;
    }

.class-units-count {
    /* width: 250px; */
    text-align: center;
    border-left: 1px solid #d9d9d9;
    /* padding: 10px; */
    min-width: 150px;
    padding-bottom: 10px;
}

.class-details {
    flex: 1;
    padding: 10px;
}

.available-unit-class .class-name {
    font-size: 1.6em;
}

.available-unit-class .class-description {
    color: #535353;
    letter-spacing: 1px;
}

.available-unit-count {
    font-size: 2em;
    font-weight: bold;
}

.available-label {
    color: #464646;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.unit-image .multiple-images, .map-unit-image .multiple-images {
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: #fbfbfb;
    font-size: 2em;
    filter: drop-shadow(0px 0px 3px #6d6d6d);
}

.map-unit-details .unit-price-details {
    position: relative;
    top: 5px;
    right: 0px;
    width: auto;
    display: flex;
    margin-bottom: 15px;
}

.map-unit-details .reservation-fee {
    font-size: 0.9em;
}

.map-unit-details .processing-fee {
    font-size: 0.9em;
    padding-top: 10px;
}

.map-unit-details .reservation-fee-detail {
    font-size: 0.8em;
}

.map-unit-details .processing-fee-detail {
    font-size: 0.8em;
}

.map-unit-details .fee-block {
    margin: 10px;
    width: 100%;
}
.map-unit-details .price-block {
    /* margin: 10px; */
    width: 100%;
}





.class-units-count .unit-price-details {
    position: relative;
    top: 5px;
    right: 0px;
    width: auto;
    display: flex;
    margin-bottom: 15px;
}

.class-units-count .reservation-fee {
    font-size: 0.9em;
}

.class-units-count .processing-fee {
    font-size: 0.9em;
    padding-top: 10px;
}

.class-units-count .reservation-fee-detail {
    font-size: 0.8em;
}

.class-units-count .processing-fee-detail {
    font-size: 0.8em;
}

.class-units-count .fee-block {
    margin: 10px;
    text-align: left;
    width: 100%;
}
.class-units-count .price-block {
    /* margin: 10px; */
    width: 100%;
    text-align:left;
    padding: 2px 0 0 10px;
}

#map-selection {
    min-width: 33%;
    padding-bottom: 15px;
    width: auto;
}
