/*
—————————————————————————
Fonts
—————————————————————————
*/
@font-face {
	font-family:'Vortice';
	src:url('Fonts/vortice.woff') format('woff');
	font-weight:normal;
	font-style:normal;
}
@font-face {
    font-family:'fa-solid';
    src:url('Fonts/fa-solid-900.woff2') format('woff2'), url('Fonts/fa-solid-900.woff') format('woff'), url('Fonts/fa-solid-900.ttf') format('truetype');
    font-weight:normal;
    font-style:normal;
}

/*
—————————————————————————
Global
—————————————————————————
*/
html {
	background:#2a2a2d;
}
html:after {
	content:'';
    position:fixed;
    width:100%;
    height:100%;
    top:0; left:0;
    background:#2a2a2d url(/Images/wallpaper.png);
	background-size:240px 160px;
    will-change:transform;
    z-index:-1;
}
body {
	font:16px/1.5 Nunito,Arial,sans-serif;
	color:#222;
}
.container {
	max-width:1392px;
	margin:auto;
	background:#fff;
}
h1, h2 {
	margin-bottom:0.7em;
}
h1, .featured h2 {
	font-family:Vortice, Verdana;
	font-size:1.8em;
	line-height:1.2;
	background-repeat:no-repeat;
}
.featured h2 {
	text-align:center;
}
h1.clean {
	font-family:inherit;
	margin-bottom:0.4em;
}
h1 a.edit {
	display:inline-block;
	font-style:italic;
	font-size:0.8em;
	color:#000;
	background:#fed503;
	padding:1px 8px;
	border-radius:4px;
	position:relative;
	top:-2px;
	margin-left:6px;
	text-decoration:none !important;
}
h2 {
	font-size:1.4em;
}
.markdown h2 {
	padding-top:0.5em;
	border-bottom:0.23em solid #fed503;
	line-height:1.2;
	display:inline-block;
	margin-bottom:0.8em;
}
h2 a:hover {
	color:#555;
	text-decoration:none;
}
h3 {
	margin-bottom:0.5em;
	font-weight:bold;
}
a {
	color:inherit;
	text-decoration:none;
}
.markdown a {
	border-bottom:1px solid #fed503;
}
p {
	margin-bottom:1em;
}
strong {
	font-weight:bold;
}
img {
	-ms-interpolation-mode:bicubic;
}
.button {
	color:#fed503;
	background:linear-gradient(#444, #111);
	cursor:pointer;
	border:0;
	outline:0;
	font-weight:bold;
	box-sizing:border-box;
	height:2.75em;
	line-height:2.75em;
	padding:0 1.25em;
	text-align:center;
	-webkit-appearance:none;
	border-radius:5px;
}
.button:hover {
	background:linear-gradient(#555, #222);
}
.button:active {
	box-shadow:inset 0 0 0.7em #000;
}

/*
—————————————————————————
Containers
—————————————————————————
*/
.wrapper {
	width:90%;
	max-width:1200px;
	margin:auto;
	padding-bottom:42px;
}

/*
—————————————————————————
User Bar
—————————————————————————
*/
#userbar {
	width:90%;
	max-width:1200px;
	margin:auto;
	position:relative;
	height:1.8em;
	padding:0.8em 0;
}
#userbar #search {
	float:right;
	margin-left:2em;
}
#search input.text {
	float:left;
	height:2.4em;
	padding:0.3em 0.8em;
	box-sizing:border-box;
	border:0;
	width:15em;
	background:#eee;
	outline:none;
	-webkit-appearance:none;
	border-radius:5px 0 0 5px;
}
#userbar #search input.text {
	width:10em;
	height:1.8em;
	padding:0.3em 0.5em;
}
#search input.button {
	float:left;
	font-family:fa-solid;
	font-weight:normal;
	height:2.4em;
	line-height:1.8em;
	width:3em;
	padding:0;
	border-radius:0 5px 5px 0;
}
#userbar #search input.button {
	height:1.8em;
}
a.cart {
	float:right;
}
a.cart:before {
	float:left;
	font-family:fa-solid;
	content:'\f07a';
	font-size:1.5em;
	line-height:1;
	margin-right:0.2em;
	color:#fecb16;
}
a.cart em {
	font-weight:bold;
}

