/*!
Theme Name: Pefferlaw Farms
Theme URI: http://underscores.me/
Author: Edward Ojambo
Author URI: https://ojambo.com
Description: Pefferlaw Farms Theme
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: pefferlaw-farms
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Pefferlaw Farms is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* BOF FONTS */
/*@font-face {
    font-family: 'Futura';
    src: local("Futura Bold"),local("Futura-Bold"),url("../fonts/Futura-Bold.woff2") format("woff2"),url("../fonts/Futura-Bold.woff") format("woff");
    font-weight: bold;
    font-style: normal;
    font-display: swap
}*/
/* EOF FONTS */
/* BOF RESETS */
*, *:before, *:after {
	margin:0; 
	padding: 0;
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: inherit;
  }
html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body { 
	font-family: Helvetica, Arial, sans-serif;
	color: rgba(0,0,0,1);
}
p, span, div.site main article div, li, dd, dt {
	margin-bottom: 1rem;
}	
ul { list-style: square outside; margin-left: 1rem; }
ol { list-style: decimal outside; margin-left: 1rem; }
a { outline: none; text-decoration: none; }
a img { border: none; margin: 5px; }
table { border-collapse: collapse; }
/* EOF RESETS */
/* BOF UTILITIES */
.linkside_Red a,
.linkside_Red,
a:visited,
a {
	color: rgba(118,179,108,1); /* WAS rgba(30,36,40,1) */
}
.linkside_Red a:hover,
.linkside_Red:hover,
a:hover {
	color: rgba(57,134,45,1); /* WAS rgba(129,166,63,1) */
}
label {
	font-size: 12px;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 10px;
}
input {
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
	padding: 5px 2px;
}
input[type="checkbox"] {
	width: auto;
	padding: 0;
}
input[type="submit"] {
	display: block;
	background-color: rgba(57,134,45,1);
	border-radius: 6px;
	border: none;
	color: white;
	margin: 0.5em 0;
	padding: 0.25em 0.50em;
	font-size: 1.35em;
	text-transform: uppercase;
	width: auto;
}
select {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0.5em;
}
textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0.5em;
	padding: 1em;
}
.btn {
	font-size: 1.125em;
	padding: 1em 1.5em;
	width: 100%;
}
.btn-red {
	border: none;
	background-color: #000000;
	color: white;
	text-align: center;
}
/* EOF UTILITIES */
/* BOF HEADER */
body .site {
	margin-top: 8.125rem;
}
body.tax-product_cat .site,
body.page-template-full-width-page .site {
	margin-top: 7.31rem;
}
body.admin-bar .site {
	margin-top: 10.125rem;
}
body.admin-bar .oliberte-header {
	top: 2rem;
}
.oliberte-header {
	position: fixed;
	top: 0;
	background: rgba(255,255,255,1);
	width: 100%;
	z-index: 300;
	border-bottom: 1px solid #8a8a7b;
	transform: translateZ(0);
	transition: transform .3s, -webkit-transform .3s;
}
.oliberte-header-placeholder,
.oliberte-header .mobile-toggle {
	margin: 0;
}
.oliberte-header .mobile-top,
.oliberte-header .mobile-spacer,
.oliberte-header .mobile-display,
.oliberte-header input.mobile-menu {
    display: none;
}
.oliberte-header .oliberte-offer {
	text-align: center;
	transition: margin .48s, opacity .48s, linear;
	margin-bottom: 0;
	background-color: black;
}
.oliberte-header .oliberte-offer-link {
	color: white;
	background-color: black;
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	/*height: 40px;
	line-height: 40px;*/
}
.oliberte-header .oliberte-phone,
.oliberte-header .oliberte-mail {
	color: white;
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	padding: 12px 0;
	margin-left: 4rem;
	margin-right: 4rem;
}
.oliberte-header .oliberte-offer-content {
	position: relative;
	background-color: white;
	display: none;
	overflow: auto;
	border-bottom: 1px solid #8a8a7b;
	padding-top: 20px;
	padding-bottom: 40px;
	padding: 20px 10px 40px 10px;
}
.oliberte-header .oliberte-offer-content h2 {
	font-size: 18px;
	color: rgba(57,134,45,1);
	font-weight: 700;
	margin: .935rem 0;
}
.oliberte-header form input[type="email"] {
	border: 1px solid black;
	padding: 2px 10px;
	height: 38px;
	width: 320px;
	margin-right: 15px;
	max-width: 100%;
	box-sizing: border-box;
	font-size: 1rem;
	color: #000;
}
.oliberte-header form input[type="submit"] {
	color: white;
	background-color: rgba(57,134,45,1);
	border: 1px solid rgba(57,134,45,1);
	display: inline-block;
	padding: 11px 30px;
	border-radius: 3px;
	font-size: 1rem;
}
.oliberte-header .oliberte-offer-close {
	position: absolute;
	right: 10px;
	top: 10px;
	font-size: 30px;
	color: #464637;
}
.oliberte-header .oliberte-offer-close:hover {
	color: rgba(57,134,45,1);
}
.oliberte-header .oliberte-offer-close:after {
	content: "\00d7";
	position: absolute;
	right: 0;
	transform: rotate(275deg);	
}
.oliberte-header .main-navigation {
	margin: 0 auto;
	max-width: 1280px;
}
.oliberte-header .main-navigation .menu-primary-container {
	margin-bottom: 0;
}
.oliberte-header .main-navigation .menu-primary-container > ul.menu {
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 100%;
	list-style: none;
	position: relative;
	margin-left: 0;
}
.oliberte-header .main-navigation .menu-primary-container > ul.menu > li {
	display: table-cell;
	margin-bottom: 0;
	text-align: center;
	white-space: nowrap;
	flex: 1;
	margin-left: -2rem;
}
.oliberte-header .main-navigation .menu-primary-container > ul.menu li.shopmenugraphic {
	max-width: 240px;
}
.oliberte-header .main-navigation .menu-primary-container > ul.menu li.shopmenugraphic a:visited,
.oliberte-header .main-navigation .menu-primary-container > ul.menu li.shopmenugraphic a:hover,
.oliberte-header .main-navigation .menu-primary-container > ul.menu li.shopmenugraphic a {
	margin: 0;
	padding: 0;
	border: none;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu li.shopmenugraphic a::after {
	display: none;
}
.oliberte-header .main-navigation .menu-primary-container > ul.menu li.shopmenugraphic a img {
	width: 100%;
}
.oliberte-header .main-navigation a.navigation-menu-item-link,
.oliberte-header .main-navigation a.navigation-menu-item-link:visited,
.oliberte-header .main-navigation a.navigation-menu-item-link:hover,
.oliberte-header .main-navigation .menu-primary-container > ul.menu > li a,
.oliberte-header .main-navigation .menu-primary-container > ul.menu > li a:visited,
.oliberte-header .main-navigation .menu-primary-container > ul.menu > li a:hover {
	padding: 22px 25px;
	line-height: 14px;
	font-weight: bold;
	font-size: 0.875em;
	text-decoration: none;
	display: inline-block;
	text-transform: uppercase;
	color: rgba(70,70,55,1);
	box-sizing: border-box;
}
body .oliberte-header .main-navigation .menu-primary-container > ul.menu > li.custom-logo a {
	padding: 0 25px;
}
.oliberte-header .main-navigation a.navigation-menu-item-link:hover,
.oliberte-header .main-navigation .menu-primary-container > ul.menu > li a:hover {
	color: rgba(57,134,45,1);
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul {
	list-style: none;
	position: absolute;
	z-index: -1;
	left: 0;
	overflow: hidden;
	transition: max-height 0.5s;
	max-height: 0;
	/*max-width: 1320px;*/
	width: 100vw; /* 100% */
	padding: 0 20px; /* WAS 30px 20px 0 20px */
	/*padding-left: 15%;*/
	margin: 0 auto; /* WAS 31px auto 0 */
	margin-left: 50%;
	transform: translateX(-50%);
	background: white;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li {
	width: 14.4%;
	max-width: 190.078px;
	margin-right: min(4.6875%, 61.875px);
	display: inline-block;
	vertical-align: top;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li:last-of-type {
	margin-right: 0;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li:hover ul {
	padding-top: 51px;
	max-height: 800px;
	border-bottom: 1px solid #8a8a7b;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li a {
	color: black;
	font-weight: bold;
	border-bottom: 1px solid black;
	padding: 5px 0px 15px 0px;
	margin-bottom: 15px;
	font-size: 16px;
	position: relative;
	width: 100%;
	text-align: left;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li a:hover {
	font-size: 16px;
	padding: 5px 0px 15px 0px;
	
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li a::after {
  content: "\276F";
  position: absolute;
  right: 0;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li:hover ul > li ul,
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li ul {
	max-height: initial;
	position: static;
	padding: 0;
	border-bottom: initial;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li ul li {
	width: 100%;
	display: block;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li ul li a:hover,
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li ul li a {
	border-bottom: initial;
	font-weight: normal;
	margin: 0;
	padding-bottom: 0;
}
.oliberte-header .main-navigation .menu-primary-container ul.menu > li ul > li ul li a::after {
	display: none;
}

.oliberte-header .main-navigation .custom-logo-link img {
	max-height: 74px;
	width: auto;
}
.oliberte-header .flag {
	width: 32px;
	height: 22px;
	display: inline-block;
	vertical-align: middle;
	margin: 0;
}
.oliberte-header .flag-ca {
	background: url('images/flag-ca.png') no-repeat;
}
.oliberte-header div.search-toggle {
	position: relative;
	padding: 22px 25px;
	margin: 0;
}
.oliberte-header input.search-toggle {
	display: inline-block;
	width: 40px;
	height: 28px;
	cursor: pointer;
	opacity: 0;
}
.oliberte-header span.search-toggle {
	width: 40px;
	height: 28px;
	margin-bottom: 0;
	display: block;
	position: absolute;
   top: 50%;
   transform: translateY(-50%);
	font-size: 1.5em;
	font-weight: bold;
	color: rgba(70,70,55,1);
	z-index: -1;
}
.oliberte-header div.search-toggle:hover span.search-toggle {
	color: rgba(57,134,45,1);
}
.oliberte-header span.search-toggle::after {
	content: "\2315";
	position: absolute;
	font-size: 1.75rem;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(270deg);
}
.oliberte-header .search-form {
	width: 300px;
	margin: 0;
	background: #FFFFFF;
	padding: 1em;
	border: 1px solid #8a8a7b;
	font-size: 0.875em;
	position: absolute;
	bottom: -105px;
	right: 1px;
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 0.4s ease-in-out
}
.oliberte-header .search-form h3 {
	color: #8a8a8a;
	margin: 0 0 1em;
}
.oliberte-header .search-form .search-icon {
	right: 1.25rem;
	position: absolute;
	padding: 10px;
	pointer-events: none;
	color: #757575;
	cursor: pointer;
	z-index: 500;
	font-weight: bold;
}
.oliberte-header .search-form .search-icon::before {
	content: "\2315";
	font-size: 1.75rem;
	position: absolute;
	right: 0;
	transform: translateY(-25%) rotate(275deg);
}
.oliberte-header .search-form input[type="search"] {
	width: 98%;
	height: 30px;
	text-indent: 0.5em;
    box-sizing: content-box;
}
.oliberte-header input.search-toggle:checked ~ .search-form {
	transform: scaleY(1);	
}
.oliberte-header input.search-toggle:checked ~ span.search-toggle::after {
	content: "\2715";
	position: absolute;
	right: 0;
	/*transform: translateX(-50%);*/
}
.oliberte-header div.search-toggle .search-result {
	position: absolute;
	width: 268px;
	background: white;
	border: 1px solid black;
	box-sizing: content-box;
	border-top: 1px #8a8a7b;
	background-color: #f0f0f0;
	display: none;
	padding-top: 1rem;
}
.oliberte-header div.search-toggle .search-result ul {
	list-style: none;
	text-indent: 0.5rem;
	text-align: center;
}
.oliberte-header div.search-toggle .search-result ul p:first-letter {
	color: rgba(57,134,45,1);
}
.oliberte-header div.search-toggle .search-result ul p a {
	font-weight: bold;
	text-decoration: none;
	color: #464637;
	display: block;
}

.oliberte-header-placeholder {
	width: 100%;
}
.height101 {
	height: 101px;
}
/* EOF HEADER */
/* BOF WOOCOMMERCE */
body.woocommerce-page.single-product div.product .summary .product_meta,
body.woocommerce-page .woocommerce-tabs .woocommerce-Reviews .woocommerce-Reviews-title,
body.archive.tax-product_cat .category-parent .category-title,
body.archive.tax-product_cat .woocommerce-products-header .term-description,
body.woocommerce-page .woocommerce-ordering,
body.woocommerce-page .woocommerce-result-count,
body.woocommerce-page .woocommerce-breadcrumb {
	display: none;
}
body.woocommerce-page .woocommerce-products-header {
	display: flex;
	flex-direction: column-reverse;
}
body.woocommerce-page .woocommerce-products-header .page-title {
	text-align: center;
	text-transform: uppercase;
	max-width: 1280px;
	margin-bottom: 1em;
	font-size: 1.5em;
	font-weight: 800;
}
body.archive.tax-product_cat .woocommerce-products-header .page-title,
body.post-type-archive-product.woocommerce-page .woocommerce-products-header .page-title {
	border-bottom: 1px solid #000000;
	padding-bottom: 0.25rem;
	margin-bottom: 0;
	margin-top: 1rem;
}
body.post-type-archive-product.woocommerce-page .category-parent .category-title {
	text-align: center;
	margin-top: 4em;
	font-weight: normal;
	margin-bottom: 0.5rem;
}
body.archive.tax-product_cat .woocommerce-products-header img {
	width: 100vw;
	position: relative;
	left: calc(-50vw + 50%);
}

body.woocommerce-page .products {
	text-align: center;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	margin-top: 4em;
	max-width: 960px;
	list-style: none;
	justify-content: space-evenly;
}
body.post-type-archive-product.woocommerce-page .category-parent .products {
	margin-top: 0;
}
body.post-type-archive-product.woocommerce-page 
body.woocommerce-page .products::after {
	content: "";
	display: table;
	clear: both;
}
body.woocommerce-page .products.related > h2 {
	flex: 0 0 100%;
}
body.woocommerce-page .products .product {
	display: inline-block;
	flex: 0 0 33%;
}
body.woocommerce-page .products .product .woocommerce-loop-product__title {
	font-size: 1.25em;
}
body.woocommerce-page .products .product .attachment-woocommerce_thumbnail {
	width: 100%;
	height: 250px;
	object-fit: contain;
}
body.blog main.site-main,
body.single main.site-main,
body.single-product main.site-main {
	max-width: 940px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
body.blog main.site-main .post-thumbnail img,
body.single main.site-main .post-thumbnail img {
	max-width: 100%;
	height: auto;
}
.woocommerce a.added_to_cart {
    padding-top: .5em;
    display: inline-block;
}
.woocommerce div.product div.images img {
    display: block;
	 max-width: 100%;
    height: auto;
    box-shadow: none;
}
.woocommerce div.product div.summary > * {
	margin-bottom: 1rem;
}
.wc-tab {
	display:block !important;
}
.wc-tab {
	max-height:0;
	overflow:hidden;
	transition:.5s;
}
.wc-tab.active {
	transition:1s;
}
.wc-tabs li, .wc-tabs li a {
    width: 100%;
}
body.woocommerce .woocommerce-tabs .wc-tabs li a.product-info-toggle {
	text-transform: uppercase;
	font-weight: bold;
	border-bottom: 1px solid black;
	padding: 0.5em 0.25em;
	margin-bottom: 1rem;
	display: block;
}
.tab-button {
	position: absolute;
	width: 30px;
	height: 30px;
	color: #39862D;
	top: 6px;
	transform: rotate(270deg);
	border-radius: 50%;
	cursor: pointer;
	z-index: 100;
	transition: 0.4s cubic-bezier(0.2, 0.6, 0.3, 1.1);
	 right:0
}
.wc-tabs li a.product-info-toggle:hover + .tab-button {
	color: #76B36C;
}
.tab-button:after {
  content: '\276E';
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
}
.tab-button.clicked {
  transform: rotate(90deg);
}
.woocommerce-tabs.wc-tabs-wrapper::after {
	content: '';
	display: table;
	clear: both;
}
/* EOF WOOCOMMERCE */
/* BOF STORES */
body.page-stores .page-store-finder {
	position: relative;
}
body.page-stores .page-store-finder h1 {
	font-size: 3.125em;
	font-weight: normal;
	text-align: center;
}
body.page-stores .page-store-finder .store-search-fields {
	padding: 1em;
}
body.page-stores .page-store-finder .store-search-fields input,
body.page-stores .page-store-finder .store-search-fields select {
	color: black;
	display: block;
	font-size: 1.05em;
	padding: 0.5em 1em;
	margin-bottom: 1.5em;
	width: 100%;
	box-sizing: border-box;
}
body.page-stores .page-store-finder .store-search-fields span {
	display: block;
	text-align: center;
	font-size: 1.5625em;
	text-transform: uppercase;
	margin-bottom: 1em;	
}
body.page-stores .page-store-finder .see-all-stores {
	display: block;
	text-align: center;
	padding: 0.5em;
	margin-right: 10px;
	background: none;
	border: none;
	outline: none;
	cursor: pointer;
}
body.page-stores .page-store-finder .see-all-stores::after {
	/*content: url('images/favicon.png');
	position: relative;
	height: 32px;
	width: 32px;
	display: inline-block;
	top: 8px;
	right: -10px;*/
	background-image: url('images/favicon.png');
	display: inline-block;
	width: 32px;
	height: 32px;
	content: "";
	background-size: contain;
	position: relative;
	top: 0.5rem;
	left: 0.5rem;
}
body.page-stores .page-store-finder .store-map {
  border: 1px solid black;
  margin: 1em;
}
body.page-stores .page-store-finder .store-map {
  box-sizing: border-box;
  width: auto;
  display: block;
  padding-bottom: 30%;
}
body.page-stores .page-store-finder .store-locations .store-locations-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
body.page-stores .page-store-finder .store-locations .store-locations-list li {
	padding: 1em 0 1em 4em;
	position: relative;
	font-size: 0.8675em;
	line-height: 1.4;
	border-bottom: 1px solid #ccc;
}
body.page-stores .page-store-finder .store-locations .store-locations-list li.selected {
	background-color: #eeeeee;
	border-bottom: none;
}
body.page-stores .page-store-finder .store-locations .store-locations-list .listing-marker {
	background-image: url('images/listing-marker.png');
	background-repeat: no-repeat;
	color: white;
	font-size: 0.75em;
	padding: 3px 0 0 0px;
	position: absolute;
	left: 2em;
	top: 1.5em;
	display: block;
	width: 24px;
	height: 25px;
	box-sizing: border-box;
	text-align: center;
}
body.page-stores .page-store-finder .store-locations .store-locations-list .store-location {
	display: block;
	font-family: Roboto, Helvetica, Arial, sans-serif;
	font-weight: bold;
	font-size: 1.1289625em;
	margin-bottom: 0.5em;
}
body.page-stores .page-store-finder .store-locations .store-locations-list .store-listing a {
	color: #4E4E3F;
}
body.page-stores .page-store-finder .store-locations .store-locations-list .store-listing a:hover {
	color: rgba(57,134,45,1);
}
body.page-stores .page-store-finder .store-locations .more-listings {
	display: block;
	text-align: center;
	font-family: Roboto, Helvetica, Arial, sans-serif;
	font-size: 1.5625em;
	padding: 1em 0;
}
body.page-stores .page-store-finder .oliberte-statement {
	display: none;
}
body.page-stores .page-store-finder .store-heading {
	text-align: center !important;
	margin-top: 1% !important;
	color: #4A4A4A;
}
/* EOF STORES */
/* BOF PAGES */
body.archive main.site-main,
body.page main.site-main {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 10px;
}
body.page-template-full-width-page main.site-main {
	padding: 0;
}
body.page-stores main.site-main article header.entry-header,
body.page-about main.site-main article header.entry-header {
	display: none;
}
body.page-template-full-width-page main.site-main,
body.page-template-full-width-page main.site-main article.type-page figure.size-full img,
body.page-about main.site-main article div.post-thumbnail img {
	max-width: 100%;
	width: 100%;
	height: auto;
}
body.page-template-full-width-page main.site-main article.type-page figure.size-full {
	width: 100%;
}
body.home main.site-main article.type-page figure.size-full img[alt*="Pefferlaw Farms"] {
	min-height: 60vh;
}
body.page-contact main.site-main article header.entry-header {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #000000;
}
body.page-contact main.site-main article header.entry-header .entry-title {
	text-transform: uppercase;
}
body.page-contact form[aria-label="Contact form"] fieldset {
	padding: 2rem;
}
body.page-contact form[aria-label="Contact form"] fieldset label {
	/*margin-bottom: 1.25rem;*/
	display: block;
}
body.page-contact form[aria-label="Contact form"] fieldset label input[type="checkbox"] {
	display: inline-block;
	width: auto;
}
body.page-contact form[aria-label="Contact form"] .contact-right h4 {
	margin: 1rem 0;
}
/* EOF PAGES */
/* BOF FOOTER */
.oliberte-footer {
	text-align: center;
}
.oliberte-footer .site-info {
	overflow: hidden;
}
.oliberte-footer .site-info .menu-footer-container,
.oliberte-footer .site-info .footer-widget {
	margin-bottom: 1rem;
}
.oliberte-footer .menu {
	list-style: none;
	padding: 0;
	margin: 0;
	padding-bottom: 4.1rem;
	border-bottom: 1px solid #222222;
	position: relative;
}
.oliberte-footer .menu .menu-item {
	background-color: #ededed;
	border-bottom: 1px solid #8a8a7b;
	text-align: left;
	margin-bottom: 0;
}
.oliberte-footer .menu .menu-item.menu-item-has-children {
	display: inline-block;
}
.oliberte-footer .menu .menu-item.menu-item-has-children > a {
	position: relative;
}
.oliberte-footer .menu .menu-item.menu-item-has-children > a::after {
	content: '';
	position: absolute;
	border-bottom: 1px solid #222222;
	width: 100vw;
	bottom: -1px;
	left: -50vw;
	z-index: -1;
	/*transform: translate(calc(-100vw + 50%), -50%);*/
}
.oliberte-footer .menu .menu-item .sub-menu {
	text-align: center;
	width: 100vw;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #FFF;
	display: none;
	margin-left: 0;
}
.oliberte-footer .footer-widget section {
	display: inline-block;
	margin-right: 0.25rem;
	margin-left: .5rem;
}
.oliberte-footer .footer-widget section .widget-title {
	display: none;
}
.oliberte-colophon {
	background-color: black;
	color: white;
	font-size: 0.75em;
	padding: 0px 20px 15px;
	line-height: 1.5em;
}
.oliberte-colophon p.copyright {
	margin: 0;
}
.oliberte-colophon p.made-in-canada {
	margin: 0;
}
.oliberte-colophon p.made-in-canada img {
	width: 100px;
	max-width: 100%;
	margin: 0;
}
/* EOF FOOTER */
/* BOF MEDIA QUERIES */
@media screen and (min-width: 640px) {
	body.page-contact form[aria-label="Contact form"] fieldset {
		float: left;
		width: 60%;
	}
	body.page-contact form[aria-label="Contact form"] .contact-right {
		float: right; 
		width: 30%;
	}
	body.page-contact form[aria-label="Contact form"]::after,
	body.page-contact form[aria-label="Contact form"] .contact-right::after {
		content: "";
		display: table;
		clear: both;
	}	
}
@media screen and (min-width: 980px) {
	.oliberte-header .main-navigation .custom-logo-link img {
		position: absolute;
		top: -5px;
		left: 50%;
		transform: translateX(-50%);
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children > a {
		background-color: white;
		border: 1px solid #222;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
		font-size: 0.85em;
		text-transform: uppercase;
		font-weight: bold;
		filter: none;
		padding: 5px 30px;
		color: black;
		display: inline-block;
		border-bottom: none;
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children > a.open::before {
		content: '';
		position: absolute;
		border-bottom: 1px solid #FFFFFF;
		width: 100%;
		bottom: -1px;
		left: 0;
	}
	.oliberte-footer .menu .menu-item:first-of-type .sub-menu{
		display: block;
	}	
	.oliberte-footer .menu .menu-item .sub-menu .menu-item {
		display: inline-block;
		background: none;
		border-bottom: none;
	}	
	.oliberte-footer .menu .menu-item .sub-menu .menu-item a {
		color: #596c6c;
		font-size: .9em;
		padding: 0 18px;
		line-height: 60px;
		text-decoration: none;
	}
	body.page-stores .page-store-finder h1, #oliberte #body .page-store-finder h1 {
		text-align: left;
		padding-left: 1rem; 
	}

	body.page-stores .page-store-finder .store-search-fields span, 
	body.page-stores .page-store-finder .store-search-fields select, 
	body.page-stores .page-store-finder .store-search-fields input {
		display: inline-block; 
	}

	body.page-stores .page-store-finder .store-search-fields form {
		display: block;
		width: 100%; 
	}

	body.page-stores .page-store-finder .store-search-fields select + select {
		margin-left: 1.25%;
	}

	body.page-stores .page-store-finder .store-search-fields span {
		width: 6.934%;
		text-align: center; 
	}

	body.page-stores .page-store-finder .store-search-fields .btn {
		width: 100px;
		margin: 0;
		height: 45px;
		padding: 0.5em;
		margin-left: 1.25%;
		text-align: center; 
	}

	body.page-stores .page-store-finder .store-search-fields select, 
	body.page-stores .page-store-finder .store-search-fields input {
		width: 19.2%;
	}

	body.page-stores .page-store-finder .see-all-stores {
		position: absolute;
		top: 1em;
		right: 0.5em; 
	}

	body.page-stores .page-store-finder .store-locations {
		margin: 1em; 
	}
  body.page-stores .page-store-finder .store-locations .store-locations-list {
		box-sizing: border-box;
		display: block;
		margin: 0;
		width: 100%; 
	}
	body.page-stores .page-store-finder .store-locations .store-locations-list:after {
		clear: both;
		content: '';
		display: table; 
	 }
	body.page-stores .page-store-finder .store-locations .store-locations-list li {
		display: inline-block;
		border: none;
		text-align: left;
		width: 20.98540145%;
		/*min-height: 117px;*/
		margin-bottom: 1em;
		margin-right: 5.2832116788%;
		padding-left: 3em;
		box-sizing: border-box;
		font-size: 0.75em;
		overflow: hidden;
		vertical-align: top; 
	}
	body.page-stores .page-store-finder .store-locations .store-locations-list li.selected {
		display: inline-block;
		border: none;
		text-align: left;
		width: 20.98540145%;
		/*min-height: 117px;*/
		margin-bottom: 1em;
		margin-right: 5.2832116788%;
		padding-left: 3em;
		box-sizing: border-box;
		font-size: 0.75em;
		overflow: hidden;
		vertical-align: top;
		border-color: rgba(57,134,45,1);
		background-color: transparent; 
	}
	body.page-stores .page-store-finder .store-locations .store-locations-list li:nth-child(4n) {
		margin-right: 0; 
	}
	body.page-stores .page-store-finder .store-locations .store-locations-list li .listing-marker {
		left: 7px; 
	}
	body.page-stores .page-store-finder .store-locations .more-listings {
		display: none; 
	}

	body.page-stores .page-store-finder .oliberte-statement {
		display: block; 
	}	
}
@media (max-width: 1200px) {
	.oliberte-header-placeholder.height155 {
		height: 152px;
	}
	.oliberte-header .main-navigation a.navigation-menu-item-link,
	.oliberte-header .main-navigation a.navigation-menu-item-link:hover,
	.oliberte-header .main-navigation .menu-primary-container > ul.menu > li a:hover,
	.oliberte-header .main-navigation .menu-primary-container > ul.menu > li a {
		font-size: 12px;
		padding: 23px 15px;
		line-height: 14px;
	}
}
@media (max-width: 980px) {
	.oliberte-header .mobile-spacer,
	.oliberte-header .mobile-display nav.main-navigation-mobile .sub-menu,
	.oliberte-header .main-navigation .flag,
	.oliberte-header .main-navigation a.navigation-menu-item-link,
	.oliberte-header .main-navigation .menu-primary-container {
		 display: none;
	}
	.oliberte-header .mobile-display {
		display: block;
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile .menu,
	.oliberte-header .mobile-display nav.main-navigation-mobile .sub-menu {
		margin-left: 0;
	}
	.oliberte-header {
		display: flex;
		justify-content: space-evenly;
		flex-wrap: wrap;
	}
	.oliberte-header .oliberte-offer {
		flex-basis: 100%;
	}
	.oliberte-header .mobile-toggle {
		flex: 1;
		margin-bottom: 0;
		position: relative;
	}
	.oliberte-header .main-navigation {
		flex: 3;
		justify-content: space-evenly;
	}
	.oliberte-header .mobile-top {
		display: flex;
		flex: 3;
		justify-content: space-evenly;
		margin: 0;
	}
	.oliberte-header input.mobile-menu {
		display: block;
		cursor: pointer;
		width: 55px;
		height: 43px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		opacity: 0;
		z-index: 2;
	}
	.oliberte-header span.mobile-menu {
		display: block;
		width: 45px;
		height: 5px;
		margin-bottom: 7px;
		background: rgba(70,70,55,1);
		border-radius: 3px;
		position: relative;
		bottom: -25px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 1;
		transform-origin: 5px 2px;
		transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
			background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
			opacity 0.55s ease;
	}
	.oliberte-header div.mobile-toggle input.mobile-menu:hover ~ span.mobile-menu {
		background: rgba(57,134,45,1);
	}	
	.oliberte-header input.mobile-menu:checked ~ span.mobile-menu {
		opacity: 1;
		transform: rotate(45deg);
	}
	.oliberte-header input.mobile-menu:checked ~ span.mobile-menu:nth-of-type(2) {
		opacity: 0;
	}
	.oliberte-header input.mobile-menu:checked ~ span.mobile-menu:nth-of-type(3) {
		transform: rotate(-45deg);
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile {
		top: 10px;
		left: -300px;
		text-align: left;
		position: absolute;
		width: 300px;
		height: 100vh;
		margin: 70px 0 0 0px;
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 0;
		background: rgba(255,255,255,1);
		border-right: 1px solid #8a8a7b;
		list-style-type: none;
		-webkit-font-smoothing: antialiased; /* to stop flickering of text in safari */
		transition: left 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	}
	.oliberte-header input.mobile-menu:checked ~ .mobile-display nav.main-navigation-mobile {
		left: 0;
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile ul li {
		display: block;
		position: relative;
		padding: 0;
		margin: 0;
		width: 100%;
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile a.navigation-menu-item-link,
	.oliberte-header .mobile-display nav.main-navigation-mobile .menu-mobile-container > ul.menu > li a {
		color: black;
		border-bottom: 1px solid #8a8a7b;
		background-color: white;
		background-size: 20px 20px;
		background-position: 90% 50%;
		background-repeat: no-repeat;
		width: auto;
		text-transform: uppercase;
		font-size: 14px;
		font-weight: bold;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
		line-height: 20px;
		display: block;
		padding: 20px;
		margin: 0;
		
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile a.navigation-menu-item-link:hover,
	.oliberte-header .mobile-display nav.main-navigation-mobile .menu-mobile-container > ul.menu > li a:hover {
		color: rgba(57,134,45,1);
	}	
	.oliberte-header .search-form h3 {
		display: none;
	}
	.oliberte-header .search-form {
		width: 100vw;
		position: fixed;
		bottom: -75px;
	}
	.oliberte-header .search-form .search-icon {
		right: 2.25rem;
		font-size: 1.5rem;
	}
	.oliberte-header .search-form input[type="search"] {
		color: #757575;
		border: 1px solid #757575;
		font-size: 1rem;
		box-sizing: border-box;
		padding: 0;
		margin: 0 auto;
		width: 97%;
		outline: none;
		height: 46px;
		text-align: center;
		font-weight: 700;
		display: block;
	}
	.oliberte-header div.search-toggle .search-result {
		width: calc(97% - 2rem);
		box-sizing: border-box;
		left: 50%;
		transform: translateX(-50%);
	}	
	.oliberte-header .mobile-display nav.main-navigation-mobile li.menu-item-has-children ul.sub-menu li.menu-item-has-children > a,
	.oliberte-header .mobile-display nav.main-navigation-mobile li.menu-item-has-children > a {
		background-image: url("images/Arrows-01_Down_Black.svg");
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile li.menu-item-has-children ul.sub-menu li.menu-item-has-children > a.open,
	.oliberte-header .mobile-display nav.main-navigation-mobile li.menu-item-has-children > a.open {
		background-image: url("images/Arrows-01_Up_Black.svg");
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile li.menu-item-has-children ul.sub-menu li a {
		background-color: rgba(0, 0, 0, 0.05);
		text-transform: capitalize;
		font-weight: normal;
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile li.menu-item-has-children ul.sub-menu li ul.sub-menu li a {
		background: #c7c7c7;
		text-transform: uppercase;
		font-weight: normal;
		font-size: 12px;
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile .live-chat .mm-major-link--help {
		background-image: url("images/Ques.svg");
	}
	.oliberte-header .mobile-display nav.main-navigation-mobile li a.stores {
		background-image: url("images/FindStore.svg");
	}
	body.single main.site-main,
	body.single-product main.site-main,
	body.woocommerce-page .products {
		width: 90%;
	}
	body.woocommerce-page .products .product {
		display: inline-block;
		flex: 0 0 50%;
	}
	body.woocommerce-page .products .product .attachment-woocommerce_thumbnail {
		height: 200px;
	}
	body.woocommerce-page.single-product div.product .woocommerce-tabs,
	body.woocommerce-page.single-product div.product .summary,
	body.woocommerce-page.single-product div.product .woocommerce-product-gallery {
		 position: relative;
		 float: none;
		 width: auto;
	}	
	.oliberte-footer .menu .menu-item.menu-item-has-children {
		display: block;
		width: 100%;
		background-color: #f0f0e1;
		border-bottom: 1px solid #8a8a7b;		
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children a {
		background-color: white;;
		font-size: 1.1em;
		font-weight: bold;
		padding: 10px 35px;
		color: #464637;
		display: block;
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children a:hover {
		color: rgba(57,134,45,1);
		text-decoration: none;
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children > a::before {
		content: '\0002B';
		position: absolute;
		right: 35px;
		font-weight: bold;
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children > a.open::before {
		content: '\02212';
		position: absolute;
		right: 35px;
		font-weight: bold;
	}
	.oliberte-footer .menu .menu-item .sub-menu {
		text-align: center;
		width: 100%;
		position: static;
		background: #FFF;
		list-style: none;
		display: none;
	}
	/*.oliberte-footer .menu .menu-item:first-of-type .sub-menu{
		display: block;
	}*/
	.oliberte-footer .menu .menu-item.menu-item-has-children ul.sub-menu li {
		background-color: #ededed;
		border-bottom: 1px solid #8a8a7b;
		text-align: left;	
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children ul.sub-menu li:hover {
		background-color: #ddd;
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children ul.sub-menu li a {
		font-weight: normal;
		background: transparent;
	}
	.oliberte-footer .menu .menu-item.menu-item-has-children ul.sub-menu li a::before {
		content: '\0003E';
		position: absolute;
		right: 35px;
		font-weight: bold;
	} 
}
@media (max-width: 640px) {
	body.woocommerce-page .products .product {
		display: inline-block;
		flex: 0 0 100%;
	}
}
/* EOF MEDIA QUERIES */