/*	==========================================================================
	INDIE.WEB CUSTOM STYLES
	==========================================================================  */

/*	GENERAL ---------- */

html,
body {
	font-family: 'Source Sans Pro', sans-serif;
}

main .inner > div:last-child {
	padding-bottom: 30px;
}


/*	TEXT STYLES ------ */

h1,
h2,
h3,
h4, .h4,
h5, .h5 {
	font-family: 'Droid Serif', serif;
	text-transform: uppercase;
	-webkit-font-smoothing: subpixel-antialiased;
	letter-spacing: 0.05em;
}

h1,
h2,
h3 {
	margin: 30px 0;
}

h4, .h4,
h5, .h5 {
	margin: 15px 0;
}

h1:last-child,
h2:last-child,
h3:last-child {
	margin-bottom: 15px;
}

h1 {
	font-weight: 500;
	text-transform: uppercase;
}
h2 {
	text-transform: uppercase;
}

h2,
h3 {
	font-weight: 500;
}

h4, .h4,
h5, .h5 {
	font-weight: 400;
}

h1 + h2,
h1 + h3,
h1 + div > h3:first-child,
h1 + div.int-wrap > div > div:first-child > h3 {
	margin-top: 0;
}

p {
	margin: 15px 0;
	letter-spacing: 0.01em;
}

p:last-child,
main ul:last-child {
	margin-bottom: 30px;
}

p + h2,
p + h3 {
	margin-top: 60px;
}

* + h4,
* + .h4 {
	margin-top: 30px;
}

strong {
	font-weight: 600;
}

blockquote {
	margin: 30px 0;
	padding: 0 60px;

	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	
	font-family: 'Droid Serif', serif;
	font-style: italic;
}

hr {
	margin: 15px 0;
}

.hr {
	padding: 15px 0;
}

.large {
	font-size: 1.25em;
}

.small {
	font-size: 0.75em;
}

.upper {
	text-transform: uppercase;
}

.txt-left,
.txt-left * {
	text-align: left;
}

.txt-center,
.txt-center * {
	text-align: center;
}

.txt-right,
.txt-right * {
	text-align: right;
}

.red {
	color: #dc143c;
}

.top-30 {
	margin-top: 30px;
}

.bottom-30 {
	margin-bottom: 30px;
}


/*	ICON FONT STYLES ---------- */

.jumbo-icon .icon-10:before {
	font-size: 10em;
}


/*	FONT AWESOME STYLES ------ */

.jumbo-icon .fa-3 {
    font-size: 4em;
}

.jumbo-icon .fa-4 {
    font-size: 7em;
}

.jumbo-icon .fa-5 {
    font-size: 12em;
}

.jumbo-icon .fa-6 {
	font-size: 20em;
}


/*	LINK STYLES ------ */

/* See header, main and footer for a styles */

.box-link {
	display: inline-block !important;
	height: 45px;
	line-height: 45px;
	border: 1px solid;
	padding: 0 30px;
}


/* FORMS ---------- */

input,
select,
textarea {
	display: block;
	margin: 15px 0;
	border: 0;
	background: #ccc;

	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

input,
select {
	padding: 0 15px;
}

select {
	color: #666;
}

textarea {
	padding: 12.5px 15px;
}

input[type='checkbox'],
input[type='radio'] {
	display: inline-block;
	margin-right: 5px;
}

input[type='text'],
input[type='submit'],
select,
textarea {
	-webkit-border-radius: 0;
	border-radius: 0;
}

input[type='text'],
select,
textarea {
	width: 100%;
}

input[type='text'],
input[type='submit'],
input[type='button'],
select {
	height: 45px;
}

input[type='submit'],
input[type='button'] {
	font-family: Arial, Helvetica, sans-serif;
	color: #fff;
	text-transform: uppercase;
	background-color: #dc143c;
}

input[type='submit']:hover,
input[type='button']:hover {
	background-color: #222;
}

/* get rid of Chrome's stupid blue outline */
input,
textarea,
*:focus {
	outline: none !important;
}


/*	PLACEHOLDERS ------ */

/*	Placeholders (Standard) --- */

::-webkit-input-placeholder {
	color: #666;
}
:-moz-placeholder {
	color: #666;
}
::-moz-placeholder {
	color: #666;
}
:-ms-input-placeholder {
	color: #666;
}

/*	Placeholders :focus --- */

:focus::-webkit-input-placeholder {
	color: #FFF;
}
:focus:-moz-placeholder {
	color: #FFF;
}
:focus::-moz-placeholder {
	color: #FFF;
}
:focus:-ms-input-placeholder {
	color: #FFF;
}


/*	HEADER ---------- */

/*	Nav ------ */

#nav-container {
	width: 100%;
	background-color: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
}

#nav-container,
#logo,
#phone {
	letter-spacing: 0.025em;
}

#logo img {
	margin: 0;
}

