/*!	HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */

/*
	What follows is the result of much research on cross-browser styling.
	Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
	Kroc Camen, and the H5BP dev community and team.
*/

/*	==========================================================================
	DEFAULTS
	==========================================================================  */

html {
    color: #333;
    font-size: 1em;
    line-height: 1.4;
}

/*
	Remove text-shadow in selection highlight:
	https://twitter.com/miketaylr/status/12228805301
	
	These selection rule sets have to be separate.
	Customize the background color to match your design.
*/

::-moz-selection {
    background: #b4b8bf;
    text-shadow: none;
}

::selection {
    background: #b4b8bf;
    text-shadow: none;
}

/*
	A better looking default horizontal rule
*/

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
	Remove the gap between audio, canvas, iframes,
	images, videos and the bottom of their containers:
	https://github.com/h5bp/html5-boilerplate/issues/440
*/

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
	Remove default fieldset styles.
*/

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
	Allow only vertical resizing of textareas.
*/

textarea {
    resize: vertical;
}



/*	==========================================================================
	INDIE.WEB BASE STYLES
	==========================================================================  */

/*	GENERAL ---------- */

*,
*:before,
*:after {
	box-sizing: border-box; /* makes working with the box model WAY easier */
}

.pos-rel {
	position: relative;
}

.inner {
	position: relative;
	max-width: 60em; /* key responsive element */
	margin: auto;
	padding: 0 15px;
}

.fifth,
.quarter,
.third,
.two-fifth,
.half,
.three-fifth,
.two-third,
.three-quarter,
.four-fifth,

.flex-box {
	padding: 15px;
}

.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.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;
}

.full {
	width: 100%;
	padding: 15px;
}

.int-wrap {
	padding: 0 !important;
}

.full > .int-wrap,
#catCartDetails > .int-wrap {
	margin: 0 -15px;
}

.full > .int-wrap > div {
	padding-top: 0;
}

.left {
	float: left;
}

.right {
	float: right;
}

img {
	width: 100%;
}

.two-img-wrap,
.two-img-wrap {
	margin: 15px 0;
}

.two-img-wrap > img,
.two-img-wrap > .img {
	float: left;
	width: 50%;
}

.two-img-wrap > img:first-child,
.two-img-wrap > .img:first-child {
	padding-right: 15px;
}

.two-img-wrap > img:last-child,
.two-img-wrap > .img:last-child {
	padding-left: 15px;
}


/*	HEADER ---------- */

#logo * {
	width: auto;
	max-width: 100%;
}


/*	NAV ------ */

#nav-container {
	position: fixed;
	z-index: 100;
	-webkit-backface-visibility: hidden; /* provides backwards compatibility for fixed position elements mobile devices */
	top: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-flex-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

nav ul {
	margin: 0;
	padding: 0;
}

nav li {
	position: relative;
	white-space: nowrap;
}

nav li ul {
	display: none;
}

nav li:hover ul  {
	display: block;
}

#nav-main li ul:hover {
	display: block;
	z-index: 10;
}


/*	FOOTER ---------- */

/*	Footer Bottom ---*/

#footer-bottom p {
	margin: 0;
}


/* Sticky Footer --- */

.flexbox body {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 100vh;
}

.flexbox header,
.flexbox footer {
	-webkit-box-flex: 0;
	-webkit-flex: none;
	-ms-flex: none;
	flex: none;
}

.flexbox main {		
	-webkit-box-flex: 1;
	-webkit-flex: 1 0 auto;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;

	width: 100%;
}

/* Flexbox Version for browsers that don't support flexbox - */

html.no-flexbox,
.no-flexbox body {
	height: 100%;
}

.no-flexbox body {
	display: table;
	width: 100%;
	height: 100%;
}

.no-flexbox header,
.no-flexbox main,
.no-flexbox footer {
	display: table-row;
}

.no-flexbox header,
.no-flexbox footer {
	height: 1px;
}

.no-flexbox main {
	height: auto;
}

.no-flexbox main:before {
	display: block;
	content: '';
	padding-top: 75px;
}

/* - */


/*	FORMS ---------- */

label {
	display: block;
}

input[type='radio'] + label,
input[type='checkbox'] + label {
	display: inline-block;
}

