@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");
}

*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

body {
  font-family: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  color: #515158;
  background: #f0f0f0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  margin: 0;
  padding: 0;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
  color: #aaa;
  outline: none;
}

a:hover,
button:hover {
  color: #515158;
  outline: none;
}

a:focus,
button:focus {
  outline: none;
}

.hidden {
  position: absolute;
  overflow: hidden;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* Icons */
.icon {
  display: block;
  width: 1em;
  height: 1em;
  margin: 0 auto;
  fill: currentColor;
}

.container {
  position: relative;
  width: 100vw;
  height: 100vh;
}

/* 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: 1.5em 1em;
  text-align: center;
}

.codrops-header h1 {
  font-size: 1.15em;
  font-weight: normal;
  line-height: 1;
  margin: 0 0 0 1em;
}

/* 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: #09c;
}

.codrops-icon--prev::before {
  content: "\e004";
}

.main {
  position: fixed;
  top: 6rem;
  left: 0;
  overflow: hidden;
  width: calc(100vw - 300px);
  height: calc(100vh - 6em);
}

.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 {
  width: 96vmin;
  height: 64vmin;
  margin: -32vmin 0 0 -48vmin;
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.surroundings,
.levels {
  -webkit-transform: rotateX(70deg) rotateZ(-45deg) translateZ(-15vmin);
  transform: rotateX(70deg) rotateZ(-45deg) translateZ(-15vmin);
}

.level {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
  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;
}

.level::after {
  font-size: 2.5vmin;
  line-height: 0;
  position: absolute;
  z-index: 100;
  top: -5em;
  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;
}

.level--current::after {
  -webkit-transform: rotateZ(-10deg) rotateZ(10deg) rotateX(-20deg)
    translateZ(-35vmin) translateX(-5vmin) translateY(15vmin);
  transform: rotateZ(-10deg) rotateZ(10deg) rotateX(-20deg) translateZ(-35vmin)
    translateX(-5vmin) translateY(15vmin);
}

.level--1::after {
  content: "Ground Floor";
}

.level--2::after {
  content: "First Floor";
}

.level--3::after {
  content: "Second Floor";
}

.level--4::after {
  content: "Third Floor";
}

.level--5::after {
  content: "Forth Floor";
}

.level--6::after {
  content: "Fifth Floor";
}

.level--7::after {
  content: "Sixth Floor";
}

.level--8::after {
  content: "Seventh Floor";
}

.level--9::after {
  content: "Eight Floor";
}
.level--10::after {
  content: "Nineth Floor";
}
.level--11::after {
  content: "Tenth Floor";
}
.level--12::after {
  content: "Eleventh Floor";
}
.level--13::after {
  content: "Twelfth Floor";
}

.level:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
}

.level--2 {
  -webkit-transform: translateZ(4vmin);
  transform: translateZ(4vmin);
}

.level--3 {
  -webkit-transform: translateZ(8vmin);
  transform: translateZ(8vmin);
}

.level--4 {
  -webkit-transform: translateZ(12vmin);
  transform: translateZ(12vmin);
}

.level--5 {
  -webkit-transform: translateZ(16vmin);
  transform: translateZ(16vmin);
}

.level--6 {
  -webkit-transform: translateZ(20vmin);
  transform: translateZ(20vmin);
}

.level--7 {
  -webkit-transform: translateZ(24vmin);
  transform: translateZ(24vmin);
}

.level--8 {
  -webkit-transform: translateZ(28vmin);
  transform: translateZ(28vmin);
}

.level--9 {
  -webkit-transform: translateZ(32vmin);
  transform: translateZ(32vmin);
}

.level--10 {
  -webkit-transform: translateZ(36vmin);
  transform: translateZ(36vmin);
}

.level--11 {
  -webkit-transform: translateZ(40vmin);
  transform: translateZ(40vmin);
}

.level--12 {
  -webkit-transform: translateZ(44vmin);
  transform: translateZ(44vmin);
}
.level--13 {
  -webkit-transform: translateZ(48vmin);
  transform: translateZ(48vmin);
}

/* 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),
.levels--selected-9 .level:not(.level--9),
.levels--selected-10 .level:not(.level--10),
.levels--selected-11 .level:not(.level--11),
.levels--selected-12 .level:not(.level--12),
.levels--selected-13 .level:not(.level--13) {
  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-9 .level--1,
.levels--selected-10 .level--1,
.levels--selected-11 .level--1,
.levels--selected-12 .level--1,
.levels--selected-13 .level--1,
.levels--selected-3 .level--2,
.levels--selected-4 .level--2,
.levels--selected-5 .level--2,
.levels--selected-6 .level--2,
.levels--selected-7 .level--2,
.levels--selected-8 .level--2,
.levels--selected-9 .level--2,
.levels--selected-10 .level--2,
.levels--selected-11 .level--2,
.levels--selected-12 .level--2,
.levels--selected-13 .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-9 .level--3,
.levels--selected-10 .level--3,
.levels--selected-11 .level--3,
.levels--selected-12 .level--3,
.levels--selected-13 .level--3,
.levels--selected-5 .level--4,
.levels--selected-6 .level--4,
.levels--selected-7 .level--4,
.levels--selected-8 .level--4,
.levels--selected-9 .level--4,
.levels--selected-10 .level--4,
.levels--selected-11 .level--4,
.levels--selected-12 .level--4,
.levels--selected-13 .level--4,
.levels--selected-6 .level--5,
.levels--selected-7 .level--5,
.levels--selected-8 .level--5,
.levels--selected-9 .level--5,
.levels--selected-10 .level--5,
.levels--selected-11 .level--5,
.levels--selected-12 .level--5,
.levels--selected-13 .level--5,
.levels--selected-7 .level--6,
.levels--selected-8 .level--6,
.levels--selected-9 .level--6,
.levels--selected-10 .level--6,
.levels--selected-11 .level--6,
.levels--selected-12 .level--6,
.levels--selected-13 .level--6,
.levels--selected-8 .level--7,
.levels--selected-9 .level--7,
.levels--selected-10 .level--7,
.levels--selected-11 .level--7,
.levels--selected-12 .level--7,
.levels--selected-13 .level--7,
.levels--selected-9 .level--8,
.levels--selected-10 .level--8,
.levels--selected-11 .level--8,
.levels--selected-12 .level--8,
.levels--selected-13 .level--8,
.levels--selected-10 .level--9,
.levels--selected-11 .level--9,
.levels--selected-12 .level--9,
.levels--selected-13 .level--9,
.levels--selected-11 .level--10,
.levels--selected-12 .level--10,
.levels--selected-13 .level--10,
.levels--selected-12 .level--11,
.levels--selected-13 .level--11,
.levels--selected-13 .level--12 {
  -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--current,
.levels--selected-4 .level--current::after,
.levels--selected-5 .level--current,
.levels--selected-5 .level--current::after,
.levels--selected-6 .level--current,
.levels--selected-6 .level--current::after,
.levels--selected-7 .level--current,
.levels--selected-7 .level--current::after,
.levels--selected-8 .level--current,
.levels--selected-8 .level--current::after,
.levels--selected-9 .level--current,
.levels--selected-9 .level--current::after,
.levels--selected-10 .level--current,
.levels--selected-10 .level--current::after,
.levels--selected-11 .level--current,
.levels--selected-11 .level--current::after,
.levels--selected-12 .level--current,
.levels--selected-12 .level--current::after,
.levels--selected-13 .level--12 {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.levels--selected-1 .level--current,
.levels--selected-1 .level--current::after,
.levels--selected-13 .level--current,
.levels--selected-13 .level--current::after {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
} */

/* Current level */

.level.level--current {
  /* -webkit-transform: translateZ(15vmin) rotate3d(0,0,1,20deg); */
  -webkit-transform: translateZ(15vmin) rotate3d(-1470, -735, 1008, 82deg);
  /* go to center */
  /* transform: translateZ(15vmin) rotate3d(0,0,1,20deg); */
  /* transform: translateZ(15vmin) rotate3d(-91, -44, 58, 50deg); */
  transform: translateZ(15vmin) rotate3d(-1470, -735, 1008, 82deg);
}

/* 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 .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.floor-nav {
  display: flex;
  flex-direction: column-reverse;
}

.mallnav--hidden {
  pointer-events: none;
  opacity: 0;
}

.amnetiesnav--hidden {
  pointer-events: none;
  opacity: 0;
}

/* Box button */
.boxbutton {
  font-size: 2em;
  display: block;
  width: 2em;
  height: 2em;
  margin: 0;
  padding: 0;
  color: #fff;
  border: 0;
  background: #d7d7dc;
  span {
    font-size: 14px;
    display: block;
  }
}

.boxbutton--dark {
  background: #c4c4c7;
}

.boxbutton--darker {
  background: #2c2c2f;
}

.boxbutton--alt {
  background: #3d1975;
}

.boxbutton--disabled,
.boxbutton--disabled:focus,
.boxbutton--disabled:hover {
  cursor: default;
  pointer-events: none;
  opacity: 0.2;
}

/* Level map */

.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: #0C4DA2; */
  fill-opacity: 0.6;
}