#phone {
	font-weight: 600;
	color: #dc143c;
	text-align: right;
	text-decoration: none;
}

#phone:hover {
	color: #222;
}

#nav-toggle {
	display: none;
}

nav ul {
	margin: 0;
	padding: 0;
}

nav a {
	display: block;
	font-weight: 400;
	color: #222;
	text-decoration: none;
}

nav a:hover,
nav li.selected > a {
	color: #dc143c;
}

nav li ul {
	display: none;
}

nav li ul li  {
	background-color: #fff;
}

nav li:hover ul  {
	display: block;
}

.fix-selected a {
	color: #fff !important;
}

/*	Responsive Nav --- */

#nav-toggle {
	display: none;
}

#nav-icon {
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	background: none !important;
	z-index: 1001;
	vertical-align: top;
}

#nav-icon span {
	display: inline-block;

    -webkit-transform: translateX(0%) translateY(-50%);
    -ms-transform: translateX(0%) translateY(-50%);
    transform: translateX(0%) translateY(-50%);

	width: 100%;
    height: 3px;

    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
	
	background: #dc143c;
}

#nav-icon span:before,
#nav-icon span:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    -webkit-transition: -webkit-transform .3s, top .3s, background-color 0.3s;
    -webkit-transition: top .3s, background-color 0.3s, -webkit-transform .3s;
    transition: top .3s, background-color 0.3s, -webkit-transform .3s;
    transition: transform .3s, top .3s, background-color 0.3s;
    transition: transform .3s, top .3s, background-color 0.3s, -webkit-transform .3s;
	
	background: #dc143c !important;
}

#nav-icon span:before {
    top: -7px;
}

#nav-icon span:after {
    top: 7px;
}

#nav-toggle:checked ~ #nav-icon span {
	background-color: rgba(255, 255, 255, 0) !important;
}

#nav-toggle:checked ~ #nav-icon span:before {
    top: 0;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

#nav-toggle:checked ~ #nav-icon span:after {
	top: 0;
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
}


/*	Banner ------ */

#banner {
	min-height: 40vh;
	background-image: url(/images/banner/banner-01.jpg);
	background-repeat: no-repeat;
	background-position: 50% 75%;
	background-size: cover;
}

#banner * {
	color: #fff;
	text-shadow: 0 0 15px rgba(0,0,0,0.85);
}

#banner .cycle-slide {
	width: 100%;
}

#banner .button-link {
	text-decoration: none;
	display: inline-block;
	height: 45px;
	margin: 15px 0 30px;
	padding: 0 30px;
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
	line-height: 45px;
	text-transform: uppercase;
	background-color: #dc143c;
}

#banner .button-link:hover {
	background-color: #222;
}

#cycle-pager {
	font-size: 3em;
	line-height: 1em;
	margin: 30px 0;
}

#cycle-pager a {
	padding: 0 2.5px;
	text-decoration: none;
}

#cycle-pager .cycle-pager-active {
	color: #dc143c;
	text-shadow: 0 0 10px rgba(255,255,255,0.85);
}


/*	MAIN ---------- */

main a:link,
main a:visited,
main a:hover,
main a:active {
	color: #dc143c;
	font-weight: 600;
	text-decoration: none;
	outline: 0;
}

main a:hover {
	color: #222;
}

main a.flex-box {
	font-weight: normal;
	color: #222;
}

main a.flex-box:hover {
	color: #dc143c;
}

main a.flex-box:hover h2 {
	border-color: #dc143c;
}

main p,
main li {
	line-height: 1.75em;
}

main li {
	margin: 7.5px 0;
}

main ol > ol {
	list-style-type: lower-alpha;
}

main ol > ol > ol {
	list-style-type: lower-roman;
}

#tmplt-home main {
	text-align: center;
}

#tmplt-main main {
	text-align: left;
}

