/* Font */
body { font-family: "nimbus-sans", sans-serif }

/* Normalization */
*, *:before, *:after { box-sizing: border-box }
@-ms-viewport{ height:device-height;width:device-width }
@viewport{ height:device-height;width:device-width }
.cf:before, .cf:after {
    content: "";
    display: table;
}
.cf:after { clear: both }


[class^='rc-'] {
	display:inline-block;
	font:normal normal normal 14px/1 'RusticCreations';
	font-size:inherit;
	text-rendering:auto;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	transform:translate(0,0)
}

/* Links */
a {
	text-decoration: none;
	color: #41220e;
	cursor: default;
}
li > a { display: block }
li:not(.active):not(.inactive) > a:hover, a:hover {
	cursor: pointer;
	text-decoration: underline;
	background: rgba(255,255,255,.5);
	color: black;
}
.active > a {
	color: #3adac9;
	font-weight: bold;
	background: rgba(255,255,255,.5);
}
.inactive > a { color: gray }
a.img {	text-decoration: none }
#home:hover {
	background: none;
}

/* Paragraphs */  
p {
	font-family: inherit;
	font-weight: normal;
	font-size: 1rem;
	line-height: 1.6;
	margin: .5rem; }
p.lead {
	font-size: 1.21875rem;
	line-height: 1.6; }
p aside {
	font-size: 0.875rem;
	line-height: 1.35;
	font-style: italic; }

sub {
    vertical-align: -.05em;
}
sup, sub {
    font-size: 0.6em;
}

/* Images */
img {
	max-width: 100%;
	height: auto; }

/* Lists */
ul, ol, dl {
font-size: 1em;
line-height: 1.6em;
margin-bottom: 1.25em;
list-style-position: outside;
font-family: inherit; }

/* Inline Lists */
.inline-list {
	margin: 0 auto 1.0625rem auto;
	margin-left: -1.375rem;
	margin-right: 0;
	padding: 0;
	list-style: none;
	overflow: hidden; }
.inline-list > li {
	list-style: none;
	float: left;
	margin-left: 1.375rem;
	display: block; }
.inline-list > li > * {
	display: block; }

/* Unordered Lists */
ul {
	padding-left: 0;
	margin-top: 0;
	margin-left: 1.1rem; }
ul.no-bullet {
	margin-left: 0; }
ul.no-bullet li ul,
ul.no-bullet li ol {
	margin-left: 1.25rem;
	margin-bottom: 0;
	list-style: none; }
ul li ul, ul li ol {
	margin-left: 1.25rem;
	margin-bottom: 0; }
ul.square li ul, ul.circle li ul, ul.disc li ul {
	list-style: inherit; }
ul.square {
	list-style-type: square;
	margin-left: 1.1rem; }
ul.circle {
	list-style-type: circle;
	margin-left: 1.1rem; }
ul.disc {
	list-style-type: disc;
	margin-left: 1.1rem; }
ul.no-bullet {
	list-style: none; }