/*
—————————————————————————
Nav
—————————————————————————
*/
#nav-wrapper {
	width:100%;
	background:linear-gradient(#fed503, #fecb16);
	margin-bottom:42px;
	will-change:transform;
	position:relative;
	z-index:2;
}
#nav {
	width:90%;
	max-width:1200px;
	height:96px;
	margin:auto;
	position:relative;
}
#nav ul {
	position:absolute;
	bottom:1em; right:0;
}
#nav li {
	float:left;
	position:relative;
	margin-left:0.4em;
}
#nav li.active:after {
	content:'';
	top:calc(100% + 1.05em); left:50%;
	border:solid transparent;
	content:'';
	width:0; height:0;
	position:absolute;
	pointer-events:none;
	border-color:rgba(255, 255, 255, 0);
	border-bottom-color:#fff;
	border-width:8px;
	margin:-16px 0 0 -8px;
}
#nav li.home, #nav #close {
	display:none;
}
#nav li a {
	display:block;
	line-height:2;
	padding:0 1em;
}
#nav li a.top {
	font-weight:bold;
}
#nav li ul {
	display:none;
	bottom:auto; right:auto;
	top:2em; left:0;
	min-width:100%;
	background:#fff;
	padding:0.5em 0;
	box-shadow:0 3px 3px rgba(0,0,0,0.15);
	border-radius:0 0 5px 5px;
}
#nav li ul.wide {
	border-radius:0 5px 5px 5px;
}
#nav li ul li {
	float:none;
	margin:0;
}
#nav li ul a {
	line-height:1.8;
	white-space:nowrap;
	padding-right:1.5em;
}
#nav li ul li.nested a {
	padding-left:2.2em;
}
#nav li ul a:hover {
	background:#f2f2f2;
}
#nav li ul a:active {
	background:#e2e2e2;
}
#nav li.open ul {
	display:block;
}
#nav a.top {
	border-radius:5px;
}
#nav a.top:hover {
	background:rgba(255,255,255,0.3);
}
#nav a.top:active {
	background:rgba(255,255,255,0.4);
}
#nav a.trigger:after {
	font-family:fa-solid;
	font-size:14px;
	font-weight:normal;
	content:'\f078';
	margin-left:0.7em;
	display:inline-block;
	width:0.8em;
}
#nav li.open a.trigger {
	color:#fff;
	background:#222;
	border-radius:5px 5px 0 0;
}
#nav li.open a.trigger:after {
	color:#fed503;
}
body.scrolled .container {
	padding-top:188px;
}
body.scrolled #userbar-wrapper {
	display:none;
}
body.scrolled #nav-wrapper {
	position:fixed;
	top:0;
	z-index:100;
	max-width:1392px;
	margin-bottom:0;
}
body.scrolled #nav {
	height:64px;
}
#logo {
	display:block;
	width:184px;
	height:115px;
	background:url(/Images/logo-ninja.png) no-repeat;
	background-size:184px 115px;
	position:absolute;
	bottom:0; left:-25px;
	transition:all 200ms linear;
	-ms-transition:none;
}
#logo:after {
	content:'';
	display:block;
	width:184px;
	height:76px;
	background:url(/Images/logo-text.png) no-repeat;
	background-size:184px 76px;
	position:absolute;
	bottom:8px; left:184px;
	transition:all 200ms linear;
	-ms-transition:none;
}
#logo strong {
	display:none;
}
body.scrolled #logo {
	width:90px;
	height:56px;
	background-size:90px 56px;
}
body.scrolled  #logo:after {
	width:130px;
	height:54px;
	background-size:130px 54px;
	bottom:4px; left:90px;
}
.icon, #hamburger {
	display:none;
}

/*
—————————————————————————
Home Page
—————————————————————————
*/
#carousel {
	position:relative;
	overflow:hidden;
	margin:-42px 0 1em 0;
	padding:14.3678% 50%;
}
#carousel ul {
	position:absolute;
	top:0; left:0;
	width:100%;
	height:100%;
}
#carousel li {
	position:absolute;
	top:0; left:0;
	width:100%;
	height:100%;
	opacity:0;
	filter:alpha(opacity=0);
}
#carousel li.current {
	z-index:1;
}
#carousel a {
	display:block;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
}
#carousel .caption {
	display:block;
	background:rgba(0, 0, 0, 0.6);
	position:absolute;
	bottom:0; left:0;
	padding:20px 32px;
	color:#fff;
	transition:background 200ms linear;
	width:100%;
}
#carousel .caption:hover {
	background:rgba(0, 0, 0, 0.65);
}
#carousel .caption strong {
	display:block;
	font-size:2.6em;
	font-family:Vortice;
	line-height:1;
	margin-bottom:0.1em;
	color:#93c749;
	color:#fff;
}
#carousel .caption span {
	display:block;
	font-size:1.2em;
	line-height:1;
}
#carousel .caption span:after {
	font-family:fa-solid;
	content:'\f054';
	font-size:0.8em;
	margin-left:0.6em;
	color:#fed503;
}
#carousel span.arrow {
	position:absolute;
	top:50%;
	width:50px;
	height:70px;
	margin-top:-35px;
	background:rgba(0, 0, 0, 0.45);
	z-index:1;
	cursor:pointer;
	transition:background 200ms linear;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}
