/*
 * HTML5 Boilerplate
 *
 * 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.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

/* Prevent any object from being highlighted upon touch event*/
* { -webkit-tap-highlight-color: rgba(0,0,0,0); }

/** Variables **/
:root {
	--color-primary-dark: #2d2d2d;
	--color-primary-light: #bebebe;
	--color-primary-white: #ffffff;
	--color-secondary-grey: #c9c9c9;
	--color-secondary-grey-light: #f0f0f0;
	--color-secondary-cream: #f5f4f0;
	--color-highlight-green: #9ebc01;
	--color-highlight-green-hover: #88a302;
	
	--font-proxima: proxima-nova, sans-serif;
	
	--content-padding: 2.5rem;
	--content-padding-x2: 5rem;
	--outer-row: 0.625rem;
	--divider: 1.25rem;
	
	--heading-h1: 2.500em;
	--heading-h2: 2em;
	--heading-h3: 1.5em;
	--heading-h4: 1.25em;
	--heading-h5: 1.125em;
	--heading-h6: 1.125em;
	--base-font: 16px;
	
	--heading-xlarge: 2.5em;
}

html,
button,
input,
select,
textarea {
    color: var(--color-primary-dark);
}

body {
	color: var(--color-primary-dark);
	font-size:var(--base-font);
	font-weight:400;
	letter-spacing: 0.025em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    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 images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Coordinate Styles
   ========================================================================== */

html {
	background-color: var(--color-primary-dark);
}
body {
	background-color: var(--color-primary-white);
}
body.locked {
	overflow: hidden;
}
main {
	overflow: hidden;
	position: relative;
}

/*
 * Functions Bar
 */
.functions-bar {
	background-color: var(--color-primary-dark);
	color: var(--color-primary-white);
	font-size: 0.875rem;
	padding-bottom: calc(var(--content-padding) / 3);
	padding-top: calc(var(--content-padding) / 3);
	position: relative;
	z-index: 100;
}
.functions-bar a {
	color: var(--color-primary-white);
	text-decoration: none;
	white-space: nowrap;
}
.functions-bar a:hover {
	color: var(--color-highlight-green);
	text-decoration: none;
}

/*
 * Top Bar
 */
.top-bar {
	background-color: var(--color-primary-white);
	box-shadow: 1px 0 1px rgba(0,0,0,0.15);
	padding-bottom: calc((var(--divider) / 3) * 2);
	padding-top: calc((var(--divider) / 3) * 2);
	position: relative;
	z-index: 99;
}

/** Site Logo **/
.site-logo {
	height: 60px;
	float: left;
	margin: 0;
	width: 180px;
}
.site-logo--footer {
	height: 90px;
}
.site-logo__link {
	background: url("../img/svg/sleep-doctor-logo.svg") no-repeat 0 0;
	background-size: contain;
	display: block;
	height: 100%;
	width: 100%;
}
.site-logo__link--footer {
	background-image: url("../img/svg/sleep-doctor-logo-tagline.svg");
}

/** Top Bar - Navigation **/
.top-bar__navigation { 
	float: right;
}
.top-bar__navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.top-bar__navigation ul li {
	float: left;
	position: relative;
}
.top-bar__navigation ul li a {
	color: var(--color-primary-dark);
	display: block;
	font-size: 1em;
	line-height: 1;
	padding: 3.750rem calc(var(--content-padding) / 2);
	position: relative;
	text-decoration: none;
	transition: background-color 0.3s ease-out;
}
.top-bar__navigation ul li.hover a,
.top-bar__navigation ul li a:hover {
	background-color: var(--color-secondary-grey-light);
}
.top-bar__navigation ul li.current-menu-item > a,
.top-bar__navigation ul li.current-page-ancestor > a {
	/*font-weight: 700;*/
}
.top-bar__navigation ul li > a::after {
	background-color:var(--color-highlight-green);
	content:'';
	display:block;
	height:2px;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	-webkit-transform:scaleX(0);
	    -ms-transform:scaleX(0);
	        transform:scaleX(0);
	-webkit-transform-origin:right;
	    -ms-transform-origin:right;
	        transform-origin:right;
	-webkit-transition: -webkit-transform 0.3s ease-out;
	transition: -webkit-transform 0.3s ease-out;
	-o-transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.top-bar__navigation ul li.current-menu-item > a::after,
.top-bar__navigation ul li.current-page-ancestor > a::after {
	-webkit-transform:scaleX(1);
	    -ms-transform:scaleX(1);
	        transform:scaleX(1);
	-webkit-transform-origin:left;
	    -ms-transform-origin:left;
	        transform-origin:left;
}

/** Menu Button **/
.menu-button { 
	background-color:transparent;
	border:none;
	display:block;
	float:right;
	height:20px;
	padding:0;
	position:relative;
	width:30px;
	z-index:30;
	-webkit-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.menu-button:hover,
.menu-button:focus {
	background-color: transparent;
}
.menu-button span { 
	background-color:var(--color-primary-dark);
	display:block;
	margin-top:-1px;
	position:absolute;
	left:50%;
	margin-left:-15px;
	height:2px;
	width:30px;
	-webkit-transform-origin:center;
	    -ms-transform-origin:center;
	        transform-origin:center;
}
.menu-button span:first-child {
	margin-top:-10px;
	top:50%;
	width:30px;
}
.menu-button span:last-child {
	margin-top:8px;
	top:50%;
	width:30px;
}

.menu-button.menu-button--closed span {  
	-webkit-transition:opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;  
	transition:opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;  
	-o-transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out;  
	transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out;  
	transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.menu-button.menu-button--open span {
	-webkit-transition: margin-top 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out 0.3s, width 0.3s ease-out; 
}

.menu-button.menu-button--open span:first-child {
	margin-top:-1px;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg); 
}
.menu-button.menu-button--open span:nth-child(2) {
	opacity:0;
}
.menu-button.menu-button--open span:last-child {
	margin-top:-1px;
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg); 
}

/** Site Navigation **/
.site-navigation {
	background-color:var(--color-primary-white);
	background-clip:padding-box;
	overflow-y:scroll;
	opacity:0;
	padding-top:132px;
	pointer-events: none;
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:-1;
	width:100%;
	-webkit-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	-o-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	-webkit-overflow-scrolling:touch;
} 
.site-navigation.site-navigation--visible {
	pointer-events: all;
	z-index:40;
	opacity:1;
	-webkit-transition: opacity 0.5s ease-out;
	-o-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}
.site-navigation__navigation ul {
	list-style:none;
	margin:0;
	padding:0;
}
.site-navigation__navigation ul li {
	border-top:1px solid var(--color-primary-light);
	padding-bottom:1.25rem;
	padding-top:1.25rem;
	position:relative;
	overflow:hidden;
}
.site-navigation__navigation ul li:first-child {
	border-top:none;
}
.site-navigation__navigation ul li a {
	display:block;
	color:var(--color-primary-dark);
	font-size: var(--heading-h4);
	line-height:1;
	position:relative;
	text-decoration:none;
	z-index:5;
	-webkit-transition:color 0.3s ease-out;
	-o-transition:color 0.3s ease-out;
	transition:color 0.3s ease-out;
}

.site-navigation__navigation ul li a:hover {
}
.site-navigation__navigation ul li .menu-arrow {
	background: url("../img/blank.gif");
	color:var(--color-primary-dark);
	display: block;
	font-size:1.5rem;
	height: 40px;
	line-height:40px;
	padding-left:0;
	position:absolute;
	top:10px; right:0;
	text-align: right;
	width: 40px;
	-webkit-transition:color 0.3s ease-out, -webkit-transform 0.3s ease-out;
	transition:color 0.3s ease-out, -webkit-transform 0.3s ease-out;
	-o-transition:color 0.3s ease-out, transform 0.3s ease-out;
	transition:color 0.3s ease-out, transform 0.3s ease-out;
	transition:color 0.3s ease-out, transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
	-webkit-transform-origin:center;
	    -ms-transform-origin:center;
	        transform-origin:center;
}
.site-navigation__navigation ul li .menu-arrow--open {
	-webkit-transform:scaleY(-1);
	    -ms-transform:scaleY(-1);
	        transform:scaleY(-1);
}

.site-navigation__navigation ul li ul li a {
	color:var(--color-primary-dark);
	font-size:1rem;
	line-height:1;
	padding-top:0;
}
.site-navigation__navigation ul li ul li a:hover { 
	color:var(--color-primary-dark);
}
.site-navigation__navigation ul li ul.sub-menu {
	padding-left: 0.625rem;
	padding-top:1.25rem;
}
.site-navigation__navigation ul li ul.sub-menu li {
	border-top:none;
	padding-bottom:0.625rem;
	padding-top:0.625rem;
	padding-right:0;
	width:100%;
}

.site-navigation__navigation ul li.current-menu-item > a,
.site-navigation__navigation ul li.current-page-ancestor > a {
	color: var(--color-highlight-green);
}

/*
 * Product Menu
 */
.product-menu {
	background-color: var(--color-secondary-grey-light);
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position:absolute;
	top: 196px;
	left:0;
	right:0;
	z-index:-1;
	-webkit-transition: z-index 0s 0.5s ease-out, opacity 0.25s ease-out;
	-o-transition: z-index 0s 0.5s ease-out, opacity 0.25s ease-out;
	transition: z-index 0s 0.5s ease-out, opacity 0.25s ease-out;
	-webkit-overflow-scrolling:touch;
} 
.product-menu--visible {
	pointer-events: all;
	z-index:50;
	opacity:1;
	-webkit-transition: opacity 0.25s ease-out;
	-o-transition: opacity 0.25s ease-out;
	transition: opacity 0.25s ease-out;
}
.product-menu-overlay {
	background-color: rgba(0,0,0,0.75);
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position:fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: -1;
	-webkit-transition: z-index 0s 0.5s ease-out, opacity 0.25s ease-out;
	-o-transition: z-index 0s 0.5s ease-out, opacity 0.25s ease-out;
	transition: z-index 0s 0.5s ease-out, opacity 0.25s ease-out;
}
.product-menu-overlay--visible {
	pointer-events: all;
	z-index:49;
	opacity:1;
	-webkit-transition: opacity 0.25s ease-out;
	-o-transition: opacity 0.25s ease-out;
	transition: opacity 0.25s ease-out;
}
.product-menu_background-split::after {
	background-color: var(--color-primary-dark);
	content: '';
	display: block;
	position: absolute;
	top: -999px; right: -40px; bottom: -999px; left: -9999px;
	z-index: -1;
}

.category-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.category-nav ul li {
	border-top: 1px solid var(--color-primary-light);
}
.category-nav ul li:first-child {
	border-top: none;
}
.category-nav ul li a {
	color: #fff;
	display: block;
	font-weight: 500;
	margin-right: -55px;
	padding: 1.875rem 1.875rem 1.875rem 60px;
	position: relative;
	text-decoration: none;
}
.category-nav ul li:first-child a {
	margin-top: -1.875rem;
}
.category-nav ul li a.hover,
.category-nav ul li a:hover {
	color: var(--color-highlight-green);
}
.category-nav ul li a::after {
	border: 10px solid transparent;
	border-right-color: var(--color-secondary-grey-light);
	content: '';
	display: block;
	overflow: hidden;
	position: absolute;
	top: 50%; right: -20px;
	transform: translateY(-50%);
	transition: right 0.25s ease-out;
}
.category-nav ul li a.hover::after,
.category-nav ul li a:hover::after {
	right: 0;
}
.category-link__icon {
	display: flex;
	align-items: center;
	height: 40px;
	position: absolute;
	top: 50%; left: 30px;
	width: 40px;
	transform: translate(-50%, -50%);
}
.category-link__icon svg {
	margin-left: auto;
	margin-right: auto;
	max-height: 40px;
	max-width: 40px;
	width: 100%;
}
.category-link__icon svg path {
	fill: var(--color-primary-white);
	transition: fill 0.25s ease-out;
}
a:hover .category-link__icon svg path {
	fill: var(--color-highlight-green);
}

.sub-categories {
	overflow: hidden;
}
.sub-category {
	opacity: 0;
	position: absolute;
	top: 0; right: 0; left: 0;
	z-index: 0;
	transition: opacity 0.25s ease-out;
}
.sub-category--active {
	opacity: 1;
	position: relative;
	z-index: 5;
}
.sub-category h6 {
	font-size: var(--base-font);
}
.sub-category a {
	text-decoration: none;
}
.sub-category a:hover {
	text-decoration: underline;
}

/*
 * Bottom Bar
 */
.bottom-bar {
	background-color: var(--color-primary-dark);
	color: var(--color-primary-white);
}
.bottom-bar a {
	color: var(--color-primary-white);
	text-decoration: none;
	white-space: nowrap;
}
.bottom-bar a:hover {
	color: var(--color-primary-white);
	text-decoration: underline;
}

.bottom-bar__navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.bottom-bar__navigation ul li {
	margin-top: 1em;
}
.bottom-bar__navigation ul li:first-child {
	margin-top: 0;
}

.bottom-bar__legality {
	font-size: 0.875rem;
	padding-bottom: calc(var(--content-padding) / 3);
	padding-top: calc(var(--content-padding) / 3);
}
.bottom-bar__legality > .grid-container {
	position: relative;
}

/* ==========================================================================
   Pages
   ========================================================================== */

.ndis-logo {
	background: url("../img/ndis-logo.svg") no-repeat 0 0;
	height: 46px;
	width: 260px;
}

/** Category Row **/
.category-tile {
	position: relative;
	z-index: 5;
}
.category-tile::after {
	background-color: rgba(0,0,0,0.5);
	content: '';
	display: block;
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 0;
}
.category-tile__icon {
	border: 2px solid var(--color-primary-white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	height: 100px;
	margin: 0 auto;
	width: 100px;
}
.category-tile__icon img {
	margin-left: auto;
	margin-right: auto;
	max-height: 50px;
	max-width: 50px;
}

/** Location Row **/
#location-map {
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 100%;
	z-index: 0;
}

/* ==========================================================================
   WooCommerce
   ========================================================================== */

/** Notices **/
.woocommerce-notices-wrapper {
	padding-bottom:var(--divider);
}
.woocommerce-notices-wrapper:empty {
	padding-bottom:0;
}

.woocommerce-NoticeGroup-checkout {
	padding-top: var(--divider);
}

.woocommerce-notice,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background-color: var(--color-secondary-cream);
	border-top:3px solid;
	border-radius: 0 0 4px 4px;
	list-style:none;
	margin:0 0 var(--divider);
	padding:calc(var(--divider) / 2);
}
.woocommerce-notice:last-child,
.woocommerce-message:last-child,
.woocommerce-error:last-child { margin-bottom:0; }

.woocommerce-notice a,
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	display: none;
}

