/*********************************************************************************************************************
 * Theme Name: Generic WordPress Theme
 * Description: A generic theme setup to use for new custom theme development projects. Includes support for Primary Nav, Social Media Nav, Sidebar and Blog Sidebar Widgets, Post Formats and HEAD section <title> and Script Enqueue. The theme is responsive and mobile friendly.
 * Author: Crack-Ajax Web Technologies
 * Author URI: http://crack-ajax.com
 * Version: 2.0.0
 ********************************************************************************************************************/

* {
	box-sizing: border-box;
}

/******************************************* Set CSS Color Variables ************************************************/

:root {
  --color-light-orange: #ffa318;
  --color-dark-orange: #f46d1f;
  --color-light-red: #dd1616;
  --color-dark-red: #960000;
  --color-gold: #e0ac00;
  --color-blue-green: #487a7b;
  --color-grey: #4A4A4A;
  --color-price-green: #77a464;
  --font-primary: 'Open Sans', sans-serif;
  --font-primary-heading: 'Open Sans', sans-serif;
  --font-secondary-heading: 'Righteous', sans-serif;
  --font-accent: 'Audiowide', cursive;
}

/****************************************** Gutenberg Color Palette Styles *******************************************/

.crack-ajax .has-black-background-color { background-color: black; }

.crack-ajax .has-black-color { color: black; }

.crack-ajax .has-white-background-color { background-color: white; }

.crack-ajax .has-white-color { color: white; }

.crack-ajax .has-light-orange-background-color { background-color: var(--color-light-orange); }

.crack-ajax .has-light-orange-color { color: var(--color-light-orange); }

.crack-ajax .has-dark-orange-background-color { background-color: var(--color-dark-orange); }

.crack-ajax .has-dark-orange-color { color: var(--color-dark-orange); }

.crack-ajax .has-light-red-background-color { background-color: var(--color-light-red); }

.crack-ajax .has-light-red-color { color: var(--color-light-red); }

.crack-ajax .has-dark-red-background-color { background-color: var(--color-dark-red); }

.crack-ajax .has-dark-red-color { color: var(--color-dark-red); }

.crack-ajax .has-gold-background-color { background-color: var(--color-gold); }

.crack-ajax .has-gold-color { color: var(--color-gold); }

.crack-ajax .has-blue-green-background-color { background-color: var(--color-blue-green); }

.crack-ajax .has-blue-green-color { color: var(--color-blue-green); }

.crack-ajax .has-grey-background-color { background-color: var(--color-grey); }

.crack-ajax .has-grey-color { color: var(--color-grey); }

/********************************************** Gutenberg Button Styles ***********************************************/


.button,
.wp-block-button__link,
body .gform_wrapper .gform_footer input.button,
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
	padding: 10px 0;
	width: 100%;
	max-width: 250px;
	border: 2px solid var(--color-light-orange);
	color: var(--color-light-orange);
	background-color: white;
	display: inline-block;
	font-size: 20px;
	text-decoration: none;
	transition: none;
	white-space: nowrap;
}

.button:hover,
.wp-block-button__link:hover,
body .gform_wrapper .gform_footer input.button:hover,
#add_payment_method .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--color-light-orange);
	color: white;
	text-decoration: none;
}

.wp-block-button__link.has-black-background-color:hover { background-color: black !important; }

.wp-block-button__link.has-black-color { color: black; }

.wp-block-button__link.has-white-background-color:hover { -background-color: white !important; }

.wp-block-button__link.has-white-background-color { background-color: white; }

.wp-block-button__link.has-white-color { color: white; }

.wp-block-button__link.has-blue-background-color { background-color: white !important; border: 2px solid var(--color-blue); }

.wp-block-button__link.has-blue-background-color:hover { background-color: var(--color-blue-80) !important; }

.wp-block-button__link.has-blue-color { color: var(--color-blue); border-color: var(--color-blue); }

.wp-block-button__link.has-blue-color:hover { color: white; background-color: var(--color-blue-80); }

@media (max-width: 374px) {
	
	.button,
	.wp-block-button__link {
		padding: 10px;
	}
	
}

/****************************************** WordPress User Edit Link ************************************************/

.edit-this-link {
    display: none;
    width: 100%;
}

/******************************************* WordPress Thumbnail Captions *******************************************/

.alignright {
	float: right;
	margin-left: 20px;
}

.alignleft {
	float: left;
	margin-right: 20px;
}

.wp-caption.alignright {
	margin-left: 0;
}

.wp-caption.alignleft {
	margin-right: 0;
}

.aligncenter {
    display: block;
    margin: 0 auto;
}

.text-center {
    text-align: center;
}

/****************************************** Text and Anchor Tag Settings ******************************************/

p, li {
	font-size: 18px;
	font-family: 'Open Sans', sans-serif;
	margin: 0 0 20px;
	line-height: 1.5;
	color: var(--color-grey);
}

h1, h2, h3, h4, h5, h6 {
	text-transform: uppercase;
}

h1 {

}

h2 {

}

h3 {
	font-family: 'Open Sans', sans-serif;
}

h4 {

}

h5 {

}

h6 {

}

a,
.woocommerce .woocommerce-breadcrumb a,
.woocommerce div.product form.cart .reset_variations {
	color: var(--color-grey);
}

blockquote:before,
blockquote:after {
    color: rgba(83,185,253,.9);
    content: open-quote;
    font-size: 4em;
    line-height: 0.1em;
    margin-right: 0.25em;
    vertical-align: -0.4em;
}

blockquote {
    text-align: center;
    color: rgba(64,21,60,.7);
    font-size: 1.4em;
    font-family: 'Audiowide', cursive;
    border: none;
    margin: 2em 10px 1em;
    padding: 0 10px 0.5em;
    quotes: "\201C""\201D""\2018""\2019";
}

blockquote:after {
    content: close-quote;
    margin-left: 0.25em;
    margin-right: 0;
}

blockquote p {
    display: inline;
}

/********************************************* Primary Content Styling **********************************************/

