/* 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;
}

div.container
{
	width: 100%;
}

body
{
	overflow: hidden; /* to lock scrolling while preloader does its thing */
}

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

p, ul, li
{
	font-family: 'gt-america-mono-light';
	letter-spacing: -0.04rem;
}

a
{
	text-decoration-thickness: 1px;
	cursor: pointer;
}

button:hover
{
	cursor: pointer;
}

h1
{
	font-family: 'gt-america-mono-regular';
	font-size: 6rem;
	font-weight: inherit;
	line-height: 100%;
	letter-spacing: 0rem;
	text-transform: uppercase;
}

h2
{
	font-family: 'gt-america-mono-medium';
	font-size: 0.875rem;
	font-weight: inherit;
	margin-bottom: 1.25rem;
	text-transform: uppercase;
}

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

img
{
	display: block;
}

li:first-child
{
	margin-top: 1.25rem;
}

li
{
	margin-left: 1rem;
}



/* global content styles */

.wide
{
	padding: 0 10rem;
}

.compact
{
	padding: 0 20rem;
}

.standard p
{
	font-size: 1rem;
}

.standard p:not(:last-child)
{
	margin-bottom: 1.25rem;
}

.standard h2
{
	margin-top: 2.5rem;
}

.large p
{
	font-size: 1.75rem;
	font-family: 'gt-america-mono-thin';
}

.large p:not(:first-of-type)
{
	text-indent: 5rem;
	margin-top: 1.25rem;
}

.standard p, .large p, .standard li
{
	line-height: 150%;
}

.standard ul
{
	margin-bottom: 1.25rem;
}

.note
{
	margin: 1.25rem 0;
	line-height: 150%;
	opacity: 0.4;
}

.carousel
{
	display: flex;
	overflow: auto;
	white-space: nowrap;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 2.5rem;

	-ms-overflow-style: none;  /* hide carousel scrollbar ie/edge */
  scrollbar-width: none;  /* hide carousel scrollbar firefox */
}

.carousel::-webkit-scrollbar
{
  display: none; /* hide carousel scrollbar chrome/safari/opera */
}

.carousel img
{
	width: 30rem;
}