.flex-container {
	display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.flex-container.items-center {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

main .box-link:hover {
	background: #7a00cc;
	color: #fff;
}

main h1 + .int-wrap {
	margin-top: -15px !important;
}

.img-column img {
	padding: 15px 0;	
}

main .img-left ~ .ice ul {
	overflow: hidden;
}

main table {
	margin: 15px 0;
}

main table:last-child {
	margin-bottom: 30px;
}

main table th,
main table td {
	padding: 5px 15px;
	text-align: center;
}

main table tr:nth-child(odd) {
	background-color: #eee;
}

main table tr:nth-child(even) {
	background-color: #f7f7f7;
}

main table th {
	background-color: #222;
	font-weight: 400;
	color: #fff;
}

main .tagline p {
	font-style: italic;
	margin-top: 30px;
}

.responsive-video {
    position: relative;
    width: 100%;
    height: 0;
    margin: 30px 0px 15px 0px;
    padding-bottom: 56.25%;
}

.responsive-video iframe {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border: none;
}


/*	PAGES ---------- */

/*	ABOUT US ------ */

#about-us .three-quarter .hr:first-child {
	padding-top: 0;
}


/*	DOWNLOADS ------ */

a.download-inner {
	display: block;
	height: 100%;
	padding: 15px 30px;
    -webkit-box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
	
    -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a.download-inner img {
	padding-top: 15px;
}

a.download-inner * {
	color: #222;
}

a.download-inner:hover {
    -webkit-box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
	-moz-box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
	box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
}

a.download-inner:hover * {
	color: #dc143c;
}


/*	ONLINE SHOP ------ */

/*	Overall Layout --- */

.breadcrumbs p, .cart-summary p {
    margin: 0;
}

#view-cart {
	text-transform: uppercase;
}

a.catalogue-inner {
	display: block;
	height: 100%;
	padding: 15px 30px;
    -webkit-box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
	
    -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a.catalogue-inner h4 {
	color: #222;
}

a.catalogue-inner:hover {
    -webkit-box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
	-moz-box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
	box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
}

a.catalogue-inner:hover h4 {
	color: #dc143c;
}

ul.productList {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

ul.productList li.productItem,
ul.productList li.productItemLast {
	margin: 0;

}

ul.productList.productSmall li.productItem,
ul.productList.productSmall li.productItemLast {
	padding: 15px;
}

#prev-next-wrap {
	margin: 0 -7.5px;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#prev-next-wrap a {
    display: inline-block;
    margin-left: 7.5px;
    margin-right: 7.5px;
    padding: 0 45px;
	background-color: #dc143c;
	color: #fff;
	font-weight: 400;
	text-transform: uppercase;
    line-height: 45px;
    text-decoration: none;
    white-space: nowrap;
}

#prev-next-wrap a:hover {
    background-color: #222;
}

/*	Small Product Layout --- */

.productList.productSmall {
	display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
	
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
	
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
	
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.shop-product-small {
    padding: 15px 30px;
    -webkit-box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
}

.shop-product-small a.item-link {
	color: #222;
}

.shop-product-small:hover a.item-link {
	color: #dc143c;
}

.shop-product-small:hover {
    -webkit-box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
	-moz-box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
	box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
}

.product-image {
	display: block;
	width: 100%;
	position: relative;
	height: 0;
	padding: 75% 0 0 0;
	overflow: hidden;
}

.product-image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	
	display: block;
	max-width: 100%;
	width: auto;
	max-height: 100%;
	margin: auto;
	padding-top: 15px;
}

.shop-product-small p {
	margin: 0;
}

.productSubmitInput {
	width: 100%;
}

.productSmall .productSubmitInput {
	font-size: 0.875em;
}


/* Large Product Laytout --- */

.product-description p:first-child {
	margin-top: 0;
}


/* Overall Layout --- */

/* Apply Clearfix Styles */
.productAttributes:before,
.catProductAttributeGroup:before,
.productQuantityGroup:before,
.catProductAttributeGroup:after,
.productQuantityGroup:after {
    content: ' ';
    display: table;
}

.productAttributes:after,
.catProductAttributeGroup:after,
.productQuantityGroup:after {
    clear: both;
}

.productAttributes:after,
.catProductAttributeGroup,
.productQuantityGroup {
    *zoom: 1;
}
/*  */

.catProductAttributeGroup {
	margin: 15px 0;	
}

.productQuantityGroup {
	margin: 15px 0;
}

.productQuantityGroup * {
	margin: 0;
}

.catProdAttributeTitle,
.catProdAttributeItem,
.productQuantity,
.productTextInput {
	float: left;
	
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	
	line-height: 45px;
}

.catProdAttributeTitle,
.productQuantity {
	width: 35%;
	padding-right: 15px;
}

.catProdAttributeTitle:after{
	content: ':';
}

.catProdAttributeItem {
	width: 65%;
}

.catProdAttributeItem select {
	width: 100%;
}

.catProdAttributeItem select,
.productTextInput,
.productSubmitInput {
	height: 45px;
	margin: 0;
	border: 0;
	padding: 0 15px;
	
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

input.productTextInput {
	width: 20%;
}

.productSubmitInput {
	float: right;
	width: calc(45% - 15px);
	margin-left: 15px;
	color: #fff;
}

#cart-button-wrap {
	text-align: right;
}

#cart-button-wrap a {
	display: inline-block;
	width: calc(50% - 15px);
	height: 45px;
	margin: 15px 0 0 0;
	border: 0;
	background-color: #222;
	
	text-align: center;
	line-height: 45px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 400;
	color: #fff;
	text-transform: uppercase;
}

#cart-button-wrap a:hover {
	background-color: #dc143c;
	text-decoration: none;
}