.row {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

body {
	margin: 0;
	font-family: 'Open Sans', sans-serif;
	overflow-x: hidden;
}

.document-header {
    position: relative;
    background-color: white;
}

.document-header {
	display: grid;
	grid-template-rows: 30px 150px 300px;
	align-items: center;
}

.home .document-header {
	grid-template-rows: 30px 150px;
	margin-bottom: 50px;
}

.document-header div.top-nav {
	height: 100%;
	background-color: var(--color-grey);
}

.document-header div.top-nav a,
.document-header div.top-nav p {
	color: white;
	text-decoration: none;
	align-self: center;
	font-size: 16px;
	font-family: var(--font-primary);
	margin: 0;
}

.document-header div.top-nav a:hover {
	opacity: 0.5;
}

.document-header div.top-nav .row {
	height: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.document-header div.top-nav .top-nav-menu {
	display: flex;
	align-items: center;
}

.document-header div.top-nav .contact-info a:first-child {
	margin-right: 7vw;
	line-height: 30px;
}

.document-header div.top-nav .top-nav-menu ul {
	display: flex;
	flex-direction: row;
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.document-header div.top-nav .top-nav-menu ul li {
	margin: 0;
	padding: 0 10px;
	border-right: 1px solid white;
	line-height: 16px;
}

.document-header div.top-nav .top-nav-menu ul li:last-child {
	border-right: 0;
	padding-right: 0;
}

.document-header .logo-menu {
	display: grid;
	grid-template-columns: 241px calc(100% - 271px);
	grid-column-gap: 30px;
	align-items: center;
	width: 100%;
}

.document-header .logo-menu .logo img {
	max-height: 90px;
	width: auto;
}

.document-header div.logo p,
.document-header div.logo a {
	font-size: 18px;
	font-weight: bold;
	max-width: 700px;
	color: black;
	text-decoration: none;
}

@media (max-width: 1200px) {
	
	.home .document-header {
		grid-template-rows: 30px 110px;
		margin-bottom: 0;
	}
	
}

@media (max-width: 992px) {
	
	.contact-info {
	    position: fixed;
	    bottom: 0;
	    background: var(--color-grey);
	    display: flex;
	    justify-content: space-evenly;
	    z-index: 100;
	    width: calc(100% + 20px);
	    margin-left: -20px;
	    text-align: center;
		line-height: 2;
		padding: 5px 20px;
	}
	
	.document-header div.top-nav .contact-info a:first-child {
		margin-right: 0;
	}
	
}

@media (max-width: 480px) {
	
	.row {
		padding: 0 10px;
	}
	
	.document-header {
		grid-template-rows: 60px 100px 300px;
	}
	
	.home .document-header {
		grid-template-rows: 60px 100px;
	}
	
	.document-header div.top-nav .row {
		flex-direction: column;
		justify-content: space-evenly;
		padding: 0 10px;
	}
	
	.document-header div.top-nav .top-nav-menu {
		justify-content: center;
	}
	
	.document-header div.top-nav .top-nav-menu ul {
		width: 100%;
	}
	
	.document-header div.top-nav .top-nav-menu ul li {
		flex: 1 1 100%;
		text-align: center;
	}
	
	.document-header div.top-nav p {
		margin-top: -10px;
		margin-bottom: 3px;
	}
	
	.document-header div.top-nav a {
		white-space: nowrap;
	}
	
	.document-header .logo-menu {
		grid-template-columns: 100%;
		max-width: 100%;
	}
	
	.contact-info {
		justify-content: center;
		flex-direction: column-reverse;
	}
}

@media (max-height: 400px) {
	
	.contact-info {
		display: none;
	}
	
}

/******************************************** Primary Navigation Styling ********************************************/

.primary-nav {
    position: relative;
    clear: right;
}

.primary-nav div.navbar-header {
    display: none;
}

.primary-nav ul {
    list-style-type: none;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding-left: 0;
	margin:0;
}

.primary-nav ul li {
    float: left;
	position: relative;
	margin-bottom: 0;
}

.primary-nav ul li a {
	border-width: 0;
	border-top-width: 5px;
	border-style: solid;
    padding: 10px 10px;
	color: #5E6367;
	text-decoration: none;
	font-size: 13px;
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
	text-transform: uppercase;
	display: inline-block;
}

.primary-nav ul li.inactive.touch-start a {
	background: white !important;
	color: var(--color-grey) !important;
}

.primary-nav ul li .dropdown-menu.menu-description {
	display: none;
    grid-template-columns: auto 400px;
    justify-content: center;
    align-items: center;
    padding: 30px;
	text-align: center;
	position: absolute;
	border-bottom-width: 5px;
	border-bottom-style: solid;
	background-color: white;
	box-shadow: 1px 5px 5px rgba(0,0,0,0.2);
	z-index: 2;
}

.primary-nav ul li:not(.touch-start):hover .dropdown-menu,
.primary-nav ul li.active.touch-start .dropdown-menu {
	display: grid;
}

.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu {
	right: 0;
}

.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu {
	grid-template-columns: 400px auto;
}

.primary-nav ul li .dropdown-menu.menu-description .description-wrapper {
	grid-column: 2/3;
	margin-left: 50px;
	padding-left: 50px;
	border-left: 5px solid transparent;
	border-right-width: 0;
	display: flex;
	flex-direction: column;
	align-self: stretch;
	justify-content: center;
}

.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu.menu-description .description-wrapper {
	grid-column: 1/2;
	margin-right: 50px;
	padding-right: 50px;
	margin-left: 0;
	padding-left: 0;
	border-right: 5px solid transparent;
	border-left-width: 0;
}

.primary-nav ul li .dropdown-menu.menu-description .description-wrapper img {
	max-height: 300px;
	object-fit: contain;
	min-width: 300px;
}

.primary-nav ul li .dropdown-menu.menu-description .description-wrapper p {
	margin-top: 5px;
	margin-bottom: 0;
}

.primary-nav ul li .dropdown-menu ul {
	grid-row: 1/2;
	display: block;
}

.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu ul {
	grid-column: 2/3;
}

.primary-nav ul ul li {
	border: 0;
	width: 100%;
}

.primary-nav ul ul li a {
	width: 100%;
	font-size: 12px;
	border-top-width: 1px;
}

.primary-nav ul .dropdown-menu.menu-description li:last-of-type a {
	border-bottom-width: 1px;
}

.primary-nav ul li a .caret {
	display: none;
}

.primary-nav .mobile-hamburger {
	display: none;
}
	
.primary-nav ul li.touch-start a .caret {
	display: flex;
	position: relative;
	width: 30px;
	transform: rotate(-90deg);
	font-size: 35px;
	margin: auto;
}
	
.primary-nav ul li.touch-start.active a .caret {
	transform: rotate(90deg);
	top: 15px;
	left: 7px;
}

@media (max-width: 1200px) {
	
	.document-header .logo-menu {
		display: block;
		position: relative;
	}
	
	.document-header .logo-menu .logo {
		float: left;
	}
	
	.document-header .primary-nav {
		float: right;
		position: static;
	}
	
	.primary-nav .mobile-hamburger {
		display: block;
		z-index: 200;
		width: 42px;
		height: 42px;
	}
	
	.primary-nav .mobile-hamburger:before {
	    content: '\2261';
	    font-size: 75px;
	    cursor: pointer;
		color: var(--color-light-orange);
		line-height: 1;
	}
	
	.primary-nav .collapse {
		display: none;
	}
	
	.menu-open .primary-nav .collapse {
		display: block;
		position: absolute;
		top: 100px;
    	left: 0;
		width: 100%;
    	padding: 0 20px;
    	background: white;
    	z-index: 10;
		min-height: calc(100vh - 140px);
	}
	
	.primary-nav ul {
		flex-direction: column;
		width: 150px;
	}
	
	.primary-nav ul li {
		-position: static;
	}
	
	.primary-nav ul li a {
		width: 150px;
		padding: 20px 0;
		text-align: center;
		border-top-width: 0;
		border-left-width: 5px;
    	margin-bottom: 10px;
	}
	
	.primary-nav ul li.touch-start a {
		width: 200px;
	}
	
	.primary-nav ul li .dropdown-menu.menu-description,
	.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu.menu-description {
		width: 100%;
		padding: 0 50px 10px;
		grid-template-columns: 300px auto;
		justify-content: normal;
		top: 0;
		left: 150px;
		right: auto;
		border-bottom: 0;
		box-shadow: none;
	}
	
	.primary-nav ul li.touch-start .dropdown-menu.menu-description,
	.primary-nav ul li.touch-start:nth-last-child(-n+3) .dropdown-menu.menu-description {
		left: 200px;
	}
	
	.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu ul {
		grid-column: auto;
	}
	
	.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu.menu-description {
		top: auto;
		bottom: 0;
	}
	
	.primary-nav ul ul li a {
		margin-bottom: 0;
		border-left: 0;
	}
	
	.primary-nav ul li .dropdown-menu.menu-description .description-wrapper,
	.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu.menu-description .description-wrapper {
		grid-column: auto;
		padding: 30px 0 30px 50px;
		margin-left: 0;
		margin-right: 0;
		border-left: 5px solid;
		border-right: 0;
	}
	
	.primary-nav ul li .dropdown-menu.menu-description .description-wrapper img {
		max-width: 50%;
		margin: auto;
	}
	
	.primary-nav ul li.touch-start > a {
		position: relative;
		padding-right: 20px;
	}
	
	.primary-nav ul li.touch-start a .caret {
		display: inline;
		position: absolute;
		right: 9px;
		top: 4px;
	}
	
	.primary-nav ul li.touch-start.active a .caret {
		top: 4px;
		right: 0;
		left: inherit;
	}
	
}

@media (max-width: 992px) {
	
	.primary-nav ul {
		width: auto;
	}
	
	.primary-nav ul li .dropdown-menu.menu-description,
	.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu.menu-description {
		grid-template-columns: 235px 50%;
		padding: 0 20px 0;
	}
	
	.primary-nav ul li.touch-start .dropdown-menu.menu-description,
	.primary-nav ul li.touch-start:nth-last-child(-n+3) .dropdown-menu.menu-description {
		padding: 0;
	}
	
	.primary-nav ul li.touch-start ul a {
		width: 190px;
	}
	
	.primary-nav ul li .dropdown-menu ul {
		padding: 10px 30px;
	}
	
	.primary-nav ul li .dropdown-menu.menu-description .description-wrapper,
	.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu.menu-description .description-wrapper {
		padding: 30px 0 30px 30px;
	}
	
	.primary-nav ul li.touch-start .dropdown-menu.menu-description .description-wrapper,
	.primary-nav ul li.touch-start:nth-last-child(-n+3) .dropdown-menu.menu-description .description-wrapper {
		padding: 30px 0 30px 20px;
	}
	
	.primary-nav ul li.touch-start .dropdown-menu.menu-description .description-wrapper img,
	.primary-nav ul li.touch-start .dropdown-menu.menu-description .description-wrapper p {
		min-width: 270px;
		max-width: 50%;
		margin: 0;
	}
	
}

@media (max-width: 767px) {
	
	.primary-nav ul li .dropdown-menu.menu-description .description-wrapper {
		display: none;
	}
	
	.primary-nav ul .dropdown-menu {
		border-right: 5px solid;
	}
	
	.primary-nav ul li .dropdown-menu ul {
		padding: 0 30px 10px;
	}
	
	.primary-nav ul li.touch-start > a {
		padding-right: 40px;
	}
	
	.primary-nav ul li.touch-start a .caret {
	    display: inline;
	    position: absolute;
	    top: 10px;
	    right: 0;
		width: 65px;
		height: 40px;
		padding-top: 18px;
	    transform: rotate(-90deg);
	    font-size: 20px;
	}
	
	.primary-nav ul li.touch-start.active a .caret {
		transform: rotate(90deg);
		right: -12px;
		top: 10px;
		border-bottom: 1px solid white;
		padding-top: 0;
	}
	
}

@media (max-width: 480px) {
	
	.primary-nav .mobile-hamburger {
		margin-right: 20px;
	}
	
	.menu-open .primary-nav .collapse {
		padding: 0 10px;
		top: 94px;
	}
	
	.primary-nav ul li.active a {
		margin-bottom: 0;
	}
	
	.primary-nav ul li a {
		width: 100%;
	}
	
	.primary-nav ul li.touch-start a {
		width: 100%;
		padding-right: 50px;
	}
	
	.primary-nav ul li .dropdown-menu.menu-description,
	.primary-nav ul li:nth-last-child(-n+3) .dropdown-menu.menu-description,
	.primary-nav ul li.touch-start .dropdown-menu.menu-description,
	.primary-nav ul li.touch-start:nth-last-child(-n+3) .dropdown-menu.menu-description {
		grid-template-columns: 100%;
		position: relative;
		left: 0;
		margin-bottom: 10px;
		border-bottom: 5px solid;
		border-right: 0;
	}
	
	.primary-nav ul li .dropdown-menu ul {
		padding: 0 30px;
	}
	
	.primary-nav ul li .dropdown-menu a {
		width: 100%;
		padding-right: 0;
	}
	
	.primary-nav ul li.touch-start .dropdown-menu li:first-child a {
		border-top: 0;
	}
	
	.primary-nav ul li .dropdown-menu li:last-child a {
		border-bottom: 0;
	}
	
}

@media (max-width: 374px) {
	
	.document-header .logo-menu .logo {
		max-width: 75%;
	}
	
}

/*************************************** Hero Section and Standard Page Styling ***************************************/

header.document-header .hero-section {
	height: 300px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

main {
    position: relative;
    display: inline-block;
    width: 100%;
}

body:not(.home) main {
	padding: 50px 0 200px;
}

main article {
	background-color: rgba(255,255,255,0.95);
	padding: 35px;
    box-shadow: 0 0 20px rgba(0,0,0,.5);
    border-radius: 4px;
}

main.page-template article {
	padding: 50px 100px;
}

@media (max-width: 768px) {
	
	body:not(.home) main {
		padding: 50px 0 50px;
	}

	main.page-template article,
	main article {
		padding: 20px;
	}
	
	.cart header.document-header .hero-section,
	.checkout header.document-header .hero-section {
		background-position: right;
	}
	
}

@media (max-width: 480px) {
	
	.cart header.document-header .hero-section,
	.checkout header.document-header .hero-section {
		height: 220px;
	}
	
	.cart .document-header,
	.checkout .document-header {
		grid-template-rows: 60px 100px 220px;
	}
	
}

/********************************************* General Form Field Styling *********************************************/


input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
textarea,
select,
body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body .gform_wrapper textarea,
body .gform_wrapper select {
	height: 30px;
	padding: 0 10px;
	border-color: #8B7777;
	border-width: 1px;
	border-style: solid;
	outline-color: white;
	font-size: 13px;
}

body .gform_wrapper textarea {
	padding: 5px 10px;
}

body .gform_wrapper ul.top_label div.ginput_container {
	margin-top: 0;
}

body .gform_wrapper .left-half,
body .gform_wrapper .right-half {
	display: inline-block;
	width: 50%;
}

body .gform_wrapper ul.gform_fields li.gfield.full-width,
body .gform_wrapper ul.gform_fields li.gfield.right-half {
	padding-right: 0;
}

body .gform_wrapper ul.gform_fields li.gfield.left-half {
	padding-right: 8px;
}

body .gform_wrapper ul.gform_fields li.gfield.right-half {
	padding-left: 8px;
}

body .gform_wrapper ul li.gfield.left-third,
body .gform_wrapper ul li.gfield.middle-third,
body .gform_wrapper ul li.gfield.right-third {
	width: 33.33%;
	float: left;
	clear: none;
}

body .gform_wrapper .left-third {
	padding-left: 0;
	padding-right: 8px;
}

body .gform_wrapper .middle-third {
	padding-left: 8px;
	padding-right: 8px;
}

body .gform_wrapper .right-third {
	padding-left: 8px;
	padding-right: 0;
}

body .gform_wrapper .gform_footer {
	text-align: center;
}
	
body .document-footer .footer-widgets .gform_wrapper .gform_footer input.button {
	line-height: 1;
}

@media (max-width: 642px) {
	
	div.ginput_complex.ginput_container.gf_name_has_2 span {
		width: 50%;
		display: inline-block;
		margin-right: -4px;
	}
	
	div.ginput_complex.ginput_container.gf_name_has_2 span:first-child {
		padding-right: 8px;
	}
	
	div.ginput_complex.ginput_container.gf_name_has_2 span:last-child {
		padding-right: 0;
		padding-left: 8px;
	}
	
	body .document-footer .footer-widgets .gform_wrapper .gform_footer input.button,
	body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
		line-height: 1;
	}
	
}

@media (max-width: 480px) {
	
	div.ginput_complex.ginput_container.gf_name_has_2 span {
		width: 100%;
	}
	
	div.ginput_complex.ginput_container.gf_name_has_2 span:first-child {
		padding-right: 0;
		margin-bottom: 16px;
	}
	
	div.ginput_complex.ginput_container.gf_name_has_2 span:last-child {
		padding-left: 0;
		margin-bottom: 0;
	}

	body .gform_wrapper ul.gform_fields li.gfield.left-half,
	body .gform_wrapper ul.gform_fields li.gfield.right-half {
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}
	
}

/******************************************** Materials Calculator Styling ********************************************/

#gform_wrapper_3 .gform_footer input.button {
	
}

/********************************************* Front Page Section Styling *********************************************/

.front-page-content {
	margin-bottom: 50px;
}

.front-page-content .section-grid {
	display: grid;
	grid-template-columns: 25% 75%;
	grid-template-rows: 438px 300px;
	grid-gap: 2px;
	padding: 0;
}

.front-page-content .section-hero {
	background-size: cover;
	background-position: center;
	grid-column: 1/3;
	display: flex;
}

.front-page-content .section-hero a {
	align-self: flex-end;
	text-decoration: none;
	width: 100%;
}

.front-page-content .section-hero h2 {
	align-self: flex-end;
	margin: 0;
	color: white;
	font-size: 50px;
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
	line-height: 1;
	text-transform: uppercase;
	padding: 0 0 0 300px;
	width: 100%;
	background-color: rgba(0,0,0,.5);
}

.front-page-content .section-product {
	width: 300px;
	height: 300px;
}

.front-page-content .section-product img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.front-page-content .section-content {
	padding: 30px 50px 30px 75px;
	color: white;
}

.front-page-content .section-content p {
	color: white;
	max-height: 140px;
	overflow: auto;
	font-size: 16px;
	margin-bottom: 0;
}

.front-page-content .section-content h3 {
	margin-bottom: 0;
}

.front-page-content .section-content .menu {
	padding-left: 0;
	margin: 0;
	list-style-type: none;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.front-page-content .section-content .menu li {
    margin-right: 15px;
	margin-bottom: 0;
}

.front-page-content .section-content .menu li:last-of-type {
    margin-right: 0;
}

.front-page-content .section-content .menu li a {
	color: white;
	padding: 10px 0;
	font-family: 'Open Sans', sans-serif;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	opacity: 0.7;
}

.front-page-content .section-content .menu li a:hover {
	border-top: 5px solid white;
    padding-top: 5px;
	color: white;
	opacity: 1;
}

@media (max-width: 1200px) {
	
	.front-page-content .section-hero h2 {
		padding: 0;
		text-align: center;
	}
	
	.front-page-content .section-content {
	padding: 30px;
	}
	
}

@media (max-width: 992px) {
	
	.front-page-content .section-grid {
		grid-template-columns: 100%;
		grid-template-rows: 335px auto;
	}
	
	.front-page-content .section-hero {
		background-position: right;
	}
	
	.front-page-content .section-product {
		display: none;
	}
	
	.front-page-content .section-hero h2 {    
		font-size: 40px;
	}
	
	.front-page-content .section-content {
		display: flex;
    	flex-direction: column;
    	justify-content: center;
		padding: 80px 30px;
	}
	
	.front-page-content .section-content p {
		max-height: none;
	}
	
}

@media (max-width: 768px) {
	
	.front-page-content {
		margin-bottom: 30px;
	}
	
	.front-page-content .section-hero h2 {
		font-size: 26px;
		padding: 10px 0;
	}
	
	.front-page-content .section-content {
		padding: 30px 10px;
	}
	
	.front-page-content .section-content .menu {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.front-page-content .section-content .menu li {
		margin-right: 0;
    	margin-bottom: 20px;
    	width: 45%;
	}
	
	.front-page-content .section-content .menu li a {
		display: block;
		font-size: 16px;
    	border: 2px solid white;
    	text-align: center;
    	padding: 10px;
		opacity: 1;
	}
	
	.front-page-content .section-content .menu li a:hover {
		border-top-width: 2px;
		padding-top: 10px;
		background-color: white;
	}
	
}

@media (max-width: 480px) {
	
	.front-page-content .section-hero h2 {
		font-size: 18px;
	}
	
	.front-page-content .section-grid {
		grid-template-rows: 225px auto;
	}
	
	.front-page-content .section-content .menu li {
		width: 100%;
	}
	
}

/***************************************** Vendor Logo Carousel Styling *****************************************/

#logo-carousel {
	padding-top: 30px;
	padding-bottom: 30px;
	max-width: 100%;
	position: relative;
	z-index: 0;
	-box-shadow: inset 0 0 5px black, inset 0 0 5px black;
	display: inline-block;
	width: 100%;
}

#logo-carousel .row>h3 {
	padding: 0;
	text-align: center;
	text-transform: uppercase;
}

#logo-carousel .logo-group {
	width: calc(100% - 100px);
	margin: 0 50px;
	padding: 30px 0;
}

.logo-group.owl-carousel .vendor-logo {
    padding: 0 20px;
    display: flex;
    align-items: center;
	justify-content: space-evenly;
    height: 100px;
}

.logo-group.owl-carousel .vendor-logo img {
	max-width: 100%;
	max-height: 100px;
	width: auto !important;
	height: auto;
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: 0;
}

.logo-group.owl-carousel .owl-stage-outer {
	z-index: 1;
}

.logo-group .owl-nav {
	top: 50%;
	left: 50%;
	padding: 0 20px;
	transform: translate(-50%, -50%);
	position: absolute;
	width: 1200px;
	z-index: 0;
}

.logo-group .owl-nav .owl-prev {
	float: left;
}

.logo-group .owl-nav .owl-next {
	float: right;
}

.logo-group .owl-nav i {
	width: 30px;
	height: 30px;
	display: block;
	font-size: 21px;
}

.logo-group .owl-nav .genericon-collapse,
.logo-group .owl-nav .genericon-expand {
	transform: rotate(270deg);
}

.genericon-collapse:before,
.genericon-expand:before {
	font-size: 36px;
}

.logo-group .owl-nav {
	width: calc(100% + 120px);
}

/******************************************* Gallery Image Slider Styling *******************************************/

.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child {
	margin-bottom: 5px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
	padding-right: 5px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) img {
	object-fit: cover;
	height: 130px;
}

.no-scroll {
	overflow-y: hidden;
}

#overlay {
	display: none;
}