.woocommerce-notice.woocommerce-message,
.woocommerce-message{
	border-top-color:#67ae1b;
}
.woocommerce-info {
	border-top-color:#1e85be;
}
.woocommerce-notice.woocommerce-error,
.woocommerce-error {
	border-top-color:#b81c23;
}

/** Breadcrumbs **/
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
	color: var(--color-primary-light);
	text-decoration: none;
}
.woocommerce-breadcrumb a:hover {
	color: var(--color-highlight-green);
}

/** Search Form **/
.woocommerce-product-search .search-field {
	margin-bottom: 0.9375rem;
}
.woocommerce-product-search button {
	width: auto;
}

.product-search-inline .woocommerce-product-search {
	display: flex;
}
.product-search-inline .woocommerce-product-search .search-field {
	border-color: var(--color-highlight-green);
	margin-bottom: 0;
}

/** Product Filter **/
.wcpf-filter {
	border-top: 1px solid var(--color-secondary-grey);
	padding-top: var(--divider);
}
.wcpf-input {
	border-radius: 0 !important;
}
.wcpf-field-button .wcpf-button {
	background-color: var(--color-secondary-grey-light);
	border: none;
	border-radius: 0;
	color: var(--color-primary-dark);
	font-size: var(--heading-h6);
	font-weight: 500;
	padding: 1em 2em;
	width: auto;
}
.wcpf-field-button .wcpf-button:hover,
.wcpf-field-button .wcpf-button:focus { 
	background-color: var(--color-highlight-green-hover);
}

