@import url(normalize.css);
@import url(superfish.css);
@import url(jquery.fancybox.css);
@import url(rvfs.css);

/* viewport */

@-ms-viewport{
    width: extend-to-zoom;
    zoom: 1.0;
}
@viewport{
    width: extend-to-zoom;
    zoom: 1.0;
}

/* Font-face declarations */

@font-face {
    font-family: 'ralewaybold';
    src: url('raleway-bold-webfont.woff2') format('woff2'),
         url('raleway-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'ralewaysemibold';
    src: url('raleway-semibold-webfont.woff2') format('woff2'),
         url('raleway-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'ralewaymedium';
    src: url('raleway-medium-webfont.woff2') format('woff2'),
         url('raleway-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'ralewayregular';
    src: url('raleway-regular-webfont.woff2') format('woff2'),
         url('raleway-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'ralewaylight';
    src: url('raleway-light-webfont.woff2') format('woff2'),
         url('raleway-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* colours */

a img {
	color: #B0D5D7;
}
p > a {
	color: #EF5910;
}
p > a:hover {
	color: #0067B0;
}
body {
	background: #2d2d2d;
}
#base {
	background: #FFF;
}
h1, h2, h3, h4, h5, h6 {
	color: #2d2d2d;
}
p, li {
	color: #2d2d2d;
}
.nav-grid .current > a {
	color: #0DA8E0 !important;
}
.parent .current > a {
	color: #0DA8E0 !important;
}
#topbar {
	background: #FFF;
}
#homebar {
	background: #FFF;
}
.nav-grid li {
	background: #2d2d2d;
}
.nav-grid li:hover {
	background: #EEE;
	color: #2D2D2D;
}
.nav-grid li a {
	color: #FFF;
}
.nav-grid li a:hover {
	color: #2d2d2d;
}
.nav-bar li a {
	color: #2d2d2d;
}
.current {
	background: #2d2d2d;
}
.current > a {
	color: #FFF !important;
}
.current > a:hover {
	color: #000 !important;
}
.MarkupPagerNav li a,
.MarkupPagerNav li.MarkupPagerNavSeparator {
	color: #fff;
	background-color: #2D2D2D;
}
.MarkupPagerNav li.MarkupPagerNavOn a,
.MarkupPagerNav li a:hover {
	background-color: #7AC8ED;
}
.MarkupPagerNav li.MarkupPagerNavSeparator {
	color: #359D9D;
}
.button {
	border: 1px solid #B2B1B1;
	background: #7AC8ED;
	color: #000;
}
.button:hover {
	background: #B2B1B1;
	border: 1px solid #7AC8ED;
}
.form-wrapper {
	border: 1px solid #DCDCEA;
}
.open {
	background: #FFF;
}
.close {
	background: #FFF;
}
.ui-state-error-text { 
	color: red; 
}
#testimonialform input, #testimonialform textarea {
	border: 1px solid #B4D4D5;
	color: #2B2726;
}
#testimonialform button {
	background-color: #7AC8ED;
	border: 1px solid #B4D4D5;
	color: #FFF !important;
}
#testimonialform button:hover {
	background-color: #4896AF;
}
#main-text-area {
	border-bottom: 10px solid #B4D4D5;
}
.testimonial-item {
	color: #7C797A;
	border-top: 1px solid #42A8E0;
}
.credit {
	color: #2d2d2d;
}
.date-time {
	color: #2C7CC8;
}
.quote-l, .quote-r {
	color: #42A8E0;
}
.foot-nav-item {
	color: #CCCCCC;
}
.foot-nav-subitem {
	color: #CCCCCC;
}
.foot-nav-item a, .foot-nav-subitem a {
	color: #CCCCCC;
}
.foot-nav-subitem:before {
	content: '> ';
	color: #CCCCCC;
}
.foot-nav-item a:hover {
	color: #FF5208;
}
.legal {
	color: #FFF;
}



/* The basics */

