/* ---------------------------------------------------------------------
Original Author: HomeAway
Target Browsers: All
Media Type: Screen, Projection
Width: All Sizes
------------------------------------------------------------------------ */

body {
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.colRight {
    width: 100%;
}

.grabbable {
    cursor: move;
    /* fallback if grab cursor is unsupported */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

.grabbing {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}

.image-spheres {
    box-sizing: border-box;
    display: flex;
    flex-flow: row wrap;
    left: 200px;
    position: absolute;
    top: 30px;
    display: none;
}

.image-sphere {
    border-radius: 100%;
    cursor: pointer;
    display: block;
    margin: 4px;
    height: 45px;
    width: 45px;
    overflow: hidden;
    position: relative;
}

.image-sphere.selected {
    pointer-events: none;
}

.image-sphere:active {
    transition-duration: 0;
    /* transform: perspective(100px) translateZ(-5px); */;
}

.image-sphere-inner {
    background-size: cover;
    background-position: center center;
    border-radius: 100%;
    height: 100%;
    transition: all 0.25s;
    width: 100%;
    transform: perspective(100px);
}

.image-sphere:hover > .image-sphere-inner {
    transition-duration: 0.25s;
    transform: perspective(100px) translateZ(20px);
}

.image-sphere::after {
    border-radius: 100%;
    bottom: 0;
    box-shadow: inset 0 0 0 0 #fff;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 0.25s;
}

.image-sphere.selected > .image-sphere-inner,
.image-sphere:active > .image-sphere-inner {
    transition-duration: 0;
    transform: perspective(100px);
}

.image-sphere:hover::after {
    box-shadow: inset 0 0 0 3px #fff;
}

.image-sphere:active::after,
.image-sphere.selected::after {
    transition-duration: 0;
    box-shadow: inset 0 0 0 3px #0067db;
}

* {
    font-family: Lato, sans-serif;
}

.FloorSelectorDropdown-container {
    display: flex;
    justify-content: center;
    left: 16px;
    position: fixed;
    top: 24px;
    width: calc(100vw - 32px);
}

.FloorSelectorDropdown {
    align-items: center;
    display: flex;
    flex-flow: column;
    max-width: 100%;
    outline: none;
}

.FloorSelectorDropdown__toggle {
    border: none;
    border-radius: 100px;
    background-color: rgba(41, 41, 41, .8);
    color: #fff;
    cursor: pointer;
    max-width: 100%;
    outline: none;
    padding: 12px 24px;
    touch-action: manipulation;
    user-select: none;
    white-space: nowrap;
}

.FloorSelectorDropdown__toggle > * {
    pointer-events: none;
}

.FloorSelectorDropdown__label {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    user-select: none;
    vertical-align: middle;
    width: calc(100% - 20px);
    white-space: nowrap;
}

.FloorSelectorDropdown .floor-selector {
    visibility: hidden;
    max-width: 100%;
    padding: 0;
    margin: 8px 0 0;
    list-style: none;
    font-size: 16px;
    text-align: left;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 8px 14px 0 rgba(0, 0, 0, .1);
    opacity: .3;
    transform-origin: top center;
    transform: scale(.9);
    transition: none;
    position: absolute;
    max-height: calc(100vh - 100px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.FloorSelectorDropdown .FloorSelectorDropdown__menu--can-scroll-up-and-down {
    box-shadow: inset 0 -6px 14px -6px rgba(0, 0, 0, 0.5), inset 0 6px 14px -6px rgba(0, 0, 0, 0.5);
}

.FloorSelectorDropdown .FloorSelectorDropdown__menu--can-scroll-down {
    box-shadow: inset 0 -6px 14px -6px rgba(0, 0, 0, 0.5);
}

.FloorSelectorDropdown .FloorSelectorDropdown__menu--can-scroll-up {
    box-shadow: inset 0 6px 14px -6px rgba(0, 0, 0, 0.5);
}

.FloorSelectorDropdown .FloorSelectorDropdown__menu--open {
    opacity: 1;
    position: relative;
    transform: scale(1);
    transition: transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 100ms ease-out;
    visibility: visible;
}

.FloorSelectorDropdown li {
    color: #292929;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    padding: 10px 20px;
    user-select: none;
}

.FloorSelectorDropdown .header {
    font-weight: 700;
    pointer-events: none;
}

.FloorSelectorDropdown li:hover,
.FloorSelectorDropdown li:focus,
.FloorSelectorDropdown li.selected {
    background-color: #f3f1ef;
    color: #1c4695;
    text-decoration: none;
    transition: background 200ms ease, color 200ms ease;
}

.FloorSelectorDropdown li.selected {
    pointer-events: none;
}

.FloorSelectorDropdown__toggle-icon {
    /* line-height: 12px; */
    display: inline-block;
    height: 12px;
    margin-left: 8px;
    stroke-width: 1.5;
    stroke: #fff;
    transition: transform 200ms ease;
    vertical-align: middle;
    width: 12px;
}

.FloorSelectorDropdown__toggle-icon--open {
    transform: rotateX(180deg);
}

.FloorSelectorWebContainer .floor-selector {
    display: flex;
    flex-flow: column nowrap;
    position: fixed;
    top: 30px;
    left: 30px;
    opacity: 1;
    width: 140px;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
    font-size: 14px;
    list-style-type: none;
    margin: 0;
    padding: 0;
    transition: all 0.5s;
}

.FloorSelectorWebContainer.out {
    left: -200px;
    opacity: 0;
}

.floor-selector li {
    display: flex;
    margin: 0;
    padding: 8px;
    cursor: pointer;
    border-radius: 0;
    transition: transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 100ms ease-out;
    color: #353E44;
}

.floor-selector li.selected {
    background-color: #0067db;
    color: #fff;
    pointer-events: none;
}

.floor-selector li:hover {
    background: rgba(0, 0, 0, 0.075);
    color: #0067db;
}

.floor-selector li:active {
    transition-duration: 0s;
    background: rgba(0, 0, 0, 0.15);
}

.floor-selector li:first-child {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.floor-selector li:last-child {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    margin-bottom: 0;
}

.show-floor-selector {
    position: fixed;
    top: 30px;
    left: 30px;
}

.icon-info {
    position: absolute;
    left: 10px;
    top: 10px;
    height: 32px;
    width: 32px;
    color: #5e6d77;
}

.icon-invert {
    left: 14px;
    position: absolute;
    top: 45px;
}

@media screen and (max-width: 767px) {
    .icon-info {
        display: none;
    }
}