input[type='text'],
input[type='password'],
input[type='button'],
input[type='file'],
input[type='submit'],
select,
textarea {
	display: block;
	margin: 15px 0;
	border: 0;
}

input[type='text'],
input[type='password'],
select {
	height: 45px;
	padding: 0 15px !important;
}

input[type='text'],
input[type='password'],
select,
textarea {
	width: 100%;
}

input[type='radio'],
input[type='checkbox'] {
	vertical-align: middle;
	margin-top: 0;
	margin-right: 5px;
	margin-bottom: 3px;
}

input[type='submit'] {
	height: 45px;
	padding: 0 30px;
}

textarea {
	padding: 10px 15px;
}

form > .int-wrap {
	margin: 0 -7.5px;
}

form > .int-wrap > .third {
	padding: 0 7.5px;
}

form > .int-wrap > .third > input[type='submit'] {
	width: 100%;
}

/*	PLACEHOLDERS ------ */

/*	Placeholders (Standard) --- */

::-webkit-input-placeholder {
	color: #999;
	opacity: 1;
}
:-moz-placeholder {
	color: #999;
	opacity: 1;
}
::-moz-placeholder {
	color: #999;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #999;
}

/*	Placeholders :focus --- */

:focus::-webkit-input-placeholder {
	color: #333;
}
:focus:-moz-placeholder {
	color: #333;
}
:focus::-moz-placeholder {
	color: #333;
}
:focus:-ms-input-placeholder {
	color: #333;
}


/*	BROWSER RESETS ---------- */

/* customise Chrome form-field focus outline */
input:focus,
select:focus,
textarea:focus {
	outline: #004895 1px solid !important;
}

/* remove Chrome yellow auto-complete background color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}

/* prevent iOS browsers rounded corners */
input[type='text'],
input[type='password'],
input[type='file'],
input[type='submit'],
input[type='button'],
select,
textarea {
	-webkit-border-radius: 0;
	border-radius: 0;
}

/* remove iOS gradient */




/*	==========================================================================
	INDIE.WEB BASE MEDIA QUERIES
	==========================================================================  */

/* Screen Sizes 240px and smaller	--------- */
@media only screen 
and (max-width : 240px) {

	/* GENERAL ---------- */
	
	.inner {
		padding: 22.5px 0;
	}
	
	.inner > * {
		font-size: 0.875em;
	}

	.fifth,
	.quarter,
	.third,
	.two-fifth,
	.half,
	.three-fifth,
	.two-third,
	.three-quarter,
	.four-fifth,
	.full {
		width: 100%;
		padding: 7.5px 15px;
	}
	
	
	/*	HEADER ---------- */
	
	/*	Nav ------ */
	
	#nav-container {
		padding: 7.5px;
	}
	
	#logo,
	nav {
		padding: 7.5px;
	}

	/*	Banner ------ */
	
	#banner #int-wrap .inner {
		padding: 7.5px 0 0;
	}

}

/* Screen Sizes 240px and larger	--------- */
@media only screen 
and (min-width : 240px) {
	
	/* GENERAL ---------- */
	
	.inner {
		padding: 15px;
	}
	
	.fifth,
	.quarter,
	.third,
	.two-fifth,
	.half,
	.three-fifth,
	.two-third,
	.three-quarter,
	.four-fifth,
	.full {
		width: 100%;
		padding: 15px;
	}


	/* HEADER ---------- */
	
	/* Nav ------ */
	
	#logo,
	nav,
	#phone {
		padding: 0 15px;
	}

}


/* Screen Sizes 240px - 320px		--------- */
@media only screen 
and (min-width : 240px)
and (max-width : 320px) {

	/* GENERAL ---------- */

	.inner > * {
		font-size: 0.9375em;
	}
	
}


/* Screen Sizes 240px - 640px		--------- */
@media only screen 
and (min-width : 240px)
and (max-width : 640px) {
	
	/* HEADER ---------- */
	
	/* Nav ------ */

	#nav-container {
		padding: 15px;

	}

}