* {
	box-sizing: border-box;
}
a {
	text-decoration: none;
}
a img {
	border: 0;
}
p > a {
	font-family: 'ralewaysemibold';
}
html {
    font: normal 1.2em/1.7em 'ralewayregular';
}
body {
	margin: 0;
	padding: 0;
}
.container {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	overflow: hidden;
}
.body-copy {
	max-width: 800px;
	padding: 0 15px;
	margin: 0 auto 50px auto;
	overflow: hidden;
	min-height: 600px;
}
.body-copy img {
	max-width: 100%;
	height: auto;
}
#base {
	width: 100%;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
textarea {
    resize: vertical;
}


/* typography */

h1 {
	font: normal 3em/1em 'ralewayregular';
	text-align: center;
}
h2 {
	font-size: 2em;
	font-weight: normal;
	line-height: normal;
	text-align: center;
	margin: 0 0 15px 0;
}
h3 {
	font-weight: normal;
	line-height: normal;
}
h4,h5,h6 {
	font-size: 18px;
}
strong {
	font-weight: normal;
	font-family: 'ralewaysemibold';
}
ul, ol {
	padding: 0;
	margin: 0;
}
.body-copy ul {
	padding: 0;
	margin: 0 0 0 30px;
}
.clear {
	height: 0px;
	color: transparent;
	clear: both;
}
.space {
	padding: 20px 0 0 0;
}



/* navigation */


.home-title-nav-wrapper {
	display: block;
	padding-top: 35px;
	width: 100%;
	text-align: center;
}
.title-nav-wrapper {
	display: block;
	width: 100%;
	text-align: center;
	height: 40px;
}
nav > .nav-grid {
	display: flex;
	padding-top: 4px !important;
	justify-content: center;
	align-items: center;
	margin-bottom: 60px;
	flex-wrap: wrap;
}
.nav-grid li {
	position: relative;
	flex-grow: 1;
	flex-shrink: 0;
	list-style: none;
	max-width: 40%;
	height: 300px;
	margin: 20px;
	cursor: pointer;
	flex-basis: 40%;
	padding: 20px;
}
.nav-grid li a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
	font: normal 2em 'ralewaybold';
	text-transform: uppercase;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
}
nav > .nav-bar {
	display: flex;
	justify-content: center;
	align-items: center;
}
.nav-bar li {
	position: relative;
	padding: 5px 20px;
	list-style: none;
	cursor: pointer;
}
.nav-bar li:hover {
	background: #EEEEEE;
}
.mobilesidemenu input[type="checkbox"] {
	display: none;
}
.mobileoverlay {
	display: none;
}
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	white-space: nowrap;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	border: 0;
}

/* topbar */

#topbar {
	width: 100%;
	position: relative;
	z-index: 100;
	padding-bottom: 15px;
	border-bottom: 1px solid #DDD;
}
#homebar {
	width: 100%;
	height: 30px;
	position: relative;
	z-index: 100;
	top: 0;
}
.top-bar-container {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}
#logo {
	display: block;
	width: 600px;
	margin: 20px auto 0 auto;
}
#logo img {
	max-width: 600px;
	height: auto;
	opacity: .8;
}

/* home page */

.social-buttons {
	display: block;
	margin: 30px auto;
	width: 250px;
	padding: 0;
	text-align: center;
}
.social-buttons li {
	list-style-type: none;
	display: inline;
	float: left;
	margin: 30px 10px;
}
.social-buttons li img {
	width: 29px !important;
	height: 29px !important;
}
#logo-bar {
	width: 100%;
	position: relative;
	margin: 20px 0 0 0;
}
.main-graphic {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}
.main-graphic img {
	max-width: 100%;
	height: auto;
	display: block;
}
.icon {
	margin: auto;
}
.home-logo {
	margin: 10px auto 0 auto;
	width: 80%;
	height: auto;
}

/* basic page */