.poplet-wrap {
	display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;      /* TWEENER - IE 10 */
	display: -webkit-flex;     /* NEW - Chrome */
	display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */
	flex-wrap: wrap;

	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;		
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.poplet-wrap a {
	width: 22.5%;
	padding: 15px 0;
}


/* Shopping Cart Layout --- */

/* General */

.back {
	text-transform: uppercase;
	margin-bottom: 15px !important;
}

.cart {
	margin-top: 30px;
}

.cart input,
.cart select {
	width: 100%;
	margin: 0;
	
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* Actions */

.cart .actions .clear-cart,
.cart .actions .checkout a{
	display: block;
}

.clear-cart input {
	background-color: #222;
}

.clear-cart input:hover {
	background-color: #dc143c;
}

.cartLink {
	display: block;
	margin: 15px 0;
	text-align: right;
	font-size: 0.875em;
}

/* Discount, Gift Voucher & Shipping */

.cart #shippingSpan {
	display: none;
}

.cart .shippingDiv {
	width: 100%;
}

/* Checkout Layout --- */

#setBilling {
	height: 45px;
	margin-top: 0;
	margin-bottom: 0;
}

label[for='SetBilling'] {
	line-height: 45px;
    vertical-align: top;
}

#ShippingInstructions {
	height: 45px;
}

#ssl-seal {
	float: right;
	width: 50%;
	padding-top: 15px;
	text-align: right;
}

#ssl-seal img {
	width: 90px;
}


/*	CONTACT ------ */

#contact iframe {
	margin: 30px 0;
}

/*	Contact Form */

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    background-color: rgb(0,0,0) !important; /*rgb(250, 255, 189)*/
    background-image: none;
    color: rgb(0, 0, 0);
}


/*	FOOTER ---------- */
/*	for Sticky Footer see media queries section */

/*	FOOTER TOP ------ */

#footer-top > .inner > div {
	font-size: 0.9375em;
}

#footer-top h3 {
	color: #;
}

#footer-top a {
	color: #dc143c;
}

#footer-top a {
	display: block;
	font-size: 1.25em;
	text-decoration: none;
}

#footer-top a:hover {
	color: #222;
}

#footer-top .box-link {
	font-weight: 600;
	text-transform: uppercase;
}

/*	Social Icons --- */

#footer-top .social-icon {
	display: inline-block;
	padding-left: 15px;
	font-size: 3.0em;
}


/*	FOOTER BOTTOM ------ */

#footer-bottom {
	background: none;
}

#footer-bottom p {
	margin: 0;
}

#footer-bottom a {
	color: #dc143c;
	text-decoration: none;
}

#footer-bottom a:hover {
	color: #222;
}

/*	indie.web Branding Styles --- */

.indie {
	color: #666;
}
.web {
	color: #bb56ff;
}


/*	CSS TRANSITIONS ---------- */

a:link,
a:visited,
a:hover,
a:active,

.social a,
.social a:hover,
.social img,
.social a:hover + img,

input,
input:hover,

#refresh-btn-wrap a,
#refresh-btn-wrap a:hover,
#refresh-btn-wrap img,
#refresh-btn-wrap a:hover + img,

a.download-inner h5,
a.catalogue-inner,
a.catalogue-inner h4,
.shop-product-small,

#catwebformbutton,
#catwebformbutton:hover {
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-ms-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}


/*	==========================================================================
	Media Queries
	========================================================================== */

/* Screen Sizes 240px and smaller	--------- */
@media only screen 
and (max-width : 240px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */

	/*	Responsive Nav --- */

	#nav-icon {
		right: 15px;
		width: 20px;
	}
	
	#nav-icon span {
		height: 2px;
	}
	
	#nav-icon span:before {
		top: -6px;
	}
	
	#nav-icon span:after {
		top: 6px;
	}

}

/* Screen Sizes 240px and larger	--------- */
@media only screen 
and (min-width : 240px) {
	


}


/* Screen Sizes 240px - 320px		--------- */
@media only screen 
and (min-width : 240px)
and (max-width : 320px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */

	/*	Responsive Nav --- */
	
	#nav-icon {
		right: 30px;
		width: 22px;
	}
	
	#nav-icon span {
		height: 2px;
	}
	
	#nav-icon span:before {
		top: -6px;
	}
	
	#nav-icon span:after {
		top: 6px;
	}
	
}


/* Screen Sizes 240px - 640px		--------- */
@media only screen 
and (min-width : 240px)
and (max-width : 640px) {
	


}


/* Screen Sizes 320px and smaller	--------- */
@media only screen 
and (max-width : 320px) {
	
	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */
	
	/* Large Product Layout --- */
	
	.shop-product-large input[type='submit'] {
		font-size: 0.75em;
	}
	
	/* Shopping Cart Layout --- */
	
	.cartLink {
		font-size: 0.75em;
	}
	
	.cart input,
	.cart select {
		font-size: 0.75em;
	}
	
	/* Checkout Layout */
	
	#checkout-submit {
		width: 100%;
	}
	
}


/* Screen Sizes	320px and larger	--------- */
@media only screen 
and (min-width : 320px) {

}
	