.box-toggle,
.box-item-toggle{
	background-color: var(--color-highlight-green) !important;
	color: var(--color-primary-white) !important;
	height: 18px !important;
	line-height: 20px !important;
	text-align: center !important;
	width: 18px !important;
}
.wcpf-layout-item.wcpf-box-style .wcpf-heading-label .box-toggle::before,
.box-item-toggle::before{
	line-height: 20px !important;
}

/** Loop **/
.term-description {
	padding-bottom: var(--divider);
}
.woocommerce-LoopProduct-link {
	display: block;
	height: 100%;
	position: relative;
	text-decoration: none;
}
.woocommerce-LoopProduct-link:hover {
	background-color: var(--color-secondary-cream);
}
.onsale {
	background-color: var(--color-highlight-green);
	border-radius: 50%;
	color: var(--color-primary-white);
	display: block;
	font-weight: 500;
	height: 60px;
	line-height: 60px;
	position: absolute;
	top: 0.9375rem; right: 0.9375rem;
	text-align: center;
	width: 60px;
	z-index: 5;
}
.woocommerce-loop-product_title {
	font-size: var(--heading-h5);
	margin-bottom: 0.625rem;
}
.woocommerce-loop-product_title + .price {
	font-size: var(--heading-h5);
}

/** Pagination **/
.page-numbers {
	background-color: var(--color-primary-dark);
	display: flex;
	flex-wrap: wrap;
	float: right;
	list-style: none;
	margin: 0;
	padding: 0 1px 1px;
	text-align: center;
}
.page-numbers li {
	display: block;
	padding-right: 1px;
	padding-top: 1px;
}
.page-numbers li:last-child {
	padding-right: 0;
}
.page-numbers li a,
.page-numbers li span {
	background-color: var(--color-primary-white);
	color: var(--color-primary-dark);
	display: block;
	font-size: var(--base-font);
	height: 40px;
	line-height: 40px;
	text-decoration: none;
	width: 40px;	
}
.page-numbers li a:hover {
	background-color: var(--color-highlight-green);
	color: var(--color-primary-white);
}
.page-numbers li span {
	background-color: var(--color-primary-dark);
	color: var(--color-primary-white);
}

/** Single Products **/
.product-images {
	position: relative;
}
.product-images img {
	width: 100%;
}
.product-images__thumbnails {
	display: none;
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 120px;
}
.product-images__thumbnails .flex-viewport {
	height: 100% !important;
	overflow-y: scroll !important;
}
.product-images__thumbnails .flex-viewport .slides {
	height: 100% !important;
}
.product-images__thumbnails img {
	margin-bottom: 0.625rem;
}
.product-images__thumbnails li:last-child img {
	margin-bottom: 0;
}

.flex-direction-nav {
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 50%; right: 0; left: 0;
	z-index: 5;
	transform: translateY(-50%);
}
.flex-nav-prev {
	float: left;
}
.flex-nav-next {
	float: right;
}
.flex-prev,
.flex-next {
	display: block;
	font-size: var(--heading-h3);
	line-height: 1;
	padding: 0.5em;
	transition: color 0.3s ease-out, opacity 0.3s ease-out;
}
.flex-prev:hover,
.flex-next:hover {
	color: var(--color-highlight-green);
}
.flex-disabled {
	opacity: 0;
	pointer-events: none;
}

.product-icon {
	display: flex;
    align-items: center;
	height: 60px;
}
.product-icon__image {
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	max-height: 60px;
	max-width: 60px;
}

.woocommerce-variation-price {
	font-size: var(--heading-h5);
	font-weight: 500;
	padding-bottom: var(--divider);
}

/** Tabbed Content **/
.tab-controls__button {
	background-color: var(--color-secondary-cream);
	border: 1px solid var(--color-primary-white);
	border-bottom: none;
	display: block;
	float: left;
	font-size: var(--base-font);
	font-weight: 500;
	line-height: 1;
	margin-right: 0;
	padding: 0.5em 0.75em;
	position: relative;
	text-decoration: none;
}
.tab-controls__button:hover {
	background-color: var(--color-highlight-green);
	color: var(--color-primary-white);
}
.tab-controls__button.active {
	border-color: var(--color-primary-dark);
	background-color: var(--color-primary-white);
	color: var(--color-primary-dark);
}
.tab-controls__button.active::after {
	background-color: var(--color-primary-white);
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	right: 0; bottom: -1px; left: 0;
	z-index: 5;
}

.tab-panels {
	position: relative;
	padding-bottom: 1px;
}
.tab-panels__panel {
	opacity: 0;
	padding: 0.5em 0.75em;
	pointer-events: none;
	position: absolute;
	top: 0; right: 0; left: 0;
	transition: opacity 0.3s ease-out;
}
.tab-panels__panel.active {
	border: 1px solid var(--color-primary-dark);
	opacity: 1;
	pointer-events: all;
	position: relative;
}