/* Blockquotes */
blockquote {
	margin: 0 0 1.25rem;
	padding: 0.5625rem 1.25rem 0 1.1875rem;
	border-left: 1px solid #dddddd; }
blockquote cite {
	display: block;
	font-size: 0.8125rem;
	color: #555555; }
blockquote cite:before {
	content: "\2014 \0020"; }
blockquote cite a, blockquote cite a:visited {
	color: #555555; }
blockquote, blockquote p {
	line-height: 1.6;
	color: #6f6f6f; }	

/* Grid */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.grid {
  margin: 0 0 1rem 0;
}
.grid:last-of-type {
  margin: 0;
}
.grid:after {
  content: "";
  display: table;
  clear: both;
}

[class*='col-'] {
  float: left;
  padding-right: .5rem;
}
.clr, .grid [class*='col-']:before, .grid [class*='col-']:after {
  content: "";
  display: table;
  clear: both;
}

.col-1-3, .col-33, .width-33 { width: 33.33% }
.col-2-3, .col-66, .width-66 { width: 66.66% }

.col-1-4, .col-25, .width-25 { width: 25% }
.col-1-2, .col-50, .width-50 { width: 50% }
.col-3-4, .col-75, .width-75 { width: 75% }

.col-1-5, .col-20, .width-20 { width: 20% }
.col-2-5, .col-40, .width-40 { width: 40% }
.col-3-5, .col-60, .width-60 { width: 60% }
.col-4-5, .col-80, .width-80 { width: 80% }

.col-1-8, .col-12, .width-12 { width: 12.5% }

.col-3-10, .col-30, .width-30 { width: 30% }

@media screen and (max-width: 800px) {
	.med-33 { width: 33.33% }
	.med-66 { width: 66.66% }
	
	.med-25 { width: 25% }
	.med-50 { width: 50% }
	.med-75 { width: 75% }
	
	.med-20 { width: 20% }
	.med-40 { width: 40% }
	.med-60 { width: 60% }
	.med-80 { width: 80% }
	
	.med-12 { width: 12.5% }
	
	.med-30 { width: 30% }
}

@media screen and (max-width: 480px) {
	.col-1-3, .col-33, .col-2-3, .col-66, .col-1-4, .col-25, .col-1-2, .col-50, .col-3-4, .col-75, .col-1-5, .col-20, .col-2-5, .col-40, .col-3-5, .col-60, .col-4-5, .col-80, .col-1-8, .col-12, .col-3-10, .col-30 {
	  	width: 100%;
	  	float: none;
		padding: .5rem;
	}
	.small-33 { width: 33.33% }
	.small-66 { width: 66.66% }
	
	.small-25 { width: 25% }
	.small-50 { width: 50% }
	.small-75 { width: 75% }
	
	.small-20 { width: 20% }
	.small-40 { width: 40% }
	.small-60 { width: 60% }
	.small-80 { width: 80% }
	
	.small-12 { width: 12.5% }
	
	.small-30 { width: 30% }
}

.module {
  padding: 1rem;
  background: #eee;
}

/* Opt-in outside padding */
.grid-pad {
  padding: 20px 0 20px 20px;
}
.grid-pad [class*='col-']:last-of-type {
  padding-right: 20px;
}

/* Media Queries */
@media only screen and (max-width: 959px) {} /* Smaller than standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {} /* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (max-width: 767px) {} /* All Mobile Sizes (devices and browser) */
@media only screen and (min-width: 480px) and (max-width: 767px) {} /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (max-width: 479px) {} /* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */

/* Misc. */
.border {
	border: 1px solid gray;
}
.padded {
	padding: 1rem;
}
.justify {
	text-align: justify;
}
.divider {
	border-bottom: 1px lightgray solid;
	margin: .5rem;
}
li.divider {
	border-left: 1px lightgray solid;
}
.left {
	float: left;
}
.right {
	float: right;
}
.center {
	text-align: center;
}
.ratio {
	display: block;
    height: 0;
    padding-bottom: 75%;
	width: 100%;
}

/* Shadows */
.shadow {
	box-shadow: gray 1px 1px 10px;
}
.shadow-thin {
	box-shadow: gray 1px 1px 5px;
}
.shadow-thick, a:hover img.shadow {
	box-shadow: black 1px 1px 15px;
}


body {
	margin: auto;
	background-color: white;
	text-align: center;
	background-image: url(../img/gray-wood-texture.jpg);
	background-repeat: repeat;
	background-position: top left;
	background-size: 350px auto;
	background-attachment: fixed;
}
main {
	display: block;
	width: 95%;
	max-width: 1700px;
	margin: 0 auto;
	text-align: left;
	background-color: white;
	background-image: url(../img/wood-grain-texture.jpg);
	background-repeat: repeat;
	background-size: 350px auto;
	-webkit-box-shadow: 0px 4px 19px 1px;
	box-shadow: 0px 4px 19px 1px;
}
body > footer {
	color: white;
	margin-top: 1.5rem;
}

/** Main Headers and Footers **/
main > h1 {
	font-size: 3rem;
	padding-left: 1rem;
}
main > header {
	width: 100%;
	overflow: hidden;
}
main > footer {
	width: 100%;
	height: 100px;
	overflow: hidden;
}
main > header h1, main > footer h1 {
	font-family: arpona, nimbus-sans sans-serif;
	float: left;
	margin: 130px 2rem 0;
	color: white;
	text-shadow: 0px 0px 5px #333333;
	font-size: 3rem;
}
main > footer h1 {
	margin: 1rem 2rem 0;
}

#site-footer {
	font-size: 1.25rem;
	display: flex;
    flex-direction: row;
	flex-wrap: wrap;
    align-content: center;
    justify-content: center;
}
#site-footer h2 {
	margin: .5em 0 .25em;
	text-decoration: underline;
}
#site-footer table {
	margin: auto;
	text-align: right
}
#site-footer table th,
#site-footer table td {
	padding: 0 .25em;
}
#site-footer table td {
	text-align: left
}
@media screen and (max-width: 800px){
	main > header {
		height: 150px;
	}
	main > header h1, main > footer h1 {
		margin: 90px 2rem 0;
		font-size: 2.5rem;
	}
	main > footer h1 {
		margin: 10px 2rem 0;
	}
}
#site-footer {
}
@media screen and (max-width: 600px){
	main {
		width: 100%;
	}
	main > h1 {
		font-size: 2.5rem;
	}
	main > header {
		height: 100px;
	}
	main > footer {
		height: 80px;
	}
	main > header h1, main > footer h1 {
		margin: 40px 2rem 0;
		font-size: 2.25rem;
	}
	main > footer h1 {
		margin: 5px 2rem 0;
	}
}