/* Screen Sizes	320px - 400px		--------- */
@media only screen 
and (min-width : 320px) 
and (max-width : 400px) {
	
	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */

	/* Shopping Cart Layout --- */
	
	.cart input,
	.cart select {
		font-size: 0.75em;
	}
	
}


/* Screen Sizes	320px - 480px		--------- */
@media only screen 
and (min-width : 320px) 
and (max-width : 480px) {
	
}


/* Screen Sizes 320px - 640px		--------- */
@media only screen
and (min-width : 320px)
and (max-width : 640px) {

	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */
	
	/* Checkout Layout --- */
	
	#checkout-submit {
		width: 50%;
	}

}


/* Screen Sizes 320px - 800px		--------- */
@media only screen
and (min-width : 320px)
and (max-width : 800px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */

	/*	Responsive Nav --- */
	
	#nav-icon {
		right: 30px;
		width: 25px;
	}
	
	#nav-icon span {
		height: 3px;
	}
	
	#nav-icon span:before {
		top: -7px;
	}
	
	#nav-icon span:after {
		top: 7px;
	}

}


/* Screen Sizes	400px and smaller	--------- */
@media only screen 
and (max-width : 400px) {

	/* PAGES ---------- */

	/*	ONLINE SHOP ------ */

	/*	Overall Layout --- */
	
	#prev-next-wrap {
		margin-top: 7.5px;
		margin-bottom: 7.5px;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	
	#prev-next-wrap a {
		margin-top: 7.5px;
		margin-bottom: 7.5px;
	}

	/* Small + Large Product Layout --- */
	
	.productQuantity,
	.productTextInput {
		width: 50%;
	}
	
	.productTextInput {
		float: right;
	}
	
	.productSubmitInput {
		width: 100%;
		margin-top: 15px;
	}

	/* Shopping Cart Layout --- */


	.cart .val .item-quantity {
		width: 30%;
		padding-right: 15px;
	}
	
	.cart .val .item-price {
		width: 45%;
	}
	
	.cart .val .item-total {
		width: 25%;
	}
	
	/* Sub-Total */
	
	.cart .sub .heading-subtotal {
		width: 45%;
	}
	
	.cart .sub .total-quantity {
		width: 27.5%;
	}
	
	.cart .sub .subtotal {
		width: 27.5%;
	}
	
	/* Discount, Gift Voucher & Shipping */
	
	.cart .code {
		width: 30%;
		padding-right: 15px;
	}
	
	.cart .update {
		width: 42.5%;
		padding-right: 15px;
	}
	
	/* Total */
	
	.cart .total .mobile {
		width: 65%;
	}
	
	/* Actions */
	
	.cart .actions .clear-cart {
		margin-bottom: 15px;
	}

}


/* Screen Sizes	400px and larger	--------- */
@media only screen 
and (min-width : 400px) {

	/*	PAGES ---------- */

	/*	ONLINE SHOP ------ */
	
	/*	Overall Layout --- */
	
	#prev-next-wrap.flex-end {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
	
	#prev-next-wrap a {
		margin-top: 15px;
		margin-bottom: 15px;
	}

}


/* Screen Sizes	400px - 480px		--------- */
@media only screen 
and (min-width : 400px)
and (max-width : 480px) {

	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */

	/* Shopping Cart Layout --- */
	
	.cart input,
	.cart select {
		font-size: 0.875em;
	}
	
}


/* Screen Sizes	400px - 720px		--------- */
@media only screen 
and (min-width : 400px)
and (max-width : 720px) {

	/* PAGES ---------- */

	/* ONLINE SHOP ------ */

	/* Shopping Cart Layout --- */

	/* Headings & Products */
	
	.cart .val .item-quantity {
		width: 40%;
		padding-right: 30px;
	}
	
	.cart .val .item-price {
		width: 35%;
	}
	
	.cart .val .item-total {
		width: 25%;
	}

	/* Sub-Total */
	
	.cart .sub .heading-subtotal {
		width: 40%;
	}
	
	.cart .sub .total-quantity {
		width: 35%;
	}
	
	.cart .sub .subtotal {
		width: 25%;
	}

	/* Discount, Gift Voucher & Shipping */
	
	.cart .code {
		width: 40%;
		padding-right: 30px;
	}
	
	.cart .update {
		width: 32.5%;
		padding-right: 15px;
	}
	
	/* Total */
	
	.cart .total .mobile {
		width: 72.5%;
	}
	
	/* Actions */
	
	.cart .actions .clear-cart,
	.cart .actions .checkout {
		float: left;
		width: 50%;
		
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	.cart .actions .clear-cart {
		padding-right: 15px;
	}
	
	.cart .actions .checkout {
		padding-left: 15px;
	}
	
}


/* Screen Sizes	400px - 800px		--------- */
@media only screen 
and (min-width : 400px)
and (max-width : 800px) {

}


/* Screen Sizes	480px - 560px		--------- */
@media only screen 
and (min-width : 480px) 
and (max-width : 560px) {

	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */

	/* Shopping Cart Layout --- */
	
	.cart input,
	.cart select {
		font-size: 0.9375em;
	}

}


/* Screen sizes 560px and smaller	------------ */
@media only screen 
and (max-width : 560px) {

}


/* Screen sizes 560px and larger	------------ */
@media only screen 
and (min-width : 560px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */
	
	#logo {
		padding-top: 7.5px;
		padding-bottom: 7.5px;
	}

}


