body, html {
	height: 100%;
	width: 100%;
	overflow: hidden;
	margin: 0;
	z-index: 1;
}

#container {
	overflow: hidden;
}

.clear {
	clear: both;
}

.right {
	float: right;
}

.left {
	float: left;
}

.hide {
	width: 0px;
	height: 0px;
	visibility: hidden;
}

.scrollable-content {
	position: relative;
	overflow: auto;
}

.scrollable-content:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.scrollable-view  {
	overflow: hidden;
	position: relative;
	height: inherit;
}

.text-content {
	padding-bottom: 3em;
}

.loading-image {
	background-image: url("../../shared/images/loading.gif");
	background-size: 32px 32px;
	background-position: 50% 50%;
}

/* Makes text unselectable */
.no-select {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: default;
}

.clickable {
	cursor: pointer;
}

#messages {
	position: absolute;
	top: 0;
	z-index: 999;
	padding-left: 70px;
	padding-right: 70px;
	width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box; /* Firefox */
	-webkit-box-sizing: border-box; /* Safari */
}

#messages .message {
	margin: 3px;
	margin-left: auto;
	margin-right: auto;
	padding-right: 35px;
}

.tabs   {
	overflow: hidden;
	width: inherit;
}

.tab {
	width: auto;
	height: 100%;
	overflow: hidden;
	display: none;
	position: relative;
}

#map {
	width: inherit;
	height: inherit;
}

#map_fallback {
	width: 100%;
	height: 100%;
	overflow: hidden;
	font-weight: 600;
	text-align: center;
	padding-top: 100px;
}

/* Floor selection menu styles */
#floors {
	position: absolute;
	top: 15px;
	right: 0px;
	z-index: 2;
}

/* Loading screen */
#loading-screen {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 100;
}

#loading-screen .text {
	text-align: center;
	position: absolute;
	top: 60%;
	font-size: 90%;
	width: 100%;
}

#loading-screen .image {
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
}

#loading-screen .progress {
	position: absolute;
	bottom: 0px;
	width: 0%;
	height: 5px;
}

#loading-screen .stages {
	position: absolute;
	bottom: 2px;
	width: 100%;
	height: 5px;
}

#loading-screen .stage {
	width: 100%;
	height: 5px;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}

#loading-screen .bar {
	height: 5px;
	display: inline-block;
	vertical-align: top;
}

#content {
	width: 100%;
	height: 100%;
	position: relative;
}

/* Overall menu items */
.item {
	cursor: pointer;
}

/* Main menu (the tabs that allow selecting different submenus) */
#menu {
	z-index: 10;
	overflow: hidden;
}

#menu .item {
	overflow: hidden;
	vertical-align: top;
	display: inline-block;
}

/* Scrollable menu styles */
.scrollable-menu {
	height: 100%;
}

/* Because CSS doesn't know left and right properties for input! */
.scrollable-menu .container {
	position: absolute;
	right: 0px;
}

/* Zoom buttons(+/-) styles */
#zoom {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
}

#zoom div {
	width: 35px;
	height: 35px;
}

#locate_me {
	border: 0;
	width: 35px;
	height: 35px;
	top: 10px;
	position: absolute;
}

div.poi-info .floor {
	font-size: 60%;
}

div.poi-info .description {
	font-size: 80%;
	padding-top: 10px;
}

div.poi-info .groups {
	padding-bottom: 4px;
	display: inline;
}

.poi-info .show-path {
	margin: 10px 10px;
	background-repeat: no-repeat;
	padding-top: 47px;
	font-size: 50%;
	width: 60px;
	height: 47px;
	line-height: 100%;
	text-align: center;
	position: static;
	top: 0px;
	right: 0px;
	z-index: 2;
}

div.poi-info .logo {
	margin: 0px 10px;
	height: 100px;
	width: 128px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

div.poi-info div.hasBackground .logo {
	margin-top: -95px;
}

div.poi-info div.hasBackground div.show-path {
	top: 130px;
}

/* Building-info description */
#building-info {
	height: inherit;
	padding-bottom: 15px;
}

#building-info .description {
	font-size: 80%;
}

#building-info .address {
	font-size: 70%;
}

.background {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 0%;
	width: 100%;
	height: 30%;
	margin-bottom: 5px;
	min-height: 130px;
}

div.poi-info div.title {
	font-size: 110%;
	margin-bottom: 10px;
	position: relative;
	min-height: 60px;
	display: inline-block;
	padding-right: 60px;
}

#building-info-tab .logo {
	margin-bottom: 10px;
	margin-right: 10px;
	width: 30%;
	height: 120px;
	max-width: 150px;
	min-width: 120px;
	float: left;
	margin-top: -90px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.deal {
	display: block;
	margin: 10px;
	width: auto;
	height: 128px;
	text-decoration: none;
	vertical-align: top;
	overflow: hidden;
}

.deal .image {
	width: 128px;
	height: 128px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-right: 5px;
	float: left;
}

/* Highlighting for elements without translation */
.no-translation {

}

/* Debug log */
#log {
	display: none;
	background-color: white;
	color: black;
	height: 150px;
	position: absolute;
	z-index: 2;
	overflow: auto;
	border: 2px solid #303030;
	border-top: 5px solid black;
}

#log-content {
	font-size: 12px;
	padding: 3px;
}

#log-content div {
	height: 15px;
	width: 100%;
}

div.deal div.slogan {
	padding: 5px;
	font-size: 75%;
}

#deals-tab .no_deals{
	height: 25px;
	width: 250px;
	margin: auto;
	margin-top: 25px;
	text-align: center;
	background-repeat: no-repeat;
	background-position: 50% 0;
}

.deals {
	padding-bottom: 0.5rem;
}

#map_poi_info {
	width: 200px;
	height: 65px;
	position: absolute;
	top: 0;
	margin: auto;
	left: 50%;
	margin-left: -115px;
	overflow: hidden;
	display: none;
}

#map_poi_info.hasLogo div.logo {
	width: 54px;
	height: 54px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 0%;
	margin: 5px;
	float: left;
}

#map_poi_info div.title {
	float: left;
	margin-top: 5px;
	margin-left: 5px;
	float: left;
}

#map_poi_info.hasLogo div.title {
	width: 128px;
}

#map_poi_info span.groups {
	font-size: 75%;
}

#map_poi_info div.close {
	width: 30px;
	height: 30px;
	position: absolute;
	top: 5px;
	right: 5px;
	background-repeat: no-repeat;
	background-position: 50% 0%;
}

div.scrollbar {
    height: inherit;
    position: absolute;
}

#notifications {
	display: none;
	position: absolute;
	bottom: 5px;
	left: 20%;
	z-index: 2;
	width: 60%;
	height: 32px;
	padding: 4px;
}

#window {
	position: absolute;
	z-index: 10;
	display: none;
}

#window iframe {
	border: 0;
}

.screensaver {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 100;
	display: none;
}