/** Bundles **/
.reset_bundled_variations {
	display: none !important;
}
.bundled_item_cart_details {
	display: none !important;
}
.bundled_product .cart {
	padding-top: 0.625rem;
}
.bundled_product .cart .quantity.buttons_added input {
    border-width: 2px;
    font-size: 1.25rem;
    height: 40px;
    width: 40px;
}
.bundle_price {
	font-size: var(--heading-h5);
    font-weight: 500;
}

/** Cart **/
table.shop_table { 
	border-collapse: collapse;
	width:100%;
}
table.shop_table thead th {
	border-bottom:1px solid var(--color-primary-dark);
	font-size:1em;
	font-weight:500;
	padding:0 calc(var(--divider) / 2) calc(var(--divider) / 2);
	text-align:left;
}
table.shop_table thead th.product-subtotal {
	text-align: right;
}
table.shop_table tbody td { 
	border-top:1px solid var(--color-primary-light);
	padding:calc(var(--divider) / 2);
}
table.shop_table tbody tr:first-child th,
table.shop_table tbody tr:first-child td {
	border-top:none;
}
table.shop_table tbody td.product-remove {
	/*display: none;*/
	width: 40px;
}
table.shop_table tbody td.product-thumbnail {
	/*display: none;*/
	width: 120px;
}
table.shop_table .product-quantity { 
	text-align: center;
	width: 150px;
}
table.shop_table tbody td a.remove {
	font-size:1.5rem;
}
table.shop_table tbody td a.remove:hover {
	color:#b81c23;
}
table.shop_table tbody td h4 {
	font-size:var(--heading-h5);
	margin-bottom:0.5em;
}
table.shop_table tbody td .quantity.buttons_added{
	padding-right: 0;
}
table.shop_table tbody td .quantity.buttons_added input {
	border-width:2px;
	font-size:1.25rem;
	height:40px;
	width:40px;
}
table.shop_table tbody td.actions { 
	border-bottom:1px solid var(--color-primary-dark);
	border-top:1px solid var(--color-primary-dark);
	padding-bottom:calc(var(--divider) / 2);
	padding-top:calc(var(--divider) / 2);
}
table.shop_table tfoot th,
table.shop_table tfoot td {
	border-top:1px solid var(--color-primary-dark);
	font-weight: 500;
	padding:calc(var(--divider) / 2);
	text-align: left;
}
table.shop_table tfoot tr:last-child th,
table.shop_table tfoot tr:last-child td {
	border-bottom: 1px solid  var(--color-primary-dark);
}

ul.wc-item-meta li p {
	margin: 0;
}

.cart-collaterals table { 
	border-bottom:1px solid var(--color-primary-dark);
	border-top:1px solid var(--color-primary-dark);
	width:100%;
}
.cart-collaterals table th {
	border-top:1px solid var(--color-primary-light);
	font-weight: 500;
	padding:calc(var(--divider) / 2);
	text-align:left;
	vertical-align:middle;
}
.cart-collaterals table td {
	text-align:right;
	vertical-align:top;
	width: 100%;
}
.cart-collaterals table td ul {
	list-style:none;
	margin:0;
	padding:0;
}
.cart-collaterals table td label {
	font-weight:400;
	padding-bottom: 0;
}
.cart-collaterals table td input + label {
	display:block;
}
.cart-collaterals table .order-total th,
.cart-collaterals table .order-total td {
	font-size:var(--heading-h5);
	font-weight: 400 !important;
}
.cart-collaterals table .order-total td strong {
	font-weight: 400 !important;
}
.cart-collaterals .wc-proceed-to-checkout {
	padding-top:var(--divider);
	text-align:right;
}
.cart-collaterals .wc-proceed-to-checkout a { 
	max-width:none;
}
.woocommerce-shipping-methods + p.woocommerce-shipping-destination {
	display: none;
}

/** Shipping Calculator **/
.shipping-calculator-form {
	padding-top: 0.9375rem;
}
.shipping-calculator-form .form-row {
	margin-bottom: 0.625rem;
}
.shipping-calculator-form .form-row:last-child {
	margin-bottom: 0;
}
#calc_shipping_country_field,
#calc_shipping_state_field,
#calc_shipping_city_field {
	display: none !important;
}

/** Checkout **/
.woocommerce-form-login-toggle {
	margin-bottom: var(--divider);
}

.woocommerce-form-login {
	background-color: #222;
    padding: var(--divider);
}

.woocommerce-checkout .woocommerce-notice.woocommerce-error {
	margin:0 0 var(--divider);
}
.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
	padding-bottom:var(--divider);
}


.woocommerce-account-fields {
	clear: both;
}

h4#ship-to-different-address {
	clear:both;
	font-family: var(--font-roboto);
	font-size: var(--base-font);
	font-weight: 600;
	line-height:18px; 
}
h4#ship-to-different-address label {
	padding-bottom: 0;
}

.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	clear:both;
}

#order_review {
	background-color:var(--color-secondary-cream);
	padding:var(--divider);
}
table.woocommerce-checkout-review-order-table {
	border-collapse: collapse;
	width:100%;
}
table.woocommerce-checkout-review-order-table th {
	text-align:left;
}
table.woocommerce-checkout-review-order-table th:last-child,
table.woocommerce-checkout-review-order-table td:last-child {
	text-align:right;
}
table.woocommerce-checkout-review-order-table tfoot th,
table.woocommerce-checkout-review-order-table tfoot td {
	border-top:1px solid var(--color-primary-dark);
	padding:calc(var(--divider) / 2);
}
table.woocommerce-checkout-review-order-table tfoot tr:first-child th,
table.woocommerce-checkout-review-order-table tfoot tr:first-child td { 
	border-top:1px solid var(--color-primary-dark);
}
table.woocommerce-checkout-review-order-table tfoot tr:last-child th,
table.woocommerce-checkout-review-order-table tfoot tr:last-child td {
	border-bottom:1px solid var(--color-primary-dark);
}
table.woocommerce-checkout-review-order-table .order-total th,
table.woocommerce-checkout-review-order-table .order-total td {
	font-size:var(--heading-h5);
	font-weight: 500 !important;
}
table.woocommerce-checkout-review-order-table .order-total td strong {
	font-weight: 500 !important;
}
table.woocommerce-checkout-review-order-table ul {
	list-style:none;
	margin:0;
	padding:0;
}
table.woocommerce-checkout-review-order-table label {
	font-size:1em;
	font-weight:400;
	margin:0;
	padding:0;
}
table.woocommerce-checkout-review-order-table input + label {
	display:block;
}
.woocommerce-checkout-payment { 
	padding-top:var(--divider);
	text-align:right;
}
.woocommerce-checkout-payment ul {
	list-style:none;
	margin:0 0 var(--divider);
	padding:0;
	text-align:left;
}
.woocommerce-checkout-payment ul li {
	padding-bottom: 0.3125rem;
	padding-top: 0.3125rem;
}
.woocommerce-checkout-payment ul li label {
	padding-left:0 !important;
}
.form-row.woocommerce-SavedPaymentMethods-saveNew {
	padding-left: 0;
	padding-right: 0;
}
.woocommerce-checkout-payment button {
	max-width:none !important;
}