/* Screen Sizes 560px - 640px		--------- */
@media only screen
and (min-width : 560px)
and (max-width : 640px) {

}


/* Screen Sizes 560px - 800px		--------- */
@media only screen
and (min-width : 560px)
and (max-width : 800px) {
	
}


/* Screen sizes 640px and smaller	------------ */
@media only screen 
and (max-width : 640px) {

}


/* Screen Sizes 640px and larger	--------- */
@media only screen
and (min-width : 640px ) {

	/* GENERAL ---------- */
/*
	.img-left {
		float: left;
		margin: 0 0 15px 0;
		padding: 0 30px 0 0;
	}
	
	.img-right {
		float: rightt;
		margin: 0 0 15px 0;
		padding: 0 0 0 30px;
	}
	
	.img-left.third,
	.img-right.third {
		width: calc(33.3333% + 15px);
	}
	
	.img-left.half,
	.img-right.half {
		width: calc(50% + 15px);
	}
	*/

	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */
	
	/* Small Product Layout --- */
	
	.cart-summary {
		text-align: right;
	}
	
	.productList.productSmall .productItem,
	.productList.productSmall .productItemLast {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	.productList.productSmall h5 {
		display: block;
		min-height: 3.5em;
	}
	
	.productSmall .productQuantity,
	.productSmall .productTextInput {
		width: 50%;
	}
	
	.productSmall .productSubmitInput {
		width: 100%;
		margin-top: 15px;
	}
	
}

/* Screen Sizes 640px - 720px		--------- */
@media only screen
and (min-width : 640px )
and (max-width : 720px) {

	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */
	
	/* Large Product Layout --- */
	
	.productSubmitInput {
		font-size: 0.75em;
	}
	
	/* Checkout Layout --- */
	
	#checkout-submit {
		width: 100%;
	}
	
}


/* Screen Sizes 640px - 800px		--------- */
@media only screen
and (min-width : 640px )
and (max-width : 800px) {
	
}


/* Screen Sizes 640px - 960px		--------- */
@media only screen
and (min-width : 640px )
and (max-width : 960px) {

	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */
	
	/* Small Product Layout --- */

	.productList.productSmall .productItem,
	.productList.productSmall .productItemLast {
		width: 50%;
	}

}