#carousel span.left {
	left:0;
	background:rgba(0, 0, 0, 0.2) url(/Images/arrow-left.gif) center no-repeat;
	background-size:14px 26px;
}
#carousel span.right {
	right:0;
	background:rgba(0, 0, 0, 0.2) url(/Images/arrow-right.gif) center no-repeat;
	background-size:14px 26px;
}
#carousel span.arrow:hover {
	background-color:rgba(0, 0, 0, 0.3);
}
.intro-home {
	background:#f2f2f2;
	padding:1.5em;
	border-radius:1em;
	margin-bottom:2.5em;
}
.intro-home p:last-child {
	margin-bottom:0;
}
#brands {
	text-align:center;
	margin:0 auto 1.5em auto;
	width:100%;
	display:table;
	padding-bottom:1em;
	border-bottom:1px solid #ddd;
}
#brands li {
	display:table-cell;
}
#brands a {
	display:block;
	padding:0.8em;
}
#brands img {
	display:block;
	width:100%;
	max-width:150px;
	max-width:150px;
	margin:auto;
}
#brands a:hover img {
	opacity:0.9;
}
#brands a:active img {
	opacity:0.85;
}

/*
—————————————————————————
Sidebar
—————————————————————————
*/
#sidebar {
	float:left;
	box-sizing:border-box;
	width:22%;
}
@media only screen and (min-height:800px) {
	body.scrolled #sidebar {
		position:fixed;
		top:110px;
		max-width:264px;
	}
}
#sidebar.search h2 {
	display:none;
}
#sidebar .close {
	display:none;
}
#sidebar h3 {
	margin-bottom:5px;
}
#sidebar li a {
	display:block;
	padding:5px 0 5px 10px;
	color:#333;
	margin-bottom:0.3em;
	border-radius:5px;
}
#sidebar li a:hover {
	background:#f2f2f2;
}
#sidebar li a:active {
	background:#e2e2e2;
}
#sidebar li.active a {
	background:#fed503;
}
#sidebar #categories li a {
	padding:0;
	margin:0;
	background:none !important;
}
#sidebar #categories li ul {
	display:none;
}
#sidebar #categories li a.top {
	padding-left:1em;
	position:relative;
}
#sidebar #categories li.has-children a.top:before {
	font-family:fa-solid;
	font-size:10px;
	font-weight:normal;
	content:'\f054';
	display:block;
	width:1em;
	text-align:center;
	position:absolute;
	top:0.4em; left:0;
}
#sidebar #categories li.active a.top,
#sidebar #categories li ul li.active a {
	color:#f60;
	font-weight:bold;
}
#sidebar #categories li.open a.top {
	font-weight:bold;
}
#sidebar #categories li.has-children.active a.top:before,
#sidebar #categories li.has-children.open a.top:before {
	content:'\f078';
}
#sidebar #categories li.active ul,
#sidebar #categories li.open ul {
	display:block;
	font-size:0.9375em;
	background:#f4f4f4;
	padding:0.5em 0.85em;
	margin:0 0 0.3em 1.07em;
	border-radius:5px;
}
#sidebar #categories li ul a {
	display:inline;
}
#sidebar #categories li ul a:hover {
	text-decoration:underline;
}
#filterSearch {
	display:none;
}
.filter {
	padding-bottom:8px;
	margin-bottom:8px;
	border-bottom:1px solid #ddd;
}
.filter input {
	float:left;
	margin:5px 3px 0 0;
}
.priceFilter {
	padding-bottom:14px;
	position:relative;
	height:45px;
}
.priceFilter h3 {
	padding-bottom:4px;
}
.priceFilter input {
	float:none;
	border:0;
	margin:0 0 5px 0;
	position:absolute;
	top:0; right:1px;
	width:8em;
	text-align:right;
}
input.update, a.update {
	float:left;
	color:#000;
	background:#fed503;
	height:2.75em;
	line-height:2.75em;
	width:48%;
	border:0;
	outline:none;
	cursor:pointer;
	margin:10px 0 0 0;
	text-align:center;
	-webkit-appearance:none;
	border-radius:5px;
	font-weight:bold;
}
input.update:hover {
	background:#fecb16;
}
a.update {
	float:right;
	background:#ddd;
}
a.update:hover {
	background:#d2d2d2;
}
a.update:active {
	background:#ccc;
}
#slider-range.ui-widget-content {
	border:1px solid #ccc;
	border-radius:4px;
	margin:0 0.5em;
}
#slider-range .ui-widget-header {
	background:#222;
	border:1px solid #222;
	top:-1px;
}
#slider-range .ui-slider-handle {
	background:#fecb16;
	outline:none;
	border-radius:4px;
	height:1.3em;
}
span.old-price {
	text-decoration:line-through;
	color:#bbb;
}
span.new-price {
	font-weight:bold;
	font-size:calc(1em + 1px);
	color:#f60;
}