.level--current .map__space {
  fill-opacity: 1;
}

.map__space--selected {
  fill: #e5432f;
}

/* Content */
.content {
  position: absolute;
  top: 100%;
  width: 100%;
  height: 30%;
}

.content__item {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 1em;
  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: #0babdb;
}

.content__item[data-category="2"] .content__item-title {
  color: #fca404;
}

.content__item[data-category="3"] .content__item-title {
  color: #cc4444;
}

.content__item[data-category="4"] .content__item-title {
  color: #04a45c;
}

.content__item[data-category="5"] .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: center;
  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: 6rem;
  right: 0;
  width: 300px;
  min-height: calc(100vh - 6rem);
  padding: 3em 0 1em;
  background: #fff;
}

.search {
  position: fixed;
  z-index: 100;
  top: 6rem;
  right: 0;
  left: calc(100vw - 300px);
}

.search__input {
  width: 100%;
  padding: 1.315em 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%;
  cursor: pointer;
  opacity: 0;
}

.label__checkbox:checked + .label__text {
  color: #515158;
}

.list {
  margin: 0 0 2em;
  padding: 0 1em 1em 2em;
  list-style: none;
}

.list__item {
  font-size: 1.05em;
  line-height: 1;
  position: relative;
  display: block;
}

.list__item:first-child {
  margin-top: 2em;
}

