﻿html, body {
	height: 100%;
	margin: 0;
	display: flex;
	flex-direction: column;
}

/* Keep navbar above map/content on mobile */
.navbar {
	position: relative;
	z-index: 2000;
}

/* Force mobile menu background to be solid white */
@media (max-width: 991.98px) {
	.navbar-collapse {
		background: #ffffff !important;
		padding: 0.5rem 1rem;
	}
}

th.center {
	text-align: center;
}

td.center {
	text-align: center;
}

ul.navbar-nav {
	padding: 10px;
}




/* roboto-condensed-300 - latin_latin-ext */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 300;
	src: url('/fonts/roboto-condensed-v31-latin_latin-ext-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-regular - latin_latin-ext */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 400;
	src: url('/fonts/roboto-condensed-v31-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-500 - latin_latin-ext */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 500;
	src: url('/fonts/roboto-condensed-v31-latin_latin-ext-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-700 - latin_latin-ext */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 700;
	src: url('/fonts/roboto-condensed-v31-latin_latin-ext-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body {
	font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, Tahoma, sans-serif;
	font-size: 14pt;
	letter-spacing: -0.05rem;
	color: #333;
}

/* Navbar */
.navbar {
	font-size: 18pt;
}

.navbar-brand {
	font-size: 20pt;
}

#topmap {
	width: 100%;
	height: 50vh !important; 
	background-color: #ddd; 
	position: relative;
}

#content {
	flex-grow: 1;
	padding: 0.25rem 0;
}

footer {
	font-size: 16pt;
	margin-top: auto; 
	padding: 1rem 0;
	background-color: #f8f9fa; 
	text-align: center;
}

	footer a {
		text-decoration: none;
	}

.tempwindwrapper {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	height: 200px;
	font-weight: normal;
	font-family: "Roboto Condensed","Helvetica Neue",Helvetica,Arial,Tahoma,sans-serif;
	top: -28px;
	left: -35px;
}

.tempwrapper {
	position: absolute;
	text-align: center;
	font-size: 40px;
	top: 56px;
	left: 35px;
	padding: 10px 10px;
	letter-spacing: -4px; /* Reduce character spacing */
}

	.tempwrapper.freeze {
		color: #ee0033;
	}

.windwrapper {
	position: absolute;
	top: 10px;
	left: 30px;
}

	.windwrapper .wsspot {
		position: absolute;
		z-index: 100;
		text-align: center;
		top: 36px;
		left: 118px;
		width: 60px;
		font-size: 42px;
		letter-spacing: -4px; /* Reduce character spacing */
	}

		.windwrapper .wsspot.w, .windwrapper .uom.w {
			color: #fff;
		}

	.windwrapper .uom {
		position: absolute;
		z-index: 100;
		top: 82px;
		left: 138px;
		font-size: 14px;
		font-weight: normal;
	}

.markerwrapper {
	font-weight: normal;
	font-size: 14px;
	font-family: "Roboto Condensed","Helvetica Neue",Helvetica,Arial,Tahoma,sans-serif;
	height: 180px;
}

	.markerwrapper a {
		text-align: left;
	}

.markertitle {
	font-weight: normal;
	font-size: 20px;
	font-family: "Roboto Condensed","Helvetica Neue",Helvetica,Arial,Tahoma,sans-serif;
}

.markertitletype {
	margin-top: 1px;
	padding: 0 25px 0 0;
	font-family: "Roboto Condensed","Helvetica Neue",Helvetica,Arial,Tahoma,sans-serif;
	font-size: 11px;
	line-height: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #7a7a7a;
}

.leaflet-popup-content {
	width: 224px !important; /* Enforce specific width */
}

	.leaflet-popup-content p {
		margin: 0px;
	}

.leaflet-popup-content {
	width: 320px;
}

.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 0px;
}

.leaflet-container .btn-outline-secondary {
	border-radius: 0px;
	color: #333;
}

	.leaflet-container .btn-outline-secondary:hover {
		color: inherit;
		border: 2px solid #6c757d;
		background-color: #f8f9fa;
		margin: -1px;
	}

