
html {
	height: 100%;
	background: #fff;
}

body {
	background: #fff;
	margin: 0;
	position: relative;
	height: 100%;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 12px;
}

#topSection {
	display: block;
	position: absolute;
	top: -1px;
	left: 60px;
	right: 0px;
	height: 0px;
	z-index: 500;
}

	.tabButton {
		display: inline-block;
		position: relative;
		top: -5px;
		height: 25px;
		line-height: 18px;
		padding: 8px 10px 0px;
		background-color: #eee;
		border: 1px solid #ccc;
		border-bottom-right-radius: 4px;
		border-bottom-left-radius: 4px;
		border-top-width: 0px;
		cursor: pointer;
		font-size: 14px;
		font-weight: 600;
		box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
		color: #555;
		margin-left: 5px;
		-webkit-transition: top 0.1s ease-out;
		   -moz-transition: top 0.1s ease-out;
		     -o-transition: top 0.1s ease-out;
		        transition: top 0.1s ease-out;
	}

		.tabButton.active {
			background-color: #fff;
			color: #333;
			top: -2px;
		}

		.tabButton:hover {
			border-color: #999;
			color: #555;
			top: -2px;
		}

		.tabButton.active:hover  {
			color: #333;
		}

	.topButton {
		display: block;
		position: absolute;
		right: 10px;
		top: 10px;
		width: 26px;
		height: 26px;
		background-color: #fff;
		border-radius: 4px;
		line-height: 27px;
		text-align: center;
		font-size: 13px;
		cursor: pointer;
		border-radius: 4px;
		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
		padding: 0px;
	}

		.topButton span {
			display: none;
		}

		.topButton.active,
		.topButton:hover {
			background-color: #eee;
		}

		#fullscreen-advice {
			display: none;
		}

		@media (max-width: 400px) {

			.in-frame #topSection {
				background-color: rgba(255,255,255,0.9);
				left: 0px;
				right: 0px;
				top: 0px;
				bottom: 0px;
				min-height: 100%;
				min-width: 100%;
				z-index: 999997;
			}

			.in-frame #topSection .tabButton {
				display: none;
			}

			.in-frame .topButton {
				width: 100px;
				height: 100px;
				line-height: 105px;
				font-size: 80px;
				left: 50%;
				top: 50%;
				margin: -50px;
				background-color: #ac0000;
				color: #fff;
				border-radius: 10px;
				z-index: 999999;
			}

			.in-frame .topButton.active,
			.in-frame .topButton:hover {
				color: #fff;
				background-color: #cc0000;
			}

			.in-frame #fullscreen-advice {
				display: block;
				position: absolute;
				left: 20px;
				right: 20px;
				bottom: 80px;
				font-size: 30px;
				text-align: center;
				z-index: 999998;
			}


		}