.body-copy figure {
	border: 1px solid #2D2D2D;
	padding: 12px;
	width: 100%;
	margin: 20px 0;
}
.body-copy figure img {
	width: 100%;
	height: auto;
}
.body-copy figure figcaption {
	font-size: 90%;
	font-style: italic;
	border: 1px solid #2D2D2D;
	padding: 3px 3px 3px 15px;
}


/* pagination */

.pagination-buttons {
	max-width: 850px;
	margin: 0 auto;
}
.MarkupPagerNav {
	clear: both;
	font-family: 'ralewayregular';
	margin: 25px 0 0 0 !important;
	padding: 0 !important;
	overflow: hidden;
}
.MarkupPagerNav li {
	display: inline;
}

.MarkupPagerNav li a,
.MarkupPagerNav li.MarkupPagerNavSeparator {
	display: block;
	float: left;
	padding: 1px 12px;
	margin-right: 3px;
	font-size: 17px;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
}
.MarkupPagerNav li.MarkupPagerNavOn a,
.MarkupPagerNav li a:hover {
	text-decoration: none;
}
.MarkupPagerNav li.MarkupPagerNavSeparator {
	background: none;
	padding-left: 3px;
	padding-right: 3px;
}

/* testimonials */

.center-text {
	display: block;
	text-align: center;
	margin: 10px 0 0 0;
}
.button {
	display: inline-block;
	padding: 10px 15px;
	border-radius: 5px;
	font: normal 2em 'ralewaysemibold';
}

