@font-face {
	font-family: 'codropsicons';
	font-weight: normal;
	font-style: normal;
	src: url("../fonts/codropsicons/codropsicons.e0c41e218300.eot");
	src: url("../fonts/codropsicons/codropsicons.e0c41e218300-.eot#iefix") format('embedded-opentype'), url("../fonts/codropsicons/codropsicons.70b872279cb3.woff") format('woff'), url("../fonts/codropsicons/codropsicons.89060daed41f.ttf") format('truetype'), url("../fonts/codropsicons/codropsicons.1958497a8eab.svg.html#codropsicons") format('svg');
}

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

svg * {
    fill: white;}

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

.clearfix::after {
	clear: both;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.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: 75vh;
}

.main {
	top: 0;
	left: 0;
	overflow: hidden;
	width: calc(100vw - 300px);
	height: 75vh;
}

.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,-5%,0) scale3d(0.8,0.8,1);
	transform: translate3d(0,-5%,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: 74vmin;
	margin: -36vmin 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(0deg) rotateZ(0) translateZ(-10vmin);
	transform: rotateX(0deg) rotateZ(0) translateZ(-10vmin);
}

.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: 1.6em;
	line-height: 0;
	position: absolute;
	z-index: 100;
	top: 3em;
    left: -6.5em;
	white-space: nowrap;
	color: #7d7d86;
	color: #7d7d86;
    font-weight: bold;
	
}

.level:hover::after,
.level--current::after {
	color: #515158;
}


.level--1::after {
	content: 'Planta Baja';
}
.level--2::after {
	content: 'Planta Alta';
	top: 6em !important;
}
.level--3::after {
	content: 'Nivel Acceso';
}
.level--4::after {
	content: 'Primer Nivel';
}

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

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

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

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


/* 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) {
	opacity: 0;
	display: none;
	/* 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-3 .level--2,
.levels--selected-4 .level--2,
.levels--selected-4 .level--3 {
	-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 */

.level.level--current {
	-webkit-transform: translateZ(20vmin) rotate3d(0,0,1,0deg);
	transform: translateZ(20vmin) rotate3d(0,0,1,0deg);
}

/* 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: 300px;
	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: #fff;
    border: 0;
    background: #d7d7dc;
}
@media screen and (max-width: 768px) {
    .boxbutton {
        font-size: 1.5em;
        width: 1.5em;
        height: 1.5em;
    }
}

.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;
}
.map__gray{
	fill: #bbbbc4;
}
.circle_orange{
	fill: #EF532A;
}
.circle_white{
	fill: #FFF;
}

.level:hover .map__outline,
.level--current .map__outline {
	fill: #a6a3a8;
}

.map__space,
.map__space1 {
	pointer-events: none;
	-webkit-transition: fill-opacity 0.8s;
	transition: fill-opacity 0.8s;
	fill: #bdbdbd;
	stroke: #999;
	stroke-width: 2px;
	fill-opacity: 0.8;
}
.map__space1{
	fill: #ccc
}

/* Default store color when no data-category available */
.pin--active > .map__space,
.map__space:hover{
	fill: #616db2;
}

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


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