.wc-saved-payment-methods li {
	padding-top: 10px;
}
.wc-saved-payment-methods li:first-child {
	padding-top: 0;
}
#stripe-payment-data input {
	display: block !important;
	width: 20px !important;
}
.woocommerce-terms-and-conditions-wrapper {
	padding-bottom: var(--divider);
	text-align: left;
}

/** Thank you **/
.woocommerce ul.order_details {
	margin: 0 0 var(--divider);
	padding: 0;
}
.woocommerce ul.order_details li {
	font-size: 0.875rem;
    margin-bottom: var(--divider);
    text-transform: uppercase;
    line-height: 1;
    border-bottom: 1px dashed var(--color-primary-dark);
    padding-bottom: var(--divider);
    list-style-type: none;
}
.woocommerce ul.order_details li:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}
.woocommerce ul.order_details li strong {
    display: block;
	font-size: 1rem;
	padding-top: 0.625rem;
    text-transform: none;
}

/** My Account **/
nav.woocommerce-MyAccount-navigation ul {
	list-style:none;
	margin:0;
	padding:0;
}
nav.woocommerce-MyAccount-navigation ul li {
	border-top:1px solid var(--primary-light);
	padding:0.625rem;
}
nav.woocommerce-MyAccount-navigation ul li:first-child {
	border-top:none;
}
nav.woocommerce-MyAccount-navigation ul li a {
	font-weight:600;
	text-decoration:none;
}
nav.woocommerce-MyAccount-navigation ul li a:hover,
nav.woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--secondary-color);
}

/* ==========================================================================
   Layouts/Graphic Styles
   ========================================================================== */
.outer-row { 
	padding-left:var(--outer-row); 
	padding-right:var(--outer-row);
}

.content-area { 
	padding-bottom:var(--content-padding); 
	padding-top:var(--content-padding); 
}
.content-area--30px { 
	padding-bottom:var(--divider); 
	padding-top:var(--divider); 
}
.content-area--x2 { 
	padding-bottom:var(--content-padding-x2); 
	padding-top:var(--content-padding-x2); 
}
.content-area--bottom-x0 { 
	padding-bottom:0 !important; 
}
.content-area--top-x0 { 
	padding-top:0 !important; 
}

.divider { 
	padding-top:var(--divider);
}

.boxed-content { 
	padding:var(--divider);
}

/** Post Tiles **/
.post-tile {
	box-shadow: 0 0 0.3125rem rgba(0,0,0,0.15);
}
.post-tile__content {
	display: block;
	padding: var(--divider);
}
.post-tile__content--small {
	padding: calc((var(--divider) / 3) * 2);
}

/** Images **/
figure {
	margin: 0;
	padding: 0;
}

/** Backgrounds **/
.background-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.background-image > img {
	opacity: 0;
}
.background-image--overlay::after {
	background-color: rgba(0,0,0,0.5);
	content: '';
	display: block;
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 0;
}

.background-white {
	background-color: var(--color-primary-white);
}
.background-white + .background-white {
	padding-top: 0 !important;
}

.background-cream {
	background-color: var(--color-secondary-cream);
}
.background-cream + .background-cream {
	padding-top: 0 !important;
}

.background-green {
	background-color: var(--color-highlight-green);
}
.background-green + .background-green {
	padding-top: 0 !important;
}

/** Hide HTML5 video controls **/
.IIV::-webkit-media-controls-play-button,
.IIV::-webkit-media-controls-start-playback-button {
    opacity: 0;
    pointer-events: none;
    width: 5px;
}
/** Responsive Embeds **/
.video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.video-embed iframe,  
.video-embed object,  
.video-embed embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/** 100% height helper class **/
.height_100 {
	height: 100%;
}

/** Relative position helper class **/
.position_relative {
	position: relative;
	z-index: 5;
}

/** Mouse helpers **/
.disable_mouse {
	pointer-events: none;
}
.enable_mouse {
	pointer-events: all;
}

/* ==========================================================================
   Typography
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 { 
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 1em;
	margin-top: 1em;
}
h1 {
	font-size: var(--heading-h1);
}
h2 {
	font-size: var(--heading-h2);
}
h3 {
	font-size: var(--heading-h3);
}
h4 {
	font-size: var(--heading-h4);
}
h5 {
	font-size: var(--heading-h5);
}
h6 {
	font-size: var(--heading-h6);
}

.heading-xlarge {
	font-size: var(--heading-xlarge);
	margin-bottom: 0.5em;
}
.text-color-light {
	color: var(--color-primary-light);
}
.text-color-white {
	color: var(--color-primary-white);
}
.text-uppercase {
	text-transform: uppercase;
}
.font-weight-light {
	font-weight: 400;
}

.text-xlarge {
	font-size: var(--heading-h4);
}
.text-large {
	font-size: var(--heading-h5);
}

ul, ol {
	padding: 0 0 0 1.125rem;
}
.no-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

address {
	font-style: normal;
}
strong,
b { 
	font-weight: 500;
}
del,
span.from {
	font-size: 80%;
}
ins {
	text-decoration: none;
}
abbr {
	text-decoration: none !important;
}

.text-line-break span,
.text-line-break strong,
.text-line-break b {
	display: block;
}
.medium-text-line-break span,
.medium-text-line-break strong,
.medium-text-line-break b {
	display: block;
}
.screen-reader-text {
	display: none;
}

h1:first-child,
h2:first-child, 
h3:first-child, 
h4:first-child, 
h5:first-child, 
h6:first-child, 
p:first-child,
ul:first-child, 
ol:first-child, 
dl:first-child { 
	margin-top:0 !important;
}
h1:last-child, 
h2:last-child, 
h3:last-child, 
h4:last-child, 
h5:last-child,
h6:last-child,
p:last-child, 
ul:last-child, 
ol:last-child, 
dl:last-child { 
	margin-bottom:0 !important;
}

/* ==========================================================================
   Links
   ========================================================================== */
a { 
	color: var(--color-primary-dark);
	outline:none; 
	text-decoration:underline;
	
    transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
}
a:hover { 
	text-decoration:none;
}

/** Buttons **/
.btn {
	background-color: transparent;
	border: 1px solid var(--color-primary-white);
	color: var(--color-primary-white);
	display: inline-block;
	font-size: var(--heading-h6);
	font-weight: 500;
	line-height: 1;
	min-width: 200px;
	padding: 1em 2em;
	text-align: center;
	text-decoration: none;
}
.btn:hover {
	background-color: var(--color-primary-white);
	color: var(--color-primary-dark);
}
.btn--green {
	border-color: var(--color-highlight-green);
	color: var(--color-highlight-green);
}
.btn--green:hover {
	background-color: var(--color-highlight-green);
	color: var(--color-primary-white);
}
.btn--fluid {
	width: 100%;
}

.btn--solid-green {
	background-color: var(--color-highlight-green);
	border: none;	
	color: var(--color-primary-white);
}
.btn--solid-green:hover {
	background-color: var(--color-highlight-green-hover);
	color: var(--color-primary-white);
}