.fixed-wrapper {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.form-wrapper {
	width: 70%;
	padding: 20px;
	margin-top: 25px;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}
.form-wrapper h3 {
	text-align: center;
	font-size: 1.6em;
    margin: 0 0 15px 0;
    text-transform: uppercase;
}
.expand {
	display: none;
}
.open {
	position: absolute;
	overflow: auto;
	z-index: 101;
	display: initial;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	-webkit-animation-name: fadein;
   -webkit-animation-duration: .7s;
   -webkit-animation-timing-function: ease; /* ease is the default */
   -webkit-animation-delay: .5s;             /* 0 is the default */
   -webkit-animation-iteration-count: 1;    /* 1 is the default */
   -webkit-animation-direction: normal;  /* normal is the default */
   -webkit-animation-fill-mode: forwards;
   -moz-animation-name: fadein;
   -moz-animation-duration: .7s;
   -moz-animation-timing-function: ease; /* ease is the default */
   -moz-animation-delay: .5s;             /* 0 is the default */
   -moz-animation-iteration-count: 1;    /* 1 is the default */
   -moz-animation-direction: normal;  /* normal is the default */
   -moz-animation-fill-mode: forwards;
 	animation-name: fadein;
   animation-duration: .7s;
   animation-timing-function: ease; /* ease is the default */
   animation-delay: .5s;             /* 0 is the default */
   animation-iteration-count: 1;    /* 1 is the default */
   animation-direction: normal;  /* normal is the default */
   animation-fill-mode: forwards;
}
@-webkit-keyframes fadein {
   0% { opacity: 0; }
   100% { opacity: 1; }
}
@-moz-keyframes fadein {
   0% { opacity: 0; }
   100% { opacity: 1; }
}
@keyframes fadein {
   0% { opacity: 0; }
   100% { opacity: 1; }
}

.close {
	position: absolute;
	z-index: 101;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 1;
	-webkit-animation-name: fadeout;
   -webkit-animation-duration: .7s;
   -webkit-animation-timing-function: ease; /* ease is the default */
   -webkit-animation-delay: .5s;             /* 0 is the default */
   -webkit-animation-iteration-count: 1;    /* 1 is the default */
   -webkit-animation-direction: normal;  /* normal is the default */
   -webkit-animation-fill-mode: forwards;
   -moz-animation-name: fadeout;
   -moz-animation-duration: .7s;
   -moz-animation-timing-function: ease; /* ease is the default */
   -moz-animation-delay: .5s;             /* 0 is the default */
   -moz-animation-iteration-count: 1;    /* 1 is the default */
   -moz-animation-direction: normal;  /* normal is the default */
   -moz-animation-fill-mode: forwards;
 	animation-name: fadeout;
   animation-duration: .7s;
   animation-timing-function: ease; /* ease is the default */
   animation-delay: .5s;             /* 0 is the default */
   animation-iteration-count: 1;    /* 1 is the default */
   animation-direction: normal;  /* normal is the default */
   animation-fill-mode: forwards;
}
@-webkit-keyframes fadeout {
   0% { opacity: 1; }
   100% { opacity: 0; }
}
@-moz-keyframes fadeout {
   0% { opacity: 1; }
   100% { opacity: 0; }
}
@keyframes fadeout {
   0% { opacity: 1; }
   100% { opacity: 0; }
}
#testimonialform {
	width: 100%;
	display: inline-block;
}
.twoup {
	margin-bottom: 10px;
	float: left;
	display: inline;
	width: 49%;
	margin-right: 2%;
}
.twoup-end {
	margin-bottom: 10px;
	float: left;
	display: inline;
	width: 49%;
}
.break {
	margin-right: 0;
}
#testimonialform ul { 
	margin: 0;
	padding: 0;
}
#testimonialform li { 
	list-style: none; 
	margin: 1em 0; 
	padding: 0; 
} 
#testimonialform li label { 
	font-weight: bold; 
} 
#testimonialform li p { 
	margin: 0; 
} 
#testimonialform li p.description { 
	font-style: italic; 
} 
#testimonialform textarea, #testimonialform .InputfieldMaxWidth { 
	width: 100%; 
	resize: vertical;
} 
#testimonialform .InputfieldSubmit label, .important { 
	display: none; 
} 
#testimonialform input, #testimonialform textarea {
	width: 100%;
	font-family: 'ralewaylight';
	min-height: 35px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	text-align: left;
	padding-left: 10px;
}
#testimonialform #photo {
	padding-left: 3px !important;
}
#testimonialform textarea {
	padding: 10px;
}
#testimonialform button {
	height: 32px;
	font: normal 17px/17px 'ralewaysemibold',sans-serif;
	text-transform: uppercase;
	padding: 4px 10px 2px 10px;
	margin: 15px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.6);
}
.special {
	display: none;
}
#fileupload {
	margin-bottom: 15px;
}
#fileupload p {
	font-size: .8em;
}
#photo {
	padding: 5px;
}
.testimonial-content {
	padding-right: 40px;
}
.testimonial-content ul {
	margin: 0;
	padding: 0;
}
#main-text-area {
	margin-bottom: 40px;
}
.half {
	width: 60%;
	display: inline-block;
}
.testimonial-item {
	list-style: none;
	margin: 30px 0 0 0;
	padding: 0 0 20px 20px;
	overflow: hidden;
}
.testimonial-item p {
	padding: 0 40px 0 20px;
	z-index: 1;
}
.credit {
	text-align: right;
	margin: 0 15px 0 0;
	font-family: 'ralewaysemibold';
	display: inline;
	float: right;
	line-height: 25px;
}
.pic-gallery {
	display: inline;
	float: left;
	padding: 0 20px;
}
.date-time {
	font-size: 90%;
	font-family: 'ralewaylight' !important;
}
.quote-l, .quote-r {
	position: relative;
}
.quote-l:before {
	content: '\201C';
	position: absolute;
	top: 55%;
	left: -28px;
	font-family: times;
	font-size: 3em;
	z-index: 0;
	opacity: 0.5;
}
.quote-r:after {
	content: '\201D';
	position: absolute;
	top: 55%;
	left: 3px;
	font-family: times;
	font-size: 3em;
	z-index: 0;
	opacity: 0.5;
}
#charNum {
	display: block;
	height: 32px;
	font-size: .7em;
	padding: 0 0 5px 0;
	border-bottom: 1px solid #CCC;
}