.no-scroll #overlay,
.no-scroll-blog #overlay {
	display: block;
	background-color: rgba(0, 0, 0, 0.7);
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	z-index: 100;
}

#gallery-slider {
	display: none;
}

.no-scroll #gallery-slider {
	display: block;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 80vw;
	max-height: 80vh;
	z-index: 110;
}

#gallery-slider .owl-stage {
    -display: flex;
    -align-items: center;
}

#gallery-slider .owl-item {
}

#gallery-slider .gallery-slide {
	position: relative;
	width: 80vw;
	height: 80vh;
	border-radius: 10px;
	overflow: hidden;
}

#gallery-slider .gallery-slide .xwrap {
	display: block;
}

#gallery-slider .gallery-slide .xwrap img {
	display: block;
	margin: 0 auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 100%;
	max-height: 100%;
	height: auto;
	width: auto;
	padding: 20px;
	background-color: white;
	border-radius: 10px;
}

#gallery-slider .owl-nav {
	top: 50%;
	margin-left: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 50%;
	z-index: 0;
}

#gallery-slider .owl-nav .owl-next {
	width: 50%;
	height: 100%;
	float: right;
}

#gallery-slider .owl-nav .owl-prev {
	width: 50%;
	height: 100%;
	float: left;
}

#gallery-slider .owl-nav i {
	opacity: 0;
	transition: all 0.5s ease;
}