/*
—————————————————————————
Content (with Sidebar)
—————————————————————————
*/
#content {
	position:relative;
	float:right;
	width:69.6%;
	min-height:500px;
	padding-left:4%;
	border-left:1px solid #ddd;
}
#content .results-header {
	display:block;
	max-width:100%;
	margin-bottom:1.5em;
}
#content .results-header + h1 {
	margin-bottom:0.5em;
}
.intro {
	margin-bottom:2em;
}

/*
—————————————————————————
Content Page Images
—————————————————————————
*/
.imageContainer {
	float:right;
	width:272px;
	margin:0 -12px 25px 25px;
}
.imageContainer img {
	display:block;
	border-radius:5px;
	border-radius:5px;
}
.imageContainer a {
	display:block;
	margin:0 12px 12px 0;
}
.imageContainer a.thumb {
	float:left;
}
#header-image {
	margin:-42px 0 3em 0;
}
#header-image img {
	display:block;
	width:100%;
}

/*
—————————————————————————
Lists
—————————————————————————
*/
ol {
	margin:0 0 1em -.6em;
	padding-left:28px;
}
ol li {
	list-style:decimal outside;
}
ul.bullet, .markdown ul {
	margin-bottom:1em;
}
ul.bullet li, .markdown ul li {
	padding-left:15px;
	background:url(/Images/bullet-small.gif) 1px 0.55em no-repeat;
	list-style:none;
}

/*
—————————————————————————
Tables
—————————————————————————
*/
.grid {
	width:100%;
	border-bottom:1px solid #ddd;
	margin-bottom:20px;
}
.grid tr.clickableRow:hover td {
	background-color:#eee;
	cursor:pointer;
}
.grid th {
	font-weight:bold;
	color:#000;
	background:#fed503;
	padding:0.3em 1em;
}
.grid th strong {
	color:#9fd6bf;
	font-size:16px;
}
.grid td {
	padding:0.5em 1em;
	background:#f9f9f9;
	border-top:1px solid #ddd;
}
.grid img.thumb {
	float:left;
}
.grid td a {
	color:#333;
}
.grid td a:hover {
	text-decoration:none;
}
.grid td input.quantity {
	padding:3px;
	width:40px;
	border:1px solid #ccc;
	border-top-color:#aaa;
	border-radius:4px;
	text-align:center;
	margin-right:2px;
	box-sizing:border-box;
}
.grid td input.quantity:hover {
	border-color:#aaa;
	border-top-color:#888;
}
.grid td input.quantity:focus {
	border-color:#8ed4e6;
	background-color:#fefef0;
}
.grid td input.button {
	font-family:fa-solid;
	font-weight:normal;
	height:2em;
	line-height:2em;
	margin-left:2px;
	width:3.2em;
	padding:0;
}
.grid td input.remove {
	color:#222;
	background:#ddd;
}
.grid td input.remove:hover {
	background:#d2d2d2;
}
.grid td input.remove:active {
	background:#ccc;
	box-shadow:none;
}
.grid td.freight:before {
	font-family:fa-solid;
	font-size:1.5em;
	line-height:1;
	content:'\f48b';
	color:#fecb16;
	margin-right:0.3em;
}
.grid .extras td {
	background-color:#fff;
}
.grid .money {
	text-align:right;
	width:80px;
}
.grid tr.total {
	font-weight:bold;
	background:#f2f2f2;
}

