body {
	margin: 0;
	font-family: -apple-system, Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.5em;
	background: #F6F7F0;
	color: #333;
	text-rendering: optimizeLegibility;}

.top_margin {
	margin-top: 30px !important;}
	
.bottom_margin {
	margin-bottom: 30px !important;}
	
.no_margin {
	margin: 0 !important;}
	
.no_top_margin {
	margin-top: 0 !important;}
	
.short_top_margin {
	margin-top: 15px !important;}

.no_bottom_padding {
	padding-bottom: 0 !important;}
	
.right_margin {
	margin-right: 10px !important;}

.top_padding {
	padding-top: 30px !important;}
	
.inline {
	display: inline;}
	
.no_wrap {
	white-space: nowrap !important;}
	
.print_only {
	display: none;}

.clear {
	clear:both;}
	
.align_center {
	text-align: center;}
	
.align_right {
	text-align: right;}
	
.flex_align_center_children {
	display: flex;
	justify-content: center;}
	
.strikeout {
	text-decoration: line-through;}
	
p:not(:last-child) {
	margin: 0 0 1.5em 0;}
	
p:last-child {
	margin: 0;}

a {
	color: #333;
	text-decoration: underline;}

a:hover, a.active {
	text-decoration: none;}

.no_underline a, a.no_underline {
	text-decoration: none;}

.no_underline a:hover, .no_underline  a.active, a.no_underline:hover, a.no_underline.active {
	text-decoration: underline;}

h1 {
	font-weight: normal;
	font-size: 2em;
	line-height: 1.5em;
	margin: 0 0 15px 0;}

h2 {
	font-weight: normal;
	font-family: Georgia;
	font-size: 1.83em;
	line-height: normal;
	margin: 0;}

h3, #message {
	font-size: 1.4em;
	font-family: Georgia;
	font-weight: normal;
	line-height: 1.4em;
	padding: 0;
	margin: 0;}

h4 {
	font-size: 1.2em;
	font-weight: normal;
	padding: 0;
	margin: 0;}

h5 {
	font-size: 1em;
	font-weight: bold;
	padding: 0;
	margin: 0 0 1px 0;}

ul {
	list-style: none;
	padding: 0;
	margin: 0;}

ul li {
	display: block;
	float: none;}

/* Layout and columns */

	.page_wide {
		clear: both;
		width: 100%;
		background: #F6F7F0;}
	
	.page {
		width: 900px;
		padding: 0 30px 30px 30px;
		margin: 0 auto;
		text-align: left;}
	
	.flex_columns {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		flex-wrap: wrap;
		justify-content: space-evenly;}
	
	.column {
		width: 156px;
		float: left;
		margin: 30px 30px 0 0;}
	
	.last_column {
		margin-right: 0 !important;}
		
	.column_2 {
		width: 342px;
		float: left;
		margin: 30px 30px 0 0;}
	
	.column_3 {
		width: 528px;
		float: left;
		margin: 30px 30px 0 0;}
	
	.column_4 {
		width: 714px;
		float: left;
		margin: 30px 30px 0 0;}
	
	.column_5 {
		width: 900px;
		float: left;
		margin: 30px 30px 0 0;}
	
	.column_half {
		width:78px;
		float: left;
		margin: 30px 30px 0 0;}
		
	.column_one_half {
		width: 234px;
		float: left;
		margin: 30px 30px 0 0;}
		
	.column_two_half {
		width: 420px;
		float: left;
		margin: 30px 30px 0 0;}
	
	ul.horizontal_flex, ul.breadcrumb_flex {
		display: flex;
		flex-direction: row;
		align-items: center;
		flex-wrap: wrap;
		justify-content: center;}
		
	.horizontal_flex.align_top {
		align-items: flex-start;}
	
	.horizontal_flex.align_left {
		justify-content: left;}
	
	.horizontal_flex.no_margin li {
		margin-left: 0;
		margin-right: 0;}
		
	ul.horizontal_flex li {
		white-space: nowrap;
		margin-left: 15px;
		margin-right: 15px;}
		
	ul.gallery_grid_104 {
		display: grid;
		grid-template-columns: repeat(auto-fill, 104px);
		grid-gap: 15px;
		justify-content: space-between;}
		
	ul.gallery_grid_104 li {
		margin-bottom: 0;}

/* Header */
	
	#header_right {
		position: absolute;
		right: env(safe-area-inset-right);
		margin-right: 30px;
		margin-top: 5px;}
		
	#header_left {
		position: absolute;
		left: env(safe-area-inset-left);
		margin-left: 15px;
		margin-top: 6px;}
	
	#cart_link {
		text-decoration: none;
		display: block;
		font-size: 1.41em;
		color: #FFF;}
	
	#cart_num_items {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 1.5em;
		border-radius: 50%;
		vertical-align: middle;
		background: #FFF;
		color: #000;
		margin-top: -6px;}
	
	#cart_link:hover #cart_num_items {
		background: #333;
		color: #FFF;}
	
	#cart_num_items:before {
		content:'';
		float: left;
		width: auto;
		padding-bottom: 100%;}
	
	#message_wide {
		display: none;
		width: 100%;
		background: #E1BA7D;
		padding: 15px 0;
		z-index: 10;}
	
	#message {
		width: 900px;
		margin: 0 auto;
		padding-left: 30px;
		padding-right: 30px;
		color: #333;
		text-align: center;}
		
	#message a {
		color: #333;}
	
	#message_wide.error {
		background: #f99;}
	
	#message_wide.error #message {
		color: #333;}
	
	#message_wide.error #message a {
		color: #333;}
	