/** Main Section **/
main > .divider {
	border-bottom: #eeeeee 1px solid;
}
main > section {
	margin: 1rem;
	padding-bottom: 1rem;
	border-bottom: #eeeeee 1px solid;
}
main > section:first-of-type { margin-top: 0 }
main > section:last-of-type { border-bottom: none }
main > section:after { clear: both }
main h2 {
	margin: 0 0 .25rem;
	font-size: 2rem;
	padding-top: .5em;
}
main h3 {
	margin: .5rem .5rem 1rem;
	font-size: 1.5rem;
}
@media screen and (max-width: 480px){
	main h2 {
		font-size: 1.75rem;
		text-align: center;
	}
	main > section {
		margin: .5rem .25em 0;
	}
}

/* Header and Footer */
header[role=banner] .header { padding-bottom: 1rem }
footer[role=contentinfo] .footer { padding-top: 1rem }

/* Logo */
header[role=banner] img {
	vertical-align: middle;
	width: 20%;
	max-width: 125px;
}
header[role=banner] h1 {
	vertical-align: middle;
	display: inline-block;
	padding: .5rem 0;
	line-height: 1em;
	margin: auto;
}
@media screen and (max-width: 640px){
	header[role=banner] h1 { line-height: .7em }
}
@media screen and (max-width: 480px){
	header[role=banner] h1 { line-height: .7em }
}
@media screen and (max-width: 373px){
	header[role=banner] h1 { line-height: .6em }
}

/** Menu **/
.menu {
	overflow: hidden;
	display: block;
	margin: auto;
}
.menu > li { display: inline-block }
.menu > li { font-size: 1.5rem }
.menu > li > a { padding: .5rem .75rem; }
.menu .page { padding-left: .5rem }
@media screen and (max-width: 700px){ .menu > li { font-size: 1.1rem } }
@media screen and (max-width: 640px){
	.menu > li { font-size: 1rem }
	.menu > li a { padding: .25rem }
	.menu .page { padding-left: .25rem }
}
@media screen and (max-width: 480px){
	.menu {	padding-top: 0 }
	.menu li a { padding: .75rem }
	.menu .page { display: none }
	.menu [class^="fa-"] {
		padding: 0;
		font-size: 2rem;
		width: 30px;
	}
}
@media screen and (max-width: 373px){
	.menu li a { padding: .5rem }
	.menu [class^="fa-"] {
		padding: 0;
		font-size: 1.5rem;
	}
}