#gallery-slider .owl-nav:hover i {
	opacity: 0.6;
	padding: 20px;
}

#gallery-slider .owl-nav i:before {
	font-size: 20pt;
}

#gallery-slider .genericon-previous {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
    text-align: center;
	margin-left: 1.3%;
}

#gallery-slider .genericon-next {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    margin-left: 48.7%;
}

#gallery-slider .close-x {
	position: absolute;
	right: 5px;
	top: 5px;
	border: 2px solid white;
	color: white;
	font-weight: 900;
	border-radius: 50%;
	padding: 3px 9px;
	box-shadow: 2px 2px 10px black;
	z-index: 120;
	opacity: 0;
	text-decoration: none;
}

#gallery-slider:hover .close-x {
	opacity: 1;
}

.genericon-next,
.genericon-previous {
    color: white;
    border-radius: 50%;
	margin-left: 5px;
	margin-top: 1px;
	padding-left: 2px;
	padding-bottom: 1px;
	font-weight: bold;
}

.genericon-previous {
	padding-left: 0;
	padding-right: 1px;
}

@media (hover: none) {

    #gallery-slider .owl-nav i {
        opacity: 0.6;
        padding: 20px;
    }

    #gallery-slider .close-x {
        opacity: 1;
    }

}

@media (max-width: 480px) {
	
	.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
		width: 50%;
	}
	
	.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(odd) {
		padding-right: 0;
	}

    .no-scroll #gallery-slider,
    #gallery-slider .gallery-slide {
        max-width: 90vw;
        width: 90vw;
    }

    #gallery-slider .gallery-slide .xwrap {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #gallery-slider .owl-nav {
        height: 20%;
    }

}