/*
—————————————————————————
Product List
—————————————————————————
*/
#products {
	border-top:1px solid #ddd;
}
#products li {
	float:left;
	width:33.33%;
}
.featured #products {
	margin-bottom:4em;
}
.featured #products li {
	width:20%;
}
#products a {
	display:block;
	border-bottom:1px solid #ddd;
	padding:1.2em 1.5em 1em 1.5em;
	height:15em;
	position:relative;
}
.featured #products a {
	padding:1.2em 1em 1em 1em;
}
#products a img {
	display:block;
	width:12.5em;
	height:9.375em;
	margin:0 auto 0.5em auto;
	transition:transform 100ms linear;
	border-radius:1em;
	background:#fff;
	transform:scale(0.9);
}
#products a strong {
	display:block;
	text-align:center;
	font-weight:normal;
	line-height:1.3;
	margin-bottom:0.2em;
}
#products span.price {
	display:block;
	text-align:center;
}
#products a:hover img {
	transform:scale(1);
}
#products a:active img {
	opacity:0.95;
}
#products a:after {
	content:'';
	width:83px;
	height:33px;
	background-repeat:no-repeat;
	background-size:83px 33px;
	position:absolute;
	top:0; left:1.5em;
	display:none;
}
#products a.endofline:after {
	background-image:url(/Images/label-endofline-grid.svg);
	display:block;
}
#products a.exsample:after {
	background-image:url(/Images/label-exsample-grid.svg);
	display:block;
}
#products a.sale:after {
	background-image:url(/Images/label-sale-grid.svg);
	display:block;
}
#products a.second:after {
	background-image:url(/Images/label-second-grid.svg);
	display:block;
}
.gridFooter {
	border-top:1px solid #ddd;
	padding-top:0.7em;
	margin-top:-1px;
}
.gridFooter span.disabled,
.gridFooter span.divider {
	display:none;
}
.pagerControl {
	float:right;
}
.pagerControl span.active,
.pagerControl a {
	float:left;
	margin-left:2px;
	border:1px solid #fff;
	padding:0 5px;
	line-height:20px;
	color:#333;
}
.pagerControl span.active {
	border:1px solid #fed503;
	background:#fed503;
	color:#000;
	border-radius:3px;
	margin-left:3px;
}

/*
—————————————————————————
Product Page
—————————————————————————
*/
#breadcrumb {
	height:1.5em;
	display:inline-block;
	background:#f2f2f2;
	padding:0 1em;
	border-radius:0.75em;
	margin-bottom:1.2em;
}
#breadcrumb a {
	display:inline-block;
}
#breadcrumb a:after {
	font-family:fa-solid;
	font-size:0.7em;
	color:#bbb;
	content:' \f054';
	line-height:1.5rem;
	margin:0 0.3em;
}
#breadcrumb a:last-child:after {
	display:none;
}
#product-display {
	position:relative;
}
#product-display h1 {
	font-size:2em;
	padding-right:300px;
}
#product-display .brand-logo {
	position:absolute;
	top:-45px; right:0;
	width:150px;
	height:75px;
}
#product-display p.code {
	font-size:0.875em;
	margin-top:-0.7em;
}
#product-details input.quantity {
	padding:3px;
	width:30px;
	border:1px solid #ccc;
	border-top-color:#aaa;
	border-radius:4px;
	border-radius:4px;
	text-align:center;
	margin:0 20px 0 5px;
}
#product-details p.add {
	float:left;
	width:50%;
	margin-bottom:1.8em;
}
#product-details p.add input {
	width:8em;
	font-size:1.1em;
}
#product-details dl {
	float:left;
	clear:left;
	width:50%;
	max-width:400px;
	margin-bottom:2em;
}
#product-details dt {
	float:left;
	clear:left;
	font-weight:bold;
	width:33.33%;
	padding:3px 0;
	border-bottom:1px solid #ddd;
	box-sizing:border-box;
}
#product-details dd {
	float:left;
	width:66.67%;
	padding:3px 5px 3px 0;
	border-bottom:1px solid #ddd;
	box-sizing:border-box;
}
#product-details dd.clearance {
	font-size:1.2em;
	line-height:1.25em;
}
#product-details dd.clearance .saving {
	font-weight:bold;
	display:inline-block;
	font-size:0.73em;
	line-height:1;
	color:#fff;
	background:#f60;
	padding:0.25em 0.4em;
	position:relative;
	top:-0.15em;
	margin-left:0.3em;
	border-radius:3px;
}
#product-details dd.clearance strong {
	font-weight:bold;
	color:#f60;
}
#product-details .markdown {
	float:left;
	clear:left;
	width:50%;
}
.product-images {
	float:right;
	width:45%;
	margin-top:-5em;
}
.product-images a {
	outline:0;
	position:relative;
	display:block;
}
.product-images a.hero {
	border-bottom:1px solid #ddd;
}
.product-images a.hero:after {
	content:'';
	width:100px;
	height:40px;
	background-repeat:no-repeat;
	background-size:100px 40px;
	position:absolute;
	bottom:0; right:0;
	display:none;
}
.product-images a.endofline:after {
	background-image:url(/Images/label-endofline.svg);
	display:block;
}
.product-images a.exsample:after {
	background-image:url(/Images/label-exsample.svg);
	display:block;
}
.product-images a.sale:after {
	background-image:url(/Images/label-sale.svg);
	display:block;
}
.product-images a.second:after {
	background-image:url(/Images/label-second.svg);
	display:block;
}
.product-images img {
	display:block;
	width:100%;
}
.product-images .thumbs {
	text-align:center;
	padding-top:1em;
}
.product-images .thumbs li {
	display:inline-block;
	margin:0 0.3em;
	width:30%;
}
#related {
	clear:both;
	padding-top:1.5em;
}
#related #products li {
	width:20%;
}
#related #products a {
	padding:1.2em 1em 1em 1em;
}