/* Screen Sizes 320px and smaller	--------- */
@media only screen 
and (max-width : 320px) {

	/* TEXT STYLES ---------- */
	
	h1 {
		font-size: 1.602em;
	}
	
	h2 {
		font-size: 1.424em;
	}
	
	h3,
	.h3 {
		font-size: 1.266em;
	}
	
	h4,
	.h4 {
		font-size: 1.125em;
	}
	
	p,
	li {
		font-size: 1.0em;
	}
	
	small,
	.small {
		font-size: 0.889em;
	}
	

	/* HEADER ---------- */
	
	/* Nav ------ */

	nav ul {
		padding: 22.5px 0;
	}
	
	nav li {
		padding: 7.5px 0;
	}
	
	
	/* Banner ------ */
	
	#banner h1 {
		font-size: 1.75em;
	}
	
	
	/* FOOTER ---------- */
	
	/* Footer Top ------ */

	#footer-top .middle a,
	#footer-top .right a {
		margin: 7.5px 0;
		font-size: 0.9375em;
	}
	
	/* Footer Bottom ------ */
	
	#footer-bottom .inner > div {
		padding: 7.5px 15px;
	}
	
	#footer-bottom p {
		font-size: 0.75em;
	}
	
	
}


/* Screen Sizes	320px and larger	--------- */
@media only screen 
and (min-width : 320px) {

	/* FOOTER ---------- */
	
	/* Footer Top ------ */
	
	#footer-top .middle a,
	#footer-top .right a {
		margin: 10px 0;
	}

}
	

/* Screen Sizes	320px - 400px		--------- */
@media only screen 
and (min-width : 320px) 
and (max-width : 400px) {
	
}


/* Screen Sizes	320px - 480px		--------- */
@media only screen 
and (min-width : 320px) 
and (max-width : 480px) {

	/* TEXT STYLES ---------- */
	
	h1 {
		font-size: 1.602em;
	}
	
	h2 {
		font-size: 1.424em;
	}
	
	h3,
	.h3 {
		font-size: 1.266em;
	}
	
	h4,
	.h4 {
		font-size: 1.125em;
	}
	
	p,
	li {
		font-size: 1.0em;
	}
	
	small,
	.small {
		font-size: 0.889em;
	}
	
}


/* Screen Sizes 320px - 640px		--------- */
@media only screen
and (min-width : 320px)
and (max-width : 640px) {

	/* HEADER ---------- */
	
	/* Nav ------ */

	nav div > ul {
		padding: 45px 0;
	}
	
	nav li {
		padding: 15px 0;
	}
	
	nav li ul {
		padding-top: 30px;
	}

}


/* Screen Sizes	400px and smaller	--------- */
@media only screen 
and (max-width : 400px) {
	
	/* HEADER ---------- */
	
	/* Nav ------ */

	#logo,
	nav {
		width: 50%;
	}


	/* MAIN ---------- */
	
	#tmplt-home main {
		text-align: center;
	}
	

	/* FOOTER ---------- */
	
	footer {
		text-align: center;
	}


	/*	FORMS ---------- */
	
	input[type='submit'],
	button[type='button'] {
		margin-left: auto;
		margin-right: auto;
	}
	
}


/* Screen Sizes	400px and larger	--------- */
@media only screen 
and (min-width : 400px) {

	/* MAIN ---------- */
	
	main {
		text-align: left;
	}

	
	/* FOOTER ---------- */
	
	footer {
		text-align: left;
	}


	/*	FORMS ---------- */
	
	form {
		text-align: left !important;
	}

	input[type='radio'],
	input[type='checkbox'] {
		margin-left: 15px;
	}

}


/* Screen Sizes	400px - 480px		--------- */
@media only screen 
and (min-width : 400px)
and (max-width : 480px) {
	
}


/* 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) {

}


/* Screen Sizes	480px - 640px		--------- */
@media only screen 
and (min-width : 480px) 
and (max-width : 640px) {

	/* TEXT STYLES ---------- */
	
	h1 {
		font-size: 2.074em;
	}
	
	h2 {
		font-size: 1.728em;
	}
	
	h3,
	.h3 {
		font-size: 1.44em;
	}
	
	h4,
	.h4 {
		font-size: 1.2em;
	}
	
	p,
	li {
		font-size: 1.0em;
	}
	
	small,
	.small {
		font-size: 0.833em;
	}

}