.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="5"]:first-child,
.grouped-by-category :not([data-category="5"]) + [data-category="5"] {
  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="5"]:first-child::before,
.grouped-by-category :not([data-category="5"]) + [data-category="5"]::before {
  font-size: 1.25em;
  position: absolute;
  top: -1.75em;
  left: 0;
  color: #c7c7c9;
}

.grouped-by-category [data-category="1"]:first-child::before,
.grouped-by-category :not([data-category="1"]) + [data-category="1"]::before {
  content: "IT";
  color: #0babdb;
}

.grouped-by-category [data-category="2"]:first-child::before,
.grouped-by-category :not([data-category="2"]) + [data-category="2"]::before {
  content: "ITES";
  color: #fca404;
}

.grouped-by-category [data-category="3"]:first-child::before,
.grouped-by-category :not([data-category="3"]) + [data-category="3"]::before {
  content: "Commercial";
  color: #cc4444;
}

.grouped-by-category [data-category="4"]:first-child::before,
.grouped-by-category :not([data-category="4"]) + [data-category="4"]::before {
  content: "Amenities";
  color: #04a45c;
}

.grouped-by-category [data-category="5"]:first-child::before,
.grouped-by-category :not([data-category="5"]) + [data-category="5"]::before {
  content: "Facilities";
  color: #8d65e0;
}