/* Details */
details {
	padding: .5rem 0;
	display: block;
}
details summary {
	font-size: 1.3rem;
	padding: 1rem;
	cursor: pointer;
}
details p {
	font-size: 1.1rem;
	padding: 0 1rem;
	margin-top: 0;
}




/* Forms */
button, input[type=button], input[type=submit], label, select {
	cursor: pointer;
}
label {
	display: block;
	text-align: right;
	width: 100%;
}
input, #popup textarea, select {
	width: 100%;
	border: none;
	font-size: 1rem;
	padding: .5rem;
	margin: .5rem 0;
}
input[type=submit], input[type=button] {
	margin-bottom: 0;
}
label input {
	width: 65%;
}
input:invalid, input.invalid, textarea:invalid {
	outline: rgb(254,200,200) 2px solid;
}
input:read-write:hover, textarea:read-write:hover {
	outline: rgb(77,144,254) 2px solid;
}
input:invalid:hover, input.invalid:hover, textarea:invalid:hover {
	outline: rgb(254,144,144) 2px solid;
}
input:read-write:focus, textarea:read-write:focus {
	outline: rgb(77,144,254) 2px solid;
	box-shadow: rgb(77,144,254) 0px 0px 4px;
}
input:invalid:focus, input.invalid:focus, textarea:invalid:focus {
	outline: rgb(254,144,144) 2px solid;
	box-shadow: rgb(254,144,144) 0px 0px 4px;
}



/* Popup */
#backgroundPopup {
    z-index:101;
    position: fixed;
    display:none;
    height:100%;
    width:100%;
    background:rgba(0,0,0,.5);
    top:0px;
    left:0px;
}
#popup {
	border-image: url(../img/tp1-border.png) 75 / 41px / 1px repeat;
	border-width: 40px;
	border-style: solid;
	padding: 1rem;
	background-color: white;
	background-image: url(../img/wood-grain-texture.jpg);
	background-repeat: repeat;
	background-size: 350px auto;
	box-shadow: rgb(50,20,0) 0 0 10px inset, 0 0 12px;
    display: none;
	width: auto;
	max-height: 100%;
	overflow-y: auto;
    max-width: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#popup header, #popup footer {
	padding: .25rem;
}
#popup .content, #popup #message {
	
}
#popup section h3 {
	text-align: left;
	margin: 0;
	padding: 1rem;
	cursor: pointer;
}
#popup section > div {
	padding: 0 1rem;
}
#popup footer label#pw {
	display: inline-block;
	background: white;
	border-radius: 5px;
	color: gray;
	width: auto;
	padding: 2px;
}
#popup footer label#pw i {
	padding: 0 .5rem;
}
#popup footer input {
	margin: 0;
	width: auto;
	float: none;
}
#popup footer button {
	font-size: 1rem;
	border: none;
	background: white;
	padding: 10px;
}
#popup footer button:enabled:hover {
	outline: 2px rgb(77,144,254) solid;
}
#popup h2 {
	margin: 0;
}
#popup #close {		
	position: absolute;
	right: .25rem;
	top: 0;
	padding: .25rem;
	color: #BBBBBB;
	cursor: pointer;
}
#popup #close:hover {
	color: #DD0000;
}
#popup th {
	min-width: inherit;
}

#processing {
	position: absolute;
	top: .5em;
	left: 0;
}
#processing i {
	color: white;
}

/* Editor */