/** Next Section **/
.next-section {
	border: 2px solid var(--color-primary-white);
	border-radius: 50%;
	color: var(--color-primary-white);
	display: block;
	font-size: 1.25rem;
	height: 42px;
	line-height: 42px;
	position: absolute;
	left: calc(50% - 21px); bottom: var(--divider);
	text-align: center;
	width: 42px;
	z-index: 5;
}
.next-section:hover {
	background-color: var(--color-primary-white);
	color: var(--color-primary-dark);
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
textarea,
button { 
	background-color:var(--color-secondary-cream); 
	border:1px solid var(--color-secondary-cream);
	border-radius:0;
	color:var(--color-primary-dark);
	cursor:pointer;
	display:block;
	font-size:1em;
	font-weight:400;
	margin:0;
	padding:1em;
	outline:none;
	text-shadow:none;
	width:100%;
	
	transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
  -webkit-appearance: none;
}
input:hover, 
textarea:hover {
	border-color:var(--color-highlight-green); 
}
input:focus, 
textarea:focus { 
	border-color:var(--color-highlight-green);
}
textarea,
textarea[rows] { 
	height:140px;
}


select { 
	background-color:transparent;
	background-image:none;
	border:1px solid var(--color-primary-dark);
	border-radius:0;
	color:var(--color-primary-dark);
	cursor:pointer;
	display:block;
	font-size:1em;
	font-weight:400;
	margin:0;
	padding:1em 3em 1em 1em;
	outline:none;
	text-shadow:none;
	width:100%;
	
	transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
  -webkit-appearance: none;
}
select:hover {
	border-color:var(--color-highlight-green); 
}
/*.ginput_container_select {
	position:relative; 
}
.ginput_container_select::before { 
	content:'\f107'; 
	color:var(--color-primary-dark); 
	display:block; 
	font-size:1.25em; 
	font-family: "Font Awesome 5 Pro";
  	font-weight: 900;
	pointer-events:none;
	position:absolute; 
	top:50%; 
	right:1rem;
  
	transform:translateY(-50%);
}*/

input[type="checkbox"], 
input[type="radio"] { 
	background-color:transparent;
	border:1px solid var(--color-primary-dark); 
	float:left;
	height:20px; 
	margin-right:0.625rem;
	width:20px;
	
	-webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
}
input[type="radio"] {
    border-radius:50%;
}
input:checked { 
	background-color:var(--color-primary-dark); 
	background-clip:content-box;
	border-color:var(--color-primary-dark);
	outline:none;
	padding:3px;
}

/** Form Body **/
label {
	display: block;
	padding-bottom: 0.3125rem;
}

.gform_wrapper ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.gform_fields,
.woocommerce-form,
.wc-credit-card-form.wc-payment-form { 
	font-size:1em; 
	margin-left:calc(var(--outer-row) * -1);
	margin-right:calc(var(--outer-row) * -1);
}
ul.gform_fields > li,
.woocommerce-form-row,
.form-row { 
	margin-bottom:var(--divider);
	margin-top: 0;
	padding-left: var(--outer-row);
	padding-right: var(--outer-row);
}
#billing_address_1_field,
#shipping_address_1_field {
	margin-bottom: 0.625rem;
}
.woocommerce-form-row:last-child,
.form-row:last-child { 
	margin-bottom:var(--divider) !important;
}

.ginput_container_checkbox,
.ginput_container_radio { 
	margin-top:-0.625rem;
}
.ginput_container_checkbox li,
.ginput_container_radio li { 
	margin-bottom:0 !important;
	margin-top:0.625rem;
	padding-left: 1.875rem;
	position: relative;
}
.ginput_container_checkbox li input,
.ginput_container_radio li input {
	position: absolute;
	left: 0; top: 0;
}
.ginput_container_checkbox li input + label,
.ginput_container_radio li input + label {
	display:block;
	line-height: 20px;
	margin-bottom:0;
}

/** Form Footer **/
.gform_footer { 
	clear:both; 
	position:relative; 
	text-align:center; 
}
button {
	background-color: var(--color-highlight-green);
	border: none;
	color: var(--color-primary-white);
	font-size: var(--heading-h6);
	font-weight: 500;
	padding-left: 2em;
	padding-right: 2em;
}
button.gform_button {
	display: inline-block;
	width: auto;
}
button:hover,
button:focus { 
	background-color: var(--color-highlight-green-hover);
}

img.gform_ajax_spinner {
	height:32px; 
	position:absolute;
	right:0;
	top:50%;
	width:32px;
	transform:translateY(-50%);
}

.input_left,
.input_right,
.name_first,
.name_last { 
	display:block;
}
.name_first {
	margin-bottom: var(--divider); 
}
.input_clear {
	clear:both;
}

::-webkit-input-placeholder {
	color:var(--color-primary-dark);
}
:-moz-placeholder {
	color: var(--color-primary-dark);
}
::-moz-placeholder {
	color: var(--color-primary-dark);
}
:-ms-input-placeholder {
	color: var(--color-primary-dark);
}