svg.full {
	width: 512px;
	height: 512px;
	display: inline-block;
	position: relative;
	background-color: transparent;
	fill: currentColor;
	padding-right: 3px;
}

.fullscreen-icon {
	background-image: url(data:image/svg+xml;charset-US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20viewBox%3D%220%200%20448%20512%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M447.7%20364l.3%20104c0%206.6-5.4%2012-12%2012l-104-.3c-6.6%200-12-5.4-12-12v-10c0-6.6%205.4-12%2012-12l58%20.3.7-.7L224%20278.6%2057.3%20445.3l.7.7%2058-.3c6.6%200%2012%205.4%2012%2012v10c0%206.6-5.4%2012-12%2012L12%20480c-6.6%200-12-5.4-12-12l.3-104c0-6.6%205.4-12%2012-12h10c6.6%200%2012%205.4%2012%2012l-.3%2058%20.7.7L201.4%20256%2034.7%2089.3l-.7.7.3%2058c0%206.6-5.4%2012-12%2012h-10c-6.6%200-12-5.4-12-12L0%2044c0-6.6%205.4-12%2012-12l104%20.3c6.6%200%2012%205.4%2012%2012v10c0%206.6-5.4%2012-12%2012L58%2066l-.7.7L224%20233.4%20390.7%2066.7l-.7-.7-58%20.3c-6.6%200-12-5.4-12-12v-10c0-6.6%205.4-12%2012-12l104-.3c6.6%200%2012%205.4%2012%2012l-.3%20104c0%206.6-5.4%2012-12%2012h-10c-6.6%200-12-5.4-12-12l.3-58-.7-.7L246.6%20256l166.7%20166.7.7-.7-.3-58c0-6.6%205.4-12%2012-12h10c6.6%200%2012%205.4%2012%2012z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A) !important;
	background-size: 14px 14px;
}

svg.bigicon {
	display: inline-block;
	position: relative;
	background-color: transparent;
	fill: currentColor;
	width: 42px;
	height: 42px;
	padding-right: 3px;
}

svg.logonicon {
	display: inline-block;
	position: relative;
	background-color: transparent;
	fill: currentColor;
	width: 32px;
	height: 32px;
	padding-right: 8px;
}

svg.icon {
	display: inline-block;
	position: relative;
	background-color: transparent;
	fill: currentColor;
	width: 26px;
	height: 26px;
	padding-right: 3px;
}

.spotlist svg.icon {
	display: block;
	margin: auto;
}

svg.iconwhite {
	display: inline-block;
	position: relative;
	background-color: transparent;
	fill: #fff;
	;
	width: 26px;
	height: 26px;
	padding-right: 3px;
}

.spotcompasswrapper {
	font-family: "Roboto Condensed","Helvetica Neue",Helvetica,Arial,Tahoma,sans-serif;
	position: relative;
	width: 150px;
	height: 50px;
}

	.spotcompasswrapper canvas {
		font-size: 40px;
		position: absolute;
		top: -85px;
		left: 96px;
	}

	.spotcompasswrapper .wsspot {
		position: absolute;
		z-index: 100;
		text-align: center;
		top: -45px;
		left: 215px;
		width: 60px;
		font-size: 40px;
	}

	.spotcompasswrapper .uom {
		position: absolute;
		z-index: 100;
		top: 0px;
		left: 234px;
	}

		.spotcompasswrapper .uom.w, .spotcompasswrapper .wsspot.w {
			color: #fff;
		}

.hvr-icon-forward {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	-webkit-transition-duration: 0.1s;
	transition-duration: 0.1s;
}

	.hvr-icon-forward .hvr-icon {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		-webkit-transition-duration: 0.1s;
		transition-duration: 0.1s;
		-webkit-transition-property: transform;
		transition-property: transform;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
	}

	.hvr-icon-forward:hover .hvr-icon, .hvr-icon-forward:focus .hvr-icon, .hvr-icon-forward:active .hvr-icon {
		-webkit-transform: translateX(4px);
		transform: translateX(4px);
	}