/* Screen sizes 720px and smaller	--------- */
@media only screen 
and (max-width : 720px) {

	/* PAGES ---------- */
	
	/* HOME ------ */
	
	#home h1 {
		text-align: center;
	}
	
	/* ONLINE SHOP ------ */
	
	/* Shopping Cart Layout --- */
	
	.cart .var {
		display: none;
	}
	
	/* General */
	
	.cart h4 {
		margin: 0;
		line-height: 40px;
	}
	
	.cart > div {
		margin: 15px 0;
	}
	
	.cart .desktop {
		display: none;
	}
	
	.cart input,
	.cart select {
		height: 40px;
	}
	
	.cart .sub div,
	.cart .discount div,
	.cart .giftvoucher div,
	.cart .shipping div,
	.cart .total div {
		float: left;
		height: 40px;
		line-height: 40px;
		
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	/* Headings & Products */

	.cart .val .item-name a,
	.cart .val .item-quantity,
	.cart .val .item-price,
	.cart .val .item-total,
	.cart .val .item-remove {
		line-height: 40px;
	}

	.cart .val .item-quantity,
	.cart .val .item-price,
	.cart .val .item-total {
		float: left;

		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	.cart .val .item-name a {
		height: 40px;
	}
	
	.cart .val .item-total {
		text-align: right;
	}
	
	/* Sub-Total */
	
	.cart .sub .subtotal {
		text-align: right;
	}
	
	/* Discount, Gift Voucher & Shipping */
	
	.cart .heading-discount,
	.cart .heading-voucher,
	.cart .heading-shipping {
		width: 100%;
	}
	
	.cart .shipping .shipping-option {
		width: 72.5%;
		padding-right: 15px;
	}

	.cart .discount-total,
	.cart .shipping-total {
		width: 27.5%;
		text-align: right;
	}
	
	/* Total */
	
	.cart .total .heading-grand-total,
	.cart .total .gst-total,	
	.cart .total .grand-total {
		width: 100%;
	}
	
	.cart .total .gst-total h4,	
	.cart .total .grand-total h4 {
		text-align: right;
	}
	
	.cart .total .mobile {
		float: left;
		padding-right: 15px;
		
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
  
}

/* Screen sizes 720px and larger	--------- */
@media only screen 
and (min-width : 720px) {
	
	/* GENERAL ---------- */

	body:not(#tmplt-home) h1 {
		position: absolute;
		top: -150px;
		color: #fff;
		text-shadow: 0 0 15px rgba(0,0,0,0.5);
	}

	
	/*	PAGES ---------- */
	
	/* Shopping Cart Layout --- */
	
	/* General */
	
	.cart h4 {
		margin: 0;
		line-height: 45px;
	}
	
	.cart > div {
		margin: 15px 0;
	}
	
	.cart .mobile {
		display: none;
	}
	
	.cart .var div,
	.cart .val div,
	.cart .sub div,
	.cart .discount div,
	.cart .giftvoucher div,
	.cart .shipping div,
	.cart .total div {
		float: left;
		height: 45px;
		line-height: 45px;
		
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	/* Headings & Products */
	
	.cart .var .heading-product,
	.cart .val .item-name {
		width: 35%;
	}
	
	.cart .var .heading-quantity,
	.cart .val .item-quantity {
		width: 20%;
	}
	
	.cart .var .heading-price,
	.cart .val .item-price {
		width: 20%;
	}
	
	.cart .var .heading-tax,
	.cart .val .item-tax {
		width: 15%;
	}
	
	.cart .var .heading-total,
	.cart .val .item-total {
		width: 12.5%;
	}
	
	.cart .var .heading-remove,
	.cart .val .item-remove {
		width: 12.5%;
	}
	
	.cart .val .item-quantity {
		padding-right: 30px;
	}

	/* Sub-Total */
	
	.cart .sub .heading-subtotal {
		width: 35%;
	}
	
	.cart .sub .total-quantity {
		width: 20%;
		margin-right: 20%;
	}
	
	.cart .sub .subtotal {
		width: 15%;
		margin-right: 10%;
	}

	/* Discount, Gift Voucher & Shipping */
	
	.cart .heading-discount,
	.cart .heading-voucher,
	.cart .heading-shipping {
		width: 35%;
	}
	
	.cart .code {
		width: 20%;
		padding-right: 30px;
	}
	
	.cart .shipping .shipping-option {
		width: 40%;
		padding-right: 30px;
	}
	
	.cart .update,
	.cart .shipping-gst {
		width: 20%;
		padding-right: 30px;
	}

	.cart .discount-total,
	.cart .shipping-total {
		width: 15%;
		margin-right: 10%;
	}
	
	/* Total */
	
	.cart .total .heading-grand-total {
		width: 55%;
	}
	
	.cart .total .gst-total {
		width: 45%;
	}
	
	.cart .total .mobile {
		display: block;
		width: 45%;
	}
	
	.cart .total .grand-total {
		width: 45%;
		margin-left: 55%;
	}
	
	.cart .grand-total .mobile {
		
	}
	
	/* Actions */
	
	.cart .actions .clear-cart,
	.cart .actions .checkout {
		float: left;
		width: 20%;
	}
	
	.cart .actions .clear-cart {
		margin-left: 35%;
	}
	
	.cart .actions .checkout {
		margin-left: 20%;
	}

	/* Checkout Layout --- */
	
	#checkout-submit {
		width: 50%;
	}
	
	#checkout .mobile {
		display: none;
	}

}


/* Screen sizes 720px - 800px		--------- */
@media only screen 
and (min-width : 720px) 
and (max-width : 800px) {

}


/* Screen sizes 720px - 880px		--------- */
@media only screen 
and (min-width : 720px) 
and (max-width : 880px) {



}


/* Screen sizes 800px and smaller	--------- */
@media only screen 
and (max-width : 800px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */
	
	/*	Responsive Nav --- */
	
	#nav-icon {
		display: inline-block;
		height: 30px;
	}

	#nav-toggle:checked ~ #nav-icon {
		position: absolute;
		-webkit-backface-visibility: hidden; /* provides backwards compatibility for fixed position elements mobile devices */
		left: auto;
		z-index: 1001;
	}

	#nav-collapse {
		position: fixed;
		-webkit-backface-visibility: hidden; /* provides backwards compatibility for fixed position elements mobile devices */
		z-index: 1000;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		max-height: 0;
		padding: 0;
		overflow: hidden;
		text-align: center;
		background: #fff;

		-webkit-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
	}

	#nav-toggle:checked ~ #nav-collapse {
		max-height: 800px;
	}
	
	nav li:hover ul li:first-child:before {
		content: '\276D';
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -75%) rotate(90deg);
	}
	
}