.content__item {
	position: absolute;
	top: 0;
	width: 100%;
	width: calc(100% - 300px);
	height: 0;
	padding: 3em;
	text-align: center;
	background: transparent;
	-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 {
	background: #d7d7d7;
	display: initial;
	height: 280px;
	-webkit-transform: translate3d(0,-40%,0);
	transform: translate3d(0,-40%,0);
}

.content__item-title {
	font-size: 1.85em;
	margin: 0;
	padding: 0 0 0.6em 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--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__img{
    float: left;
    margin-right: 2em;
	max-height: 140px;
}
.content__desc {
	text-align: left;
	margin: 0 0 0 3em;
}.content__desc-2{
		display: flex;
	}
.content__desc-2 .item{
	padding-right: 1em;
}

.content__button {
	position: absolute;
	top: -50%;
	right: 300px;
	-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;
	height: 75vh;
	overflow-y: scroll;
	padding: 0 0 1em;
	background: #fff;
}

.search {
	z-index: 100;
	top: 0;
	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: 3em 1em 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: 1em 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;
}

.list__item a {
	color: #000;
	font-weight: 500;
}

.grouped-by-category [data-category]::before{
	font-size: 1.25em;
	display: block;
	margin-top: 1em;
	margin-bottom: 0.75em;
	font-weight: 500;
}

/*
	Colors for categories applied to Sidebar list, map spaces, and content__item title
	Also names of categories for Sidebar
*/
.grouped-by-category [data-category='1']:first-child::before,
.grouped-by-category :not([data-category='1']) + [data-category='1']::before,
.category_group.category1,
a[data-category="1"] .map__space:hover,
a.pin--active[data-category="1"] .map__space{
	content: 'Restaurantes';
	color: #26d660;
	fill: #26d660;
}

.grouped-by-category [data-category='2']:first-child::before,
.grouped-by-category :not([data-category='2']) + [data-category='2']::before,
.category_group.category2,
a[data-category="2"] .map__space:hover,
a.pin--active[data-category="2"] .map__space{
	content: 'Entretenimiento';
	color: #5347eb;
	fill: #5347eb;
}

.grouped-by-category [data-category='3']:first-child::before,
.grouped-by-category :not([data-category='3']) + [data-category='3']::before,
.category_group.category3,
a[data-category="3"] .map__space:hover,
a.pin--active[data-category="3"] .map__space{
	content: 'Servicios';
	color: #a33cc1;
	fill: #a33cc1;
}

.grouped-by-category [data-category='4']:first-child::before,
.grouped-by-category :not([data-category='4']) + [data-category='4']::before,
.category_group.category4,
a[data-category="4"] .map__space:hover,
a.pin--active[data-category="4"] .map__space{
	content: 'Disponibles';
	color: #e83030;
	fill: #e83030;
}

.grouped-by-category [data-category='5']:first-child::before,
.grouped-by-category :not([data-category='5']) + [data-category='5']::before,
.category_group.category5,
a[data-category="5"] .map__space:hover,
a.pin--active[data-category="5"] .map__space{
	content: 'Cafeterías y helados';
	color: #22A4DA;
	fill: #22A4DA;
}

.grouped-by-category [data-category='6']:first-child::before,
.grouped-by-category :not([data-category='6']) + [data-category='6']::before,
.category_group.category6,
a[data-category="6"] .map__space:hover,
a.pin--active[data-category="6"] .map__space {
	content: 'Entretenimiento';
	color: #2ADBC3;
	fill: #2ADBC3;
}


.grouped-by-category [data-category='7']:first-child::before,
.grouped-by-category :not([data-category='7']) + [data-category='7']::before,
.category_group.category7,
a[data-category="7"] .map__space:hover,
a.pin--active[data-category="7"] .map__space {
	content: 'Especialidades';
	color: #7EDA2E;
	fill: #7EDA2E;
}


.grouped-by-category [data-category='8']:first-child::before,
.grouped-by-category :not([data-category='8']) + [data-category='8']::before,
.category_group.category8,
a[data-category="8"] .map__space:hover,
a.pin--active[data-category="8"] .map__space {
	content: 'Hogar y Decoración';
	color: #A88150;
	fill: #A88150;
}

.grouped-by-category [data-category='9']:first-child::before,
.grouped-by-category :not([data-category='9']) + [data-category='9']::before,
.category_group.category9,
a[data-category="9"] .map__space:hover,
a.pin--active[data-category="9"] .map__space {
	content: 'Ropa y Calzado';
	color: #EBA427;
	fill: #EBA427;
}

.grouped-by-category [data-category='10']:first-child::before,
.grouped-by-category :not([data-category='10']) + [data-category='10']::before,
.category_group.category10,
a[data-category="10"] .map__space:hover,
a.pin--active[data-category="10"] .map__space {
	content: 'Salud y Belleza';
	color: #EB6F1F;
	fill: #EB6F1F;
}

.grouped-by-category [data-category='11']:first-child::before,
.grouped-by-category :not([data-category='11']) + [data-category='11']::before,
.category_group.category11,
a[data-category="11"] .map__space:hover,
a.pin--active[data-category="11"] .map__space {
	content: 'Servicios';
	color: #E80C18;
	fill: #E80C18;
}

.grouped-by-category [data-category='12']:first-child::before,
.grouped-by-category :not([data-category='12']) + [data-category='12']::before,
.category_group.category12,
a[data-category="12"] .map__space:hover,
a.pin--active[data-category="12"] .map__space {
	content: 'Accesorios y Joyerías';
	color: #DA209F;
	fill: #DA209F;
}

.grouped-by-category [data-category='13']:first-child::before,
.grouped-by-category :not([data-category='13']) + [data-category='13']::before,
.category_group.category13,
a[data-category="13"] .map__space:hover,
a.pin--active[data-category="13"] .map__space {
	content: 'Cafeterías y Helados';
	color: #ff66ff;
	fill: #ff66ff;
}

.grouped-by-category [data-category='14']:first-child::before,
.grouped-by-category :not([data-category='14']) + [data-category='14']::before,
.category_group.category14,
a[data-category="14"] .map__space:hover,
a.pin--active[data-category="14"] .map__space {
	content: 'Deportes';
	color: #217f0a;
	fill: #217f0a;
}

.grouped-by-category [data-category='15']:first-child::before,
.grouped-by-category :not([data-category='15']) + [data-category='15']::before,
.category_group.category15,
a[data-category="15"] .map__space:hover,
a.pin--active[data-category="15"] .map__space {
	content: 'Ópticas';
	color: #996699;
	fill: #996699;
}

.grouped-by-category [data-category='16']:first-child::before,
.grouped-by-category :not([data-category='16']) + [data-category='16']::before,
.category_group.category16,
a[data-category="16"] .map__space:hover,
a.pin--active[data-category="16"] .map__space {
	content: 'Restaurantes';
	color: #abab4f;
	fill: #abab4f;
}

.grouped-by-category [data-category='17']:first-child::before,
.grouped-by-category :not([data-category='17']) + [data-category='17']::before,
.category_group.category17,
a[data-category="17"] .map__space:hover,
a.pin--active[data-category="17"] .map__space {
	content: 'Dulcería';
	color: #330033;
	fill: #330033;
}

.grouped-by-category [data-category='18']:first-child::before,
.grouped-by-category :not([data-category='18']) + [data-category='18']::before,
.category_group.category18,
a[data-category="18"] .map__space:hover,
a.pin--active[data-category="18"] .map__space {
	content: 'Food Court';
	color: #cc9900;
	fill: #cc9900;
}

.grouped-by-category [data-category='19']:first-child::before,
.grouped-by-category :not([data-category='19']) + [data-category='19']::before,
.category_group.category19,
a[data-category="19"] .map__space:hover,
a.pin--active[data-category="19"] .map__space {
	content: 'Gimnasio';
	color: #5BB753;
	fill: #5BB753;
}

.grouped-by-category [data-category='20']:first-child::before,
.grouped-by-category :not([data-category='20']) + [data-category='20']::before,
.category_group.category20,
a[data-category="20"] .map__space:hover,
a.pin--active[data-category="20"] .map__space {
	content: 'Hotel';
	color: #981312;
	fill: #981312;
}

.list__item::after {
	content: 'L' attr(data-level) ' / ' attr(data-space);
	font-size: 0.65em;
	position: absolute;
	bottom: 0.4em;
	right: 0.5em;
	display: none;
	color: #c7c7c9;
}

.list__link {
	font-size: 0.85em;
	display: block;
	padding: 0.5em 0.5em 0.5em 0;
	font-weight: 500;
}

.list__item--active .list__link,
.list__link:hover {
	color: #515158;
}

/* 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;
		right: 0;
	}
	.level::after{
		top: 3em;
    left: -14.5em;
    z-index: 999999;
    color: black;
    font-size: 20px;
	}
	.container {
		overflow: hidden;
	}
	.container--overflow {
		overflow: auto;
	}
	.content__item {
		overflow: auto;
		width: 100%;
	}
	.content__button{
		right: 0;
	}
}

@media only screen and (max-width : 768px) {
	.content__img{
		display: none;
	}
}

@media only screen and (max-width : 480px) {
	.levels{
		margin: -32vmin 0 0 -49vmin;
	}
	.level--2{
		transform: translateZ(15vmin);
	}
	.level--3{
		transform: translateZ(30vmin);
	}
	.level--4{
		transform: translateZ(45vmin);
	}
	.level::after{
		left: 4.5em;
		top: -3em;
	}

	.level--2::after {
		top: -2em !important;
	}
	.content__button,
	.mallnav{
		right: 0;
	}
	.content__item{
		font-size: 0.9em;
		padding: 2em 1.5em;
		width: 100%;
	}
	.content__button{
		top: -120%;
	}
	.content__item-details > .content__desc{
		margin: 0;
	}

}