/* Screen sizes 560px and smaller	------------ */
@media only screen 
and (max-width : 560px) {

	/*	HEADER ---------- */

	#logo * {
		max-height: 30px;
	}

	/*	Nav ------ */

	#nav-container {
		height: 60px;
	}

	/*	Banner ------ */
	
	#banner {
		margin-top: 60px;
	}
	
	#banner #int-wrap {
		position: relative;
	}
	
	#banner #int-wrap img {
		margin-top: 15px;
	}
	
	
	/*	MAIN ---------- */
	
	#tmplt-main main {
		margin-top: 60px;
	}

}


/* Screen sizes 560px and larger	------------ */
@media only screen 
and (min-width : 560px) {

	/* HEADER ---------- */

	#logo * {
		height: 45px;
	}
	
	/* Nav ------ */

	#nav-container {
		height: 75px;
	}

	/* Banner ------ */
	
	#banner {
		margin-top: 75px;
	}
	
	#banner #int-wrap {
		position: absolute;
		z-index: 50;
		top: 75px;
	}
	
	
	/*	MAIN ---------- */
	
	#tmplt-main main {
		padding-top: 75px;
	}

}


/* 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) {

	/*	GENERAL ---------- */
	
	.img-left,
	.img-right {
		padding: 0;
	}


	/*	HEADER ---------- */
	
	/*	Nav ------ */

	#phone {
		display: none;
	}
	
	nav {
		-webkit-box-flex: 1;				/* OLD - iOS 6-, Safari 3.1-6 */
		-moz-box-flex: 1;					/* OLD - Firefox 19- */
		-webkit-flex: 1;					/* Chrome */
		-ms-flex: 1;						/* IE 10 */
		flex: 1;							/* NEW, Spec - Opera 12.1, Firefox 20+ */
		
		text-align: right;
	}


	/*	FOOTER ---------- */
	
	/*	Footer Top ------ */
	
	#footer-top .inner > div *:last-child {
		margin-bottom: 15px;
	}

	/* Footer Bottom ------ */
	
	#footer-bottom .inner > div {
		padding: 7.5px 15px;
	}
	
	#footer-bottom p {
		font-size: 0.75em;
	}

}


/* Screen Sizes 640px and larger	--------- */
@media only screen
and (min-width : 640px ) {

	/* GENERAL ---------- */

	.three-twentieth:not(.img-right),	/* 15% */
	.fifth:not(.img-right),				/* 20% */
	.quarter:not(.img-right),			/* 25% */
	.third:not(.img-right),				/* 33.3333% */
	.two-fifth:not(.img-right),			/* 40% */
	.half:not(.img-right),				/* 50% */
	.three-fifth:not(.img-right),		/* 60% */
	.two-third:not(.img-right),			/* 66.6666% */
	.three-quarter:not(.img-right),		/* 75% */
	.four-fifth:not(.img-right) {		/* 80% */
		float: left;
	}
	
	.flex-container > * {
		float: none !important;
	}
	
	/* Flexbox Support - */
	
	/* apply 'clearfix' styles to .flex-container */
	.no-flexbox .flex-container:before,
	.no-flexbox .flex-container:after {
		content: " "; /* 1 */
		display: table; /* 2 */
	}

	.no-flexbox .flex-container:after {
		clear: both;
	}
	/* */
	
	.no-flexbox .flex-container > * {
		float: left !important;
	}
	
	.no-flexbox .flex-container > *:only-child {
		float: none !important;
		margin-left: auto;
		margin-right: auto;
	}
	
	/* --- */
	
	.three-twentieth {
		width: 15%;
	}

	.fifth {
		width: 20%;
	}
	
	.quarter {
		width: 25%;
	}
	
	.third {
		width: 33.3333%;
	}
	
	.two-fifth {
		width: 40%;
	}
	
	.half {
		width: 50%;
	}
	
	.three-fifth {
		width: 60%;
	}
	
	.two-third {
		width: 66.6666%;
	}
	
	.three-quarter {
		width: 75%;
	}
	
	.four-fifth {
		width: 80%;
	}
	
	.img-left {
		float: left;
		margin-right: 15px;
		padding: 0 15px 7.5px 0;
	}
	
	.img-right {
		float: right;
		margin-left: 15px;
		padding: 0 0 7.5px 15px;
	}
	
	.full > .int-wrap > div > h1:first-child,
	.full > .int-wrap > div > h2:first-child,
	.full > .int-wrap > div > h3:first-child,
	.full > .int-wrap > div > h4:first-child,
	.full > .int-wrap > div > h5:first-child,
	.full > .int-wrap > div > h6:first-child,
	.full > .int-wrap > div > p:first-child {
		margin-top: 0;
	}


	/* FOOTER ---------- */
	
	/* Footer Top ------ */
	
	#footer-top .middle {
		text-align: center;
	}
	
	#footer-top .right {
		text-align: right;
	}

	/* Footer Bottom ------ */
	
	#footer-bottom {
		height: 60px;
	}
	
	#footer-bottom .inner,
	#footer-bottom .inner > div {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	#footer-bottom .inner > div:last-child {
		text-align: right;
	}
	
	#footer-bottom .inner > div:first-child {
		text-align: left;
	}
	
	#footer-bottom p {
		font-size: 0.875em;
		line-height: 60px;
	}
	
	#footer-bottom .social {
		margin: 15px 0;
	}
	
}

