html {
	/* text-rendering: optimizeLegibility !important; */
	-webkit-text-size-adjust: none !important;
	/* -webkit-font-smoothing: antialiased !important; */
}
body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-weight: 300;
	font-size: 16px;
	color: rgb(60,60,60);
}
h1, h2, h3 {
	font-weight: 500;
}
a, footer p {
	color: rgb(60,60,60);
}
a {
	text-decoration: none;
}
a:hover {
	color: rgba(0,0,0,1);
}
a:active,
a:focus {
	outline: none;
}

/* HEADER AND FOOTER */
header,
footer {
	position: fixed;
	background-color: rgba(255,255,255,0.8);
	z-index: 2000;
}
header {
	top: 0px;
	width: 100%;
	height: 50px;
	/* border-bottom: 1px solid rgba(0,0,0,0.1); */
	vertical-align: middle;
}
footer {
	bottom: 0px;
	width: 100%;
	height: 24px;
	text-align: center;
	/* border-top: 1px solid rgba(0,0,0,0.1); */
}
footer p {
	margin: 0;
	font-size: 12px;
	line-height: 24px;
}

/* LOGO/TITLE */
header h1 {
	display: inline-block;
	margin: 0 12px;
	padding: 0;
	line-height: 50px;
	font-size: 24px;
}
header h1 span {
	color: #3399ff;
}

/* HEAD NAVIGATION */
header nav {
	position: absolute;
	right: 0;
	display: inline-block;
}
header nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
header nav ul li {
	display: inline-block;
}
header nav ul li a {
	display: block;
	padding: 0 14px;
}
header nav ul li a > .material-icons {
	line-height: 50px;
}

/* CONTENT */
main {
	position: fixed;
	top: 0px;
	bottom: 21px;
	width: 100%;
	padding: 0;
	overflow: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 1000;
}
iframe {
	width: 100%;
	height: 100%;
	border: 0;
	overflow: hidden;
}
article,
section {
	margin: 0 auto;
	padding: 20px 20px 0 20px;
}

/* BUTTONS */
a.button {
	margin: 0 2px;
	color: #fff;
	background-color: #3399ff;
	-webkit-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
}
a.button:last-child {
	margin: 0;
}
a.button:hover {
	-webkit-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.4);
	-moz-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.4);
	box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.4);
}
a.button:active {
	-webkit-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
	box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
}

/* SCREEN DEPENDENT SIZING */
@media screen and (max-width:768px) {
	footer {
		height: 48px;
	}
	article {
		width: 90%;
	}
}
@media screen and (min-width:768px) {
	article {
		width: 60%;
	}
}
@media screen and (min-width:1280px) {
	article {
		width: 40%;
	}
}

/* GLOBAL CLASSES */
.justify {
	text-align: justify;
    text-justify: inter-word;
}

/* ERROR PAGES */
#error-message {
	padding: 50px;
	margin: auto;
	background-color: #fff;
}

/* LOADER */
#loader {
	position: absolute;
	width: 100%;
	height: 100%;
}
#loader img {
	position: relative;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
	transform: translateX(-50%);
}

/* BACKGROUND */
#bg1, #bg2 {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgb(245, 245, 245) no-repeat center center fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	z-index: -1
}

/* GOOGLE MAP */
div#map {
	padding: 0;
	margin: 0;
	width: 100%;
}

/* SCREEN DEPENDENT SIZING */
@media screen and (max-width:768px) {
	div#map {
		height: 250px;
	}
}
@media screen and (min-width:768px) {
	div#map {
		height: 250px;
	}
}
@media screen and (min-width:1280px) {
	div#map {
		height: 335px;
	}
}

/* WEATHER WIDGET */
#weather {
	margin: 64px 14px 14px;
	display: inline-block;
	background-color: rgba(255,255,255,0.8);
	text-align: center;
	border-left: 4px solid #3399ff;
	border-radius: 4px;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
}
#weather ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#weather ul li {
	margin: 10px 12px;
}
#weather li#city {
	font-size: 24px;
	font-weight: 500;
}
#weather li#description{
	font-size: 16px;
}
#weather li#temperature {
	font-size: 46px;
	font-weight: 500;
}
#weather li#additional table,
#weather li#min-max-temperature table {
	width: 100%;
}
#weather li#min-max-temperature table tr {
	line-height: 0.8em;
}
#weather li#min-max-temperature table tr td {
	width: 50%;
}
#weather li#min-max-temperature table tr td:first-child {
	border-right: 1px solid rgba(0,0,0,0.1);
}
#weather li#min-max-temperature table tr td#min-temperature {
	color: #3399ff;
}
#weather li#min-max-temperature table tr td#max-temperature {
	color: #D44444;
}
#weather li#additional {
	font-size: 12px;
}
#weather li#additional table tr td.key {
	text-align: right;
}
#weather li#additional table tr td.val {
	text-align: left;
}
#weather li#poweredby a {
	color: rgba(0,0,0,0.5);
	font-size: 9px;
}