.single
{
	width: 30rem;
	margin: auto;
	left: 0;
	right: 0;
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

.scroller
{
	position: relative;
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
	height: 20rem;
}

.scroller img
{
  position: absolute;
	height: 20rem;
  right: 0;
}

.scroller marquee
{
	font-family: 'nolagert';
	color: #ff6655;
	font-size: 8rem;
	text-transform: uppercase;
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

nav
{
	display: flex;
	margin-left: auto;
	align-items: center;
}

.tip
{
  border: 1px solid #000000;
  border-radius: 0.625rem;
	padding: 1.25rem;
	margin-bottom: 2.5rem;
	display: flex;
	opacity: 0.4;
}

.tip:hover
{
	opacity: 1;
}

.tip img
{
	width: 2.5rem;
}

.tip p
{
	margin-left: auto;
	padding-left: 1.25rem;
}

.ordering
{
  border: 1px solid #000000;
  border-radius: 0.625rem;
	padding: 1.25rem;
	margin-bottom: 2.5rem;
	display: flex;
}


/* notification bar styles */

#open-hours
{
	position: fixed;
	width: 100%;
	bottom: 0;
	z-index: 12;
	background-color: rgba(255,255,255, 0.92);
	padding: 0.625rem;
	border-top: solid 1px #000000;
	white-space: nowrap;
	overflow: hidden;

	-webkit-animation: blink 6s;
	-webkit-animation-iteration-count: 1;
	-moz-animation: blink 6s;
	-moz-animation-iteration-count: 1;
	-o-animation: blink 6s;
	-o-animation-iteration-count: 1;
}

#open-hours span
{
	font-family: gt-america-mono-light-italic;
	color: #000000;
	font-size: 1rem;
	text-align: center;

	display: inline-block;
	animation: marquee 20s linear infinite;
}

@keyframes marquee
{
	0% {transform: translateX(100vw);}
	100% {transform: translateX(-100%);}
}

#notification
{
	display: block;
	align-items: center;
	margin: 1.25rem 0;
	background-color: #eeddff;	
	box-shadow: 5px 5px rgba(238,221,255,0.48);
	

	-webkit-animation: blink 4s;
	-webkit-animation-iteration-count: 1;
	-moz-animation: blink 4s;
	-moz-animation-iteration-count: 1;
	-o-animation: blink 4s;
	-o-animation-iteration-count: 1;
}

#notification p
{
	font-family: gt-america-mono-light-italic;
	font-size: 1rem;
	line-height: 150%;
	text-align: center;
}



/* what's on styles */

#whatson
{
	margin: 2.5rem 5rem;
	padding: 2.5rem;
	background-color: #ffee66;
}

#whatson p
{
	font-family: 'gt-america-mono-thin';
	font-size: 1.75rem;
	line-height: 150%;
}

#whatson h1
{
	font-family: 'gt-america-mono-regular';
	font-size: 6rem;
	font-weight: inherit;
	letter-spacing: -0.04rem;
	text-transform: uppercase;
}



/* bistro and bar styles */

#bistro, #bar
{
	margin-left: 5rem;
	margin-right: 5rem;
	background-size: 17.5rem;
	background-repeat: no-repeat;
	padding: 5rem;
}

#bistro
{
	margin-top: 2.5rem;
	background-color: #ccffcc;
	background-image: url('../img/ui/tallarook-hotel-cyclist-top.png');
	background-position: right bottom;
}

#bar
{
	margin-top: 0;
	background-color: #eeddff;
	background-image: url('../img/ui/tallarook-hotel-cyclist-bottom.png');
	background-position: right top;
}

#bistro p, #bar p
{
	font-size: 1rem;
	line-height: 150%;
}

#bistro h1, #bar h1
{
	font-family: 'gt-america-mono-light';
	font-size: 1.75rem;
	font-weight: inherit;
	letter-spacing: -0.04rem;
	text-align: center;
	text-transform: capitalize;
}

#bistro h2, #bar h2
{
	margin-top: 5rem;
}

.newline
{
	margin-top: 1.25rem;
}



/* header styles */

*[id^='header']
{
	display: flex;
	padding: 2.5rem 5rem 0 5rem;
}

links a
{
	font-family: 'gt-america-mono-light';
	letter-spacing: -0.04rem;
	font-size: 1rem;
	text-decoration: none;
}

links a:not(:first-child)
{
	padding-left: 1.25rem;
}

brand-tallarookhotel img
{
	content: url('../img/ui/tallarook-hotel-logo-horizontal.svg');
	height: 3.75rem;
}

brand-werkinberk img
{
	content: url('../img/ui/werkinberk-logo.svg');
	height: 3.125rem;
}

burger img
{
	content: url('../img/ui/hamburger.svg');
	height: 1.875rem;
}

.icon
{
	height: 1.875rem;
	width: 1.87rem;
}



/* footer styles */

*[id^='footer']
{
	padding: 5rem 10rem 10rem 10rem;
}

*[id^='footer'] img
{
	height: 1.875rem;
	margin-top: 1.25rem;
}

*[id^='footer'] p
{
	line-height: 150%;
}

#footer-tallarookhotel img
{
	content: url('../img/ui/th-invisible-giant-logo-closed.svg');
}

#footer-tallarookhotel img:hover
{
	content: url('../img/ui/th-invisible-giant-logo-open.svg');
}

#footer-werkinberk img
{
	content: url('../img/ui/werk-invisible-giant-logo-closed.svg');
}

#footer-werkinberk img:hover
{
	content: url('../img/ui/werk-invisible-giant-logo-open.svg');
}

*[id^='footer'] hr
{
	margin-bottom: 2.5rem;
}

#footer-werkinberk hr
{
	border-top: solid 1px #ff6655;
}

.acknowledgment
{
	margin-top: 2.5rem;
	opacity: 0.4;
}



/* menu styles */

#menu
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000000;
	color: #ffffff;
	z-index: 2;
}

#menu header
{
	display: flex;
	align-items: center;
}

#menu nav img
{
	content: url('../img/ui/cross.svg');
}

#menu hr
{
	border-top: 1px solid #ffffff;
}

#menu a
{
	color: #ffffff;
}

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

#menu items a
{
	display: block;
	margin: 0.625rem 0;
	font-family: 'gt-america-mono-thin';
	text-decoration: none;
}

#menu footer
{
	position: absolute;
	width: 100%;
	text-align: center;
}

#menu footer a
{
	font-size: 1rem;
}



/* merch styles */

p.category
{
	font-family: 'gt-america-mono-light';
	font-size: 1.75rem;
	letter-spacing: -0.04rem;
	text-transform: capitalize;
}

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

.shop_row:last-child
{
	margin-bottom: 0;
}

.shop_thumb img
{
	width: 100%;
}

.shop_thumb a
{
	text-decoration: none;
}

.product
{
	margin: 2.5rem 0 0 0;
}

#hero
{
	width: 100%;
	height: auto;
	margin-bottom: 0.625rem;
}

.product_thumb
{
	display: inline;
	width: 5rem;
	cursor: pointer;
	vertical-align: top;
}

.product_thumb:not(:last-child)
{
	margin-right: 0.625rem;
}

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

#addtocart
{
  border: 1px solid #000000;
  border-radius: 0.3125rem;
	padding: 1.25rem;
	margin: 1.25rem 0;
}


/* cart styles */

#cart
{
	display: none;
	position: fixed;
	top: 0;
	height: 100%;
	background-color: #ffffff;
	color: #000000;
	z-index: 3;
	overflow: auto;
}

#cart header
{
	display: flex;
	height: 3.75rem;
	align-items: center;
	margin-bottom: 2.5rem;
}

#cart nav
{
	height: 3.75rem;
}

#cart item
{
	display: flex;
	align-items: top;
	margin: 2.5rem 0;
}

#cart item thumb img
{
	width: 5rem;
}

#cart item deets
{
	width: 100%;
	display: flex;
}

#cart item summary
{
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

#cart item quantity
{
	margin-left: auto;
	white-space: nowrap;
}

#cart footer
{
	margin: 2.5rem 0;
}

#cart footer hr
{
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

#cart footer cost
{
	display: flex;
	align-items: center; 	
}

#cart footer cost p:last-child
{
	margin-left: auto;
}


/* checkout styles */

#order item
{
	display: flex;
	align-items: top;
	margin: 1.25rem 0;
}

#order item thumb img
{
	width: 5rem;
}

#order item deets
{
	margin-left: auto;
	display: flex;
	width: 100%;
}

#order item summary
{
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

#order item subtotal
{
	margin-left: auto;
}

#totals line
{
	display: flex;
	align-items: center;
	margin: 0.625rem 0;
}

#totals line:last-child
{
	margin-bottom: 0;
}

#totals line p:last-child
{
	margin-left: auto;
}


/* payment styles */

#purchase p
{
	margin: 0;
}

#purchase line
{
	display: flex;
	align-items: top;
}

#purchase line:first-child
{
	margin-top: 1.25rem;
}

#purchase line p:last-child
{
	margin-left: auto;
}



/* other form styles */

#checkout select
{
	appearance: none;
	background-image: url('../img/ui/dropdown.svg');
	background-repeat: no-repeat;
	background-position: right 0.625rem top 50%;
	background-size: 0.625rem auto;
}

input[type=text], input[type=email], input[type=number], input[type=tel], textarea, select
{
	color: #000000;
	background-color: rgba(153,153,153, 0.06);
	font-family: 'gt-america-mono-light';
	font-size: 1rem;
	font-weight: inherit;
	letter-spacing: -0.04rem;
	padding: 0.625rem;
	border-radius: 0.3125rem;
	border: 1px solid rgba(153,153,153, 0.5);
	-webkit-appearance: none;
	-moz-appearance: none;
	text-align: left;
	text-align: -moz-left;
	text-align: -webkit-left;
}

input[type=text], input[type=email], textarea, select
{
	width: 100%;
}

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

input.qty_voucher, input.qty_cart
{
	display: inline;
	vertical-align: middle;
	text-align: center;
}

input.qty_voucher
{
	width: 5rem;
}

input.qty_cart
{
	width: 2.5rem;
}

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button
{
	-webkit-appearance: none;
	margin: 0;
}

input[type=number]
{
	-moz-appearance: textfield;
}

input[type="radio"]
{
  -webkit-appearance: none;
  appearance: none;
  background-color: #ffffff;
  color: #000000;
  width: 1.875em;
  height: 1.875em;
  border: 1px solid #000000;
  border-radius: 50%;
	cursor: pointer;
}

input[type="radio"], label, input[type="submit"]
{
	cursor: pointer;
}

input[type="radio"]:checked
{
  background-color: #000000;
  color: #000000;
}

img.stepper
{
	height: 2.5rem;
	display: inline;
	vertical-align: middle;	
}

input[type="submit"], button
{
	font-size: 0.875rem;
	font-family: 'gt-america-mono-medium';
	font-weight: inherit;
	color: #000000;
	letter-spacing: 0.04rem;
	text-transform: uppercase;
	background-color: #ffffff;
	border-radius: 0;
	border: 2px solid #000000;
	box-shadow: 2px 2px #000000;
	padding: 0.625rem 1.25rem;
	text-align: center;
	width: 100%;
}

input[type="submit"]:disabled
{
    opacity: 0.4;
}

input[type="submit"]:hover, button:hover
{
	background-color: #ffee66;
	box-shadow: 4px 4px #000000;
}

input[type="submit"]:active
{
	background-color: #eeeeee;
	box-shadow: 0px 0px;
}

label
{
	font-family: 'gt-america-mono-light';
	line-height: 100%;
	letter-spacing: -0.04rem;
}

p.section
{
	font-family: 'gt-america-mono-medium';
	font-weight: inherit;
	font-size: 0.875rem;
	letter-spacing: 0.04rem;
	margin: 2.5rem 0 1.25rem 0;
	text-transform: uppercase;
}

p.label
{
	font-size: 0.75rem;
	letter-spacing: 0.02rem;
	text-transform: uppercase;
	margin-top: 1.25rem;
	margin-bottom: 0.625rem;
}

p.alert
{
	color: #ff5544;
	margin-top: 0.3125rem;
}

p.stripe
{
	font-size: 0.75rem;
	letter-spacing: 0;
	text-transform: uppercase;
	line-height: 100%;
	display: inline;
	vertical-align: middle;
}


/* preloader and warning styles */

#page
{
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
}

#preloader, *[id^='warning']
{
	position: fixed;
	width: 100%;
	height: 100%;
}

#preloader
{
	z-index: 5;
}

#preloader items
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 35rem;
}

#preloader img, #preloader p
{
	width: 100%;
}

#preloader p
{
	font-family: 'gt-america-mono-light';
	font-size: 1rem;
	text-align: center;
	color: #eeddff;
	margin-top: 1.25rem;
}

*[id^='warning']
{
	display: none;
	background-color: #FFFFFF;
}

#warning-wait
{
	z-index: 4;
}

#warning-cartadd
{
	z-index: 6;
}

#warning-cartmodify
{
	z-index: 7;
}

#warning-rotate
{
	z-index: 8;
}

*[id^='warning'] items
{
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

*[id^='warning'] p
{
	font-family: 'gt-america-mono-light';
	font-size: 1rem;
	text-align: center;
	color: #000000;

	-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;}
}