/** Quantity Input **/
.quantity.buttons_added {
}
.quantity.buttons_added input {
	border: none;
	float: left;
	font-size: 1.875rem;
	height: 54px;
	padding: 0;
	text-align: center;
	width: 54px;
}
.quantity.buttons_added input.plus,
.quantity.buttons_added input.minus {
	background-color: var(--color-highlight-green);
	color: var(--color-primary-white);
	font-weight: 500;
	padding: 0 0 0.3125rem;
}
.quantity.buttons_added input.minus { 
	top:auto;
	bottom:0;
}
.quantity.buttons_added input.plus:hover,
.quantity.buttons_added input.minus:hover {
	background-color: var(--color-highlight-green-hover);
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

/** Newsletter Form **/
.newsletter form {
	display: flex;
}
.newsletter form .gform_body {
	width: 100%;
}
.newsletter form .gform_body ul.gform_fields li {
	margin-bottom: 0;
}
.newsletter form .gform_body label {
	display: none;
}
.newsletter form .gform_body input {
	background-color: transparent;
	border: none;
	border-bottom: 1px solid var(--color-primary-white);
	color: var(--color-primary-white);
	height: 50px;
}
.newsletter form .gform_body input:hover,
.newsletter form .gform_body input:focus {
	border-bottom-color: var(--color-highlight-green);
}
.newsletter form .gform_footer {
	width: 50px;
}
.newsletter form .gform_footer button {
	background-color: transparent;
	border: 1px solid var(--color-primary-white);
	height: 50px;
	padding: 0;
	width: 50px;
}
.newsletter form .gform_footer button:hover,
.newsletter form .gform_footer button:focus {
	background-color: var(--color-highlight-green);
	border-color: var(--color-highlight-green);
	color: var(--color-primary-white);
}

.newsletter form img.gform_ajax_spinner {
	right:auto;
	left: calc(100% + 0.625rem);
}

.newsletter ::-webkit-input-placeholder {
	color:var(--color-primary-white);
}
.newsletter :-moz-placeholder {
	color: var(--color-primary-white);
}
.newsletter ::-moz-placeholder {
	color: var(--color-primary-white);
}
.newsletter :-ms-input-placeholder {
	color: var(--color-primary-white);
}

/** Warnings **/
.validation_error { 
	display:none;
}
.validation_message {
	display:none !important;
}
.gfield_contains_required.gfield_error input,
.gfield_contains_required.gfield_error textarea,
.gfield_contains_required.gfield_error select,
.gfield_contains_required.gfield_error .jcf-select .jcf-select-text { 
	border-color:red;
}
.gfield_contains_required.gfield_error label {
	color:red !important;
}

.gform_body::before,
.gfield::before,
.clear-multi::before,
.gform_body::after,
.gfield::after,
.clear-multi::after,
.ginput_container_checkbox::before,
.ginput_container_checkbox::after,
.ginput_container_checkbox ul::before,
.ginput_container_checkbox ul::after {
  content: ' ';
  display: table;
}

.gform_body::after,
.gfield::after,
.clear-multi::after,
.ginput_container_checkbox::after,
.ginput_container_checkbox ul::after {
  clear: both;
}

/* Small screens */
@media only screen { } /* Define mobile styles */

@media only screen and (max-width: 39.99em) {
	
	.woocommerce-cart-form__contents thead {
		display: none;
	}
	.woocommerce-cart-form__contents tbody td {
		border: none !important;
		display: block;
		position: relative;
		padding: var(--divider) var(--divider) 0 !important;
		text-align: right !important;
		width: 100% !important;
	}
	.woocommerce-cart-form__contents tbody td:first-child {
		padding-top: 0 !important;
	}
	.woocommerce-cart-form__contents tbody td:last-child {
		padding-bottom: var(--divider) !important;
	}
	.woocommerce-cart-form__contents tbody tr:nth-child(even) td {
		background-color: var(--color-secondary-cream);
	}
	.woocommerce-cart-form__contents tbody td.actions {
		background-color: transparent !important;
		padding: var(--divider) 0 0 !important;
	}
	.woocommerce-cart-form__contents tbody td.actions .actions-container {
		display: block !important;
	}
	.woocommerce-cart-form__contents tbody td.actions .actions-container .coupon {
		padding-bottom: var(--divider);
	}
	.woocommerce-cart-form__contents tbody td.actions .actions-container .coupon input {
		height: auto;
		margin-bottom: calc(var(--divider) / 2);
		width: 100% !important;
	}
	
	.woocommerce-cart-form__contents tr td[data-title]:before {
		content: attr(data-title) ": ";
		font-weight: 600;
		float: left;
	}
	.woocommerce-cart-form__contents tbody td a.remove {
		line-height: 20px;
		position: absolute;
		top: var(--divider);
		right: var(--divider);
		z-index: 10;
	}
	.woocommerce-cart-form__contents tbody td.product-thumbnail a {
		display: block;
		margin: 0 auto;
		max-width: 80px;
	}
	
	.quantity.buttons_added {
		display: inline-block;
	}
	
} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

/* Medium screens - min-width 640px */
@media only screen and (min-width: 40em) {
	
	:root {
		--content-padding: 3.75rem;
		--content-padding-x2: 7rem;
		--outer-row: 0.9375rem;
		--divider: 1.875rem;
		
		--heading-h1: 3em;
		--heading-h2: 2.5em;
		--heading-h3: 2em;
		--heading-h4: 1.5em;
		--heading-h5: 1.25em;
		--heading-h6: 1.125em;
		
		--heading-xlarge: 4.875em;
	}
	
	.functions-bar {
		padding-bottom: calc(var(--content-padding) / 4);
		padding-top: calc(var(--content-padding) / 4);
	}
	
	.site-logo {
		height: 78px;
		width: 230px;
	}
	
	.site-navigation {
		padding-top:168px;
	}
	
	.bottom-bar__legality {
		padding-bottom: calc(var(--content-padding) / 4);
		padding-top: calc(var(--content-padding) / 4);
	}
	
	.bottom-bar__legality > .grid-container::before {
		border-top: 1px solid var(--color-primary-white);
		content: '';
		display: block;
		opacity: 0.25;
		position: absolute;
		top: calc((var(--content-padding) / 4) * -1); right: var(--outer-row); left: var(--outer-row);
	}
	
	.tab-controls__button {
		font-size: var(--heading-h5);
		margin-right: 0.625rem;
		padding: calc(var(--divider) / 1.5) var(--divider);
	}
	.tab-panels__panel {
		padding: var(--divider);
	}
	
	.divider--small { padding-top:0 !important; }
	
	.input_left,
	.input_right,
	.name_first,
	.name_last,
	.input_third,
	.woocommerce-form-row--first,
	.form-row-first,
	.woocommerce-form-row--last,
	.form-row-last { 
		float:left;
		width:50%;
	}
	.input_third { 
		width:33.33%;
	}
	.name_first {
		margin-bottom:0;
		padding-right:var(--outer-row);
	}
	.name_last {
		padding-left:var(--outer-row);
	}

} @media only screen and (min-width: 40em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

/* Large screens - min-width 1024px */
@media only screen and (min-width: 64em) {
	
	:root {
		--content-padding: 5rem;
		--content-padding-x2: 10rem;
		--outer-row: 1.875rem;		
	}
	
	.top-bar {
		padding-bottom: 0;
		padding-top: 0;
	}
	
	.bottom-bar__legality > .grid-container::before {
		right: calc(var(--outer-row) / 2); left: calc(var(--outer-row) / 2);
	}
	
	#location-map {
		width: 150%;
	}
	
	.product-images--thumbnails {
		padding-left: 130px;
	}
	.product-images__thumbnails {
		display: block;
	}
	
	.tab-controls__button {
		padding: calc(var(--divider) / 1.5) calc(var(--divider) * 2);
	}
	.tab-panels__panel {
		padding: var(--divider) calc(var(--divider) * 2);
	}
	
	.woocommerce ul.order_details li {
		float: left;
		margin-bottom: 0;
		margin-right: var(--divider);
		border-bottom: none;
		border-right: 1px dashed var(--color-primary-dark);
		padding-bottom: 0;
		padding-right: var(--divider);
	}
	.woocommerce ul.order_details li:last-child {
		margin-right: 0;
		border-right: none;
		padding-right: 0;
	}
	.woocommerce ul.order_details li strong {
		font-size: 1.125rem;
	}
	
	.divider--medium { 
		padding-top:0 !important;
	}
	
	.medium-text-line-break span,
	.medium-text-line-break strong,
	.medium-text-line-break b {
		display: inline;
	}
	
	ul.gform_fields,
	.woocommerce-form,
	.wc-credit-card-form.wc-payment-form{ 
		margin-left:calc(var(--outer-row) * -0.5);
		margin-right:calc(var(--outer-row) * -0.5);
	}
	ul.gform_fields > li,
	.woocommerce-form-row,
	.form-row { 
		padding-left: calc(var(--outer-row) / 2);
		padding-right: calc(var(--outer-row) / 2);
	}
	.name_first {
		padding-right:calc(var(--outer-row) / 2);
	}
	.name_last {
		padding-left:calc(var(--outer-row) / 2);
	}

} @media only screen and (min-width: 64em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */

/* XLarge screens - min-width 1440px */
@media only screen and (min-width: 90em) {
	
	.product-menu_background-split::after {
		right: -67px;
	}
	.category-nav ul li a {
		margin-right: -82px;
		padding-left: 100px;
	}
	.category-link__icon {
		left: 50px;
	}
	
	.divider--large {
		padding-top:0 !important;
	}
	
} @media only screen and (min-width: 90em) and (max-width: 97.500em) { } /* min-width 1441px and max-width 1560px, use when QAing xlarge screen-only issues */

/* XXLarge screens - min-width 1560px */
@media screen and (min-width: 97.500em) {
	
}

/* IE 10 & 11 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 
	
	.outer-row {
		padding-left:1.875rem !important;
		padding-right:1.875rem !important;
	}
	.content-area {
		padding-bottom:5rem !important;
		padding-top:5rem !important;
	}
	.content-area--x2 {
		padding-bottom:10rem !important;
		padding-top:10rem !important;
	}
	.content-area--bottom-x0 { 
		padding-bottom:0 !important; 
	}
	.content-area--top-x0 { 
		padding-top:0 !important; 
	}
	.divider {
		padding-top:1.875rem !important;
	}
	
	h1 {
		font-size: 3em !important;
	}
	h2 {
		font-size: 2.5em !important;
	}
	h3 {
		font-size: 2em !important;
	}
	h4 {
		font-size: 1.5em !important;
	}
	h5 {
		font-size: 1.25em !important;
	}
	h6 {
		font-size: 1.125em !important;
	}
	
}


/* ==========================================================================
   Plugin Styles
   ========================================================================== */

/* FlexSlider Necessary Styles
*********************************/
.flexslider {
  margin: 0;
  padding: 0;
	position: relative;
}
.flexslider .slides {
	list-style: none;
	margin: 0;
	padding: 0;
}
.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden;
}
.flexslider .slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
html[xmlns] .flexslider .slides {
  display: block;
}
* html .flexslider .slides {
  height: 1%;
}
.no-js .flexslider .slides > li:first-child {
  display: block;
}

/*!--------------------------------------------------------------------
STYLES "Outdated Browser"
Version:    1.1.0 - 2014
author:     Burocratik
website:    http://www.burocratik.com
* @preserve
-----------------------------------------------------------------------*/
#outdated{
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 170px;
    text-align: center; text-transform: uppercase; z-index:1500;
    background-color: #f25648; color: #ffffff;
}
* html #outdated{position: absolute;}
#outdated h6{font-size: 25px; line-height: 25px; margin: 30px 0 10px;}
#outdated p{font-size: 12px; line-height: 12px; margin: 0;}
#outdated #btnUpdateBrowser{
    display: block; position: relative; padding: 10px 20px; margin: 30px auto 0; width: 230px; /*need for IE*/
    color: #ffffff; text-decoration: none; border: 2px solid #ffffff; cursor: pointer;
}
#outdated #btnUpdateBrowser:hover{color: #f25648; background-color:#ffffff;}
#outdated .last{position: absolute; top: 10px; right: 25px; width: 20px; height: 20px;}
#outdated #btnCloseUpdateBrowser{ border-bottom:none;
    display: block; position: relative; width: 100%; height: 100%;
    text-decoration: none; color: #ffffff; font-size: 36px; line-height: 36px;
}/* select */
.jcf-select {
	display: block;
	vertical-align: top;
	background:transparent;
	margin: 0;
	 position: relative;
	overflow: hidden;
	text-align:left;
}
.jcf-select select {
	z-index: 1;
	left: 0;
	top: 0;
}

