﻿@font-face {
    font-family: 'codropsicons';
    font-weight: normal;
    font-style: normal;
    src: url('../fonts/codropsicons/codropsicons.eot');
    src: url('../fonts/codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'), url('../fonts/codropsicons/codropsicons.woff') format('woff'), url('../fonts/codropsicons/codropsicons.ttf') format('truetype'), url('../fonts/codropsicons/codropsicons.svg#codropsicons') format('svg');
}

.icon {
    display: block;
    width: 1em;
    height: 1em;
    margin: 0 auto;
    fill: currentColor;
}

.container {
    position: relative;
    width: 100vw;
    height: 80vh;
    z-index: 1;
}

/* Header */

.codrops-header {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    padding: 0.5em 1em;
    text-align: center;
    font-family: poe;
    color: white;
    font-size: 2em;
    font-family: Ancient;
    color: black;
}

    .codrops-header h1 {
        font-size: 1.15em;
        font-weight: normal;
        line-height: 1;
        margin: 0 0 0 1em;
        color: black;
    }

/* Top Navigation Style */

.codrops-links {
    position: relative;
    display: inline-block;
    text-align: center;
    white-space: nowrap;
}

    .codrops-links::after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 1px;
        height: 100%;
        background: rgba(0, 0, 0, 0.1);
        -webkit-transform: rotate3d(0, 0, 1, 22.5deg);
        transform: rotate3d(0, 0, 1, 22.5deg);
    }

.codrops-icon {
    display: inline-block;
    width: 1.5em;
    margin: 0.5em;
    padding: 0em 0;
    text-decoration: none;
}

    .codrops-icon span {
        display: none;
    }

    .codrops-icon::before {
        font-family: 'codropsicons';
        font-weight: normal;
        font-style: normal;
        font-variant: normal;
        line-height: 1;
        margin: 0 5px;
        text-transform: none;
        speak: none;
        -webkit-font-smoothing: antialiased;
    }

.codrops-icon--drop::before {
    content: '\e001';
    color: #fff;
}

.codrops-icon--prev::before {
    content: '\e004';
}

.main {
    position: fixed;
    top: 0;
    left: 50%;
    overflow: hidden;
    width: 80vw;
    height: var(--height-desktop);
    transform: translate(-50%,0);
}


.map-container {
    height: var(--height-desktop);
    width: 100vw;
    max-width: 100vw;
}


@media(max-width: 768px) {
    .main, .map-container {
        height: var(--height-mobile);
    }   
}