@media (min-width: 481px) and (max-width: 768px) {

    #gallery-slider .gallery-slide .xwrap {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #gallery-slider .owl-nav {
        height: 20%;
    }

}

/******************************************** Woocommerce Shop Pages Styling ********************************************/

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
	text-align: center;
}

.woocommerce ul.products li.product .price {
	-color: var(--color-grey);
	text-align: center;
}

.shop-subheader {
	overflow: hidden;
	padding: 5px 40px;
}

.woocommerce .shop-subheader .woocommerce-result-count,
.woocommerce .shop-subheader .woocommerce-ordering {
	margin-bottom: 0;
	color: white;
}

@media (max-width: 768px) {
	
	.shop-subheader {
		padding: 10px 5px;
		text-align: center;
	}
	
	.woocommerce .woocommerce-result-count,
	.woocommerce-page .woocommerce-result-count,
	.woocommerce .woocommerce-ordering,
	.woocommerce-page .woocommerce-ordering {
		float: none;
	}
	
	.woocommerce .woocommerce-result-count,
	.woocommerce-page .woocommerce-result-count {
		padding-bottom: 20px;
	}
	
}

/****************************************** Woocommerce Product Pages Styling ******************************************/

.related.products {
	display: inline-block;
	 width: 100%;
}

.woocommerce .products ul,
.woocommerce ul.products {
	display: flex;
	flex-wrap: wrap;
	padding-top: 50px;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: grid;
	grid-template-rows: 1fr auto;
	margin-bottom: 100px;
}

.woocommerce ul.products li.product a {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
	align-items: center;
	margin: 1em auto 0;
}

.woocommerce-variation-add-to-cart {
	margin-top: 50px;
}

.woocommerce .single_variation_wrap .quantity input.text.qty[type=number],
.woocommerce .product-type-simple .quantity input.text.qty[type=number] {
	height: 39px;
	width: 70px;
}

.woocommerce div.product div.summary {
	margin-bottom: 50px;
}

@media (max-width: 992px) {
	
	.woocommerce .products ul,
	.woocommerce ul.products {
		display: grid;
		grid-template-columns: repeat(3, 32%);
		grid-column-gap: 2%;
	}
	
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		margin-right: 0;
		width: auto;
	}
	
	.woocommerce .products ul::after,
	.woocommerce .products ul::before,
	.woocommerce ul.products::after,
	.woocommerce ul.products::before {
		display: none;
	}
	
}

@media (max-width: 768px) {
	
	.woocommerce .products ul,
	.woocommerce ul.products {
		display: grid;
		grid-template-columns: repeat(2, 48%);
		grid-column-gap: 4%;
	}
	
	.woocommerce ul.products[class*=columns-] li.product,
	.woocommerce-page ul.products[class*=columns-] li.product {
		width: auto;
	}
	
}

@media (max-width: 480px) {

	.woocommerce .products ul,
	.woocommerce ul.products {
		grid-template-columns: 100%;
	}
	
}

/************************************************ Cart Page Styling ************************************************/

.woocommerce #content table.cart td.actions .coupon,
.woocommerce table.cart td.actions .coupon,
.woocommerce-page #content table.cart td.actions .coupon, 
.woocommerce-page table.cart td.actions .coupon {
	display: flex;
}

#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
	min-width: 110px;
	min-height: 39px;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	color: var(--color-grey);
}

.checkout .woocommerce #respond input#submit.alt,
.checkout .woocommerce a.button.alt,
.checkout .woocommerce button.button.alt,
.checkout .woocommerce input.button.alt {
	background: white;
}

#coupon_code {
	min-height: 39px;
}

#add_payment_method table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img {
	width: 200px;
}

#add_payment_method .wc-proceed-to-checkout,
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-checkout .wc-proceed-to-checkout {
	padding-top: 30px;
	text-align: right;
}
	
.checkout .woocommerce ul.order_details {
	display: flex;
	flex-direction: row;
	padding-left: 0;
}

.woocommerce td.product-name .wc-item-meta {
	padding-left: 0;
}

@media (max-width: 1100px) {
	
	#add_payment_method table.cart img,
	.woocommerce-cart table.cart img,
	.woocommerce-checkout table.cart img {
		width: 150px;
	}
	
}

@media (max-width: 992px) {
	
	.woocommerce-cart table.cart .product-thumbnail {
		display: none;
	}
	
}

@media (max-width: 768px) {
	
	.woocommerce-page table.cart td.actions > .button {
		margin: 10px auto 0;
	}
	
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		display: block;
		margin: auto;
	}
	
	.woocommerce #payment #place_order,
	.woocommerce-page #payment #place_order {
		margin: 30px auto 1em;
		display: block;
	}
	
	.checkout .woocommerce ul.order_details {
		flex-direction: column;
	}
	
	.checkout .woocommerce ul.order_details li {
		border-right: 0;
		border-bottom: 1px dashed #d3ced2;
	}
	
}

