
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: url(fonts/Poppins/pxiDyp8kv8JHgFVrJJLmr19VFteOcEg.woff2) format('woff2');
	unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: url(fonts/Poppins/pxiDyp8kv8JHgFVrJJLmr19VGdeOcEg.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: url(fonts/Poppins/pxiDyp8kv8JHgFVrJJLmr19VF9eO.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(fonts/Poppins/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format('woff2');
	unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(fonts/Poppins/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(fonts/Poppins/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html, body {
	padding: 0px;
	margin: 0px;
	min-height: 100%!important;
	height: 100%!important;
	background-color: #ffffff;
	font-family: "Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
	font-size: 16px;
	color: #333;
	line-height: 1.44em;
	scroll-behavior: smooth;
}
h1,h2,h3,h4 { font-family: Poppins; line-height: 1em; }
h1 { font-size: 1.7em; font-weight: 600; }
h2 { font-size: 1.4em; font-weight: 600; margin-bottom: 0.5rem; }
h3 { font-size: 1.2em; margin-top: 2rem; }
h1 + p, h2 + p, h3 + p { margin-top: 1rem; }
strong { font-weight: 700; }
em { font-style: italic; }
a { color: #18AD87; text-decoration: underline; }
.bold { color: #18AD87; }
p, time, li, td, th, footer, div { font-weight: 300; }
p { margin-bottom: 1em; }
button, .button { border: 0px; font-size: 1em; background-color: #efefef; color: black; text-decoration: none!important; display: inline-block; padding: 0.5em 1em; cursor: pointer; vertical-align: top; line-height: 1.25em; }
a:hover, a:focus { text-decoration: underline; }
a:visited { color: inherit; }
header a { text-decoration: none; }
footer { width: 100%; padding: 1em; padding-bottom: 3em; }
footer h2 + p { margin-top: 1em; }
footer a { color: #1DD3A7; }
header a { line-height: 0; }
.msg { text-align:center; padding: 0.5em; }

.holder { position: relative; width: 1080px; max-width: 100%; margin: auto; }
button, .button { margin-top: 0.25em; border: 0px; font-size: 1em; background-color: #efefef; color: black; text-decoration: none!important; display: inline-block; padding: 0.5em 1em; cursor: pointer; }
a.button:hover, button:hover, button:focus, a.button:focus { background-color: #333333!important; color: #efefef!important; }
.b1-bg { background-color: #000000; color: white!important; }
.b2-bg { background-color: #333333; color: white!important; }
.bk-bg { background-color: #6D6D6D; color: white!important; }
.b3-bg, .github:hover { background-color: #999999; color: black!important; }
.b4-bg { background-color: #bbbbbb; color: black!important; }
.b5-bg, .off label { background-color: #dfdfdf; color: black!important; }
.b6-bg { background-color: #ffffff; color: black!important; }
.c1-bg, .elsewhere .facebook:hover, .c1-bg-hover:hover, .c1-bg:visited, .seasonal, .seasonal:visited, .seasonal:hover { background-color: #2254F4; color: white; }
.c2-bg, .c2-bg-hover:hover, .c2-bg:visited { background-color: #178CFF; color: black; }
.c3-bg, .elsewhere .twitter:hover, .c3-bg-hover:hover, .c3-bg:visited { background-color: #00B6FF; color: black; }
.c4-bg, .c4-bg-hover:hover, .c4-bg:visited, .seasonal-accent, .seasonal-accent:hover, .seasonal-accent:visited { background-color: #08DEF9; color: black; }
.c5-bg, .c5-bg-hover:hover, .c5-bg:visited { background-color: #1DD3A7; color: black; }
.c6-bg, .c6-bg-hover:hover, .c6-bg:visited { background-color: #0DBC37; color: black; }
.c7-bg, .c7-bg-hover:hover, .c7-bg:visited { background-color: #67E767; color: black; }
.c8-bg, .c8-bg-hover:hover, .c8-bg:visited { background-color: #722EA5; color: white; }
.c9-bg, .c9-bg-hover:hover, .c9-bg:visited, .instagram:hover { background-color: #E6007C; color: white; }
.c10-bg, .c10-bg-hover:hover, .c10-bg:visited, .flickr:hover { background-color: #EF3AAB; color: black; }
.c11-bg, .c11-bg-hover:hover, .c11-bg:visited { background-color: #D73058; color: white; }
.c12-bg, .c12-bg-hover:hover, .c12-bg:visited, .youtube:hover { background-color: #D60303; color: white; }
.c13-bg, .c13-bg-hover:hover, .c13-bg:visited { background-color: #FF6700; color: black; }
.c14-bg, .c14-bg-hover:hover, .c14-bg:visited { background-color: #F9BC26; color: black; }
.c12-bg, .on label { background-color: #D60303; color: white; }
.c12-bg:hover, .c12-bg:focus { background: #444; color: white; }
.padded { padding: 1em; }
.padded-bottom { padding: 1em; margin-bottom: 1em; }
.doublepadded { padding: 2em; }
.tallpadded { padding-top: 2em; padding-bottom: 2em; }
.centred { text-align: center; }
.message { filter: drop-shadow(0px 0px 1px rgb(95, 82, 7)); border-radius: 4px; }
.message > * { padding: 0.5em; text-align: center; }
.warning { color: rgb(95, 82, 7); background-color: rgb(251, 245, 208); }
.error { color: #721c24; background-color: #f8d7da; filter: drop-shadow(0 0 1px #f5c6cb)); }

#options .message { margin-bottom: 6px; }
#options .message + h2 { margin-top: 1rem; }

/* Use CSS Grid */
.grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: auto;
	grid-gap: 1em;
	list-style: none;
	order: 1;
	margin: 0px;
	padding: 0px;
}
ol { margin-left: 1.5em; margin-bottom: 1rem; }
ul.grid { margin-bottom: 1rem; }
.grid li { display: block; padding: 1.5em; text-decoration: none; height: 100%; background: #dfdfdf; }
.grid li *:first-child, .grid a *:first-child { margin-top: 0; }
.grid li *:last-child, .grid a *:last-child { margin-bottom: 0; }
.grid a:focus { outline: 4px solid #2254F4; }

.flexy { text-align: center; display: flex; gap: 1em; flex-wrap: wrap; flex-direction: row; align-items: stretch; }
.flexy > * { flex-grow: 4; margin: 0; }
.flexy > * > *:first-child { margin-top: 0; }
.flexy > * > *:last-child { margin-bottom: 0; }

.flexy .row { width: 160px; flex-grow: 1; }

.dashboard { margin-bottom: 1rem; }
.dashboard li { padding: 1rem; }
.dashboard h3 + .number { margin-top: 0.5rem; display: block; }
.dashboard .number { font-size: 3rem; line-height: 1em; }
.dashboard > * { background: #E6007C; color: white; }
.number,.heading { font-family: Poppins; }

.table-wrapper { max-width: 100%; overflow-x: auto; }
table { width: 100%; margin: 1em 0; }
table th { background: #ddd; color: black; }
table td, table th { border: 1px solid #ccc; padding: 0.25em 0.5em; color: black; vertical-align: top; }
table tr:hover td { background: #e9dbf0; }
table tr { cursor: pointer; }
td.num { text-align: center; }
.sorted-dn::after { content: "▼"; }
.sorted-up::after { content: "▲"; }
header a, header a:visited { color: inherit; }
.cen { text-align: center; }
table td a { display: block; color: inherit; }

.date { text-align: center; margin: 0 0 1em 0; font-weight: 600; }

blockquote { min-height: auto!important; background: #efefef; padding: 1em 3em; margin-bottom: 1em; position: relative; quotes: "\201C""\201D""\2018""\2019"; }
blockquote:before { content: open-quote; left: 0.25em; }
blockquote:after { content: close-quote; right: 0.25em; }
blockquote:before, blockquote:after { color: #ccc; position: absolute; top: 0.6em; line-height: 0.1em; font-size: 4em; }
blockquote footer { padding: 1em 0 0 0; }
blockquote cite:before { content: "-- "; }
blockquote a { color: inherit; }
blockquote:last-child { margin-bottom: 0; }
figure { margin: 2em 0; }
figure img { width: 100%; }
figcaption {
	font-size: 0.8em;
	color: #999999;
	text-align: center;
}


/* Layout */
* > * + *:last-child { margin-bottom: 0; }
.padded h2:last-child, .doublepadded h2:last-child { margin-bottom: 0; }
#main {
  display: grid; 
  grid-template-columns: 1fr 640px;
  gap: 0;
}
.mapping { grid-row: 1 / 2; position: relative; }
.map-holder { position: sticky; top: 0; }
.config { min-width: 360px; }
#map { width: 100%; height: 680px; max-height: 100vh; border-radius: 0px; }
#map-message { position: fixed; bottom: 0; width: 100%; z-index: 1000; overflow-y: auto; max-height: 10rem; border-radius: 0; text-shadow: none; }

.title-bar { display:flex; gap:0.5rem; }
.title-bar > * { align-self:center; }
.title-bar svg { width: 2em; height: 2em; }


.resizer {
	height: 100%;
	width: 0.8em;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate3d(50%,0,0);
	cursor: col-resize;
	user-select: none;
	z-index: 2000;
}
.resizer:after {
	display: none;
	content: "";
	color: #999;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%,-50%,0);
	width: 12px;
	height: 32px;
	background: 
		linear-gradient(to bottom,white 10%,transparent 10%,transparent 90%, white 90%),
		linear-gradient(to right,white 20%,transparent 40%,transparent 60%, white 80%),
		linear-gradient(to bottom,transparent,transparent 92%,#999 92%,#999 100%),
		white;
	background-size: cover, cover, 100% 8px;
	position: absolute;
	border-radius: 4px;
	filter: drop-shadow(0px 0px 1px rgb(95, 82, 7));
}
.resizer:hover:after { display: block; }



input.leaflet-control-layers-selector {height:1em;}
.leaflet-retina .leaflet-control-layers-toggle, .leaflet-control-layers-toggle { width: 30px; height: 30px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-stack' viewBox='0 0 16 16'%3E%3Cpath d='m14.12 10.163 1.715.858c.22.11.22.424 0 .534L8.267 15.34a.6.6 0 0 1-.534 0L.165 11.555a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.66zM7.733.063a.6.6 0 0 1 .534 0l7.568 3.784a.3.3 0 0 1 0 .535L8.267 8.165a.6.6 0 0 1-.534 0L.165 4.382a.299.299 0 0 1 0-.535z'/%3E%3Cpath d='m14.12 6.576 1.715.858c.22.11.22.424 0 .534l-7.568 3.784a.6.6 0 0 1-.534 0L.165 7.968a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0z'/%3E%3C/svg%3E"); background-size: 50%; }
.leaflet-control-layers-expanded { padding: 10px; }
.leaflet-control-layers fieldset { border: 0; }
.leaflet-control-layers legend { margin: 0 0 4px 0; font-weight: bold; font-family: Poppins; line-height: 1em; }
.leaflet-control-layers-separator { margin: 10px -10px; }
.control-tiles label { margin-top: 4px; }
.control-tiles .leaflet-control-layers-selector { opacity: 0.01; position: absolute; }
.control-tiles .leaflet-control-layers-selector + span { display: block; position: relative; cursor: pointer; line-height: 40px; border-radius: 2px; overflow: hidden; padding-right: 0.25em; }
.control-tiles .leaflet-control-layers-selector + span img { float: left; width: 40px; height: 40px; margin-right: 0.25em; position: relative; }
.control-tiles .leaflet-control-layers-selector:checked + span { outline: 2px solid #e6007c; background: #efefef; }
.leaflet-bottom .leaflet-control-scale { margin: 10px; }
.leaflet-control-scale-line { color: white; background: rgba(0, 0, 0, 0.5); border-color: white; font-size: 0.8em; text-shadow: none; }
.leaflet-control-scale-line:not(:first-child) { border-color: white; }

.doublepadded + .doublepadded,.padded + .padded { padding-top: 0; }
.question { display: block; }
.hint { color: #888; }
#options .row input[type=text] { font-size: 1.5em; width: 160px; }


	
.filter-container { text-align: right; }
.table-heading { text-align: left; }
.filter-label { position: absolute; margin-top: 0.5rem!important; margin-left: 0.5rem; }
.filter { padding-left: 1.75rem; }

.drop { outline: 4px dashed #E6007C; }
select { font-size: 1em; line-height: 2em; }
input { font-size: 1em; line-height: 1.5em; height: 2em; display: inline-block; }
button { height: 3em; margin-top: 0; line-height: 1em; border-radius: 4px; }
#place-search form { text-align: center; }
#place-search form > *:last-child { margin-bottom: 0; }
#place-search form label { margin-right: 0.5em; }
#place-search form input[type=text] { width: 250px; }
#place-search .typeahead-results { max-width: calc(50vw - 2em); min-width: 250px; }
#place-search .typeahead-results > ol {
	position: relative;
	max-width: calc(50vw - 2em);
	z-index: 1000;
	overflow: hidden;
}
.outlined { border: 1px solid #E6007C; max-width: calc(100% - 4em); }
.typeahead-results {
	position: absolute;
	z-index: 1000;
	background: white;
	min-width: 100%;
	box-shadow: 0px 4px 4px rgba(0,0,0,0.15);
	text-align: left;
}
.typeahead-results { overflow-y: auto; max-height: 300px; }
.typeahead-results ol { list-style: none; margin: 0px; padding: 0px; }
.typeahead-results li > button { background: #efefef; text-decoration: none; display: block; color: inherit; border: 0; width: 100%; height: auto; font-size: 1em; cursor: pointer; }
.typeahead-results li.selected > button { background-color: #444; color: white; }
.typeahead-results li .item span {
	display: block;
	text-align: left;
	padding: 0.25em 0.5em;
}
.typeahead-results > ol > li .item { display: block; text-decoration: none; color: inherit; border: 0; padding: 0.25em 0.5em; padding-right: 1.5em; width: 100%; text-align: left; line-height:2em; }
.typeahead-results li.selected > .item { background-color: #444; color: white; }
.typeahead-results > ol > li.selected { background: #dfdfdf; }


.leaflet-container { font-size: 1rem; font-weight: 300; }
.leaflet-popup-content { margin: 1em; }
.leaflet-popup-content table td:first-child { padding-right: 0.5em; }
.leaflet-popup-content ul { margin: 0px!important; margin-bottom: 0px!important; list-style: none; padding: 0px; }
.leaflet-popup-content ul li { margin: 0px; list-style: none; padding: 0px; }
.leaflet-popup-content-wrapper {
        border-radius: 0px;
        font-size: 1em;
}
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
        box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);
}
.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar, .leaflet-area-selector-control .leaflet-button { border: 2px solid rgba(0,0,0,0.2); border-radius: 4px; background: white; }
.leaflet-control-search .leaflet-bar, .leaflet-area-selector-control .leaflet-bar, .leaflet-control-circle .leaflet-bar, .leaflet-control-draw-polygon .leaflet-bar { border: 0; }
.leaflet-container.crosshair-cursor-enabled { cursor:crosshair; }
.leaflet-container .leaflet-control-attribution { font-size: 0.8rem; background: rgba(0, 0, 0, 0.5); color: #dfdfdf; margin-left: 8.5em; text-align: right; }
.leaflet-control-attribution a { color: inherit; }

.area-select-marker, .area-select-ghost-marker { border-radius: 100%; }


.leaflet-place-name-layer-marker {
	font-family: Poppins;
	font-size: 1em;
	white-space: nowrap;
}
.leaflet-place-name-layer-marker > span {
	-webkit-text-stroke: 0.3em rgba(0,0,0,0.5);
	paint-order: stroke fill;
	mix-blend-mode: difference;
}
.leaflet-place-name-layer-marker > * {
	transform: translate3d(-50%,-50%,0);
	position: absolute;
	line-height: 1em;
}

.row { text-align: left; }
.row label { font-family: Poppins; }
.row input[type=text] {
	border: 1px solid #999;
	border-radius: 3px;
	padding: 0.25em 0.5em;
	font: inherit;
	line-height: 1.5em;
	font: inherit;
	padding: 0.25em 0.5em;
	max-width: 100%;
}
input:invalid {
	outline: 4px solid #D60303;
}

/* Draw polygon styles */
.leaflet-bar.leaflet-control-draw-polygon.open { border-color: #E6007C; }

/* Load Area styles */
.leaflet-control-search.open { border-color: #E6007C; }
.leaflet-control-search .typeahead-results li .item span.source { font-size: 0.8em; font-weight: bold; padding: 0.25em; line-height:1em; margin-left: 0.5em; font-family: Poppins; }
.ONS { background: #003d59; color: white; }
.OSM { background: #d4eeb7; color: black; }
/* End Load Area styles */

.spinner { position: absolute; z-index: 2000; color: #E6007C; left: 50%; top: 50%; transform: translate3d(-50%,-50%,0); font-size: 1.4rem; font-weight: bold; text-shadow: 1px 1px white, 1px 0px white, 1px -1px white, 0px 1px white, 0px -1px white, -1px 0px white, -1px 1px white, -1px -1px white, -1px 1px white, -1px 0px white; }

.footnote { font-size: 0.7em; border-top: 1px solid #777; padding-top: 0.25rem}
.spaces-marker, .spaces-group { font-size: 0.7em; font-family: Poppins; text-align: center; white-space: nowrap; padding: 0 0.4em; width: auto; transform: translate3d(-50%,-50%,0); display:inline-block;left: 50%; top: 50%; position: relative; border-radius: 4px; outline: 2px solid rgba(255,255,255,0.5); }
.matched { background-color: #722EA5; color: white; }
.not-matched { background-color: #ccc; color: black; }
.mixed { background-color: #bb96d3; color: black; }
.spaces-group {  }

.my-marker { background: #e6007c; }
.my-ghost { background: rgba(200,200,200,1); }
.little-button {
	border: 1px solid grey;
	display: inline-block;
	border: 2px solid rgba(0,0,0,0.2);
	padding: 0.25em;
	border-radius: 4px;
	line-height: 0;
}

footer ul, footer ol { list-style: disc; margin-bottom: 1em; }
footer ul li, footer ol li { margin-left: 2em; }

#tutorial { min-width: 300px; }
#tutorial > *:first-child { margin-top: 0; }
#tutorial > *:last-child { margin-bottom: 0; }

@media only screen and (max-width: 1020px) {
	#main { grid-template-columns: 100%!important; }
	#map { border-top-right-radius: 0!important; margin-top: 2rem; }
	.map-holder { padding: 0 2rem; }
	.resizer { display: none; }
	.grid { grid-template-columns: repeat(1, 1fr); }
}
/* A proxy for touch devices */
@media (hover: none) {
	.resizer { width: 30px; }
	.resizer:after { display: block; }
	.resizer:after { width: 30px; height: 60px; background-size: cover, cover, 100% 15px; border-radius: 8px; }
}