/*
—————————————————————————
Checkout
—————————————————————————
*/
.promoCodeEntry {
	float:right;
	width:180px;
	background:#83cadc;
	padding:12px;
	border-radius:10px;
}
.promoCodeEntry p {
	color:#fff;
	font-size:13px;
}
.promoCodeEntry input.text {
	border:0;
	border-radius:3px;
	padding:4px;
	margin-right:4px;
	width:80px;
}
.promoCodeEntry input.button {
	color:#fff;
	background:#5baec3;
	border-radius:5px;
	border:0;
	padding:4px 8px;
	cursor:pointer;
}
.order-header {
	margin-bottom:2em;
}
.order-header h2 {
	display:inline-block;
	margin-right:0.5em;
}
.no-details h2 {
	display:block;
	margin-right:0;
}
.order-header a {
	display:inline-block;
	height:2em;
	line-height:2em;
	position:relative;
	top:-0.15em;
}
.delivery {
	display:inline-block;
	background:#f2f2f2;
	padding:1em;
}
.delivery address {
	float:left;
	margin-right:2.5em;
}
.delivery address:last-child {
	border-left:1px solid #ccc;
	padding-left:0.8em;
}
.delivery address span {
	display:block;
}
.delivery address span span {
	display:inline;
}
img.payment-logos {
	float:right;
	margin:14px 3em 0 0;
	width:119px;
	height:26px;
}
#confirm {
	float:right;
	line-height:2.75em;
	font-size:1.1em;
	font-family:inherit;
}


/*
—————————————————————
Forms
—————————————————————
*/
.form {
	position:relative;
	padding:2.5em 3em 2.5em 2em;
	background:#f2f2f2;
}
.form p, .form .recaptcha {
	padding-left:6em;
	position:relative;
	margin-bottom:1em;
}
.form p:last-child {
	margin-bottom:0;
}
.form label {
	position:absolute;
	top:0.4em; left:0;
	font-size:0.875em;
	width:5.7em;
	text-align:right;
}
.form input.text, .form textarea {
	border:0;
	border-bottom:2px solid #bbb;
	width:100%;
	max-width:22em;
	height:2em;
	padding:0.3em;
	box-sizing:border-box;
	outline:0;
	-webkit-appearance:none;
	border-radius:0;
}
.form input.text:focus,
.form textarea:focus {
	border-color:#aaa;
}
.form textarea {
	height:10em;
}
.form h3.error {
	padding-left:6em;
	color:#e32551;
}

/*
———————————————————————————
Validation & Confirmation
———————————————————————————
*/
.validation-container, .confirm {
	background:#e32551;
	color:#fff;
	padding:0.875em 1em;
	position:relative;
}
.validation-container .close,
.confirm .close {
	position:absolute;
	top:0; right:0;
	line-height:1;
	padding:0.7em;
	cursor:pointer;
}
.validation-container .close:after,
.confirm .close:after {
	color:#fff;
	font-family:fa-solid;
	content:'\f00d';
}
.confirm {
	background:#6bc257;
	margin-bottom:2em;
	border-radius:5px;
}
.confirm .check {
	font-family:fa-solid;
	margin-right:0.3em;
}
.confirm a {
	display:inline-block;
	border-radius:5px;
	background:linear-gradient(#fff, #e5e5e5);
	padding:0.1em 0.7em;
	color:#222;
	margin-left:1em;
}
.confirm a:hover {
	background:linear-gradient(#f5f5f5, #eee);
}
.confirm a:active {
	background:linear-gradient(#e5e5e5, #eee);
}
.warning {
	background-color:#e32551;
}

/*
—————————————————————————
Contact Page
—————————————————————————
*/
#contact-details {
	float:left;
	width:45%;
}
#contact-details a {
	border-bottom:1px solid #fed503;
}
#contact-details address {
	margin:1.8em 0;
}
#contact-details address span {
	display:block;
}
#contact-form {
	float:right;
	width:45%;
}
#contact-details dt {
	float:left;
	clear:left;
	background-repeat:no-repeat;
	background-position:0 7px;
	width:50px;
	height:50px;
	font-weight:bold;
	color:#999;
	xborder-bottom:1px solid #ddd;
	line-height:300px;
	overflow:hidden;
}
#contact-details dt.phone {
	background-image:url(/Images/icon-phone.gif);
}
#contact-details dt.fax {
	background-image:url(/Images/icon-fax.gif);
}
#contact-details dt.email {
	background-image:url(/Images/icon-email.gif);
}
#contact-details dd {
	float:left;
	xborder-bottom:1px solid #ddd;
	width:290px;
	height:50px;
	line-height:50px;
}
#contact-details dd strong {
	font-size:16px;
}
.thanks {
	background:#f2f2f2 url(/Images/mascot-sword-up.png) bottom right 3em no-repeat;
	background-size:81px 108px;
}
.thanks h2 {
	font-family:Vortice;
}

