* {
	margin:0;
	padding:0;
	border:0;
	box-sizing:border-box
}
html {
	font-family:Arial,Helvetica,sans-serif;
	font-size:1.25em
}
body {
	min-height:100vh;
	overflow-x:hidden
}
input[type="text"], input[type=button], input[type=submit], button {
    outline: thin solid black;
    border-radius: 0.2em;
}
.dropzone {
    flex-direction: column-reverse;
    display: flex;
}
/* Background pattern for download area is mint green 45 degree stripes like a barber pole of white and green */

.dropzone.dz-clickable {
    background-image: linear-gradient(45deg, mintcream 25%, rgb(198, 233, 198) 25%, rgb(198, 233, 198) 50%, mintcream 50%, mintcream 75%, rgb(198, 233, 198) 75%, rgb(198, 233, 198) 100%);
    background-size: 2.6em 2.6em;
}
form {
    margin: 0 auto;
    width: 80%;
}
/* Make tables deal with small screens more easily */
.content table {
    line-height: 1em;
    text-wrap: nowrap;
    font-size: 0.8em;
    font-weight: lighter;
    display: inline-block;
	width:100%;
}
.icon { user-select: none; }

.dropzone .dz-image {
    display: none !important;
}

.content table td:first-child {
    width: 12vw !important;
}
.fname {
    max-width: 36vw !important;
    overflow: hidden;
    width: 100%;
}