@media (max-width: 480px) {
	
	.woocommerce td.product-name .wc-item-meta p,
	.woocommerce td.product-name .wc-item-meta:last-child,
	.woocommerce td.product-name dl.variation p,
	.woocommerce td.product-name dl.variation:last-child {
		text-align: left;
	}
	
	.woocommerce td.product-name dl.variation dt {
		font-weight: bold;
		font-size: 12px;
	}
	
	.woocommerce td.product-name .wc-item-meta dd,
	.woocommerce td.product-name dl.variation dd {
		clear: both;
		padding-bottom: 5px;
		margin-bottom: 5px;
		border-bottom: 1px solid #eee;
	}
	
	.woocommerce td.product-name .wc-item-meta dd:first-child,
	.woocommerce td.product-name dl.variation :first-child {
		padding-top: 5px;
		border-top: 1px solid #eee;
		width: 100%;
	}
	
	.woocommerce td.product-name .wc-item-meta dd:last-child,
	.woocommerce td.product-name dl.variation :last-child {
		margin-bottom: 0;
		border: 0;
	}
	
	.woocommerce td.product-name dl.variation p {
		text-align: right;
	}
	
	.woocommerce td.product-name a {
		width: 100%;
		display: block;
		clear: both;
		text-align: left;
		padding-top: 5px;
	}
	
	.woocommerce table.shop_table_responsive tr:nth-child(2n) td,
	.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
		background-color: white;
	}
	
	.woocommerce #content table.cart td.actions .coupon,
	.woocommerce table.cart td.actions .coupon,
	.woocommerce-page #content table.cart td.actions .coupon,
	.woocommerce-page table.cart td.actions .coupon {
		border-bottom: 1px solid #eee;
		margin-bottom: 10px;
	}
	
	.woocommerce-page table.cart td.actions .button {
		max-width: 100%;
	}
	
	.checkout .woocommerce table.shop_table td.product-name {
		padding-right: 5px;
	}
	
	.checkout .woocommerce table.shop_table td.product-total {
		padding: 0 5px;
		background: #eee;
		text-align: right;
	}
	
	.checkout .woocommerce form.checkout_coupon p {
		width: 100%;
	}
	
}

@media (max-width: 362px) {
	
	.woocommerce .cart .button, 
	.woocommerce .cart input.button {
		max-width: calc(100% - 52px);
	}
	
	.woocommerce table.shop_table {
		border: 0;
	}
	
	.woocommerce table.shop_table td {
		padding: 9px 0px;
	}
	
	.woocommerce table.cart td.actions .coupon .button {
		width: auto;
	}
	
}

/********************************************* My Account Page Styling *********************************************/

.woocommerce-account main.my-account {
}

.woocommerce #content div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs,
.woocommerce-page #content div.product .woocommerce-tabs,
.woocommerce-page div.product .woocommerce-tabs {
	display: inline-block;
    width: calc(100% + 70px);
    margin-left: -35px;
    padding: 50px 35px;
	background-size: cover;
	background-attachment: fixed;
}