/* Screen Sizes 640px - 720px		--------- */
@media only screen
and (min-width : 640px )
and (max-width : 720px) {

	/* FOOTER ---------- */
	
	/* Footer Top ------ */
	
	#footer-top h3 {
		font-size: 1.125em;
	}
	
	#footer-top p,
	#footer-top a {
		font-size: 0.875em;
	}

}


/* Screen Sizes 640px - 800px		--------- */
@media only screen
and (min-width : 640px )
and (max-width : 800px) {

	/*	TEXT STYLES ---------- */
	
	h1 {
		font-size: 2.441em;
	}
	
	h2 {
		font-size: 1.953em;
	}
	
	h3,
	.h3 {
		font-size: 1.563em;
	}
	
	h4,
	.h4 {
		font-size: 1.25em;
	}
	
	p,
	li {
		font-size: 1.0em;
	}
	
	small,
	.small {
		font-size: 0.8em;
	}
	

	/*	HEADER ---------- */
	
	/*	Nav ------ */

	#nav-container {
		padding: 15px;
	}
	
	nav {
		width: auto;
	}
	
	nav div > ul {
		padding: 45px 0;
	}
	
	nav li {
		padding: 20px 0;
		font-size: 1.25rem;
	}
	
	nav li ul {
		padding-top: 40px;
	}
	
	#phone {
		-webkit-box-flex: 1;				/* OLD - iOS 6-, Safari 3.1-6 */
		-moz-box-flex: 1;					/* OLD - Firefox 19- */
		width: 50%;							/* For old syntax, otherwise collapses. */
		-webkit-flex: 1;					/* Chrome */
		-ms-flex: 1;						/* IE 10 */
		flex: 1;							/* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	
}


/* Screen Sizes 640px - 880px		--------- */
@media only screen
and (min-width : 640px )
and (max-width : 880px) {
	
}


/* Screen Sizes 640px - 960px		--------- */
@media only screen
and (min-width : 640px )
and (max-width : 960px) {

	/* GENERAL ---------- */
	
	.inner > * {
		font-size: 0.875em;
	}
	
}


/* Screen sizes 720px and smaller	--------- */
@media only screen 
and (max-width : 720px) {



}

/* Screen sizes 720px and larger	--------- */
@media only screen 
and (min-width : 720px) {

	/* HEADER ---------- */
	
	/* Banner ------ */

	#banner h1 {
		margin: 45px 0;
	}
	
	#banner .box-link {
		margin: 45px 0;
	}
	

	/* MAIN ---------- */

	.inner {
		padding: 30px 15px;
	}

}


/* Screen sizes 720px - 800px		--------- */
@media only screen 
and (min-width : 720px) 
and (max-width : 800px) {

	/* FOOTER ---------- */
	
	/* Footer Top ------ */
	
	#footer-top h3 {
		font-size: 1.25em;
	}
	
	#footer-top p,
	#footer-top a {
		font-size: 0.875em;
	}

}


/* Screen sizes 720px - 880px		--------- */
@media only screen 
and (min-width : 720px) 
and (max-width : 880px) {

	/* HEADER ---------- */
	
	/* Banner ------ */

	#banner h1 {
		font-size: 2.25em;
	}

}