div.wind {
	position: relative;
	top: -83px;
	font-size: 28px;
	letter-spacing: -1px;
	margin-left: -2px;
	margin-right: auto;
}

div.tempc, div.tempf {
	line-height: 18px;
	font-size: 48px;
	letter-spacing: -1px;
	margin-left: auto;
	margin-right: auto;
}

	div.tempc:after {
		content: "\00b0 C";
		vertical-align: super;
		font-size: 12px;
		letter-spacing: 1px;
	}

	div.tempf:after {
		content: "\00b0 F";
		vertical-align: super;
		font-size: 12px;
		letter-spacing: 1px;
	}


td[c^="-"], td[c="0"] {
	color: #ee0033;
}

td.tempc:after {
	content: "\00b0 C";
	vertical-align: super;
	font-size: 8px;
	letter-spacing: 1px;
}

td.tempf:after {
	content: "\00b0 F";
	vertical-align: super;
	font-size: 8px;
	letter-spacing: 1px;
}

.localmap table td.tempc:after {
	content: "\00b0 C";
	vertical-align: super;
	font-size: 12px;
	letter-spacing: 1px;
}

.localmap table td.tempf:after {
	content: "\00b0 F";
	vertical-align: super;
	font-size: 12px;
	letter-spacing: 1px;
}



table.windchart {
	width: 100%;
	BORDER-TOP: #bababa 1px solid;
	BORDER-LEFT: #bababa 1px solid;
	BORDER-RIGHT: #bababa 1px solid;
}

	table.windchart td {
		text-align: center;
	}

		table.windchart td.text {
			font-size: 12px;
		}

table.chart td.title {
	color: #777;
	background: white;
	text-align: left;
}

table.chart td {
	white-space: nowrap;
	vertical-align: middle; /* Centers vertically */
}


table.chart tr td:not(:first-child) {
	text-align: center;
}

table.chart tr.daterow td {
	font-weight: bold;
}

/* http://www.ficml.org/jemimap/style/color/wheel.html */
td.p {
	background: #ff11ee;
	color: #fff;
	text-align: center;
}

td.o {
	background: #ee0088;
	color: #fff;
	text-align: center;
}

td.n {
	background: #ff1177;
	color: #fff;
	text-align: center;
}

td.m {
	background: #ee0033;
	color: #fff;
	text-align: center;
}

td.l {
	background: #ff2200;
	color: #fff;
	text-align: center;
}

td.k {
	background: #ff6600;
	color: #000;
	text-align: center;
}

td.j {
	background: #ffaa00;
	color: #000;
	text-align: center;
}

td.i {
	background: #ffee11;
	color: #000;
	text-align: center;
}

td.h {
	background: #ddff11;
	color: #000;
	text-align: center;
}

td.g {
	background: #55ff22;
	color: #000;
	text-align: center;
}

td.f {
	background: #11ff88;
	color: #000;
	text-align: center;
}

td.e {
	background: #00ffff;
	color: #000;
	text-align: center;
}

td.d {
	background: #1188ff;
	color: #ffffff;
	text-align: center;
}

td.c {
	background: #0033ff;
	color: #ffffff;
	text-align: center;
}

td.b {
	background: #0000ff;
	color: #ffffff;
	text-align: center;
}

td.a {
	background: #0000aa;
	color: #ffffff;
	text-align: center;
}