.woocommerce-account main.my-account h1 {
	margin-top: 0;
	margin-bottom: 30px;
	padding-left: 20px;
	padding-top: 50px;
	color: black;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	background-color: white;
	width: 300px;
	padding: 20px;
	float: left;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-navigation,
.woocommerce-account main.my-account .woocommerce-MyAccount-content {
	width: 200px;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul li,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background-color: white;
	border: 0;
	margin: 0 0 20px;
	width: 100%;
	padding: 0;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul li:last-child,
.woocommerce div.product .woocommerce-tabs ul.tabs li:last-child {
	margin-bottom: 0;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul li a,
.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-button,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	width: 100%;
	padding: 10px 10px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	color: red;
	background-color: white;
	font-weight: normal;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
	display: none;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content {
	width: calc(100% - 250px);
}

.woocommerce div.product .woocommerce-tabs .panel {
	float: right;
	background-color: white;
	width: calc(100% - 350px);
	padding: 20px;
	max-height: calc(100vh - 100px);
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	background-color: rgba(255,255,255,0.5);
	background-color: rgba(196, 165, 81,0.2);
	padding: 20px;
	border: 0;
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs .panel {
	overflow: auto;
	min-height: calc(100vh - 100px);
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
	margin-top: 0;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel .wp-caption {
	width: 33.33% !important;
    text-align: center;
    padding: 0 10px;
	margin-bottom: 20px;
	min-height: 230px;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content h2 {
	font-size: 32px;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .vip-reward-stats p.stats {
	background-color: #107b31;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .since-date {
	color: #107b31;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .cancel-vip button.button.cancel-button {
	color: white;
	margin-top: 0;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-button {
	width: auto;
	padding: 10px 20px;
	color: white;
	background-color: #C4A551;
	border-radius: 0;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-account main.my-account .woocommerce button.button:hover {
	opacity: 0.7;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-customer-details,
.woocommerce-account main.my-account .woocommerce-MyAccount-content form,
.woocommerce-account main.my-account .woocommerce-Addresses {
	background-color: rgba(0,0,0,0.05);
	padding: 20px;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details h2,
.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-customer-details  h2,
.woocommerce-account main.my-account .woocommerce-Addresses h3 {
	color: black;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-orders-table td,
.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details .order_details,
.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details .order_details td,
.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details .order_details th,
.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
	border: 0;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-orders-table th {
	text-transform: uppercase;
	padding-bottom: 10px;
	border-bottom: 2px solid black;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-orders-table td {
	padding: 10px 8px;
}

.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:first-child td {
	padding-top: 20px;
}

.woocommerce-address-fields__field-wrapper + p {
	margin-bottom: 0;
}

.woocommerce-account main.my-account .woocommerce button.button,
.gform_wrapper input[type=submit] {
	margin-top: 20px;
	color: white;
	font-size: 20px;
	outline: 0;
}

.woocommerce-account main.my-account .woocommerce #account_display_name + span em {
	font-size: 14px;
}

.woocommerce-account main.my-account .woocommerce #account_email {
	margin-bottom: 30px;
}

.woocommerce-account main.my-account .woocommerce fieldset,
.woocommerce-Reviews .comment-form .comment-form-rating  {
	margin-bottom: 20px;
}

.woocommerce-Reviews .comment-form {
	margin-top: 20px;
	max-width: 500px;
}

.woocommerce-Reviews .comment-form p.stars {
	margin-top: 10px;
}

.woocommerce #review_form #respond .form-submit {
	text-align: center;
	margin-top: 50px;
}

.woocommerce #review_form #respond .form-submit [type=submit] {
	border-radius: 0;
	padding: 10px 20px;
	color: white;
}

.woocommerce #review_form #respond .form-submit [type=submit]:hover {
	background-color: #c4a551;
}

@media (max-width: 992px) {
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-navigation {
		padding: 0;
	}
	
	.woocommerce div.product .woocommerce-tabs {
		padding: 30px 0 0;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-navigation {
		width: 100%;
		float: none;
		margin-bottom: 30px;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-button {
		max-width: 150px;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul,
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		width: 100%;
		float: none;
		display: grid;
    	grid-template-columns: repeat(2, 48%);
    	grid-column-gap: 4%;
    	grid-row-gap: 10px;
		padding: 20px;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul li,
	.woocommerce div.product .woocommerce-tabs ul.tabs li {
		margin-bottom: 0;
		margin: 0 !important;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul li a,
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-button,
	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		padding: 5px;
	}
	
	.woocommerce #content div.product .woocommerce-tabs ul.tabs::after,
	.woocommerce #content div.product .woocommerce-tabs ul.tabs::before,
	.woocommerce div.product .woocommerce-tabs ul.tabs::after,
	.woocommerce div.product .woocommerce-tabs ul.tabs::before,
	.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,
	.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::before,
	.woocommerce-page div.product .woocommerce-tabs ul.tabs::after,
	.woocommerce-page div.product .woocommerce-tabs ul.tabs::before {
		position: absolute;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content,
	.woocommerce div.product .woocommerce-tabs .panel {
		width: 100%;
		float: none;
		padding: 20px;
	}
	
}

@media (max-width: 768px) {
	
	.woocommerce div.product .woocommerce-tabs ul.tabs {
    	grid-template-columns: repeat(2, 49%);
    	grid-column-gap: 2%;
		padding: 10px;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul li a,
	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		font-size: 16px;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-button:not(.woocommerce-button--next):not(.woocommerce-button--previous) {
		font-size: 18px;
		float: right;
		padding: .618em 1em;
	}
	
	.product-carousel-wrapper .owl-carousel .owl-nav {
		width: calc(100% + 60px);
	}
	
	.vip-reward-stats {
		grid-template-columns: repeat(2, 48%);
		grid-column-gap: 4%;
		grid-row-gap: 30px;
	}
	
	.vip-reward-stats li {
		margin: 0;
	}
	
	.woocommerce-MyAccount-orders tr.woocommerce-orders-table__row {
		border-bottom: 3px solid black;
		margin-bottom: 20px;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-MyAccount-orders tbody tr.woocommerce-orders-table__row td {
		padding: 0 0px 10px;
		overflow: hidden;
	}
	
	.woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions::before,
	.woocommerce-page table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions::before {
		display: none;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details .order_details th.woocommerce-table__product-name {
		width: 70%;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details .order_details th:first-child {
		padding-left: 0;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details tfoot tr:nth-of-type(3) {
		height: 90px;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details tfoot tr:nth-of-type(3) th {
		display: block;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .woocommerce-order-details tfoot tr:nth-of-type(3) td {
		display: block;
		position: absolute;
		padding-left: 10px;
	}
	
	.woocommerce .col2-set .col-1.woocommerce-Address,
	.woocommerce-page .col2-set .col-1.woocommerce-Address {
		margin-bottom: 30px;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content,
	.woocommerce-account main.my-account .woocommerce-MyAccount-content form {
		padding: 10px;
	}
	
	.woocommerce div.product .woocommerce-tabs .panel {
		max-height: none;
	}
	
}

@media (max-width: 480px) {
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-navigation ul,
	.woocommerce-account main.my-account .woocommerce-MyAccount-content,
	.woocommerce div.product .woocommerce-tabs ul.tabs {
    	grid-template-columns: 100%;
	}
	
	.woocommerce div.product .woocommerce-tabs .panel h2 {
		font-size: 24px;
	}
	
	.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--features-benefits h3 {
		font-size: 20px;
	}
	
	.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--features-benefits {
		display: block;
	}
	
	.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--features-benefits ul {
		margin-bottom: 30px;
		padding-left: 21px;
	}
	
	.product-carousel-wrapper .owl-carousel {
	    max-width: calc(100% + 40px);
	    width: calc(100% + 40px);
	    margin-left: -20px !important;
	}
	
	.product-carousel-wrapper .owl-carousel .owl-nav {
		width: 80%;
		transform: translate(-50%, -50%) rotate(90deg);
		z-index: 1;
	}
	
	.product-carousel-wrapper .owl-nav .genericon-previous,
	.product-carousel-wrapper .owl-nav .genericon-next {
		transform: translate(-50%, -50%) rotate(-90deg);
	}
	
	.vip-reward-stats {
		grid-template-columns: 100%;
		width: 100%;
	}
	
	.vip-reward-stats li {
		margin: 0;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .since-date {
		float: none;
		text-align: center;
		color: white;
		display: block;
		background-color: #107b31;
	}
	
	.woocommerce-account main.my-account .woocommerce-MyAccount-content .cancel-vip button.button.cancel-button {
		font-size: 16px;
		padding: 5px 10px;
	}
	
	.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel .wp-caption {
		width: 50% !important;
	}
	
}

/************************************** WC Measurements Calculator Plugin Styling **************************************/

#price_calculator .price-table-row:not(.calculated-price):not(.total-amount) td {
	font-size: 1.17em;
	font-family: var(--font-primary-heading);
	font-weight: bold;
	text-transform: uppercase;
}

#price_calculator .price-table-row.total-amount td {
	font-weight: bold;
	padding-top: 10px;
}

#price_calculator .price-table-row.calculated-price td {
	padding-top: 20px;
	color: var(--color-price-green);
	font-size: 1.25em;
}

#price_calculator + .woocommerce-variation-add-to-cart .quantity,
#price_calculator + .quantity {
	display: none !important;
}

#price_calculator + .quantity + .single_add_to_cart_button {
	margin-top: 30px;
}

label.wc-pao-addon-name {
    font-weight: 600;
	margin-top: 10px;
}

.wc-measurement-price-calculator-price {
	margin-bottom: 20px;
	display: inline-block;
}

.up-sells.upsells.products {
	clear: both;
}

/***************************************** YITH Request a Quote Plugin Styling *****************************************/
/*
.woocommerce div.product form.cart {
	margin-bottom: -40px;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button {
	display: none;
}

.woocommerce div.product form.cart + .yith-ywraq-add-to-quote {
	display: inline-block;
	margin-bottom: 30px;
}

.woocommerce div.product form.cart + .yith-ywraq-add-to-quote .add-request-quote-button {
	display: block;
	width: 300px;
	text-align: center;
}
*/
/***************************************** Footer Widget and Copyright Styling *****************************************/

.document-footer {
	position: relative;
	background-color: var(--color-light-orange);
	color: var(--color-grey);
}

.document-footer a {
	color: var(--color-grey);
	text-decoration: none;
}

.document-footer a:hover {
	color: white;
	text-decoration: underline;
}

.document-footer .footer-widgets {
	padding-left: 0;
	padding-top: 50px;
	margin: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: 30% 30% auto;
	grid-template-rows: auto auto;
	grid-row-gap: 10px;
	grid-column-gap: 20px;
}

.document-footer .footer-widgets li {
	margin-bottom: 0;
}

.document-footer .footer-widgets li:first-of-type {
	grid-row: 1/3;
}

.document-footer .footer-widgets li.contact-area {
	grid-column: 2/4;
}

.document-footer .footer-widgets li.address-area {
	grid-row: 2/3;
}

.document-footer .footer-widgets li.phone-area {
	grid-row: 2/3;
	text-align: right;
	padding-top: 20px;
}

.document-footer .footer-widgets #footer1 {
	max-width: 250px;
}

.document-footer .footer-widgets #footer1 .widgets {
	position: relative;
}

.document-footer .footer-widgets #footer1 input#s {
	width: 85%;
	float: left;
	border-right: 0;
}

.document-footer .footer-widgets #footer1 #searchsubmit {
	width: 15%;
	border: 1px solid var(--color-grey);
	border-left: 0;
	height: 30px;
}

.document-footer .footer-widgets #footer1 span.genericon {
	position: absolute;
	top: 2px;
	right: 2px;
}

.document-footer .footer-widgets #footer1 span.genericon-search:before {
	font-size: 28px;
}

.document-footer .footer-widgets #footer1 + .social {
	padding-top: 70px;
}

.document-footer .footer-widgets #footer1 + .social .social-menu ul {
	padding-left: 0;
}

.document-footer .footer-widgets #footer1 + .social .social-menu li a[href*="facebook.com"]::before {
	color: white;
}

.document-footer .footer-widgets #footer2 .widgets {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.document-footer .footer-widgets #footer2 .widgets h2 {
	color: var(--color-grey);
}

.document-footer .footer-widgets #footer2 .widgets h2,
.document-footer .footer-widgets #footer2 .widgets .gform_wrapper,
.document-footer .footer-widgets #footer2 .widgets .gform_wrapper .ginput_container.ginput_container_name {
	margin: 0;
}

.document-footer .footer-widgets #gform_fields_1 li:first-of-type {
	margin-top: 0;
}

.document-footer .footer-widgets #footer2 .widgets label {
	display: none;
}

.document-footer .footer-widgets #footer2 .widgets input,
.document-footer .footer-widgets #footer2 .widgets textarea {
	text-align: center;
}

.document-footer .footer-widgets #gform_wrapper_1 textarea,
.document-footer .footer-widgets #gform_wrapper_1 .gform_footer {
	display: none;
}

.document-footer .footer-widgets #gform_wrapper_1.contact-active textarea,
.document-footer .footer-widgets #gform_wrapper_1.contact-active .gform_footer {
	display: inline-block;
}