/* Screen sizes 800px and smaller	--------- */
@media only screen 
and (max-width : 800px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */
	
	#phone {		
		-webkit-box-ordinal-group: 2;		/* OLD - iOS 6-, Safari 3.1-6 */
		-moz-box-ordinal-group: 2;			/* OLD - Firefox 19- */
		-ms-flex-order: 2;					/* TWEENER - IE 10 */
		-webkit-order: 2;					/* NEW - Chrome */
		order: 2;							/* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	
	nav {		
		-webkit-box-ordinal-group: 3;		/* OLD - iOS 6-, Safari 3.1-6 */
		-moz-box-ordinal-group: 3;			/* OLD - Firefox 19- */
		-ms-flex-order: 3;					/* TWEENER - IE 10 */
		-webkit-order: 3;					/* NEW - Chrome */
		order: 3;							/* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	
}


/* Screen sizes 800px and larger	--------- */
@media only screen 
and (min-width : 800px) {

	/*	HEADER ---------- */
	
	/*	Nav ------ */

	#nav-container {
		padding: 0 15px;
	}
	
	nav {
		position: relative;
		text-align: center;
		
		-webkit-box-ordinal-group: 2;		/* OLD - iOS 6-, Safari 3.1-6 */
		-moz-box-ordinal-group: 2;			/* OLD - Firefox 19- */
		-ms-flex-order: 2;					/* TWEENER - IE 10 */
		-webkit-order: 2;					/* NEW - Chrome */
		order: 2;							/* NEW, Spec - Opera 12.1, Firefox 20+ */

		-webkit-box-flex: 1;				/* OLD - iOS 6-, Safari 3.1-6 */
		-moz-box-flex: 1;					/* OLD - Firefox 19- */
		width: auto;						/* For old syntax, otherwise collapses. (USED TO BE 100%) */
		-webkit-flex: auto;					/* Chrome */
		-ms-flex: auto;						/* IE 10 */
		flex: auto;							/* NEW, Spec - Opera 12.1, Firefox 20+ */
		/*	Should be able to leave flex value as 1 but Microsoft still can't get their sh*t together */
	}

	nav div > ul {
		height: 75px;
		padding: 0;
	}
	
	nav li {
		position: relative;
		height: 75px;
		display: inline-block;
		vertical-align: top;
	}
	
	nav li ul {
		min-width: 100%;
		padding: 0;
	}
	
	nav div > ul > li:first-child {
		padding-left: 0;
	}
	
	nav div > ul > li:last-child {
		padding-right: 0;
	}
	
	#phone {
		text-align: right;
		color: #bb56ff;
		
		-webkit-box-ordinal-group: 3;		/* OLD - iOS 6-, Safari 3.1-6 */
		-moz-box-ordinal-group: 3;			/* OLD - Firefox 19- */
		-ms-flex-order: 3;					/* TWEENER - IE 10 */
		-webkit-order: 3;					/* NEW - Chrome */
		order: 3;							/* NEW, Spec - Opera 12.1, Firefox 20+ */
		
		-webkit-box-flex: none;				/* OLD - iOS 6-, Safari 3.1-6 */
		-moz-box-flex: none;					/* OLD - Firefox 19- */
		width: auto;							/* For old syntax, otherwise collapses. */
		-webkit-flex: none;					/* Chrome */
		-ms-flex: none;						/* IE 10 */
		flex: none;							/* NEW, Spec - Opera 12.1, Firefox 20+ */
	}

}


/* Screen sizes 800px - 880px		--------- */
@media only screen 
and (min-width : 800px) 
and (max-width : 880px) {

	/* TEXT STYLES ---------- */

	h1 {
		font-size: 3.157em;
	}
	
	h2 {
		font-size: 2.369em;
	}
	
	h3,
	.h3 {
		font-size: 1.777em;
	}
	
	h4,
	.h4 {
		font-size: 1.333em;
	}
	
	h5,
	p,
	main li {
		font-size: 1.0em;
	}

	small,
	.small {
		font-size: 0.75em;
	}
	

	/* HEADER ---------- */
	
	/* Nav ------ */
	
	#phone {
		font-size: 0.875em;
	}
	
	nav li {
		padding: 0 12.5px;
		font-size: 0.875em;
	}

}