/* symbols */

.content-wrapper {
	max-width: 900px;
	margin: auto;
	padding: 0 20px;
}
.symbol-container {
	display: block;
}
.symbol-box {
	margin: 0 0 45px 0;
	text-align: justify;
}
.symbol-image {
	height: 200px;
	width: 100%;
	margin: 0 auto 10px auto;
	display: block;
	text-align: center;
}
.symbol-image img {
	width: auto;
	max-height: 100%;
}
.symbol-title {
	font: normal 1.6em 'ralewaysemibold' !important;
	margin: 0 0 15px 0;
	text-align: center;
}
.write-up {
	margin: 0;
}


/* shop */

.product {
	position: relative;
	width: 100%;
	padding: 25px;
	margin: 0 0 5px 0;
	border: 1px solid #EEE;
	display: flex;
	flex-flow: row nowrap;
	justify-content: felx-start;
	align-item: flex-start;
	align-content: flex-start;
}
.product-shot {
	flex: 1 0 33%;
	margin-right: 15px;
}
.product-description {
	flex: 2 0 67%;
}
.product-shot img {
	max-width: 100%;
	height: auto;
}
.product-title {
	font: normal 1.6em 'ralewaysemibold' !important;
	margin: 0 0 15px 0;
}
.product-price {
	font: normal 1.3em 'ralewaysemibold' !important;
}
.product-purchase {
	position: absolute;
	bottom: 0;
	right: 0;
}


/* Footer */

#footer {
	width: 100%;
	padding: 20px 0 60px 0;
}	
.logo-placement {
	position: relative;
	height: 62px;
	margin: 0 0 30px 0;
}
.footer-logo {
	position: absolute;
	left: 271px;
	top: 0;
}
.footer-social-buttons {
	position: absolute;
	left: 550px;
	top: 16px;
}
.footer-social-buttons {
	display: block;
	margin: 0 auto;
	width: 250px;
	padding: 0;
	text-align: center;
}
.footer-social-buttons li {
	list-style-type: none;
	display: inline;
	float: left;
	margin: 0 5px;
}
.footer-social-buttons li img {
	width: 29px !important;
	height: 29px !important;
}
.foot-nav-flex {
	display: flex;
	width: 100%;
	justify-content: space-between;
	margin: 60px auto;
}
.foot-nav-flex div {
	flex: 0 1 auto;
	margin-right: 20px;
}
.footer-nav {
	width: 100%;
}
.footer-nav li {
	list-style: none;
}
.foot-nav-item {
	text-transform: uppercase;
	font-size: 15px;
}
.foot-nav-subitem {
	text-transform: initial !important;
	margin: 4px 0 4px 25px;
	line-height: 18px;
}
.foot-nav-subitem:before {
	content: '> ';
	margin-left: -14px;
}
.legal {
	font: normal 14px/1.4em 'ralewayregular';
	text-align: center;
}
#siteprefs {
    width: 100%;
    height: 40px;
    background: #FFF;
    position: fixed;
    bottom: 0;
    text-align: center;
    border-top: 1px solid #ccc;
    padding: 3px 0;
}
#siteprefs form {
	display: inline-block;
	text-align: center;
	cursor: pointer;
}
.bonw-invert {
	color: #000;
	background: #FFF;
	padding: 5px 8px 2px 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
	cursor: pointer;
}
.wonb-invert {
	color: #FFF;
	background: #000;
	padding: 5px 8px 2px 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
	cursor: pointer;
}
#sizecontroldiv {
	display: inline-block;
}
.rvfs-decrease, .rvfs-reset, .rvfs-increase {
    background: rgb(238, 238, 238) none repeat scroll 0% 0%;
    border: 1px solid rgb(153, 153, 153);
    border-radius: 4px;
    padding: 3px 5px;
    margin: 0 5px;
    color: #000;
    font: normal 1em 'ralewaybold';
}
.rvfs-decrease a, .rvfs-reset a, .rvfs-increase a {
	color: #000;
}