.direction {
	background: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%20-0.0166403%2061%2060.0333%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20width%3D%2230px%22%20height%3D%2230px%22%3E%0A%09%3Cg%20fill%3D%22none%22%3E%0A%09%09%3Cpath%20style%3D%22stroke-width%3A%201.5px%3B%22%20stroke%3D%22%23333%22%20d%3D%22M%2029.6133%2011.4802%20l%2014.3867%2037.6448%20l%20-14.1933%20-15.617%20l%20-13.8067%2015.617%20l%2013.6133%20-37.6448%20Z%22%20%2F%3E%0A%09%3C%2Fg%3E%0A%3C%2Fsvg%3E) no-repeat;
	display: inline-block;
	width: 30px;
	height: 30px;
	background-position: 0px 0px;
}



	.direction.n {
		transform: rotate(-180deg);
	}

	.direction.nne {
		transform: rotate(-157.5deg);
	}

	.direction.ne {
		transform: rotate(-135deg);
	}

	.direction.ene {
		transform: rotate(-112.5deg);
	}

	.direction.e {
		transform: rotate(-90deg);
	}

	.direction.ese {
		transform: rotate(-67.5deg);
	}

	.direction.se {
		transform: rotate(-45deg);
	}

	.direction.sse {
		transform: rotate(-22.5deg);
	}

	.direction.s {
		transform: rotate(0deg);
	}

	.direction.ssw {
		transform: rotate(22.5deg);
	}

	.direction.sw {
		transform: rotate(45deg);
	}

	.direction.wsw {
		transform: rotate(67.5deg);
	}

	.direction.w {
		transform: rotate(90deg);
	}

	.direction.wnw {
		transform: rotate(112.5deg);
	}

	.direction.nw {
		transform: rotate(135deg);
	}

	.direction.nnw {
		transform: rotate(157.5deg);
	}

div.timewrapper {
	position: relative;
}

div.time {
	display: none;
	position: absolute;
	width: 60px;
	font-size: small;
	text-align: center;
}


div.timewrapper {
	width: 80px;
	height: 70px;
}


a.leaflet-control-measure svg {
	width: 22px;
}

@media( max-width: 768px ) {

	.leaflet-popup-content {
		width: 200px !important; /* Enforce specific width */
	}

	table.chart {
		width: 100%;
	}

		table.chart td:nth-child(1) span {
			display: none;
		}

		table.chart td {
			font-size: 18px;
			padding: 4px;
			line-height: 1.0;
		}

	#bchart {
		top: 280px;
	}
}

table.chart tr td:first-child {
	background-color: #f7f7f7;
}

.flexheader {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}

td.cc {
	text-align: center;
	vertical-align: middle;
}

.cloud-donut {
	margin-left: auto;
	margin-right: auto;
}

.cloud-donut {
	--p: 0; /* percent 0..100 */
	--size: 32px;
	inline-size: var(--size);
	block-size: var(--size);
	border-radius: 50%;
	background: conic-gradient(var(--donut-color, #6c757d) calc(var(--p)*1%), #e9ecef 0);
	display: grid;
	place-items: center;
	font-size: 11px;
	color: #212529;
}

	.cloud-donut > span {
		transform: translateY(0.5px);
	}

.weathercard {
	width: 200px;
	background: #fff;
	border-radius: 0px;
	box-shadow: 0 2px 2px rgba(15,23,42,0.35);
	padding: 10px 12px;
	margin: 10px 10px;
	text-align: center;
}

.moonDateText {
	font-weight: 600;
	margin-bottom: 4px;
}

canvas {
	display: block;
	margin: 0 auto;
}

.moonPhase {
	margin-top: 6px;
}

.moonContent {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 600;
	margin-bottom: 4px;
}

.moonNav {
	cursor: pointer;
	user-select: none;
	padding: 0 4px;
	font-size: 1.1rem;
}

	.moonNav:hover {
		opacity: 0.7;
	}

.sun-date {
	font-weight: 600;
	margin-bottom: 2px;
}

.sun-bottom {
	display: flex;
	justify-content: space-between;
	margin-top: -2px; /* pull labels closer to arc */
}

.sun-col {
	text-align: left;
}

	.sun-col:last-child {
		text-align: right;
	}

.sun-label-title {
	font-size: 14px;
	margin-bottom: 0;
}

.sun-label-time {
	font-weight: 700;
	margin-top: -1px;
}

nav {
	height: 60px;
}