#contentSection {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 14px;
	border: 1px solid #ccc;
}

	#middleSection {
		left: 0px;
		top: 0px;
		right: 0px;
		bottom: 50px;
		position: absolute;
	}

		.map {
			left: 0px;
			top: 0px;
			right: 300px;
			bottom: 0px;
			position: absolute;
			background: none;
		}

		#socialMap {
			display: none;
			right: 300px;
		}

			#socialMap .leaflet-popup-content {
				margin: 6px 10px;
			}

		#rightSocialDetails {
			display: none;
			position: absolute;
			top: 0px;
			width: 300px;
			right: 0px;
			bottom: 0px;
			overflow-x: auto;
		}

			#socialDetails {
				padding:0px 10px 10px 10px;
			}

				#socialDetails p {
					margin-top:0px;
				}

				#socialDetails #chart {
					position: relative;
					border-bottom: 1px solid #000;
					height: 50px;
					width: 264px;
					margin-bottom: 30px;
				}

					#socialDetails .barWrapper {
						position: absolute;
						height: 100%;
						width: 11px;
					}

					#socialDetails .bar {
						position: absolute;
						bottom: 0px;
						width: 100%;
						background: #aaa;
					}

						#socialDetails .barWrapper span {
							font-size: 10px;
							display: none;
							position: absolute;
							bottom: -33px;
							color: #000;
							text-align: center;
							width: 51px;
							left: -20px;
							line-height: 10px;
						}

							#socialDetails .barWrapper:hover .bar {
								background: #000 !important;
							}

							#socialDetails .barWrapper:hover span {
								display: block;
							}

						#socialDetails .bar.active {
							background: #666;
						}

		#rightCalendar {
			position: absolute;
			top: 0px;
			width: 50%;
			right: 0px;
			bottom: 0px;
			display: none;
			overflow-y: scroll;
			padding-bottom: 20px;
		}

			.week {
				float: left;
				margin-bottom: 20px;
				margin-left: 20px;
				border: 1px solid #eee;
				border-radius: 4px;
				padding: 4px;
			}

				.week h2 {
					font-size: 16px;
					text-align: center;
					margin: 0px;
					color: #aaa;
				}

				.week table {
					border-spacing: 0px;
				}

				.week th {
					font-size: 10px;
					color: #aaa;
					width: 14px;
					font-weight: normal;
				}

				.week td {
					border: 1px solid #fff;
					height: 3px;
					cursor: pointer;
				}

					.week td.active {
						border-color: #000;
					}

				.week.active {
					border: 1px solid #444;
				}

					.week.active h2 {
						color: #444;
					}

					.week.active th {
						color: #444;
					}

		#rightList {
			top: 0px;
			right: 0px;
			bottom: 0px;
			width: 300px;
			position: absolute;
		}

			#rightList table {
				border-collapse: collapse;
			}

				#rightList th, #rightList td {
					border: 1px solid #eee;
					padding: 1px 5px;
					text-align: right;
				}

			#comHairline {
				position: absolute;
				top: 0px;
				left: 0px;
				right: 0px;
				height: 120px;
				padding: 20px 0px 0px 0px;
				border-bottom: 1px solid #000;
				background: rgba(255,255,255,0.9);
				background: -moz-linear-gradient(top,  rgba(255,255,255,1) 70%, rgba(255,255,255,0.5) 100%);
				background: -webkit-gradient(linear, left top, left bottom, color-stop( 70%,rgba(255,255,255,1)), color-stop( 100%,rgba(255,255,255,0.5)));
				background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 70%,rgba(255,255,255,0.5) 100%);
				background: -o-linear-gradient(top,  rgba(255,255,255,1) 70%,rgba(255,255,255,0.5) 100%);
				background: -ms-linear-gradient(top,  rgba(255,255,255,1) 70%,rgba(255,255,255,0.5) 100%);
				background: linear-gradient(to bottom,  rgba(255,255,255,1) 70%,rgba(255,255,255,0.5) 100%);
				filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#80ffffff',GradientType=0 );
			}

				.explanation {
					display: block;
					position: relative;
					margin: 0px;
					padding: 10px 10px;
					color: #333;
					font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
					font-size: 15px;
					font-weight: normal;
					line-height: 1.1em;
					text-align: left;
				}
					.explanation p {
						margin: 0px 0px 10px 0px;
					}

					.explanation .small {
						font-size: 12px;
						opacity: 0.8;
						font-weight: normal;
						margin-bottom: 5px;
					}


			#comWrapper {
				position: absolute;
				top: 0px;
				left: 0px;
				right: 0px;
				bottom: 0px;
				overflow: hidden;
				padding-top: 140px;
			}

				#comList {
					margin-bottom: 1000px;
				}

				#comDetails {
					display: none;
					position: absolute;
					left: 60px;
					width: 200px;
					padding: 10px 10px 5px 10px;
					border-radius: 8px;
					background: rgba(255,255,255,0.95);
					border: 1px solid #eee;
					   -moz-box-shadow: 3px 3px 5px rgba(0,0,0,0.5);
					-webkit-box-shadow: 3px 3px 5px rgba(0,0,0,0.5);
					        box-shadow: 3px 3px 5px rgba(0,0,0,0.5);
				}

					#comDetails p {
						font-size: 12px;
						margin: 0 0 5px 0;
					}

					#comDetails a {
						color: inherit;
					}

		#contentSection.calendarView #map { right: 50%; }
		#contentSection.calendarView #rightList { display: none; }
		#contentSection.calendarView #rightCalendar { display: block; }

		#contentSection.socialView #map { display: none; }
		#contentSection.socialView #socialMap { display: block; }
		#contentSection.socialView #rightList { display: none; }
		#contentSection.socialView #rightCalendar { display: none; }
		#contentSection.socialView #rightSocialDetails { display: block; }
		#contentSection.socialView #middleSection { bottom: 0px; }
		#contentSection.socialView #bottomSection { display: none; }

	#bottomSection {
		position: absolute;
		left: 0px;
		right: 0px;
		height: 50px;
		bottom: 0px;
		background-color: #f6f6f6;
	}

		#bottomLeftControls {
			position: absolute;
			top: 0px;
			left: 0px;
			bottom: 0px;
			width: 240px;
		}

			#infoText {
				display: block;
				position: absolute;
				top: 5px;
				right: 17px;
				width: 150px;
				height: 20px;
				line-height: 20px;
				text-align: center;
				font-family: 'Menlo', 'Courier New', monospace;
				font-weight: normal;
				font-size: 14px;
				color: #666;
				background-color: #fefefe;
			}

			#playPauseButtons {
				position: absolute;
				top: 5px;
				left: 15px;
				width: 44px;
				height: 44px;
				cursor: pointer;
			}

				#playPauseButtons span {
					display: block;
					position: absolute;
					top: 0px;
					left: 0px;
					width: 41px;
					height: 41px;
					border-radius: 5px;
					text-align: center;
					line-height: 44px;
					font-size: 15pt;
					font-weight: 500;
					vertical-align: bottom;
					box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.3);
					background-color: #ac0000;
					color: #fff;
				}

					#playPauseButtons span:hover {
						background-color: #cc0000;
					}

				#playPauseButtons #playButton {
					padding-left: 3px;
					width: 38px;
				}

				#playPauseButtons #pauseButton {
					padding-left: 0px;
					width: 41px;
				}

				#playPauseButtons img {
					position: absolute;
					top: 0px;
					left: 0px;
				}

				#playPauseButtons #pauseButton {
					display: none;
				}

				#playPauseButtons.paused #playButton {
					display: none;
				}

				#playPauseButtons.paused #pauseButton {
					display: inline;
				}

			#speedButtons {
				position: absolute;
				bottom: 4px;
				right: 17px;
				width: 150px;
				height: 15px;
				border-radius: 3px;
				box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.3);
			}

				#speedButtons .speedButton {
					display: block;
					position: relative;
					float: left;
					width: 50px;
					height: 15px;
					font-size: 11px;
					line-height: 15px;
					text-align: center;
					background: #fcfcfc;
					color: #000;
					cursor: pointer;
				}

					#speedButtons .speedButton.active {
						background: #ac0000;
						color: #fff;
					}

					#speedButtons .speedButton:hover {
						background: #cc0000;
						color: #fff;
					}

					#speedButtons #speedButton1 {
						border-top-left-radius: 3px;
						border-bottom-left-radius: 3px;
					}

					#speedButtons #speedButton3 {
						border-top-right-radius: 3px;
						border-bottom-right-radius: 3px;
					}


		#scrollContainer {
			height: 48px;
			left: 240px;
			right: -1px;
			bottom: -1px;
			position: absolute;
			border: 1px solid #ccc;
			-webkit-border-top-left-radius: 4px;
			-moz-border-radius-topleft: 4px;
			border-top-left-radius: 4px;
			overflow: hidden;
			cursor: pointer;
			background-color: #eee;
		}

			#scrollCanvas, #scrollImage {
				display: none;
				position: absolute;
				left: 0px;
				top: 0px;
				cursor: ew-resize;
			}

			#scrollHairLine {
				position: absolute;
				top: 0px;
				left: 0px;
				width: 50%;
				height: 48px;
				border-right: 1px solid #A00;
				background: rgba(255,255,255,0.9);
				background: -moz-linear-gradient(left,  rgba(255,255,255,1) 0%, rgba(255,255,255,0.7) 100%);
				background: -webkit-gradient(linear, left top, right top, color-stop( 0%,rgba(255,255,255,1)), color-stop( 100%,rgba(255,255,255,0.7)));
				background: -webkit-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.7) 100%);
				background: -o-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.7) 100%);
				background: -ms-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.7) 100%);
				background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.7) 100%);
				filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#80ffffff',GradientType=1 );
			}

#footer {
	position: absolute;
	height: 13px;
	left: 0px;
	right: 3px;
	bottom: 0px;
	font-size: 10px;
	text-align: right;
	color: #aaa;
	line-height: 1em;
}

	#footer a {
		color: #aaa;
	}

.unselectable {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
