/* base styles */

html
{
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*, *:before, *:after
{
	box-sizing: inherit;
	margin: 0;
	padding: 0;
}

body
{
	background: rgba(255,255,255, 1.0);
	color: #000000;
}

p, li, label
{
	line-height: 150%;
	font-family: 'gt-america-mono-light';
	font-size: 1rem;
	letter-spacing: -0.04rem;
}

ul
{
	margin-left: 1.25rem;
}

p:not(:first-child)
{
	margin-top: 1.25rem;
}

b, strong
{
	font-family: 'gt-america-mono-medium';
	font-weight: normal;
}

em, i
{
	font-style: normal;
	font-family: 'gt-america-mono-light-italic';
}

h1
{
	font-family: 'gt-america-mono-medium';
	letter-spacing: -0.04rem;
	font-size: 1.5rem;
	font-weight: inherit;
	margin-bottom: 2.5rem;
}

h1:not(:first-child)
{
	margin-top: 2.5rem;
}

h2
{
	font-family: 'gt-america-mono-medium';
	letter-spacing: -0.04rem;
	font-size: 1rem;
	font-weight: inherit;
	margin-bottom: 1.25rem;
}

h2:not(:first-child)
{
	margin-top: 2.5rem;
}

a
{
	color: #000000;
	cursor: pointer;
}

a:hover
{
	cursor: pointer;
}

hr
{
	border: none;
}

hr.main, hr.divider
{
	margin: 0.625rem 0;
}

hr.main
{
	border-top: 2px solid #000000;
}

hr.divider
{
	border-top: 1px solid #000000;
}

img
{
	display: block;
}

img.mascot
{
	margin: auto;
	left: 0;
	right: 0;
	width: 15rem;
	margin-top: 2.5rem;
}

p.results
{
	font-family: 'gt-america-mono-light-italic';
	color: rgba(0,0,0,0.48);
	margin-top: 2.5rem;
}

.button
{
	font-family: 'gt-america-mono-medium';
	font-size: 1rem;
	letter-spacing: -0.04rem;
	color: #000000;
	background-color: #ffffff;
	border-radius: 2.5rem;
	border: 1px solid #000000;
	box-shadow: 2px 2px #000000;
	padding: 0.625rem 0;
	text-align: center;
	text-decoration: none;
	pointer-events: auto;
	display: block;
	width: inherit;
	margin-top: 1.25rem;
}

*[class^='button']:hover
{
	color: #000000;
	background-color: #ffffff;
	border: 1px solid #000000;
	box-shadow: -2px -2px #000000;
}




/* listing styles */

#listings
{
	margin-top: 2.5rem;
}

.suburb
{
	font-family: 'gt-america-mono-light-italic';
	font-size: 0.75rem;
	color: rgba(0,0,0,0.48);
	text-transform: uppercase;
	letter-spacing: -0.01rem;
}

.place_header
{
	display: flex;
	align-items: top;
}

.place_open
{
	margin-left: auto;
}

.place_open img
{
	content: url('../img/ui/day/open.svg');
	width: 0.875rem;
}

.place_distance
{
	margin-left: auto;
	font-family: 'gt-america-mono-light-italic';
	color: rgba(0,0,0,0.48);
}

*[id^='place-content-']
{
	display: none;
}

*[id^='place-content-'] h2
{
	margin: 1.25rem 0 0.625rem 0;
}

*[id^='place-content-'] p
{
	margin: 0;
}

.place_image_container
{
	width: 100%;
	margin: 1.25rem 0;
}

.place_image_container img
{
	max-width: 100%;
}

.map_link
{
	width: 100%;
	margin-bottom: 1.25rem;
}

.button_showmap
{
	margin: auto;
	left: 0;
	right: 0;
	font-family: 'gt-america-mono-medium';
	font-size: 1rem;
	letter-spacing: -0.04rem;
	color: #000000;
	background-color: #ffffff;
	border-radius: 2.5rem;
	border: 1px solid #000000;
	box-shadow: 2px 2px #000000;
	padding: 0.625rem;
	text-align: center;
	display: block;
	max-width: 10rem;
}

*[class^='tag']
{
	font-family: 'gt-america-mono-bold';
	font-size: 0.625rem;
	letter-spacing: 0;
	color: #000000;
	background-color: #cccccc;
	border-radius: 0.625rem;
	padding: 0.3125rem 0.625rem;
}

*[class^='tag']:not(:first-child)
{
	margin-left: 0.15625rem;
}

.tag_distillery
{
	background-color: #11bbff;
}

.tag_brewery
{
	background-color: #22bb55;
}

.tag_winery
{
	background-color: #dd55bb;
}

.tag_cidery
{
	background-color: #11ffff;
}

.tag_pub
{
	background-color: #ffcc44;
}

.tag_bakery
{
	background-color: #ffeeaa;
}

.place_attributes
{
	margin-top: 0.3125rem;
	display: flex;
	align-items: center;
}

*[class^='gtk']
{
	display: inline;
	opacity: 0.48;
	margin-left: 0.15625rem;
}

*[class^='gtk']:hover
{
	opacity: 0.72;
}

.gtk_wheelchair-access
{
	content: url('../img/ui/day/gtk-wheelchair-access.svg');
	height: 1.25rem;
	width: auto;
}

.gtk_accommodation
{
	content: url('../img/ui/day/gtk-accommodation.svg');
	height: 1rem;
	width: auto;
}

.gtk_car-parking
{
	content: url('../img/ui/day/gtk-car-parking.svg');
	height: 1rem;
	width: auto;
}

.gtk_ev-charging
{
	content: url('../img/ui/day/gtk-ev-charging.svg');
	height: 1.25rem;
	width: auto;
}

.gtk_bike-parking
{
	content: url('../img/ui/day/gtk-bike-parking.svg');
	height: 1rem;
	width: auto;
}

.gtk_kid-friendly
{
	content: url('../img/ui/day/gtk-kid-friendly.svg');
	height: 1.25rem;
	width: auto;
}

.gtk_pet-friendly
{
	content: url('../img/ui/day/gtk-pet-friendly.svg');
	height: 0.875rem;
	width: auto;
}

.gtk_good-views
{
	content: url('../img/ui/day/gtk-good-views.svg');
	height: 0.875rem;
	width: auto;
}

.gtk_online-shop
{
	content: url('../img/ui/day/gtk-online-shop.svg');
	height: 1rem;
	width: auto;
}

.gtk_serves-food
{
	content: url('../img/ui/day/gtk-serves-food.svg');
	height: 1.125rem;
	width: auto;
}

.gtk_functions-and-events
{
	content: url('../img/ui/day/gtk-functions-and-events.svg');
	height: 1.125rem;
	width: auto;
}



/* general spacing and padding styles */

.bottom10
{
	margin-bottom: 0.625rem;
}

.bottom20
{
	margin-bottom: 1.25rem;
}

.bottom40
{
	margin-bottom: 2.5rem;
}

.top10
{
	margin-top: 0.625rem;
}

.top20
{
	margin-top: 1.25rem;
}

.top40
{
	margin-top: 2.5rem;
}

.left10
{
	margin-left: 0.625rem;
}



/* header styles */

*[id^='header']
{
	position: fixed;
	height: 5rem;
	padding: 0 2.5rem;
	display: flex;
	align-items: center;
	z-index: 1;
}

#header
{
	background-color: rgba(255,255,255,0.92);
}

img.logo
{
	content: url('../img/ui/day/w106.svg');
	width: 4.625rem;
}

*[id^='header'] navigation
{
	margin-left: auto;
	display: flex;
	align-items: center;
}

img.mode, img.mode_menu
{
	content: url('../img/ui/day/day.svg');
	margin: 0 1.25rem;
}

img.mode:hover
{
	content: url('../img/ui/day/night.svg');
}

img.hamburger
{
	content: url('../img/ui/day/hamburger.svg');
}

img.close
{
	content: url('../img/ui/day/close.svg');
}

navigation p
{
	font-size: 0.75rem;
	font-family: 'gt-america-mono-medium';
}



/* other section styles */

#content
{
	position: relative;
	padding: 6.25rem 2.5rem 0 2.5rem;
	z-index: 0;
}

#content-image
{
	z-index: 8;
}

#content-image img
{
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

#footer
{
	position: relative;
	width: 100%;
	padding: 1.25rem 2.5rem;
	display: flex;
	align-items: center;
}

#footer img
{
	content: url('../img/ui/day/w106-footer.svg');
	width: 3.5rem;
	height: auto;
}

#footer p
{
	padding-left: 2.5rem;
}

hr.footer
{
	margin-top: 2.5rem;
	border-top: solid 2px #000000;
}



/* map window styles */

#map-window
{
	position: fixed;
	top: 0;
	height: 100%;
	z-index: 8;
}

#gmap
{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
}

#overlayUI
{
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	display: none;
	z-index: 2;
	pointer-events: none;
}

#overlayUI .button_directions
{
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 1.25rem;
	font-family: 'gt-america-mono-medium';
	font-size: 1rem;
	letter-spacing: -0.04rem;
	color: #000000;
	background-color: #ffffff;
	border-radius: 2.5rem;
	border: 1px solid #000000;
	box-shadow: 2px 2px #000000;
	padding: 0.625rem;
	text-align: center;
	max-width: 20rem;
	height: 2.5rem;
	text-decoration: none;
	pointer-events: auto;
}

img.map-close
{
	content: url('../img/ui/day/close.svg');
	position: absolute;
	margin: auto;
	top: 1.25rem;
	right: 1.25rem;
	pointer-events: auto;
}

#start
{
	position: absolute;
	background-color: rgba(255,255,255,0.92);
	height: 100%;
	width: 100%;
	display: block;
	z-index: 3;
}

#start items
{
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#start img
{
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 15rem;
}

#start p
{
	margin-top: 2.5rem;
	left: 0;
	right: 0;
	font-family: 'gt-america-mono-light-italic';
	font-size: 1rem;
	text-align: center;
	padding: 0 5rem;
}



/* menu styles */

#menu
{
	position: fixed;
	margin: auto;
	top: 0;
	left: 0;
	background-color: #ffffff;
	display: none;
	z-index: 9;
	transition: width 0.2s;
	height: 100%;
}

#menu items
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: left;
	width: 100%;
	padding: 2.5rem;
}

#menu items a
{
	display: block;
	text-decoration: none;
}

#menu items a:hover
{
	color: #dd55bb;
}

.menu_large hr
{
	margin: 0;
	border-top: 1px solid #000000;
}

.menu_large a
{
	font-family: gt-america-mono-light;
	font-size: 2.5rem;
	letter-spacing: -0.08rem;
}

.menu_small a
{
	font-family: gt-america-mono-light;
	font-size: 1.125rem;
	text-transform: uppercase;
}

.menu_large a, .menu_small a:not(:first-child)
{
	margin: 0.625rem 0;
}

.menu_small a:first-child
{
	margin-top: 2.5rem;
}

.credits
{
	position: absolute;
	width: 100%;
	height: auto;
	bottom: 2.5rem;
	padding: 0 2.5rem;
}



/* form styles */

#w106search, #suggest
{
	width: 100%;
}

#suggest
{
	margin-top: 2.5rem;
}

#suggest p
{
	font-size: 0.75rem;
	margin: 1.25rem 0 0.3125rem 0;
}

#suggest p.alert
{
	font-family: 'gt-america-mono-light-italic';
	font-size: 1rem;
	color: #ff5544;
	margin: 0.3125rem 0 0 0;
}

#suggest select
{
	color: rgba(0,0,0, 1);
	background-color: rgba(0,0,0, 0.06);
	font-family: 'gt-america-mono-light';
	font-size: 1rem;
	letter-spacing: -0.04rem;
	padding: 0.625rem;
	border-radius: 0;
	border: 1px solid rgba(0,0,0, 0.4);
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	text-align: left;
	text-align: -moz-left;
	text-align: -webkit-left;

	/* arrow */
	appearance: none;
	background-image: url('../img/ui/day/dropdown.svg');
	background-repeat: no-repeat;
	background-position: right 0.625rem top 50%;
	background-size: 0.4375rem auto;
}

#w106search select
{
	color: #000000;
	background-color: #ffffff;
	font-family: 'gt-america-mono-medium';
	font-size: 1rem;
	letter-spacing: -0.04rem;
	padding: 0.625rem;
	border: 1px solid rgba(0,0,0, 1);
	outline: none;
	border-radius: 0.625rem;
	box-shadow: 2px 2px #000000;
	-webkit-appearance: none;
	-moz-appearance: none;

	/* arrow */
	appearance: none;
	background-image: url('../img/ui/day/dropdown.svg');
	background-repeat: no-repeat;
	background-position: right 0.625rem top 50%;
	background-size: 0.4375rem auto;

	text-align: left;
	text-align: -moz-left;
	text-align: -webkit-left;
}

input, textarea
{
	color: rgba(0,0,0, 1);
	background-color: rgba(0,0,0, 0.06);
	font-family: 'gt-america-mono-light';
	font-size: 1rem;
	letter-spacing: -0.04rem;
	padding: 0.625rem;
	border: 1px solid rgba(0,0,0, 0.4);
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	text-align: left;
	text-align: -moz-left;
	text-align: -webkit-left;
}

textarea
{
	height: 10rem;
	resize: none;
	line-height: 140%;
}

input[type="file"]
{
	display: none;
}

.custom-file-upload
{
	display: inline-block;
	padding: 0.625rem 1.25rem;
	border-radius: 0.625rem;
	border: 1px dotted rgba(0,0,0, 1.0);
	cursor: pointer;
	text-align: center;
}

.submit
{
	display: block;
	font-family: 'gt-america-mono-medium';
	font-size: 1rem;
	letter-spacing: -0.04rem;
	color: #000000;
	background-color: #ffffff;
	border-radius: 2.5rem;
	border: 1px solid #000000;
	box-shadow: 2px 2px #000000;
	padding: 0.625rem;
	text-align: center;
	max-width: 8rem;
	height: 2.5rem;
	text-decoration: none;
	pointer-events: auto;
	margin-top: 1.25rem;
}


/* pre_loader and other loader styles */

#pre_loader, #warning-rotate, #warning-wait
{
	width: 100%;
	height: 100%;
	position: fixed;
	background-color: rgba(255,255,255, 1.0);
}

#warning-wait items, #warning-rotate items
{
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#pre_loader
{
	z-index: 10;
}

#warning-rotate
{
	display: none;
	z-index: 11;
}

#warning-wait
{
	display: none;
	z-index: 12;
}

#warning-wait p, #warning-rotate p
{
	font-family: gt-america-mono-light;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: -0.01rem;
	text-align: center;

	-webkit-animation: blink 0.8s;
	-webkit-animation-iteration-count: infinite;
	-moz-animation: blink 0.8s;
	-moz-animation-iteration-count: infinite;
	-o-animation: blink 0.8s;
	-o-animation-iteration-count: infinite;
}

#pre_loader img
{
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: auto;

	-webkit-animation: blink 0.8s;
	-webkit-animation-iteration-count: infinite;
	-moz-animation: blink 0.8s;
	-moz-animation-iteration-count: infinite;
	-o-animation: blink 0.8s;
	-o-animation-iteration-count: infinite;
}

@-webkit-keyframes blink {
	0% {
			opacity: 1;
	}
	50% {
			opacity: 0;
	}
	100% {
			opacity: 1;
	}
}

@-moz-keyframes blink {
	0% {
			opacity: 1;
	}
	50% {
			opacity: 0;
	}
	100% {
			opacity: 1;
	}
}

@-o-keyframes blink {
	0% {
			opacity: 1;
	}
	50% {
			opacity: 0;
	}
	100% {
			opacity: 1;
	}
}