/* 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) {

}


/* Screen sizes 880px - 960px		--------- */
@media only screen 
and (min-width : 880px) 
and (max-width : 960px) {

	/* GENERAL ---------- */
	
	.inner > * {
		font-size: 0.9375em;
	}

	/* TEXT STYLES ---------- */

	h1 {
		font-size: 3.157em;
	}
	
	h2 {
		font-size: 2.369em;
	}
	
	h3,
	.h3 {
		font-size: 1.777em;
	}
	
	h4,
	.h4 {
		font-size: 1.333em;
	}
	
	h5,
	p,
	main li {
		font-size: 1.0em;
	}

	small,
	.small {
		font-size: 0.75em;
	}
	

	/* HEADER ---------- */
	
	/* Nav ------ */
	
	#phone {
		font-size: 0.875em;
	}
	
	nav li {
		padding: 0 15px;
		font-size: 0.875em;
	}

}


/* Screen sizes 880px - 1040px		--------- */
@media only screen 
and (min-width : 880px) 
and (max-width : 1040px) {
	
	/* HEADER ---------- */
	
	/* Banner ------ */
	
	#banner h1 {
		font-size: 2.5em;
	}

}


/* Screen sizes 960px and larger	--------- */
@media only screen 
and (min-width : 960px) {
	
	/* TEXT STYLES ---------- */

	h1 {
		font-size: 3.998em;
	}
	
	h2 {
		font-size: 2.827em;
	}
	
	h3,
	.h3 {
		font-size: 1.999em;
	}
	
	h4,
	.h4 {
		font-size: 1.414em;
	}
	
	h5,
	p,
	main li {
		font-size: 1.0em;
	}
	
	h6 {
		font-size: 0.707em
	}

	small,
	.small {
		font-size: 0.707em;
	}


	/* HEADER ---------- */
	
	/* Nav ------ */

	#logo,
	#phone {
		top: 0;
		height: 75px;
		line-height: 75px;
	}
	
	#logo {
		left: 0;
	}
	
	#phone {
		right: 0;
		text-align: right;
	}

}


/* Screen sizes 960px - 1040px		--------- */
@media only screen 
and (min-width : 960px) 
and (max-width : 1040px) {

	/* HEADER ---------- */
	
	/* Nav ------ */
	
	#phone {
		font-size: 0.875em;
	}
	
	nav li {
		padding: 0 15px;
		font-size: 0.875em;
	}

}


/* Screen sizes 960px - 1200px		--------- */
@media only screen 
and (min-width : 960px) 
and (max-width : 1200px) {

}


/* Screen sizes 1040px - 1200px		--------- */
@media only screen 
and (min-width : 1040px) 
and (max-width : 1200px) {

	/* HEADER ---------- */
	
	/* Nav ------ */
	
	#phone {
		font-size: 1.0em;
	}
	
	nav li {
		padding: 0 15px;
		font-size: 1.0em;
	}
	
	/*	Banner ------ */

	#banner h1 {
		font-size: 3.0em;
	}

}


/* Screen sizes 1200px and smaller	--------- */
@media only screen  
and (max-width : 1200px) {

}


/* Screen sizes 1200px and larger	--------- */
@media screen and (min-width: 1200px) {
	
	/*	HEADER ---------- */
	
	/*	Nav ------ */

	#nav-container {
		padding: 0;
	}
	
	#logo,
	nav,
	#phone {
		padding: 0 30px;
	}

	nav li {
		padding: 0 30px;
	}
	
	/*	Banner ------ */
	
	#banner h1 {
		font-size: 4.0em;
		margin: 60px 0;
	}

	#banner .box-link {
		margin-top: 60px;
	}

}


/* Screen sizes 1200px - 1360px		--------- */
@media only screen 
and (min-width : 1200px) 
and (max-width : 1360px) {

	/* GENERAL ---------- */
	
	.inner {
    	max-width: 65em;
	}
	
	.inner {
		padding: 30px 45px;
	}
	
}


/* 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;
	}


	/*	HEADER ---------- */
	
	/*	Nav ------ */
	
	#nav-container {
		padding: 0 30px;
	}

}


@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
/* Styles */
}