#body { background-image: url('../static/body.jpg'); }/* latin */         @font-face {             font-family: "content";             font-weight:  400;                          font-display: swap;             src: url("../static/content.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;         }
.content { font-family: "content"; }
/* latin */         @font-face {             font-family: "h1-h2-h3";             font-weight:  400;                          font-display: swap;             src: url("../static/h1-h2-h3.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;         }
h1,h2,h3 { font-family: "h1-h2-h3"; }
.displaynone {
	display:none
}
.displayblock {
	display:block
}
.noborder {
	border:0
}
.wide {
	width:100%
}
.text-presp {
	white-space:pre
}
.text-left {
	text-align:left
}
.text-center {
	text-align:center
}
.text-right {
	text-align:right
}
.rightfloat {
	float:right
}
span.center {
	text-align:center;
	margin:0
}
div .center {
	margin-left:auto;
	margin-right:auto
}
pre {
	font-family:inherit
}
a {
	text-decoration:none
}
a:hover,
a:active {
	text-decoration:underline
}
hr {
	border-top:.1em solid #000;
	margin:1em auto 2em auto;
	width:50%
}
img {
	display:block
}
fieldset {
	padding:.5em
}
input,
textarea,
select {
	padding:.3em
}
input[type=button],
input[type=submit],
button {
	padding:.2em 1em;
	margin:.8em .2em;
	color:#000
}
#head {
	padding:.8em 0;
	text-align:center;
	max-height:8%
}
#head .head-logo-img {
	margin:0 auto;
	min-width:20%;
	max-width:100%;
	min-height:2%;
	max-height:10em
}
#head .head-logo-text {
	white-space:nowrap;
	display:inline-block;
	padding:0 8%;
	font-size:3em
}
#menu-site {
	margin-left:auto;
	line-height:1.8em
}
#menu-site ul,
#menu-site ol {
	list-style:none inside none
}
#menu-site ul ul,
#menu-site ul ol {
	padding:.2em 0
}
#menu-site li li {
	margin:.2em
}
#menu-site .menu-category {
	display:inline-block;
	font-weight:bolder;
	text-align:center;
	text-decoration:underline;
	white-space:nowrap
}
#menu-site .menu-category label {
	display:block
}
#menu-site .menu-category-text:before {
	content:"";
	display:inline-block;
	margin-right:.2em;
	border-top:.35em solid grey;
	border-left:.25em solid transparent;
	border-right:.25em solid transparent
}
#menu-site ul ul li:before {
	display:none
}
.menu-category-top {
	text-align:center;
	overflow:hidden
}
.menu-category-top input[type=checkbox]:checked ~ ul,
.menu-category-top input[type=checkbox]:checked ~ ol {
	display:block;
	position:absolute
}
.menu-category-top li ul {
	display:none
}
.menu-category-top li ul li {
	margin-bottom:2px
}
.menu-category-top ul li:hover {
	background-color:rgba(255,255,255,0.2)
}
.menu-category-top a {
	display:block
}
.menu-category-top .sidehead {
	cursor:pointer
}
.head-logo-img {
	margin:0 auto;
	min-width:20vw;
	max-width:100%;
	max-height:25vh
}
#main .content {
	padding-bottom:5em
}
#main .content video,
#main .content img:not(.icon) {
	max-width:100%;
	margin-right:auto !important;
	margin-left:auto !important
}
#main .content video,
#main .content .yt-embed {
	width:100%;
	aspect-ratio:2
}
#tail {
	position:static;
	bottom:0;
	height:1.4em;
	width:100vw;
	padding-top:.2em;
	padding-bottom:.2em;
	overflow:hidden
}
.icon {
	width:1.6em !important;
	height:1.6em !important;
	margin-right:.4em
}
.flexwrap {
	display:flex;
	flex-wrap:wrap
}
.flexrow {
	display:flex;
	flex-direction:row
}
.flexhex1 {
	flex-basis:6.25%
}
.flexhex2 {
	flex-basis:12.5%
}
.flexhex3 {
	flex-basis:18.75%
}
.flexhex4 {
	flex-basis:25%
}
.flexhex5 {
	flex-basis:31.25%
}
.flexhex8 {
	flex-basis:50%
}
.flexhexB {
	flex-basis:75%
}
.flexcolumn {
	flex-basis:100%
}
pre {
	font-family:sans-serif
}
dt {
	font-weight:bolder
}
dd {
	margin-bottom:.2em
}
dd p {
	margin-top:0 !important;
	margin-left:1em !important
}
table {
	font-size:.8em;
	margin:.9em auto;
	line-height:1.2em
}
table td {
	padding:.2em .3em
}
table th {
	padding:.3em .3em;
	text-decoration:underline
}
.columns-list {
	column-count:2;
	column-gap:1em;
	width:fit-content
}
.columns-list li {
	max-width:22ch;
	break-inside:avoid
}
.contact-box .map {
	min-width:50%;
	margin:.2em
}
.contact-box img {
	float:left
}
.contact-box .contact {
	margin-bottom:.2em
}
.gallery-box {
	justify-content:space-between
}
.gallery-box .gallery-pic {
	cursor:zoom-in
}
.gallery-box .gallery-title {
	margin-bottom:.8em;
	font-weight:lighter;
	text-decoration:underline
}
.gallery-box .gallery-item {
	background-color:rgba(128,128,128,0.3);
	border-radius:.6em;
	padding:.6em;
	flex-basis:30%;
	margin:1%;
	text-align:center
}
object .yt-embed {
	display:block;
	margin-left:auto;
	margin-right:auto;
	width:100%;
	aspect-ratio:3 / 2
}
.collection-horiz {
	display:flex;
	justify-content:center;
	text-align:center
}
.collection-horiz * {
	margin:.2em;
	flex-basis:0;
	flex-grow:1
}
.hero {
	padding:8vh 0;
	min-height:32vh;
	max-height:50vh;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	background-size:cover
}
.hero * {
	min-width:60vw;
	max-width:100%;
	max-height:50vh
}
.hero strong {
	color:#193715
}
@media screen and (orientation: portrait), screen and (max-width: 900px) {
	#main {
		margin-left:0;
		margin-right:0;
		width:auto
	}
	#main h1,
	#main h2,
	#main h3,
	#main h4 {
		text-align:center;
		border:0;
		margin-left:auto;
		margin-right:auto
	}
	#menu-site {
		user-select:none;
		position:relative;
		width:auto
	}
	#menu-site .menu-category {
		border:none;
		border-radius:0
	}
	#menu-site ul ul,
	#menu-site ul ol {
		margin:0;
		padding:0;
		width:inherit;
		max-width:inherit;
		min-width:inherit
	}
	#menu-site ul ul li:before {
		display:none
	}
	.menu-category-top {
		text-align:center;
		overflow:hidden
	}
	.menu-category-top input[type=checkbox]:checked ~ ul,
	.menu-category-top input[type=checkbox]:checked ~ ol {
		display:block;
		position:absolute
	}
	.menu-category-top > li {
		display:inline-block
	}
	.menu-category-top li ul {
		display:none
	}
	.menu-category-top li ul li {
		margin-bottom:2px
	}
	.menu-category-top ul li:hover {
		background-color:rgba(255,255,255,0.2)
	}
	.menu-category-top a {
		display:block
	}
	.menu-category-top .sidehead {
		cursor:pointer
	}
}
@media screen and (max-width: 680px) {
	.columns-list {
		column-count:1
	}
	.collection-horiz {
		display:unset
	}
	.gallery-box .gallery-item {
		flex-basis:unset
	}
}
@media print {
	.content *,
	.content *:before,
	.content *:after {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important
	}
	.content a,
	.content a:visited {
		text-decoration:underline
	}
	.content a[href]:after {
		content:" (" attr(href) ")"
	}
	.content abbr[title]:after {
		content:" (" attr(title) ")"
	}
	.content a[href^="#"]:after,
	.content a[href^="javascript:"]:after {
		content:""
	}
	.content blockquote {
		border:1px solid #999;
		page-break-inside:avoid
	}
	.content thead {
		display:table-header-group
	}
	.content tr,
	.content img {
		page-break-inside:avoid
	}
	.content img {
		max-width:100% !important
	}
	.content p,
	.content h2,
	.content h3 {
		orphans:3;
		widows:3
	}
	.content h2,
	.content h3 {
		page-break-after:avoid
	}
}
.content body {
	line-height:1.85
}
.content p {
	margin-bottom:1.3em
}
.content h1,
.content h2,
.content h3,
.content h4 {
	margin:1.414em 0 .5em;
	font-weight:inherit;
	line-height:1.42
}
.content h2,
.content h3,
.content h4 {
	margin-top:1.7em
}
.content h1 {
	margin-top:0;
	font-size:2em
}
.content h2 {
	font-size:1.85em
}
.content h3 {
	font-size:1.5em
}
.content h4 {
	font-size:1.3em
}
.content h5 {
	font-size:1.2em
}
.content h6 {
	font-size:.9em
}
.content small {
	font-size:.707em
}
.content img,
.content canvas,
.content iframe,
.content video,
.content svg,
.content select,
.content textarea {
	max-width:100%
}
.content body {
	margin:0;
	max-width:100%
}
.content p,
.content *:not(div):not(img):not(body):not(html):not(li):not(br):not(span):not(blockquote):not(section):not(p):not(a):not(strong):not(label):not(input):not(dd):not(dt):not(button) {
	margin:1em auto 1em;
	max-width:52em;
	padding:.42em
}
.content blockquote {
	display:table;
	margin:1em 5vw;
	min-width:66%
}
.content blockquote p {
	font-style:italic
}
.content li {
	margin-left:1.4em;
	margin-bottom:.2em
}
.content h1 {
	padding:1.8em .6em
}
.content p {
	height:auto;
	line-height:1.45;
	text-align:center;
}
.content code {
	font-family:monospace
}
.content pre {
	font-family:sans-serif
}
.content table {
	font-size: 0.8em;
	font-weight:lighter;
	max-width: 100% !important;
}
a img {
	display:inline-block
}
.mshax {
	margin:-0.5em .4em -0.5em .2em
}
html {
	font-size:1.34em
}
body {
	line-height:1.5em
}
#body {
	background-size:cover;
	background-position:center;
	background-attachment:fixed
}
#top-flow {
	display:flex
}
#menu-site .hover:hover,
#menu-site .menu-category:hover,
#menu-site .menu-category:active {
	background-image:radial-gradient(farthest-corner circle at 50% 50%, rgba(173, 239, 255, 0.69) 0%, rgba(255, 255, 255, 0) 100%);
	color:#2a6920
}
a {
	color:#2778ae
}
a:hover {
	color:#74b8e5
}
.hero {
	color:#fff;
	height:65vh;
	max-height:80vh;
	min-height:24em;
	text-shadow:4px 4px 2px #000;
	background-position-y:center;
	border-bottom:thin solid #000
}
.hero > * {
	font-size:1.8em;
	line-height:1.9em
}
#menu-site ul ul,
#menu-site ul ol {
	margin:0;
	padding:0;
	width:inherit;
	max-width:inherit;
	min-width:inherit
}
#menu-site {
	width:100%;
	min-width:20ch
}
#menu-site .menu-category-top {
	display:flex;
	justify-content:center;
	align-items:center;
	height:100%;
	margin-bottom:.3em
}
#menu-site .menu-category-top > li {
	width:20ch
}
#menu-site .menu-category {
	padding:0 .6em .1em .6em;
	border-radius:.2em;
	color:#d1fbff
}
#menu-site .menu-category-text::before {
	border-top-color:#f0e7b4
}
#menu-site .menu-list {
	background:#fffdf6
}
#menu-site > ul > li:first-child .menu-list {
	border-left:.4em solid #ede19c
}
#menu-site > ul > li:last-child .menu-list {
	border-right:.4em solid #576851
}
#menu-site .menu-list-item {
	border-radius:.2em
}
#tail {
	padding-bottom:unset;
	height:1em;
	padding-top:.1em;
	background-color:gray;
	text-align:center;
	line-height:1em;
	border-top:thin solid #000
}
#main .notice {
	margin:0 20vw 0 20vw
}
#main .content {
	background-color:#fffdf6;
	box-shadow:0 .4em 1.8em .2em rgba(0,0,0,0.65);
	margin:0 16vw 14vw 16vw;
	padding:6vw
}
#main .content {
	padding-top:.4em
}
#main .content hr {
	width:50%;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:1.8em
}
#main .content table th {
	background-color:rgba(212,115,61,0.4)
}
#main .content table tr:nth-child(even) {
	background-color:rgba(212,115,61,0.15)
}
#main .content table tr:nth-child(odd) {
	background-color:rgba(56,56,56,0.06)
}
#main .content table td {
	padding:.1em .3em
}
#main .content strong,
#main .content b {
	color:#307825
}
#main .content blockquote {
	display:block
}
#main .content blockquote p {
	text-align:center
}
#main .content dt {
	background-color:rgba(212,115,61,0.12);
	padding-left:.3em;
	margin-top:2.4em
}
#main .content dt:first-child {
	margin-top:0
}
#main .content h1 {
	box-shadow:inset -0.7em -0.7em 12px rgba(16,42,12,0.15);
	text-shadow:1px 1px 2px rgba(0,0,0,0.28);
	border-top-right-radius:.5em .5em;
	border-bottom-right-radius:.7em;
	margin-bottom:.9em;
	border-left:.7em solid rgba(16,42,12,0.7);
	color:#102a0c;
	font-weight:bolder
}
#main .content h2 {
	margin:0 auto;
	text-align:center;
	text-decoration:underline;
	font-weight:bolder;
	color:#20602a
}
#main .content h3,
#main .content h4 {
	text-align:center;
	font-weight:bolder
}
#main .content .collection-horiz {
	text-align:left
}
.contact-box {
	margin:.4em 4vw
}
.contact-box .contact {
	background-color:rgba(16,42,12,0.14)
}
.contact-box .contact,
.contact-box .contact-question {
	padding:.4em .8em;
	align-items:center;
	border-radius:1em
}
.contact-box .contact-question {
	background-color:rgba(25,12,42,0.14)
}
.company-description {
	text-align:center
}
.gallery-box {
	justify-content:center
}
.gallery-item {
	padding:.8em;
	border:2px solid rgba(142,142,142,0.4);
	background-color:rgba(84,100,128,0.3)
}
.img-title {
	display:none
}
.page-payments .content p + p > a,
.page-payments .content h3 + p > a,
.content button {
	padding:.4em;
	margin:0 auto;
	font-weight:bolder;
	font-size:1.1em;
	border:.14em solid rgba(255,255,255,0.5);
	background-color:#205119;
	color:#fff;
	text-align:center;
	display:table
}
.page-payments .content p + p > a:hover,
.page-payments .content h3 + p > a:hover,
.content button:hover {
	background-color:#25631c
}
.page-testimonials .content {
	text-align:center
}
.page-testimonials .content img {
	width:80%;
	max-height:80vh
}
.page-testimonials p > em {
	display:table-cell;
	font-size:1.2em
}
.page-home .content .collection-horiz div {
	flex-grow:1.5
}
button {
	padding:.4em;
	font-weight:bolder;
	font-size:1.1em;
	background-color:#edf9eb;
	border:.14em solid rgba(36,78,34,0.5)
}
button:hover {
	background-color:rgba(44,209,20,0.2)
}
@media screen and (orientation: portrait), screen and (max-width: 900px) {
	body {
		font-size:90%
	}
	#main .content {
		margin:6vw 4vw 14vw 4vw
	}
	#main.contact-box {
		margin:.4em 1vw
	}
	#main .notice {
		margin:0 4vw 0 4vw
	}
	#top-flow {
		display:block
	}
	.page-testimonials .content .collection-horiz :nth-child(2) {
		display:none
	}
}
@media screen and (max-width: 680px) {
	body {
		font-size:82%
	}
}
@media screen and (max-width: 512px) {
	body {
		font-size:76%
	}
	.contact {
		flex-direction:column;
		align-items:center
	}
}
@media screen and (max-width: 360px) {
	body {
		font-size:72%
	}
}