/* Form elements */

	div.label_group {
		float:left;
		margin-bottom: 10px;
		min-height: 28px;}
	
	label, span.label {
		display:block;
		float: left;
		width: 156px;
		margin: 0 30px 0 0;
		padding: 6px 0 0 0;}
		
	label.inline {
		display: inline;
		float: none;
		width: auto;
		margin: 0;}
	
	label.error {
		background: #f99;
		color: #333;
		float: none;
		margin: 4px 0 0 0;
		padding: 3px;
		min-height: 0;
		display: none;
		width: intrinsic;
		border-radius: 2px;}
		
	span.required {
		font-family: -apple-system, Helvetica, Arial, sans-serif;
		background-color:#f99;
		color:#900;
		font-size:0.5em;
		font-weight:bold;
		padding: 0.3em;
		border-radius: 2px;
		position: relative;
		top: -0.3em;}
	
	input[type=text], input[type=password], input[type=file] {
		font-size: 14px;
		border: 1px #d9d9d9 solid;
		border-radius: 5px;
		padding: 5px 10px 5px 10px;
		width: 280px;
		margin: 0;}
	
	input.error {
		background-color: #f99;}
	
	input.inline {
		margin-bottom: 0;}
	
	input[type=text].narrow, input[type=text].number, input[type=number] {
		width: 134px;}
	
	input[type=number].narrow, input[type=text].extra_narrow {
		width: 70px;}
	
	.iti input {
		width: 302px;}
		
	h2 input[type=text] {
		font-size: 1em;}
	
	select {
		color: #000;
		background-image: url("data:image/svg+xml,<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg'><path d='m0,6l12,12l12,-12l-24,0z'/><path fill='none' d='m0,0l24,0l0,24l-24,0l0,-24z'/></svg>");
		background-repeat: no-repeat;
		background-size: 9px;
		background-position-x: calc(100% - 9px);
		background-position-y: center;
		-moz-appearance: none; 
		-webkit-appearance: none;
		appearance: none;
		background-color: #FFF;
		display: inline-block;
		border: 1px #d9d9d9 solid;
		border-radius: 5px;
		padding: 6px 30px 6px 10px;
		font-size: 13px;
		margin: 0;
		max-width: 335px;}
	
	td select, th select {
		margin-bottom:0;}
	
	select.inline {
		display: inline-block;
		margin-bottom: 0;}
	
	input[type=radio], input[type=checkbox] {
		margin-bottom:11px;
		margin-right:5px;}
		
	textarea {
		font-size: 14px;
		border: 1px #d9d9d9 solid;
		border-radius: 5px;
		padding: 5px 10px 5px 10px;
		width: 280px;
		margin: 0 0 11px 0;}
	
	input[type=submit], .button, button {
		-webkit-appearance: none;
		text-decoration: none;
		color: #FFF;
		display: inline-block;
		padding: 7px 10px;
		background: #6F7F6D;
		border: none;
		border-radius: 4px;
		cursor:pointer;
		font-size: 1em;
		line-height: 1.5em;
		margin-top: 1em;}
		
	input[type=submit]:hover, .button:hover, button:hover {
		text-decoration: underline;}	
		
	input[type=submit].submit_wait, input[type=submit].submit_wait:hover, button.submit_wait, button.submit_wait:hover {
		text-decoration: none;
		background:#88867D;
		color:#DBDAD8;}
	
	.button.dark_grey {
		background: #74706b !important;
		color: #FFF !important;}
	
	.nh_sage_green .button, .nh_clay_brown .button, .column_2_pane .button {
		background: inherit;
		border: 1px solid #FEFCF3;
		color: #FEFCF3;}
	
	.nh_sage_green .button:hover .nh_clay_brown .button:hover, .column_2_pane .button:hover {
		border: 1px solid #FFF;
		color: #FFF;}
	
/* Colour schemes */
	
	.nh_sage_green {
		background: #6F7F6D;
		color: #FEFCF3;}
		
	.nh_sage_green a {
		color: #FEFCF3;}
	
	.nh_sage_green a:hover, .nh_sage_green a.active {
		color: #FFF;}
		
	.nh_dark_grey {
		background: #333;
		color: #74706b;}
		
	.nh_dark_grey a {
		color: #74706b;}
		
	.nh_clay_brown {
		background: #74706b;}
		
	.nh_mineral_green {
		background: #4E655D;
		color: #fff;}
		
	.nh_mineral_green a.button {
		background:#FFF;;
		color:#000;}
	
	.nh_mineral_green a {
		color: #fff;}
	
	.nh_clay_brown {
		color:#f6f7f0;}
		
	.nh_clay_brown a {
		color:#f6f7f0;}
	
	.nh_clay_brown a:hover {
		color:#FFF;}
		
	.nh_sandstone {
		background: #D8D6C8;}
	
	.nh_brown_text {
		color:  #6C5A4E;}
	}

/* Tables */

	table {
		margin: 0;
		border-spacing: 0;
		border: 0;}
	
	td, th {
		padding: 6px 8px 5px 0;
		vertical-align: top;}

/* Icons */
	
	.icon_left {
		padding-right: 5px !important;}
	
	.icon_right {
		padding-left: 5px !important;}
	
	.icon_only span.text {
		display:none;}
	
	.icon_hide {
		display: none;}

/* Panes */

	li.thumbnail_pane {
		line-height: 0px;}
	
	li.thumbnail_pane a {
		text-decoration: none;}
	
	li.thumbnail_pane:hover a {
		text-decoration: underline;
		color: #FFF;}
	
	a.thumbnail_pane_150 {
		text-align: center;
		padding: 15px;
		display: inline-block;
		width: 120px;
		height: 120px;
		background: #FFF;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
		margin-top: 30px;}
		
	a.thumbnail_pane_150_text {
		line-height: normal;
		white-space: normal;
		font-size: 1.2em;
		color: #FEFCF3;
		display: block;
		background: #6F7F6D;
		border-bottom-left-radius: 5px;
		border-bottom-right-radius: 5px;
		text-align: center;
		padding: 10px;
		width: 130px;}
		
	li.column_2_pane {
		line-height: 0px;}
		
	div.column_2_pane, a.column_2_pane {
		text-align: center;
		padding: 15px;
		display: inline-block;
		width: 312px;
		height: 171px;
		background: #FFF;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
		margin-top: 30px;}
		
	div.column_2_pane_text {
		line-height: 1.5em;
		white-space: normal;
		font-size: 1.2em;
		color: #FEFCF3;
		display: block;
		background: #6F7F6D;
		border-bottom-left-radius: 5px;
		border-bottom-right-radius: 5px;
		padding: 15px;
		width: 312px;}
		
	div.column_2_pane_text a {
		color:#FEFCF3;}
	
	.pane {
		border-radius: 5px;
		border: 1px solid #d9d9d9;
		padding: 10px;}
		
	a.pane_button {
		border-radius: 5px;
		border: 1px solid #d9d9d9;
		padding: 10px;
		text-decoration: underline;
		display: block;
		cursor:pointer;
		font-size: 1.2em;}
		
	a.pane_button:hover {
		text-decoration: none;
		background: #FFFFFF;}
		
	.pane_white_translucent {
		border-radius: 5px;
		border: none;
		padding: 10px;
		background-color:rgba(255, 255, 255, 0.7);;
		}
		
	div.video_container {
		position:relative;
		padding-bottom:56.25%;
		height:0;
		overflow:hidden;}
		
	.video_container iframe, .video_container object, .video_container embed {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;}

/* Tags */
	
	.tag {
		background-color:#5E6C34;
		color:#f6f7f0;
		padding: 3px;
		border-radius: 2px; 
		margin-right:4px;
		white-space: nowrap;}
		
	.tag_small {
		font-size: 0.75em;}
	
/* Footer */

/* Mobile */

	.mobile_only {
		display: none;}
		
	.full_mobile_only {
		display: none;}

	@media screen and (max-width: 960px) {
		body {
			font-size: 16px;}
		
		.mobile_only {
			display: inherit;}
		
		.no_mobile {
			display: none !important;}
			
		.mobile_align_center {
			text-align: center;}
			
		img {
			max-width:100%;
			height:auto;}
		
		#message {
			width: calc(100% - 30px);
			margin: 0;
			padding: 0 15px 15px 15px;}
			
		#message {
			padding-bottom: 0 !important;}
			
		#message div#text {
			margin: 0;}
		
		#header_right {
			margin-right: 15px;}
			
		.page {
			width: calc(100% - 30px);
			margin: 0;
			padding: 0 15px 15px 15px;}
			
		select {
			font-size: 14px;
			max-width: 250px;}
			
		input[type=submit] {
			font-size: 16px;}
	
		input[type=text], input[type=password], input[type=file] {
			width:250px;
			float: none;
			font-size: 14px;}
			
		.iti input {
			width: 272px;}
			
		textarea {
			width:250px;
			float: none;
			font-size: 14px;}
			
		ul.horizontal {
			margin: 0;}
			
		ul.horizontal li {
			float:none;}
			
		label {
			width:100%;
			margin: 0;}
				
		.column {
			width: 100%;
			display: inline-block;
			margin: 30px 0 0 0;}
		
		.column_2 {
			width: 100%;
			display: inline-block;
			margin: 30px 0 0 0;}
	
		.column_3 {
			width: 100%;
			display: inline-block;
			margin: 30px 0 0 0;}
		
		.column_4 {
			width: 100%;
			display: inline-block;
			margin: 30px 0 0 0;}
		
		.column_5 {
			width: 100%;
			display: inline-block;
			margin: 30px 0 0 0;}
			
		.mobile_column {
			width: 156px;
			float: left;
			margin: 30px 5px 0 4px;}
			
		.flex_columns .last_column {
			margin: 30px 5px 0 4px !important;}
			
		.mobile_column_150 {
			float: left;
			width: 150px;
			margin: 30px 15px 0 0;
			padding: 0;}
			
		.mobile_column_150_balance {
			float: left;
			width: calc(100% - 165px - 15px);
			margin: 30px 15px 0 0;
			padding: 0;}
			
		.mobile_float_left {
			float: left;}
			
		.mobile_no_top_margin, .mobile_no_top_margin {
			margin-top: 0 !important;}
		
		.mobile_full_top_margin {
			margin-top: 30px !important;}
		
		.mobile_short_top_margin {
			margin-top: 15px;}
			
		ul.mobile_column_2 {
			columns: 2;
			display: block !important;}
			
		ul.mobile_column_2  li {
			margin-left: 0 !important;
			margin-right: 0 !important;
			white-space: normal;}
			
		ul.mobile_column_2 li:not(:last-child) {
			margin-bottom: 10px;}
			
		ul.mobile_column_2  li h3 {
			line-height: normal !important;
			}
			
		}
	
	@media screen and (max-width: 774px) {
		/* Full mobile, at this point it should work more like a phone */
		
		.no_full_mobile {
			display: none;}
		
		.full_mobile_only {
			display: inherit;}
			
		}
		
/* Print */

	@media print {
		.print_only {
			display: inherit;}
			
		.no_print {
			display: none !important;}
		}