#popup .content {
	min-width: 500px;
}
#popup label {
	display: inline-block;
	width: 45%;
	overflow: hidden;
	padding: .5rem 0;
	margin: .5rem 0;
	vertical-align: bottom;
}
#popup input {
	width: 50%;
	display: inline-block;
}
#popup section {
	margin-bottom: .5rem;
	text-align: left;
	max-width: 500px;
}
#popup #forgot-password {
	text-align: left;
}
#popup #remember-me, #popup #forgot-password {
	width: 100%;
	margin: 0;
	padding: 0;
}
#popup #remember-me input {
	width: auto;
	margin: 0 .5rem;
}
#register .grid {
	width: 500px;
}
#register-retailer, #register-customer {
	color: #41220e;
	cursor: pointer;
	padding: .5rem;
}
#register-retailer.active, #register-customer.active {
	background: rgba(255,255,255,.3);
}
#register-retailer:hover, #register-customer:hover {
	background: rgba(255,255,255,.3);
}
#popup #register h3 {
	padding: 0;
}
#register h3 small {
	opacity: .4;
	font-size: .7rem;
}
#register span {
	float: left;
}
#register > p {
	margin-left: 0;
}
#register div p {
	font-size: .8rem;
	margin: .5rem 0 0 0;
}

#popup #choose-user li {
	
}
#popup #choose-user li {
	padding: .5rem 1rem;
	color: #41220e;
	cursor: pointer;
}
#popup #choose-user li:hover {
	background: rgba(255,255,255,.3);
}
#popup #choose-user li .options {
	float: right;
}
#popup #choose-user li .options span {
	opacity: .5;
}
#popup #choose-user li .options span:hover {
	opacity: 1;
}

#kkpic {
	width: 40%;
	max-width: 400px;
	float: right;
}

.append {
	display: inline-block;
	width: 10%;
	min-width: 100px;
}

.append-field {
	width: 38%;
 	text-align: right;
}

.append-item {
  	width: 56%;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

select { 
	-webkit-appearance: textfield;
}
select:hover, input:hover {	
	outline: rgb(77,144,254) 2px solid;
}

body {
	font-family: arpona, nimbus-sans, sans-serif;
}

main > header {
	display: block;
	position: relative;
	padding: 1rem 1rem 0 1rem;
}
main > header img {
	display: inline-block;
	width: 20%;
	max-width: 150px;
}
#links {
	display: inline-block;
	width: 90%;
	max-width: 813px;
	text-align: right;
}



#site-header,
#site-footer {
	padding: .25em 1em;
	margin: auto;
	width: 95%;
	max-width: 1700px;
	color: white;
	display: flex;
	flex-direction: row;
}
#site-header {
	text-align: left;
	height: 4em;
	position: relative;
}
#site-footer {
}
#site-header a,
#site-footer a {
	color: white;
	white-space: nowrap;
}
#site-footer > div {
    width: 33%;
}
	
#rc-name {
	display: inline-block;
	text-decoration: none;
	padding: .25em .5em;
}
#rc-name > img,
#rc-name > div {
	display: inline-block;
}
#rc-name > img {
	float: left;
}
#rc-name > div {
	padding-left: .5em;
}
#rc-name > div > span {
	display: block;
	font-size: 2em;
	font-weight: 600;
	margin-top: -.15em;
}
#rc-name > div > em {
	display: block;
	font-weight: 400;
	margin-top: -.5em;
}

#rc-menu {
	flex: 1;
	margin: 0;
	padding-left: 1em;
	white-space: nowrap;
}
#rc-menu > li,
#rc-login {
	display: inline-block;
	font-size: 1.75rem;
}
#rc-menu > li > a,
#rc-login {
	height: 3.5rem;
	line-height: 3rem;
	padding: .25rem .75rem;
}
#rc-login {
	position: absolute;
	top: .25em;
	right: 0;
}
	
#login > .rc, #logout > .rc {
	padding-right: .5rem;
}
#login:hover, #logout:hover {
	text-decoration: underline;
	cursor: pointer;
	color: #cccccc;
}
	