body .document-footer .footer-widgets .gform_wrapper .gform_footer input.button {
	border: 2px solid white;
	color: white;
	background-color: transparent;
}

body .document-footer .footer-widgets .gform_wrapper .gform_footer input.button:hover {
	background-color: white;
	color: var(--color-light-orange);
	text-decoration: none;
}

.document-footer .footer-bottom {
	padding: 20px 0;
	margin-top: 20px;
	border-top: 1px solid var(--color-grey);
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	font-size: 13px;
}

@media (max-width: 1200px) {
	
	.document-footer {
		padding-bottom: 40px;
	}
	
}

@media (max-width: 992px) {
	
	.document-footer .footer-widgets {
		grid-column-gap: 50px;
		padding-top: 30px;
	}
	
	.document-footer .footer-widgets #footer1 {
		margin-top: 57px;
	}
	
	.document-footer .footer-widgets #footer2 .widgets {
		flex-direction: column;
	}
	
	.document-footer .footer-widgets #footer2 .widgets h2 {
		margin-bottom: 15px;
	}
	
}

@media (max-width: 768px) {
	
	.document-footer .footer-widgets {
		grid-column-gap: 20px;
	}
	
}

@media (max-width: 642px) {
	
	.document-footer .footer-widgets {
		grid-template-columns: 50% auto;
		grid-template-rows: auto auto auto;
	}
	
	.document-footer .footer-widgets li:first-of-type {
		grid-row: 1/2;
		grid-column: 1/3;
		display: flex;
	}
	
	.document-footer .footer-widgets #footer1 {
		margin-top: 0;
		margin-bottom: 10px;
	}
	
	.document-footer .footer-widgets #footer1 + .social {
		padding-top: 0;
		right: 20px;
		position: absolute;
	}
	
	.social-menu li a::before {
		line-height: 1;
	}
	
	.document-footer .footer-widgets li.contact-area {
		grid-row: 2/3;
		grid-column: 1/3;
	}
	
	.document-footer .footer-widgets li.address-area  {
		grid-row: 3/4;
		grid-column: 1/2;
	}
	
	.document-footer .footer-widgets li.phone-area {
		grid-row: 3/4;
		grid-column: 2/3;
	}
	
}

@media (max-width: 480px) {
	
	.document-footer {
    	padding-bottom: 70px;
	}
	
	.document-footer .footer-widgets {
		grid-template-rows: repeat(4, auto);
	}
	
	.document-footer .footer-widgets #footer2 .widgets h2 {
		text-align: center;
	}
	
	.document-footer .footer-widgets li.address-area  {
		grid-column: 1/3;
		text-align: center;
	}
	
	.document-footer .footer-widgets li.phone-area {
		grid-row: 4/5;
		grid-column: 1/3;
		text-align: center;
		padding-top: 0;
	}
	
	.document-footer .footer-bottom {
		flex-direction: column;
		align-items: center;
	}
	
	.document-footer .footer-bottom .copyright {
		margin-bottom: 20px;
	}
	
}

/******************************************* Social Media Genericon Styling *******************************************/

.screen-reader-text {
	display: none;
}

.social-menu {
}

	.social-menu ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}

		.social-menu ul li {
			display:  inline-block;
			position: relative;
			-width: 20% !important;
		}

			.social-menu li a::before {
				content:        '\f408';
				display:        inline-block;
				padding:        0 5px;
				font-family:    'Genericons';
				font-size:      2em;
				vertical-align: top;

				-webkit-font-smoothing: antialiased;
			}

			.social-menu li a[href*="wordpress.org"]::before,
			.social-menu li a[href*="wordpress.com"]::before {
				content: '\f205';
				color:   #21759b;
			}
			.social-menu li a[href*="facebook.com"]::before {
				content: '\f203';
				color:   #3b5998;
			}
			.social-menu li a[href*="twitter.com"]::before {
				content: '\f202';
				color:   #33ccff;
			}
			.social-menu li a[href*="dribbble.com"]::before {
				content: '\f201';
				color:   #ea4c89;
			}
			.social-menu li a[href*="plus.google.com"]::before {
				content: '\f206';
				color: #dd4b39;
			}
			.social-menu li a[href*="pinterest.com"]::before {
				content: '\f210';
				color:   #c8232c;
			}
			.social-menu li a[href*="github.com"]::before {
				content: '\f200';
				color:   #171515;
			}
			.social-menu li a[href*="tumblr.com"]::before {
				content: '\f214';
				color:   #34526f;
			}
			.social-menu li a[href*="youtube.com"]::before {
				content: '\f213';
				color:   #c4302b;
			}
			.social-menu li a[href*="flickr.com"]::before {
				content: '\f211';
				color:   #ff0084;
			}
			.social-menu li a[href*="vimeo.com"]::before {
				content: '\f212';
				color:   #1AB7EA;
			}
			.social-menu li a[href*="instagram.com"]::before {
				content: '\f215';
				color:   #3f729b;
			}
			.social-menu li a[href*="codepen.io"]::before {
				content: '\f216';
				color:   #000;
			}
			.social-menu li a[href*="linkedin.com"]::before {
				content: '\f208';
				color:   #0e76a8;
			}
	
	#price_calculator .price-table-row.calculated-price td {display:none;}

	.single-product div.product div.product-addon-totals .wc-pao-subtotal-line p.price {
    margin: 0;
    display: none;
}
	
	div.product-addon-totals ul li {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    display: none;
}
/********************************************* Start Responsive Styling *********************************************/

@media screen and (max-width: 767px){

}

@media (min-width:768px) {

}

@media (min-width:992px) {

}

@media (min-width: 1200px) {

}