/*
—————————————————————————
Footer
—————————————————————————
*/
#footer-wrapper {
	color:#000;
	background:#fecb16;
	position:relative;
}
#footer-wrapper:after {
	content:'';
	background:url(/Images/logo-ninja.png) no-repeat;
	background-size:100px 63px;
	position:absolute;
	top:37px; right:-18.5px;
	width:100px;
	height:63px;
	transform:rotate(-90deg);
}
#footer {
	width:90%;
	max-width:1200px;
	margin:auto;
	min-height:80px;
	position:relative;
	padding:2em 0;
}
#copyright {
	position:absolute;
	bottom:2em; right:0;
	font-size:0.875em;
}
#subscribe input.text {
	float:left;
	border:0;
	padding:5px 8px;
	height:2em;
	width:16em;
	outline:none;
	box-sizing:border-box;
	-webkit-appearance:none;
	border-radius:5px 0 0 5px;
}
#subscribe input.button {
	height:2em;
	line-height:2em;
	border-radius:0 5px 5px 0;
}
#subscribe p {
	font-size:12px;
	margin-top:15px;
}
#subscribe p a {
	text-decoration:underline;
}

/*
—————————————————————————
Image Loading
—————————————————————————
*/
@media only screen and (min-width:1350px) {
	#content .results-header {
		height:240px;
	}
	#brands img {
		width:150px;
		height:75px;
	}
	.product-images a.hero img {
		width:540px;
		height:405px;
	}
	.product-images li img {
		width:162px;
		height:121px;
	}
	#header-image img {
		height:400px;
	}
}

/*
—————————————————————————
Responsive
—————————————————————————
*/
@media only screen and (max-width:1440px) {
	html:after {
		display:none;
	}
}


@media only screen and (max-width:1280px) {
	body {
		font-size:15px;
	}
	#nav {
		height:5.2em;
	}
	#logo {
		width:9.2em;
		height:5.75em;
		background-size:9.2em 5.75em;
	}
	#logo:after {
		width:9.2em;
		height:3.8em;
		background-size:9.2em 3.8em;
		left:9.2em;
	}
	.g-recaptcha {
		transform:scale(0.77);
		-webkit-transform:scale(0.77);
		transform-origin:0 0;
		-webkit-transform-origin:0 0;
	}
	.featured #products li,
	#related #products li {
		width:25%;
	}
}


@media only screen and (max-width:1100px) {
	body {
		font-size:14px;
	}
	#carousel .caption {
		padding:1em 1.5em;
	}
	#carousel .caption strong {
		font-size:2.2em;
	}
	.form label {
		width:4.2em;
	}
	.form p, .form .recaptcha {
		padding-left:4.5em;
	}
}