.list__item::after {
  content: "L" attr(data-floor) " / " 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(-26deg) rotateZ(39deg) rotateX(-60deg);
  transform: rotateZ(-26deg) rotateZ(39deg) rotateX(-60deg);
  /* -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: #0babdb;
}
.pin[data-category="2"] .icon--pin {
  fill: #fca404;
}
.pin[data-category="3"] .icon--pin {
  fill: #cc4444;
}
.pin[data-category="4"] .icon--pin {
  fill: #04a45c;
}
.pin[data-category="5"] .icon--pin {
  fill: #8d65e0;
}

.pin--active .icon--pin {
  stroke: #515158;
  stroke-width: 15px;
}

.icon--badge {
  fill: #6584c7;
}

.icon--pin,
.icon--badge {
  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;
}

.icon--logo-bd {
  top: 22%;
  width: 50%;
  height: 50%;
}

.pin--active .icon--logo,
.pin:hover .icon--logo {
  fill-opacity: 1;
}

/* Pins for floor 1 */
.pin--1-1 {
  top: 48vmin;
  left: 8vmin;
}
.pin--1-2 {
  top: 33vmin;
  left: 19vmin;
}
.pin--1-3 {
  top: 17vmin;
  left: 7vmin;
}
.pin--1-4 {
  top: 23vmin;
  left: 16vmin;
}
.pin--1-5 {
  top: 25vmin;
  left: 6vmin;
}
.pin--1-6 {
  top: 35vmin;
  left: 3vmin;
}
.pin--1-7 {
  top: 18vmin;
  left: 49vmin;
}
.pin--1-8 {
  top: 13vmin;
  left: 54vmin;
}
.pin--1-9 {
  top: 22vmin;
  left: 54vmin;
}
.pin--1-10 {
  top: 20vmin;
  left: 57vmin;
}
.pin--1-11 {
  top: 20vmin;
  left: 59vmin;
}
.pin--1-12 {
  top: 20vmin;
  left: 61vmin;
}
.pin--1-17 {
  top: 49vmin;
  left: 69vmin;
}
.pin--1-22 {
  top: 39vmin;
  left: 44vmin;
}
.pin--1-23 {
  top: 39vmin;
  left: 42vmin;
}
.pin--1-24 {
  top: 41vmin;
  left: 40vmin;
}
.pin--1-25 {
  top: 39vmin;
  left: 39vmin;
}
.pin--1-28 {
  top: 36vmin;
  left: 74vmin;
}

/* Pins for floor 2 */
.pin--2-1 {
  top: 47vmin;
  left: 14vmin;
}
.pin--2-2 {
  top: 12vmin;
  left: 4vmin;
}
.pin--2-3 {
  top: 37vmin;
  left: 21vmin;
}
.pin--2-4-1 {
  top: 17vmin;
  left: 48vmin;
}
.pin--2-4-2 {
  top: 16vmin;
  left: 35vmin;
}
.pin--2-5 {
  top: 31vmin;
  left: 46vmin;
}
.pin--2-6 {
  top: 16vmin;
  left: 82vmin;
}
.pin--2-6-2 {
  top: 35vmin;
  left: 48vmin;
}
.pin--2-6-3 {
  top: 37vmin;
  left: 48vmin;
}
.pin--2-7 {
  top: 40vmin;
  left: 49vmin;
}
.pin--2-8 {
  top: 52vmin;
  left: 63vmin;
}
.pin--2-8-1 {
  top: 38vmin;
  left: 45vmin;
}
.pin--2-14 {
  top: 40vmin;
  left: 73vmin;
}
.pin--2-15 {
  top: 45vmin;
  left: 80vmin;
}
.pin--2-17 {
  top: 33vmin;
  left: 57vmin;
}
.pin--2-19 {
  top: 29vmin;
  left: 57vmin;
}
.pin--2-21 {
  top: 40vmin;
  left: 61vmin;
}
.pin--2-21 {
  top: 40vmin;
  left: 61vmin;
}
.pin--2-6-01 {
  top: 40vmin;
  left: 61vmin;
}

.pin--2-4-1 {
}

/* Pins for floor 3 */
.pin--3-1 {
  top: 45vmin;
  left: 10vmin;
}
.pin--3-2 {
  top: 19vmin;
  left: 14vmin;
}
.pin--3-3 {
  top: 20vmin;
  left: 56vmin;
}
.pin--3-4 {
  top: 40vmin;
  left: 47vmin;
}
.pin--3-5 {
  top: 25vmin;
  left: 87vmin;
}
.pin--3-6 {
  top: 38vmin;
  left: 90vmin;
}
.pin--3-7 {
  top: 15vmin;
  left: 88vmin;
}
.pin--3-8 {
  top: 47vmin;
  left: 88vmin;
}

/* Pins for floor 4 */
.pin--4-1 {
  top: 15vmin;
  left: 5vmin;
}
.pin--4-2 {
  top: 58vmin;
  left: 10vmin;
}
.pin--4-3 {
  top: 20vmin;
  left: 50vmin;
}
.pin--4-4 {
  top: 39vmin;
  left: 56vmin;
}
.pin--4-5 {
  top: 17vmin;
  left: 78vmin;
}
.pin--4-6 {
  top: 26vmin;
  left: 81vmin;
}
.pin--4-7 {
  top: 36vmin;
  left: 82vmin;
}
.pin--4-8 {
  top: 48vmin;
  left: 84vmin;
}

/* Mobile compatability */
.open-search,
.close-search {
  display: none;
}

@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 {
    padding-right: 4em;
    text-align: left;
  }
}

.pin--stairs {
  transition: transform 0.2s; /* Animation */
}

.icon-badge {
  fill: #6584c7;
}

.pin--stairs--active {
  .icon-badge {
    fill: red !important;
  }
}

.stair-a-south {
  top: 8vmin;
  left: 28vmin;
}
.stair-a-north {
  top: 55vmin;
  left: 29vmin;
}
.stair-d-north {
  top: 46vmin;
  left: 71vmin;
}
.stair-d-south {
  top: 18vmin;
  left: 68vmin;
}
.escalator-c-block {
  top: 31vmin;
  left: 63vmin;
}
.lift-a-south {
  top: 8vmin;
  left: 23vmin;
}
.lift-a-north {
  top: 55vmin;
  left: 24vmin;
}
.lift-d-north {
  top: 40vmin;
  left: 66vmin;
}
.lift-d-south {
  top: 24vmin;
  left: 71vmin;
}

.module-pin-hide,
.pin-hide {
  display: none;
}

.amneties-buttons {
  display: flex;
}

.floating-menu {
  padding: 5px;
  width: 130px;
  z-index: 100;
  position: fixed;
  bottom: 75px;
  right: 375px;
}

.floating-menu .mallnav {
  display: flex;
}

.swiper-slide {
  text-align: center;
}

@media all and (display-mode: fullscreen) {
  .btn-fullscreen {
    display: none;
  }
}

:not(:root):fullscreen::backdrop {
  background-color: #f0f0f0;
}