#copyright {
	margin-top: .5em;
	color: white;
	display: block;
}
	
	
#landing-header {
	display: flex;
	background: url("/img/landing-top-bg.jpg");
	background-size: cover;
	height: 700px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: relative;
}
#landing-page-links {
	font-family: arpona, nimbus-sans, sans-serif;
	padding: 1em;
	width: 100%;
	color: white;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-content: center;
	justify-content: center;
}
#landing-page-links li {
	width: 50%;
	font-size: 1.5em;
}
#landing-page-links a {
	padding: 1em;
	text-align: center;
}

#landing-header > * {
	color: white;
    text-shadow: 1px 1px 3px black;
}
#landing-header .header-text {
	font-size: 3rem;
	font-weight: bold;
	padding: .5em;
}
#landing-header .status-text {
    position: absolute;
    top: .5em;
	right: .5em;
}

#landing-team #team {
	display: flex;
	flex-wrap: wrap;
	color: white;
}
#landing-notification > * {
	padding: .5em;
	font-size: 1.5em;
}
#landing-notification a {
	white-space: nowrap;
}

.member {
    width: 25%;
    text-align: center;
}

.member img {
    width: 50%;
    margin: auto;
	padding: .25em;
}
#team .description > * {
	padding: .125em;
}

.member strong {
    display: block;
    font-size: 1.75em;
}

.member .description > span {
    display: block;
}

.member a {
    display: block;
    white-space: nowrap;
	color: white;
}
#story > div {
	display: flex;
	flex-wrap: wrap;
}
#story > div > div {
	width: 50%;
}

.flex-wrap {
	display: flex;
	flex-wrap: wrap;
}
.half {
	width: 50%;
}
.whole {
	width: 100%;
}
.bottom {
	bottom: .5em;
	position: absolute;
}

@media screen and (max-width: 1200px) {
	.member {
	    width: 33.33%;
	}
	#site-header {
		display: block;
		height: 8em;
		width: 100%;
		padding: .25em;
	}
}
@media screen and (max-width: 1000px) {
	#site-footer > div {
		width: 50%;
	}
	#site-footer > div:last-of-type {
		width: 100%;
	}
}
@media screen and (max-width: 800px) {
	.member {
	    width: 50%;
	}
	#site-footer > div {
		width: 100%;
	}
}
@media screen and (max-width: 650px) {
	#popup {
		max-height: 100%;
		width: 100%;
	}
	.mobile-hide {
		display: none !important;
	}
	.mobile-show {
		display: inline-block !important;
	}
	aside {
		padding: .25rem .25rem 0;
	}
	#processing i {
		left: .5em;
	}
	.mobile-half {
		width: 50%;
	}
	.mobile-whole {
		width: 100%;
	}
	.mobile-divider {
		border-top: 2px rgba(255,255,255,.5) solid;
	}
	#rc-name {
		margin: auto;
		text-align: left;
	}
	#rc-login {
		font-size: 1.25em;
	}
	#rc-menu {
		margin: 0;
		padding: 0;
	}
	#rc-menu > li {
		padding: .5em 0 0;
		font-size: 1.2em;
		margin: 0;
	}
	#rc-menu > li > a {
		height: 3rem;
		line-height: 2.5rem;
		padding: .25rem .25rem;
	}
	#landing-header {
		height: 75vh;
		max-height: 700px;
	}
	#landing-header .header-text {
		font-size: 2rem;
	}
	#landing-header .header-bottom-text {
		font-size: 1.25rem;
	}
	#landing-header .header-img {
		max-width: 60%;
	}
	#landing-page-links {
		padding: .5em;
	}
	#landing-page-links li {
		width: 100%;
		font-size: 1.25em;
		border-top: 2px rgba(255,255,255,.5) solid;
	}
	#landing-page-links li:first-of-type {
		border-top: none;
	}
	.member {
	    width: 100%;
	}
	.member:first-of-type {
		border-top: none;
	}
	#story > div > div {
		width: 100%;
	}
}