
body {
	overflow: hidden;
	color: #444;
}

a {
	color: #444;
}

.btn-custom {
	background: #bd0926;
	color: white;
}

.btn-custom:hover {
	color: white;
}

.ts-map {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 100px;
	background: #777;
}

.footer {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100px;
	background: white;
	text-align: center;
	z-index: 10;
	box-shadow: 0 0 10px rgba(0,0,0,0.4);
	color: #777;
	font-size: 10px;
	padding: 10px;
}

.footer img {
	display: block;
	margin: 0 auto;
	height: 60px;
}

h1 {
	font-size: 20px;
}

img {
	max-width: 100%;
}

.flag {
	position: fixed;
	z-index: 1000;
	top: 1rem;
	right: 1rem;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	
	box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
	overflow: hidden;
}


.item-popup {
	display: block;
	text-align: center;
	width: 150px;
	color: #555;
	cursor: pointer;
}

.item-popup img {
	display: block;
	max-width: 100%;
	margin-bottom: 0.5rem;
}

.top {
	text-align: center;
}

.top img {
	height: 160px;
}


.sidebar {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #fff;
	width: 300px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	z-index: 100;
	border-radius: 10px;
	overflow: hidden;
}

.sidebar .scrollbar {
	max-height: calc(100vh - 20px);
	overflow: auto;
}

.sidebar:after {
	content: ' ';
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); 
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 15px;
}

.sidebar .top {
	padding: 10px;
}

.sidebar .content {
	position: relative;
	display: none;
	padding: 10px;
	font-size: 14px;
	color: #333;
	line-height: 140%;
}


.sidebar .content .loading {
	position: absolute;
	background:rgba(255, 255, 255, 0.7);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


.sidebar .content .section {
	margin: 10px 0;
}

.sidebar .content .trip-info span {
	font-size: 1.2em;	
	display: inline-block;
	margin-right: 10px;
}

.sidebar .content .close {
	float: right;
	cursor: pointer;
	font-size: 2em;
	margin: -10px 0 10px 10px;
	color: #555;
}

.legend {
	padding: 10px;
	background: white;
	position: fixed;
	right: 10px;
	transform: translateY(-50%);
	top: 50%;
	z-index: 20;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	border-radius: 10px;
}

.legend .title {
	font-weight: bold;
	font-family: "Myriad Pro", "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
	color: #bd0926;
	margin-bottom: 10px;
}

.legend .title img {
	height: 30px;
}

.legend ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.legend ul li {
	padding: 5px 0;
}

.legend ul li label {
	display: flex;
	align-items: center;
}

.legend ul img {
	height: 32px;
	display: inline-block;
	margin: 0 6px;
}

.legend span {
	display: inline-block;
	width: 160px;
	color: #444;
	font-size: 0.9rem;
}

ul.contact  {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.contact  li {
	padding: 5px 0;
	border-bottom: 1px solid #ccc;
}

ul.contact span {
	display: inline-block;
	color: #bd0926;
	margin-right: 5px;
}