.jcf-select .jcf-select-text { 
	background-color:transparent;
	background-image:none;
	border:1px solid var(--color-primary-dark);
	border-radius:0;
	color:var(--color-primary-dark);
	cursor:pointer;
	display:block;
	font-size:1em;
	font-weight:400;
	line-height: 1.15;
	margin:0;
	padding:1em 3em 1em 1em;
	outline:none;
	text-shadow:none;
	width:100%;
	
	transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
  -webkit-appearance: none;
}
.jcf-select .jcf-select-text:hover {
	border-color:var(--color-highlight-green); 
}
.jcf-select-opener::before { 
	content:'\f107'; 
	color:var(--color-primary-dark); 
	display:block; 
	font-size:1.25em; 
	font-family: "Font Awesome 5 Pro";
  	font-weight: 900;
	pointer-events:none;
	position:absolute; 
	top:50%; 
	right:1rem;
  
	transform:translateY(-50%);
}
body > .jcf-select-drop {
	position: absolute;
	margin: -1px 0 0;
	z-index: 9999;
}
body > .jcf-select-drop.jcf-drop-flipped {
	margin: 1px 0 0;
}
.jcf-select .jcf-select-drop {
	position: absolute;
	margin-top: 0px;
	z-index: 9999;
	top: 100%;
	left: -1px;
	right: -1px;
}
.jcf-select .jcf-drop-flipped {
	bottom: 100%;
	top: auto;
}
.jcf-select.jcf-compact-multiple {
	max-width: 220px;
}
.jcf-select.jcf-compact-multiple .jcf-select-opener:before {
	display: inline-block;
	padding-top: 2px;
	content: '...';
}
.jcf-select-drop .jcf-select-drop-content {
	border:1px solid var(--color-primary-dark);
}
.jcf-select-drop.jcf-compact-multiple .jcf-hover {
	background: none;
}
.jcf-select-drop.jcf-compact-multiple .jcf-selected {
	background: #e6e6e6;
	color: #000;
}
.jcf-select-drop.jcf-compact-multiple .jcf-selected:before {
	display: inline-block;
	content: '';
	height:4px;
	width:8px;
	margin:-7px 5px 0 -3px;
	border:3px solid #777;
	border-width:0 0 3px 3px;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865483, M12=0.7071067811865467, M21=-0.7071067811865467, M22=0.7071067811865483, SizingMethod='auto expand')";
}

/* multiple select styles */
.jcf-list-box {
	overflow: hidden;
	display: inline-block;
	min-width: 200px;
	margin: 0 15px;
}
/* select options styles */
.jcf-list {
	display: inline-block;
	vertical-align: top;
	position: relative;
	background: #fff;
	width: 100%;
}
.jcf-list .jcf-list-content {
	vertical-align: top;
	display: inline-block;
	overflow: auto;
	width: 100%;
}
.jcf-list ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.jcf-list ul li {
	overflow: hidden;
	display: block;
}
.jcf-list .jcf-overflow {
	overflow: auto;
}
.jcf-list .jcf-option { 
	color:var(--color-primary-dark); font-size:1em; line-height:1.15; margin:0; padding:1em; text-align:left;
	white-space: nowrap;
	overflow: hidden;
	cursor: default;
	display: block;
	height: 1%;
}
.jcf-list .jcf-disabled {
	background: #fff !important;
	color: #aaa !important;
}
.jcf-select-drop .jcf-hover,
.jcf-list-box .jcf-selected {
	background-color:var(--color-secondary-grey-light);
}
.jcf-list .jcf-optgroup-caption {
	white-space: nowrap;
	font-weight: bold;
	display: block;
	padding: 5px 9px;
	cursor: default;
	color: #000;
}
.jcf-list .jcf-optgroup .jcf-option {
	padding-left: 30px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.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: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}