/* CMS styles and styles needed for CKEditor positioning */

#editpage {
	position: fixed;
	top: 0;
	left: 0; 
	z-index: 101;
	padding: 5px 6px; 
	background: #db1174; 
	color: #fff; 
	display: block;
	font-weight: bold; 
}
#editpage:hover {
	background: #ffffcc;
	color: #000; 
}
.align_left {
        float: left;
        margin: 0 1em 0.25em 0;
}
.align_right {
        float: right;
        margin: 0 0 5px 20px;
}
.align_center {
        display: block;
        margin-left: auto;
        margin-right: auto;
}

/* Media Queries */

@media only screen and (max-width: 900px) {
	nav > .nav-bar {
		display: block;
	}
   .mobilesidemenu, .mobilesidemenu * {
    	-moz-box-sizing: border-box;
    	box-sizing: border-box;
	}
	.mobilesidemenu input[type="checkbox"] {
		/* checkbox used to toggle menu state */
    	position: absolute;
    	left: 0;
    	top: 0;
    	visibility: hidden;
	}
	.mobilesidemenu > label {
    	z-index: 100;
		display: block;
		position: absolute;
		font-size: 7px;
		width: 3.7em;
		height: 2.8em;
		top: 20px;
		right: 20px;
		background: #FFF;
		text-indent: -1000px;
		border: .6em solid #2D2D2D;
		border-width: .6em 0;
		cursor: pointer;
		-moz-transition: all 0.3s ease-in;
		-webkit-transition: all 0.3s ease-in;
		transition: all 0.3s ease-in;
	}
	.mobilesidemenu > label::before, .mobilesidemenu > label::after {
    	/* inner stripes inside label */
    	content: "";
    	display: block;
    	position: absolute;
    	width: 100%;
    	height: 0.6em;
    	top: 50%;
    	margin-top: -0.3em;
    	left: 0;
    	background: #2D2D2D;
    	/* stripes background color. Change to match border color of parent label above */
    	-moz-transform: rotate(0);
    	-webkit-transform: rotate(0);
    	transform: rotate(0);
    	-moz-transition: all 0.3s ease-in;
    	-webkit-transition: all 0.3s ease-in;
    	transition: all 0.3s ease-in;
    	/* transition for flipping label */
	}
	.mobilesidemenu nav {
    	/* NAV menu inside container */
    	margin: 0;
    	padding: 0;
    	position: fixed;
    	text-transform: uppercase;
    	border-right: 1px solid gray;
    	width: 100%;
    	/* width of nav menu */
    	height: 100%;
    	right: -100%;
    	/* set left to -width of menu */
    	top: 0;
    	z-index: 10000;
    	border-left: 1px solid #2D2D2D;
		-webkit-transform: translate3d(0, 0, 0); /* trigger hardware acceleration */
		transform: translate3d(0, 0, 0);
    	background: #FFF;
    	/* Old browsers */
    	-moz-transition: all 0.3s ease-in;
    	-webkit-transition: all 0.3s ease-in;
    	transition: all 0.3s ease-in;
    	/* transition for animating nav in and out */
	}
	.mobilesidemenu nav h2 {
    	color: black;
    	margin-bottom: 10px;
    	border-bottom: 2px solid #73462d;
	}
	.mobilesidemenu ul {
    	/* UL menu inside container */
    	list-style: none;
    	margin: 30px 0 0 0;
    	padding: 0;
    	width: 100%;
	}
	.mobilesidemenu li {
	}
	.mobilesidemenu li a {
    	display: block;
    	text-decoration: none;
    	font-size: 1.4em;
    	/* font size of menu links */
    	color: #3b3b3b;
    	margin: 0;
    	padding: 12px;
	}
	.mobilesidemenu li a:hover {
    	color: #2D2D2D;
	}
	.mobilesidemenu nav label {
    	/* label button inside nav to close menu */
    	cursor: pointer;
    	position: absolute;
    	left: 0;
    	top: 0;
    	-moz-border-radius: 0 0 40px 0;
    	-webkit-border-radius: 0 0 40px 0;
    	border-radius: 0 0 40px 0;
    	width: 40px;
    	height: 30px;
    	text-align: center;
	}
	.mobilesidemenu nav label::after {
    	/* label button x */
    	content: "X";
    	color: #2D2D2D;
    	display: block;
    	font: normal 22px 'ralewayregular';
    	margin-top: 2px;
    	margin-left: -4px;
    	-moz-transition: all 0.3s ease-in;
    	-webkit-transition: all 0.3s ease-in;
    	transition: all 0.3s ease-in;
	}
	.mobilesidemenu .mobileoverlay {
    	/* overlay that covers entire page when menu is open */
    	position: fixed;
    	display: flex;
    	width: 100%;
    	height: 100%;
    	left: 0;
    	top: 0;
    	opacity: .6;
    	background: black;
    	z-index: 1001;
    	visibility: hidden;
	}
	.mobilesidemenu .mobileoverlay label {
    	/* label of overlay that closes menu when clicked on */
    	width: 100%;
    	height: 100%;
    	position: absolute;
	}
	.mobilesidemenu nav label:hover::after {
    	/* state of NAV label::after when mouse moves over */
    	-moz-transform: rotatey(180deg);
    	-ms-transform: rotatey(180deg);
    	-webkit-transform: rotatey(180deg);
    	transform: rotatey(180deg);
    	/* flip labels vertically onMouseover */
	}
	.mobilesidemenu input[type="checkbox"]:checked ~ label {
    	/* state of main menu label when menu is open  */
    	border-color: transparent;
	}
	.mobilesidemenu input[type="checkbox"]:checked ~ label::before {
    	/* state of main menu label::before when menu is open  */
    	transform: rotate(-45deg);
	}
	.mobilesidemenu input[type="checkbox"]:checked ~ label::after {
    	/* state of main menu label::after when menu is open  */
    	transform: rotate(45deg);
	}
	.mobilesidemenu input[type="checkbox"]:checked ~ nav {
    	/* state of NAV when menu is open  */
    	right: 0;
    	/* set left to 0 to animate it into view  */
	}
	.mobilesidemenu input[type="checkbox"]:checked ~ div.mobileoverlay {
    	/* state of overlay when menu is open  */
    	visibility: visible;
	}
	.nav-bar li {
    	margin: 0;
    	display: block;
    	padding: 0 20px;
	}
	.nav-grid li {
    	max-width: 40%;
    	flex-basis: 40%;
	}
}
@media only screen and (max-width: 768px) {
	.nav-grid li {
    	max-width: 100%;
    	flex-basis: 90%;
	}
	.fixed-wrapper {
    	padding: 0 20px;
	}
	.form-wrapper {
    	width: 100%;
	}
}
@media only screen and (max-width: 640px) {
	#logo {
    	width: 100%;
		padding: 0 20px;
	}
	#logo img {
    	max-width: 100%;
    	width: 100%;
	}
	.twoup {
    	float: none;
    	display: block;
    	width: 100%;
    	margin-right: 0;
	}
	.twoup-end {
    	float: none;
    	display: block;
    	width: 100%;
	}
	.testimonial-item {
    	padding: 0 0 20px 0; 
	}
	.testimonial-item p {
    	padding: 0 10px 0 0;
	}
	.testimonial-list {
		margin: 0 0 0 0 !important;
	}
	.product {
    	padding: 0;
    	display: block;
	}
	.product-description {
    	padding: 20px;
	}
}
@media only screen and (max-width: 360px) {
	input#photo {
		font-size: 80%;
	}
	.home-logo {
		width: 100%;
		height: auto;
	}
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* Print styles */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