/* Screen sizes 800px and larger	--------- */
@media only screen 
and (min-width : 800px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */

	/*	Responsive Nav --- */
	
	#nav-icon {
		display: none;
	}
	
	#nav-collapse {
		position: relative;
		width: auto;
		height: auto;
		max-height: none;
		overflow: visible;
		line-height: 75px;
	}

	nav li ul {
		position: absolute;
		top: 75px;
		height: initial;

		box-shadow: 0 0 15px rgba(0,0,0,0.5);
		clip: rect(0px, 300px, 1200px, -15px);
		-webkit-clip-path: inset(0 -15px -15px -15px);
		clip-path: inset(0 -15px -15px -15px);
	}
	
	nav li ul li  {
		display: block;
		height: 60px;
		line-height: 60px;
		padding: 0 30px;
		text-align: left;
	}

}


/* Screen sizes 800px - 880px		--------- */
@media only screen 
and (min-width : 800px) 
and (max-width : 880px) {

}


/* Screen sizes 800px - 960px		--------- */
@media only screen 
and (min-width : 800px) 
and (max-width : 960px) {

}


/* Screen sizes 800px - 1200px		--------- */
@media only screen 
and (min-width : 800px) 
and (max-width : 1200px) {

	/*	HEADER ---------- */

	/*	Nav ------ */

	/*	Responsive Nav --- */

	#nav-collapse {
		text-align: right;
	}

	nav li ul {
		margin-left: -15px;
	}

}


/* Screen sizes 880px - 960px		--------- */
@media only screen 
and (min-width : 880px) 
and (max-width : 960px) {

}


/* Screen sizes 880px - 1040px		--------- */
@media only screen 
and (min-width : 880px) 
and (max-width : 1040px) {
	


}


/* Screen sizes 960px and larger	--------- */
@media only screen 
and (min-width : 960px) {

	/* GENERAL ---------- */
	
	#bg-wrapper {
		position: fixed;
		top: 0;
		width: 100%;
		min-height: 100%;
		z-index: -1;
		background: linear-gradient(
						rgba(255,255,255,0.75),
						rgba(255,255,255,0.75)
					),
					url(/images/test/background.jpg) center top no-repeat;
		background-size: cover;
	}


	/* HEADER ---------- */
	
	/*	Banner ------ */
	
	#banner .inner {
		padding-bottom: 90px;
	}


	/* MAIN ---------- */
	
	main {
		overflow: visible; /* check whether this ruins sticky footer! */	
	}
	
	main .inner {
		z-index: 100;
		margin-top: -30px;
		box-shadow: 0 0 15px rgba(0,0,0,0.5);
		background: #fff;
	}


	/* PAGES ---------- */
	
	/* ONLINE SHOP ------ */

	main #shop {
		padding-bottom: 90px;
	}

	/* Small Product Layout --- */

	.productList.productSmall .productItem,
	.productList.productSmall .productItemLast {
		width: 33.3333%;
	}

}

/* Screen sizes 960px - 1040px		--------- */
@media only screen 
and (min-width : 960px) 
and (max-width : 1040px) {
	


}


/* Screen sizes 1040px - 1200px		--------- */
@media only screen 
and (min-width : 1040px) 
and (max-width : 1200px) {



}


/* Screen sizes 1200px and smaller	--------- */
@media only screen  
and (max-width : 1200px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */
	
	#phone {
		display: none;
	}
	

	/* Pages ------ */
	
	/* Home --- */
	
	/* Intro */
	
	#intro > .inner {
		padding-top: 0;
	}
	
}


/* Screen sizes 1200px and larger	--------- */
@media screen and (min-width: 1200px) {	

	/*	HEADER ---------- */

	/*	Nav ------ */
	
	#phone {
		display: block;
	}

	/*	Responsive Nav --- */

	#nav-collapse {
		text-align: center;
	}

	nav li ul {
		margin-left: -30px;
	}


	/* PAGES ---------- */
	
	/* Home --- */
	
	/* Intro */

	#intro {
		padding-bottom: 75px;
	}

}


/* Screen sizes 1200px - 1360px		--------- */
@media only screen 
and (min-width : 1200px) 
and (max-width : 1360px) {

	/* GENERAL ---------- */

	.inner {
    	max-width: 65em;
	}
	
	.inner {
		padding: 30px 45px;	
	}
	
	
	/*	HEADER ---------- */

	/*	Nav ------ */
	
	#phone {
		padding: 0 15px;
	}

}


/* Screen sizes 1360px and larger		--------- */
@media only screen 
and (min-width : 1360px) {

	/*	HEADER ---------- */

	/*	Nav ------ */
	
	#phone {
		padding: 0 30px;
	}

}


/* Screen sizes 1360px - 1520px		--------- */
@media only screen 
and (min-width : 1360px) 
and (max-width : 1520px) {

	/* GENERAL ---------- */

	.inner {
    	max-width: 70em;
	}
	
	.inner {
		padding: 30px 60px;
	}

}


/* Screen sizes 1520px and larger		--------- */
@media only screen 
and (min-width : 1520px) {

	/* GENERAL ---------- */

	.inner {
    	max-width: 75em;
	}
	
	.inner {
		padding: 30px 75px;
	}

}


@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
/* Styles */
}