/* IE Specific Styles ---------- */

/* IE8 ------ */

/* GENERAL --- */

.lt-ie9 main .inner {
	padding: 30px 15px;
}

.lt-ie9 .fifth,
.lt-ie9 .quarter,
.lt-ie9 .third,
.lt-ie9 .two-fifth,
.lt-ie9 .half,
.lt-ie9 .three-fifth,
.lt-ie9 .two-third,
.lt-ie9 .three-quarter,
.lt-ie9 .four-fifth,

.lt-ie9 .flex-box {
	float: left;
}

.lt-ie9 .fifth {
	width: 20%;
}

.lt-ie9 .quarter {
	width: 25%;
}

.lt-ie9 .third {
	width: 33.3333%;
}

.lt-ie9 .two-fifth {
	width: 40%;
}

.lt-ie9 .half {
	width: 50%;
}

.lt-ie9 .three-fifth {
	width: 60%;
}

.lt-ie9 .two-third {
	width: 66.6666%;
}

.lt-ie9 .three-quarter {
	width: 75%;
}

.lt-ie9 .four-fifth {
	width: 80%;
}

/* HEADER --- */

.lt-ie9 #nav-container,
.lt-ie9 #logo,
.lt-ie9 #phone {
	position: fixed;
	z-index: 1000;
	top: 0;
	height: 75px;
}

.lt-ie9 #nav-container {

	height: 75px;
	text-align: center;
}

.lt-ie9 #logo,
.lt-ie9 #phone {
	line-height: 75px;
	padding: 0 30px;
}

.lt-ie9 #logo {
	left: 0;
	width: 150px;
}

.lt-ie9 #logo img {
	vertical-align: middle;
}

.lt-ie9 #phone {
	right: 0;
	text-align: right;
}

.lt-ie9 nav {
	max-width: 60em;
	height: 75px;
	line-height: 75px;
	margin: auto;
}

.lt-ie9 nav li {
	display: inline-block;
	padding: 0 30px;
}

/* Banner */

.lt-ie9 #banner {
	margin-top: 75px;
}

.lt-ie9 #banner .img-wrap:after {
	content: inherit;
}

.lt-ie9 #banner .img-wrap {
	border-bottom: solid 5px #ddd;
}

.lt-ie9 #banner #int-wrap {
	position: absolute;
	top: 75px;
	width: 100%;
}

.lt-ie9 #banner h1 {
	font-size: 3.5em;
	font-weight: 300;
	color: #fff;
	text-shadow: 0 0 5px rgba(0,0,0,0.9);
	margin: 60px 0 90px;
}

/* FOOTER --- */

.lt-ie9 footer {
	border-top: solid 5px #ddd;
}

.lt-ie9 #footer-top p,
.lt-ie9 #footer-top a {
	font-size: 0.9375em;
}

.lt-ie9 #footer-top a {
	margin: 10px 0;
}

.lt-ie9 #footer-top .middle {
	text-align: center;
}

.lt-ie9 #footer-top .right {
	text-align: right;
}

.lt-ie9 #footer-bottom .two-third {
	padding: 0;
}

.lt-ie9 #footer-bottom .two-third p {
	font-size: 0.875em;
	line-height: 60px;
}

.lt-ie9 #footer-bottom .third {
	text-align: right;
}


/* IE9+ ------ */

/* CSS GRADIENTS --- */

.gte-ie9 .gradient {
	filter: none;	
}



/*	==========================================================================
	BROWSER UPDATE PROMPT
	==========================================================================  */

#browser-update-outer {
	position: absolute;
	top: 75px;
	z-index: 10;
	width: 100%;
	background-color: none;
}

#browser-update-inner {
	width: 60em;
	margin: auto;
}

p.browser-update {
	margin: 0;
	padding: 15px;
	text-align: center;
	font-size: 0.875em;
	color: #fff;
}



/*	==========================================================================
	HELPER CLASSES
	==========================================================================  */

/*
 * Hide visually and from screen readers
 */

.hidden:not(html) {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}



/*	==========================================================================
	PRINT STYLES
	Inlined to avoid the additional HTTP request:
	http://www.phpied.com/delay-loading-your-print-css/
   ==========================================================================  */

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        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,
    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;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
	
}