.mall {
    position: relative;
    width: 100%;
    height: 100%;
    pointer-events: none;
    -webkit-perspective: 3500px;
    perspective: 3500px;
    -webkit-perspective-origin: 0% 50%;
    perspective-origin: 0% 50%;
    -webkit-transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

    .mall.mall--content-open {
        -webkit-transform: translate3d(0,-25%,0) scale3d(0.8,0.8,1);
        transform: translate3d(0,-25%,0) scale3d(0.8,0.8,1);
    }

.surroundings,
.levels {
    position: absolute;
    top: 50%;
    left: 50%;
}

.surroundings {
    width: 192vmin;
    /* double of mall map */
    height: 128vmin;
    margin: -64vmin 0 0 -96vmin;
    pointer-events: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.surroundings__map {
    opacity: 0.3;
    max-width: 100%;
    display: block;
}

.surroundings--hidden {
    opacity: 0;
}

.levels:not(.flat) {
    width: 54vmin;
    height: 54vmin;
    margin: -22vmin 0 0 -28vmin;
    -webkit-transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.surroundings,
.levels:not(.flat) {
    -webkit-transform: rotateX(55deg) rotateZ(-20deg) translateZ(-15vmin);
    transform: rotateX(55deg) rotateZ(-20deg) translateZ(-15vmin);
}

.levels.flat {
    width: 70vw;
    height: 70vmin;
    top: 10vmin;
    left: 10vmin;
    display: flex;
}

    .levels.flat .level {
        margin: 5vmin;
        height: 80vh;
        width: auto;
    }

.level {
    position: relative;
    width: 100%;
    height: 100%;
    pointer-events: auto;
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, transform 1s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.levels:not(.flat) .level::after {
    font-size: 2.5vmin;
    line-height: 0;
    position: absolute;
    z-index: 100;
    top: -2em;
    left: 3.5em;
    white-space: nowrap;
    color: #7d7d86;
    -webkit-transform: rotateZ(45deg) rotateX(-70deg) translateZ(5vmin);
    transform: rotateZ(45deg) rotateX(-70deg) translateZ(5vmin);
    -webkit-transition: -webkit-transform 1s, color 0.3s;
    transition: transform 1s, color 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}

.level:hover::after,
.level--current::after {
    color: #515158;
}

.levels:not(.flat) .level--current::after {
    -webkit-transform: rotateZ(-20deg) rotateZ(45deg) rotateX(-70deg) translateZ(5vmin) translateX(-5vmin) translateY(-10vmin) rotateY(25deg) rotateX(70deg);
    transform: rotateZ(-20deg) rotateZ(45deg) rotateX(-70deg) translateZ(5vmin) translateX(-5vmin) translateY(-10vmin) rotateY(25deg) rotateX(70deg);
}

.level--1::after {
    content: 'L1';
}

.level--2::after {
    content: 'L2';
}

.level--3::after {
    content: 'L3';
}

.level--4::after {
    content: 'L4';
}

.level--5::after {
    content: 'L5';
}

.level--6::after {
    content: 'L6';
}

.level--7::after {
    content: 'L7';
}

.level--8::after {
    content: 'L8';
}

.levels:not(.flat) .level:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
}

.level--2 {
    -webkit-transform: translateZ(5vmin);
    transform: translateZ(5vmin);
}

.level--3 {
    -webkit-transform: translateZ(10vmin);
    transform: translateZ(10vmin);
}

.level--4 {
    -webkit-transform: translateZ(15vmin);
    transform: translateZ(15vmin);
}

.level--5 {
    -webkit-transform: translateZ(20vmin);
    transform: translateZ(20vmin);
}

.level--6 {
    -webkit-transform: translateZ(25vmin);
    transform: translateZ(25vmin);
}

.level--7 {
    -webkit-transform: translateZ(30vmin);
    transform: translateZ(30vmin);
}

.level--8 {
    -webkit-transform: translateZ(35vmin);
    transform: translateZ(35vmin);
}


/* Selection transitions */

.levels--selected-1 .level:not(.level--1),
.levels--selected-2 .level:not(.level--2),
.levels--selected-3 .level:not(.level--3),
.levels--selected-4 .level:not(.level--4),
.levels--selected-5 .level:not(.level--5),
.levels--selected-6 .level:not(.level--6),
.levels--selected-7 .level:not(.level--7),
.levels--selected-8 .level:not(.level--8) {
    opacity: 0;
    /* fade out all others */
}

/* Other levels */

.level--current ~ .level {
    -webkit-transform: translateZ(90vmin);
    transform: translateZ(90vmin);
}

.levels--selected-2 .level--1,
.levels--selected-3 .level--1,
.levels--selected-4 .level--1,
.levels--selected-5 .level--1,
.levels--selected-6 .level--1,
.levels--selected-7 .level--1,
.levels--selected-8 .level--1,
.levels--selected-3 .level--2,
.levels--selected-4 .level--2,
.levels--selected-4 .level--3,
.levels--selected-5 .level--3,
.levels--selected-6 .level--3,
.levels--selected-7 .level--3,
.levels--selected-8 .level--3,
.levels--selected-5 .level--4,
.levels--selected-6 .level--4,
.levels--selected-7 .level--4,
.levels--selected-8 .level--4,
.levels--selected-6 .level--5,
.levels--selected-7 .level--5,
.levels--selected-8 .level--5,
.levels--selected-7 .level--6,
.levels--selected-8 .level--6,
.levels--selected-8 .level--7 {
    -webkit-transform: translateZ(-60vmin);
    transform: translateZ(-60vmin);
}

/* Delays */
/* 1 */

.levels--selected-1 .level--3,
.levels--selected-2 .level--3,
.levels--selected-3 .level--2,
.levels--selected-4 .level--2 {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.levels--selected-1 .level--2,
.levels--selected-2 .level--current,
.levels--selected-2 .level--current::after,
.levels--selected-3 .level--current,
.levels--selected-3 .level--current::after,
.levels--selected-4 .level--3 {
    -webkit-transition-delay: 0.25s;
    transition-delay: 0.25s;
}

.levels--selected-1 .level--current,
.levels--selected-1 .level--current::after,
.levels--selected-4 .level--current,
.levels--selected-4 .level--current::after {
    -webkit-transition-delay: 0.45s;
    transition-delay: 0.45s;
}

/* Current level */

.levels:not(.flat) .level.level--current {
    -webkit-transform: translateZ(15vmin) rotate3d(-2,-1,0.5,40deg);
    /* go to center */
    transform: translateZ(15vmin) rotate3d(-2,-1,0.5,40deg);
}

.levels.flat .level.level--current {
    position: absolute;
    left: calc(50% - 30vmin);
    width: 60vmin
}

/* Navigation classes */
.levels--open .level,
.levels--open .level::after {
    -webkit-transition: -webkit-transform 1s, opacity 1s;
    transition: transform 1s, opacity 1s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

    .levels--open .level.level--current {
        opacity: 1;
    }

    .levels--open .level.level--moveOutUp,
    .levels--open .level.level--moveOutDown {
        opacity: 0;
    }

.levels--open:not(.flat) .level.level--moveOutUp {
    -webkit-transform: translateZ(90vmin);
    transform: translateZ(90vmin);
}

.levels--open .level.level--moveOutDown {
    -webkit-transform: translateZ(-60vmin);
    transform: translateZ(-60vmin);
}


/* Level nav */
.mallnav {
    position: absolute;
    top: 0;
    right: 0;
    text-align: center;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s;
}

.mallnav--hidden {
    pointer-events: none;
    opacity: 0;
}

/* Box button */
.boxbutton {
    font-size: 2em;
    display: block;
    width: 2em;
    height: 2em;
    margin: 0;
    padding: 0;
    color: #ffb7c5;
    border: 0;
    background: transparent;
    cursor: none;
}

.boxbutton--dark {
    background: transparent;
}

.boxbutton--darker {
    background: #2c2c2f;
}

.boxbutton--alt {
    background: #3d1975;
}

.boxbutton--disabled,
.boxbutton--disabled:focus,
.boxbutton--disabled:hover {
    pointer-events: none;
    opacity: 0.2;
}

/* Level map */
.levels:not(.flat) img.map {
    /*width: 100%;*/
    width: auto;
    height: 100%;
}

.levels.flat img.map {
    width: auto;
    height: 100%;
}

.map__ground {
    fill: #d7d7dc;
}

.map__outline {
    -webkit-transition: fill 0.3s;
    transition: fill 0.3s;
    fill: #bbb;
}

.level:hover .map__outline,
.level--current .map__outline {
    fill: #a6a3a8;
}

.map__tree {
    fill: #7bad7f;
}

.map__lake {
    fill: #a2bbdd;
}

.map__space {
    -webkit-transition: fill-opacity 0.8s;
    transition: fill-opacity 0.8s;
    fill: #bdbdbd;
    fill-opacity: 0.6;
}

.level--current .map__space {
    fill-opacity: 1;
}

.map__space--selected {
    fill: #A4A4A4;
}

/* Content */
.content {
    position: absolute;
    top: 100%;
    width: 100%;
    height: 50%;
}

.content__item {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 3em;
    text-align: center;
    background: #d7d7dc;
    -webkit-transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.content--open .content__item {
    -webkit-transition: none;
    transition: none;
}

.content__item--current {
    -webkit-transform: translate3d(0,-100%,0);
    transform: translate3d(0,-100%,0);
}

.content__item-title {
    font-size: 1.85em;
    margin: 0;
    padding: 0 0 0.75em 0;
    pointer-events: none;
    font-weight: normal;
    opacity: 0;
    -webkit-transform: translate3d(0,-3em,0) translate3d(0,-100%,0);
    transform: translate3d(0,-3em,0) translate3d(0,-100%,0);
}

.content__item[data-category='1'] .content__item-title {
    color: #7cbf7f;
}

.content__item[data-category='2'] .content__item-title {
    color: #6584c7;
}

.content__item[data-category='3'] .content__item-title {
    color: #dc4b7c;
}

.content__item[data-category='4'] .content__item-title {
    color: #8d65e0;
}

.content__item--hover .content__item-title {
    opacity: 1;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

.content__item--current .content__item-title {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.content__item-details {
    opacity: 0;
    margin: 0 auto;
    max-width: 50vmax;
}

.content__item--current .content__item-details {
    opacity: 1;
}

.content__meta {
    margin: 0;
    font-size: 0.85em;
    line-height: 1.5;
}

.content__meta-item {
    display: inline-block;
    padding: 0 0.25em;
    color:;
}

.content__meta .icon {
    display: inline-block;
    vertical-align: middle;
}

.content__desc {
    text-align: left;
    margin: 7vmin 0 0 0;
}

.content__button {
    position: absolute;
    top: -100%;
    right: 0;
    -webkit-transition: opacity 0.3s 0.7s;
    transition: opacity 0.3s 0.7s;
}

.content__button--hidden {
    pointer-events: none;
    opacity: 0;
    -webkit-transition: none;
    transition: none;
}

/* Spaces list (sidebar) */

.spaces-list {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    min-height: 100vh;
    padding: 5em 0 1em;
    background: rgba(0, 0, 0, 0.5);
}

.search {
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    left: calc(100vw - 300px);
}

.search__input {
    width: 100%;
    padding: 1.48em 2em;
    color: #fff;
    border: 0;
    background: #515158;
    border-radius: 0;
}

    .search__input:focus {
        outline: none;
    }

.label {
    position: absolute;
    top: 4em;
    right: 0;
}

.label__text {
    font-size: 0.85em;
    line-height: 1;
    display: block;
    padding: 1em;
    color: #e4e4e4;
}

.label__checkbox {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

    .label__checkbox:checked + .label__text {
        color: #515158;
    }

.list {
    margin: 0 0 2em;
    padding: 0 1em 1em 2em;
    list-style: none;
    height: 80vh;
    overflow-y: scroll;
}

.list__item {
    font-size: 1.05em;
    line-height: 1;
    position: relative;
    display: block;
}

    .list__item:first-child {
        margin-top: 4em;
    }

.grouped-by-category [data-category='1']:first-child,
.grouped-by-category :not([data-category='1']) + [data-category='1'],
.grouped-by-category [data-category='2']:first-child,
.grouped-by-category :not([data-category='2']) + [data-category='2'],
.grouped-by-category [data-category='3']:first-child,
.grouped-by-category :not([data-category='3']) + [data-category='3'],
.grouped-by-category [data-category='4']:first-child,
.grouped-by-category :not([data-category='4']) + [data-category='4'],
.grouped-by-category [data-category='4']:first-child,
.grouped-by-category :not([data-category='5']) + [data-category='5'],
.grouped-by-category [data-category='4']:first-child,
.grouped-by-category :not([data-category='6']) + [data-category='6'],
.grouped-by-category [data-category='4']:first-child,
.grouped-by-category :not([data-category='7']) + [data-category='7'],
.grouped-by-category [data-category='4']:first-child,
.grouped-by-category :not([data-category='8']) + [data-category='8'] {
    margin-top: 4em;
}

    .grouped-by-category [data-category='1']:first-child::before,
    .grouped-by-category :not([data-category='1']) + [data-category='1']::before,
    .grouped-by-category [data-category='2']:first-child::before,
    .grouped-by-category :not([data-category='2']) + [data-category='2']::before,
    .grouped-by-category [data-category='3']:first-child::before,
    .grouped-by-category :not([data-category='3']) + [data-category='3']::before,
    .grouped-by-category [data-category='4']:first-child::before,
    .grouped-by-category :not([data-category='4']) + [data-category='4']::before,
    .grouped-by-category [data-category='4']:first-child::before,
    .grouped-by-category :not([data-category='5']) + [data-category='5']::before,
    .grouped-by-category [data-category='6']:first-child::before,
    .grouped-by-category :not([data-category='6']) + [data-category='6']::before,
    .grouped-by-category [data-category='7']:first-child::before,
    .grouped-by-category :not([data-category='7']) + [data-category='7']::before,
    .grouped-by-category [data-category='8']:first-child::before,
    .grouped-by-category :not([data-category='8']) + [data-category='8']::before {
        font-size: 1.5em;
        position: absolute;
        top: -1.75em;
        left: 0;
        color: #CCC;
        font-family: poe;
    }

    .grouped-by-category [data-category='1']:first-child::before,
    .grouped-by-category :not([data-category='1']) + [data-category='1']::before {
        content: 'Level 1';
    }

    .grouped-by-category [data-category='2']:first-child::before,
    .grouped-by-category :not([data-category='2']) + [data-category='2']::before {
        content: 'Level 2';
    }

    .grouped-by-category [data-category='3']:first-child::before,
    .grouped-by-category :not([data-category='3']) + [data-category='3']::before {
        content: 'Level 3';
    }

    .grouped-by-category [data-category='4']:first-child::before,
    .grouped-by-category :not([data-category='4']) + [data-category='4']::before {
        content: 'Level 4';
    }

    .grouped-by-category [data-category='5']:first-child::before,
    .grouped-by-category :not([data-category='5']) + [data-category='5']::before {
        content: 'Level 5';
    }

    .grouped-by-category [data-category='6']:first-child::before,
    .grouped-by-category :not([data-category='6']) + [data-category='6']::before {
        content: 'Level 6';
    }

    .grouped-by-category [data-category='7']:first-child::before,
    .grouped-by-category :not([data-category='7']) + [data-category='7']::before {
        content: 'Level 7';
    }

    .grouped-by-category [data-category='8']:first-child::before,
    .grouped-by-category :not([data-category='8']) + [data-category='8']::before {
        content: 'Level 8';
    }

.list__item::after {
    content: 'L' attr(data-level) ' / ' attr(data-space);
    font-size: 0.65em;
    line-height: 3;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0 0.5em;
    pointer-events: none;
    color: #c7c7c9;
}

.list__link {
    font-size: 0.85em;
    display: block;
    padding: 0.5em 0.5em 0.5em 0;
}

    .list__item--active .list__link,
    .list__link:hover {
        color: #515158;
    }

/* Pins */
.level__pins {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.level__pins--active {
    pointer-events: auto;
}

.pin {
    position: absolute;
    width: 5.5vmin;
    height: 8.25vmin;
    margin: -8.25vmin 0 0 -2.25vmin; /* let the bottom tip be the reference point for individual coordinates */
    -webkit-transform: rotateZ(-20deg) rotateZ(45deg) rotateX(-70deg);
    transform: rotateZ(-20deg) rotateZ(45deg) rotateX(-70deg);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.pin__icon {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transform: translate3d(0,-100px,0);
    transform: translate3d(0,-100px,0);
    -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
    transition: opacity 0.3s, transform 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.2,1,0.3,1);
    transition-timing-function: cubic-bezier(0.2,1,0.3,1);
}

.level__pins--active .pin__icon {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.pin:nth-child(2) .pin__icon {
    -webkit-transition-delay: 0.05s;
    transition-delay: 0.05s;
}

.pin:nth-child(3) .pin__icon {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.pin:nth-child(4) .pin__icon {
    -webkit-transition-delay: 0.15s;
    transition-delay: 0.15s;
}

.pin:nth-child(5) .pin__icon {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.pin:nth-child(6) .pin__icon {
    -webkit-transition-delay: 0.25s;
    transition-delay: 0.25s;
}

.pin:nth-child(7) .pin__icon {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.pin:nth-child(8) .pin__icon {
    -webkit-transition-delay: 0.35s;
    transition-delay: 0.35s;
}

.pin:nth-child(9) .pin__icon {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.pin[data-category='1'] .icon--pin {
    fill: #7cbf7f;
}

.pin[data-category='2'] .icon--pin {
    fill: #6584c7;
}

.pin[data-category='3'] .icon--pin {
    fill: #dc4b7c;
}

.pin[data-category='4'] .icon--pin {
    fill: #8d65e0;
}

.pin--active .icon--pin {
    stroke: #515158;
    stroke-width: 15px;
}

.icon--pin {
    width: 100%;
    height: 100%;
}

.icon--logo {
    position: absolute;
    top: 11%;
    left: 25%;
    width: 50%;
    height: 50%;
    fill: white;
    fill-opacity: 0.6;
    -webkit-transition: fill-opacity 0.3s;
    transition: fill-opacity 0.3s;
}

.pin--active .icon--logo,
.pin:hover .icon--logo {
    fill-opacity: 1;
}

/* Pins for floor 1 */
.pin--1-1 {
    top: 60vmin;
    left: 8vmin;
}

.pin--1-2 {
    top: 15vmin;
    left: 15vmin;
}

.pin--1-3 {
    top: 15vmin;
    left: 88vmin;
}

.pin--1-4 {
    top: 40vmin;
    left: 77vmin;
}

.pin--1-5 {
    top: 33vmin;
    left: 38vmin;
}

.pin--1-6 {
    top: 6vmin;
    left: 27vmin;
}

.pin--1-7 {
    top: 36vmin;
    left: 61vmin;
}

.pin--1-8 {
    top: 9vmin;
    left: 59vmin;
}

.pin--1-9 {
    top: 8vmin;
    left: 51vmin;
}

/* Pins for floor 2 */
.pin--2-1 {
    top: 7vmin;
    left: 22vmin;
}

.pin--2-2 {
    top: 39vmin;
    left: 5vmin;
}

.pin--2-3 {
    top: 21vmin;
    left: 84vmin;
}

.pin--2-4 {
    top: 39vmin;
    left: 53vmin;
}

.pin--2-5 {
    top: 14vmin;
    left: 50vmin;
}

.pin--2-6 {
    top: 60vmin;
    left: 15vmin;
}

.pin--2-7 {
    top: 34vmin;
    left: 37vmin;
}

.pin--2-8 {
    top: 52vmin;
    left: 74vmin;
}

/* Pins for floor 3 */
.pin--3-1 {
    top: 17vmin;
    left: 15vmin;
}

.pin--3-2 {
    top: 42vmin;
    left: 5vmin;
}

.pin--3-3 {
    top: 19vmin;
    left: 85vmin;
}

.pin--3-4 {
    top: 61vmin;
    left: 57vmin;
}

.pin--3-5 {
    top: 58vmin;
    left: 25vmin;
}

.pin--3-6 {
    top: 30vmin;
    left: 57vmin;
}

.pin--3-7 {
    top: 32vmin;
    left: 37vmin;
}

/* Pins for floor 4 */
.pin--4-1 {
    top: 55vmin;
    left: 21vmin;
}

.pin--4-2 {
    top: 18vmin;
    left: 20vmin;
}

.pin--4-3 {
    top: 21vmin;
    left: 88vmin;
}

.pin--4-4 {
    top: 52vmin;
    left: 74vmin;
}

.pin--4-5 {
    top: 33vmin;
    left: 38vmin;
}

.pin--4-6 {
    top: 39vmin;
    left: 56vmin;
}

.pin--4-7 {
    top: 58vmin;
    left: 10vmin;
}

/* Mobile compatability */
.open-search,
.close-search {
    display: none;
}

body #cdawrap {
    right: auto;
    top: auto;
    bottom: 10px;
    left: 10px;
    background: rgba(255,255,255,0.3);
    border-color: #515158;
}

@media screen and (max-width: 65.625em), screen and (max-height: 40.625em) {
    .main {
        width: 100vw;
    }

    .spaces-list,
    .search {
        width: 100vw;
        right: 100%;
        left: auto;
    }

    .spaces-list--open,
    .spaces-list--open .search {
        right: 0;
    }

    .open-search,
    .close-search {
        position: absolute;
        display: block;
        top: 0;
        right: 0;
        z-index: 1000;
    }

    .mallnav {
        top: 4em;
    }

    .container {
        overflow: hidden;
    }

    .container--overflow {
        overflow: auto;
    }

    .content__item {
        overflow: auto;
    }

    .codrops-header {
    
    }
}