@media only screen and (max-width:900px) {
	#userbar {
		display:none;
	}
	#hamburger {
		display:block;
		position:absolute;
		top:15px; right:15px;
		cursor:pointer;
	}
	.icon {
		display:block;
		position:absolute;
		top:15px;
		cursor:pointer;
		width:36px;
		height:35px;
		color:#000;
		font:20px/35px fa-solid;
		text-align:center;
	}
	#cart-icon {
		right:60px;
	}
	#search-icon {
		right:105px;
	}
	body.scrolled .container {
		padding:0;
	}
	body.scrolled #nav-wrapper {
		position:static;
	}
	#logo, body.scrolled #logo {
		left:10px;
		width:92px;
		height:57.5px;
		background-size:92px 57.5px;
	}
	#logo:after, body.scrolled #logo:after {
		width:120px;
		height:50px;
		background-size:120px 50px;
		bottom:4px; left:92px;
	}
	#nav-wrapper {
		will-change:auto;
		margin-bottom:30px;
	}
	#nav, body.scrolled #nav {
		width:auto;
		height:64px;
	}
	#nav ul.menu {
		position:fixed;
		top:0; left:0;
		width:100%;
		height:100%;
		background:#fff;
		z-index:8;
		overflow-y:scroll;
		-webkit-overflow-scrolling:touch;
	}
	#nav ul.hidden {
		display:none;
	}
	#nav li {
		display:block;
		float:none;
		margin:0;
	}
	#nav li ul {
		position:static;
		display:block;
		background:none;
		box-shadow:none;
	}
	#nav li ul li.nested a {
		padding-left:0;
	}
	#nav #close {
		display:block;
		height:47px;
		padding:10px 10px 0 0;
	}
	#nav #close img {
		float:right;
		width:23px;
		height:23px;
		cursor:pointer;
		padding:12px;
	}
	#nav a.top {
		color:#222 !important;
		background:#fed503 !important;
		border-radius:0;
		font-size:18px;
	}
	#nav a.trigger:after {
		display:none;
	}
	#nav li a,
	#nav li ul a {
		float:none;
		display:block;
		text-align:center;
		font-size:15px;
		line-height:1.2;
		padding:5px 0;
		border-radius:0;
	}
	#nav #close img.spin {
		-webkit-animation-name:spin;
		-webkit-animation-duration:800ms;
	}
	@-webkit-keyframes spin {
		from	{-webkit-transform:rotate(-90deg)}
		to		{-webkit-transform:rotate(0deg)}
	}
	#carousel, #header-image {
		margin-top:-30px;
	}
	#header-image {
		margin-bottom:2em;
	}
	#carousel .caption strong {
		font-size:1.8em;
	}
	#carousel .caption span {
		font-size:1em;
	}
	#carousel span.arrow {
		height:50px;
		margin-top:-25px;
	}
	.featured #products li,
	#related #products li {
		width:33.33%;
	}
	#sidebar {
		display:none;
	}
	#content {
		float:none;
		width:auto;
		padding-left:0;
		border-left:0;
	}
	#content .results-header {
		max-width:111.111%;
		margin:-25px 0 1.5em -5.555%;
    }
	#contact-details {
		margin-bottom:3em;
	}
	#contact-details,
	#contact-form {
		float:none;
		width:auto;
	}
}


@media only screen and (max-width:767px) {
	#products a:after {
		width:60px;
		height:24px;
		background-size:60px 24px;
	}
	#product-display h1 {
		padding-right:0;
	}
	#product-details p.add,
	#product-details dl,
	#product-details .markdown,
	.product-images {
		float:none;
		width:auto;
		margin-bottom:1.5em;
		max-width:100%;
	}
	.product-images {
		margin-top:0;
	}
	#product-display .brand-logo {
		top:-50px;
		width:70px;
		height:35px;
	}
	#carousel span.arrow {
		display:none;
	}
}


@media only screen and (max-width:600px) {
	#products li,
	.featured #products li,
	#related #products li {
		width:50%;
	}
	#carousel .caption strong {
		font-size:1.4em;
	}
	#brands li {
		display:inline-block;
	}
	#brands img {
		width:100px;
		height:50px;
	}
}


@media only screen and (max-width:480px) {
	body {
		font-size:14px;
		min-width:320px;
	}
	.wrapper {
		padding-bottom:30px;
	}
	#hamburger {
		right:10px;
	}
	#cart-icon {
		right:54px;
	}
	#search-icon {
		right:96px;
	}
	.intro {
		display:none;
	}
	#carousel .caption {
		padding:12px;
	}
	#carousel .caption strong {
		font-size:1.2em;
	}
	#brands img {
		width:80px;
		height:40px;
	}
	#products {
		margin-top:1.5em;
	}
	#products li,
	.featured #products li,
	#related #products li {
		float:none;
		width:auto;
	}
	#products a {
		height:auto;
		padding:1.3em 0;
	}
	#products a img {
		transform:none !important;
	}
	#ssidebar.search {
		position:fixed;
		top:0; left:0;
		width:80%;
		height:100%;
		padding:0 10%;
		background:#fff;
		z-index:10;
		border-right:1px solid #ddd;
		overflow-y:scroll;
	}
	#ssidebar.hidden {
		display:none;
	}
	#contact-details dd {
		width:calc(100% - 50px);
	}
	.form p, .form .recaptcha, .form h3.error {
		padding-left:0;
	}
	.grid td input.quantity,
	.grid td input.button {
		display:block;
		margin:0 0 4px 0;
		width:40px
	}
	.form label {
		position:static;
		display:block;
		width:auto;
		text-align:left;
	}
	#footer-wrapper:after {
		display:none;
	}
}


@media only screen and (width:414px) {
	#content .results-header {
		height:119px;
	}
	.product-images a.hero img {
		width:372px;
		height:279px;
	}
	.product-images li img {
		width:112px;
		height:84px;
	}
}


@media only screen and (width:375px) {
	#content .results-header {
		height:108px;
	}
	.product-images a.hero img {
		width:337px;
		height:253px;
	}
	.product-images li img {
		width:101px;
		height:76px;
	}
}
