/*
Theme Name: Boxwoods 2024
Theme URI: http://newtheme.com
Description: A description about the theme
Author: Author Name
Author URI: http://www.author.com
Version: 1.0
Tags: responsive, black, white, columns, custom menu, etc.
*/

/*

$green=#a3ad62;
$black=#666;
$gold=#e0cf12;
$offwhite=#f6f7f0;

$anch_blue=#009cff;
$anch_blue_hover=#df7900;

$shop_anch_gray=#999;


// drop down menu panel
$dk_green=#7c8638; 
$vdk_green=#606a20;
$orange=#FF9900;


$vlt_green=#d3e368;
$pale_green=#f2f4e8;

$dk_blue=#151f2e;

$char=#333;
*/


/*
.literata-<uniquifier> {
  font-family: "Literata", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
*/
html, body {
	margin:0;
	padding:0;
	width:100%;
	height:100%;
}

body {
	margin:55px 0 0 0;
	padding:0;
	xxfont:16px "Literata", serif;
	font-family: "Red Hat Display", sans-serif;
  font-optical-sizing: auto;
}

* {
	box-sizing: border-box;
}

a,a:visited,a:active {
	color:#009cff;
	transition: color .25s;
}

a:hover {
	color:#df7900
}

.centered_content {
	text-align:center;
}

.gen_width {
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}

.gen_width_small {
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
}

.gen_pad {
	padding-left:20px;
	padding-right:20px;
}

.gen_marg {
	margin-top:80px;
}

.gen_marg_small {
	margin-top:40px;
}

.gen_content h1 {
	color:#a3ad62;
	font-weight:normal;
	font-size:2.75em;
	margin:0;
	line-height:.85em;
}

.gen_content h1 span {
	display:block;
	font-size:.5em;
}

.gen_content h2 {
	font-size:1.85em;
	font-weight:normal;
	color:#a3ad62;
	margin:0;
	letter-spacing:.05em;
}

.gen_content h3 {
	font-size:1.5em;
	font-weight:normal;
	color:#a3ad62;
	margin:0;
	letter-spacing:.05em;
}

.gen_content p {
	color:#666;
	font-size:1.125em;
	line-height:1.75em;
	letter-spacing:.025em;
}

.gen_content a {
	color:#a3ad62;
}

.gen_content a:hover {
	color:#FF9900;
}

p.subhead {
	margin:.25em 0 0 0;
	color:#a3ad62;
	font-size:1.5em;
}



a.white_button {
	color:#a3ad62;
	text-decoration: none;
	background-color:white;
	font-size:1rem;
	text-transform: uppercase;
	padding:10px 20px;
	line-height:0;

	border:3px solid #606a20;
	box-shadow: 0px 0px 0px 2px rgba(255,255,255,.35);
	transition: box-shadow .25s;
}

a.white_button:hover {
	color:#a3ad62 !important;
	box-shadow: 0px 0px 0px 3px rgba(255,255,255,.75);
}


.nav_wrap {
	position:fixed;
	z-index:2;
	top:0;
	left:0;
	width:100%;
	background-color:white;
	box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.1);
}

.nav_wrap nav {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;

	max-width:1920px;
	margin-left:auto;
	margin-right:auto;

	padding:0 30px;
	transition: padding .25s;

}

.nav_wrap nav>div {
	
}

.top_logo_wrap, .top_socials {
	flex:0 0 160px;
}

.top_cart {
	flex:0 0 60px;
}

.top_logo_wrap img {
	width:100%;
	height:auto;
	max-width:160px;
	display:block; /* that stupid assed margin */
	transition: max-width .25s, opacity 1s;

}

.top_logo_wrap img:hover {
	opacity:.65;
	transition:opacity .25s;
}


.navlinks {
	flex:1 1 100%;
	padding:0 20px;
}

.navlinks>ul {
	list-style: none;
	margin:0;
	padding:0;

	display:flex;
	justify-content:center;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.navlinks>ul>li {
	padding:35px 1em;
	position:relative;
	transition:padding .25s;
}

.navlinks>ul>li a {
	color:#666;
	text-decoration:none;
	font-size:1em;
	font-weight:600;
	transition: color 1s;

}

.navlinks>ul>li a:hover {
	transition: color .25s;
	color:#e0cf12;
}

ul.shop_sub_nav {
	list-style: none;
	margin:0;
	padding:0;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	border:1px solid #CCC;
	border-top:none;
}

.shop_sub_nav li {
	white-space: nowrap;
}

li.has_shop_subnav:hover ul.shop_sub_nav {
	display:block;
}

.shop_sub_nav li a {
	display:block;
	background-color:white;
	padding:10px 15px;
}



.top_socials {
	flex:1 1 150px;

}

.top_socials a {
	margin:0;
	line-height:0;
	display:inline-block;
	background-color:#a3ad62;
	color:white;
	border-radius:160px;

	width:30px;
	height:30px;
	padding:3px;

	transition: width .25s, height .25s, background-color 1s, padding .25s;
}

.top_socials a svg {
	
}

.top_socials a:hover {
	transition: width .25s, height .25s, background-color .25s !important;
	background-color:#e0cf12;
}

.top_socials a:not(:first-child) {
	margin-left:10px;
}

.top_cart {
	line-height:0;
	color:#a3ad62;
	text-align:right;
}

.top_cart a {
	color:#a3ad62;
	xtransition: color 1s;
}

.top_cart a:hover {
	color:#e0cf12;
	xtransition: color .25s;
}

.top_cart svg {
	width:100%;
	height:auto;
	max-width:40px;
	padding-left:10px;
}



.hero_wrap {
	width:100%;
	max-width:1920px;
	margin:0 auto;
}

/*
.hero_home {
	height:calc(100vh - 55px);
	
	background-size:cover;
	background-position:center 0;
	position:relative;
	background-repeat: no-repeat;
}
*/
.hero_shade {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.25);
	z-index:3;
}

.hero_logo_wrap {
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	padding:0 20px; 

	width:100%;
	text-align:center;
	z-index:4;
}

.hero_logo_wrap img {
	width:100%;
	height:auto;
	max-width:550px;
}

.sub_hero_margin {
	/* for when there's no hero image */
	margin-top:160px;
}

.sub_hero_margin_with_breadcrumbs {
	margin-top:120px;
}

.hero_sub {
	height:70vh;
	position:relative;
	background-size:cover;
	background-position: center center;
}

.hero_wrap + section.breadcrumbs,
.hero_sub + section.breadcrumbs {
	margin-top:20px;
}

.breadcrumbs+.grid_header,
.breadcrumbs+.content-area{
	margin-top:30px;
}


.breadcrumbs ul {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	
}

.breadcrumbs ul li {
	padding-right:5px;
}

.breadcrumbs a {
	color:#999;
	text-decoration: none;
}

.breadcrumbs a:hover {
	color:#606a20;
}


footer {
	background-color:#a3ad62;
	background-image:url(/wp-content/uploads/footer_bkg_flipped.webp);
	background-position:-50px center;
	background-size:50%;
	background-repeat: no-repeat;
	padding:80px 40px;

	border-top:10px solid #f6f7f0;

	margin-top:160px;
}

.footer_inner_flex {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.foot_logo_wrap {
	flex:0 0 250px;
}

.foot_logo_wrap img {
	width:100%;
	height:auto;
	max-width:250px;
}

.foot_deets_wrap {
	flex:1 1 100%;
	padding:0 20px;
	color:white;
	font-size:1.5em;
}

.foot_deets_wrap a {
	color:white;
	opacity:.65;
}


.foot_deets_wrap p {
	margin:0;
	line-height:1em;
}

.foot_deets_wrap address {
	margin:1em 0;
}

.footer_hours span {
	white-space: nowrap;
	line-height:1.5em;
}

.foot_nav_wrap {
	flex:0 0 300px;
	align-self:stretch;
	border-left:3px dotted rgba(255,255,255,.6);
}

.foot_nav_wrap ul {
	list-style:none;
	color:white;
	margin:0;
}
.foot_nav_wrap ul li {
	margin-bottom:15px;
}

.foot_nav_wrap a {
	color:white;
	font-size:1.125em;
	text-decoration: none;
}

.foot_nav_wrap a:hover {
	color:orange;
}

.foot_fineprint {
	color:white;
	text-align:center;
	margin-top:36px;
}

.foot_fineprint a {
	color:white;
}

.foot_socials {
	text-align:center;
	margin-top:36px;
}

.foot_socials svg {
	width:100%;
	height:auto;
	max-width:40px;
	color:white;
	transition:opacity .25s;
}

.foot_socials svg:hover {
	opacity:.5;
}

/* ####### BEGIN PRODUCT CAROUSEL ############## */

.flickity-viewport {
	
	/*outline:1px solid blue;*/
	
}


.featured_products_carousel_outer_wrap {
	/* wraps carousel and makes spaces for the L&R buttons to be over */
	position:relative;
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
	align-items:center;

	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}

.featured_products_carousel_outer_wrap div {
	/*outline:1px solid #CCC;*/
}

.featured_products_carousel_outer_wrap .button_space {
	/* divs for my custom buttons */
	flex:0 0 80px;
	cursor:pointer;
	padding:0 10px;
	opacity:.45;
	transition:opacity .25s;
}

.featured_products_carousel_outer_wrap .button_space:hover {
	opacity:1;
}

.button_space svg {
	width:100%;
	height:auto;
	max-width:60px;

	fill:#a3ad62;
}

/* flip the left button graphic */
.carousel_right svg {
	transform: scaleX(-1);
}


.featured_products_carousel_inner_wrap {
	flex:1 1 100%;
	text-align:center;
	/*outline:1px solid red;*/
	padding:0 0;
}


.fpc_slide {
	/* for 4 items, with _LR margins should be 25%: */
	width:20%;
	margin:0 2%;
	/* dont stretch the images to pixelation */
	max-width:295px;

	/* the line height to fix flickewty cutting the bottom 1px of the border */
	font-size:1.125em;
	line-height:1em;

	/*border:1px solid #CCC;*/
	padding:20px;
}

.flickity-slider {
	/* fix the mismatched heights. flex not available */
	height: 95%; & > div { min-height: 95%; } 
}

.fpc_img_div {
	/* assumes a square image w/ padding 100% */
	padding-bottom:100%;
	width:100%;
	background-size: cover;
	background-position: center center;
}

.fpc_label_div {
	margin-top:10px;
	padding:10px 5px 0 5px;
	color:#666;
	font-size:1em;

}

.fpc_slide a {
	text-decoration: none;
	color:#333;
	display:block;
}

.fpc_slide a:hover {
	opacity:.75;
}

/* ####### END PRODUCT CAROUSEL ############## */

.gen_width {
	position:relative;
}

.cta_banner img {
	width:100%;
	height:auto;
	max-width:100%;
}

.cta_wrap_right {
	position:absolute;
	top:50%;
	right:25%;
	transform: translateY(-50%);
	color:white;
}

.cta_right_shade {
	position:absolute;
	top:0;
	right:0;
	width:50%;
	height:100%;
	background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5064075801218926) 100%);
}

.cta_large {
	font-size:3em;
	font-weight:bold;
	padding:0;
	margin:0;
	text-shadow: 0px 0px 12px rgba(0,0,0,0.8);
}

.cta_small {
	font-size:1.5em;
	padding:0;
	margin:0;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.8);
}

/*
.cta_banner a,
.cta_banner2 a {
	xdisplay:inline-block;
	xmargin-top:30px;
}
*/



.cta_banner2 {
	position:relative;
	padding-bottom:40%;
	background-size:cover;
	background-repeat:no-repeat;
}


.cta_banner2_border {
	width:calc(100% - 80px);
	height:calc(100% - 80px);
	border:3px solid rgba(255,255,255,.65);
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%); 
	z-index:2;
}

.cta_banner2_shade {
	position:absolute;
	top:0;
	left:0;
	width:50%;
	height:100%;
	background: linear-gradient(270deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%);
}

.cta_wrap_left {
	position:absolute;
	top:50%;
	left:8%;
	transform: translateY(-50%);
	color:white;
}

.signup_bar {
	padding:40px 20px;
	background-color:#a3ad62;
	border:10px solid white;
}




.intro_flex {
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.intro_flex>div {
	flex:0 0 50%;
}

.intro_flex>div:first-child img{
	width:100%;
	height:auto;
	max-width:960px;
	display:block;
}

.intro_flex>div:last-child {

	background-color:#606a20;
	position:relative;

	background-image: url(/wp-content/uploads/menu_background.webp);
	background-size:cover;
	background-repeat: no-repeat;
	background-position: right bottom;


}

.intro_flex>div:last-child>div {
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%); 
	min-width:450px;
}

.intro_flex p {
	font-size:1.5em;
	color:white;
	letter-spacing:1px;
}

.featured_in>div {
	display:flex;
	justify-content:center;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row wrap;
	margin-top:60px;
}

.featured_in figure {
	flex:0 0 10%;
	margin:0 2% 20px 2%;
	min-width:150px;
}
.featured_in figure:first-child {
	margin-left:0;
}
.featured_in figure:last-child {
	margin-right:0;
}
.featured_in img {
	width:100%;
	height:auto;
	max-width:200px;
}

.featured_in figcaption {
	font-style:normal;
	font-size:.85em;
	line-height:1em;
	color:#666;
	text-align:center;
	margin-top:5px;
}



.pageheader_flex {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-flow:row nowrap;
}

.pageheader_flex h1 {
	margin:0 0 5px 0;
}

.pageheader_flex>div:first-child {
	flex:0 0 75px;
	padding-right:20px;
}

.pageheader_flex>div:first-child img {
	width:100%;
	height:auto;
	max-width:3.5em;
	opacity:.6;
	display:block;
}

.pageheader_flex>div:last-child {
	flex:1 1 100%;
}
/******************************************************/

.department_grid_carousel_inner_wrap {
	flex:1 1 100%;
	text-align:center;
	/*outline:1px solid red;*/
	padding:0 0;
}

.department_grid_carousel_inner_wrap figure {
	width:320px;
	margin:0 5px;
	max-width:295px;
	border:5px solid white;
	position:relative;
}


.department_grid_carousel_inner_wrap figure a {
	position:relative;
	color:#7c8638 ;
}

.department_grid_carousel_inner_wrap a:hover {
	color:#a3ad62;
}

.department_grid_carousel_inner_wrap figure img {
	width:100%;
	height:auto;
}

.department_grid_carousel_inner_wrap figcaption {
	position:absolute;
	bottom:20px;
	left:0px;
	width:100%;
	padding:15px 10px;
	font-size:1.25em;
	flex:1 1 100%;
	background-color:rgba(255,255,255,.9);
}

/******************************************************/


.subsection_flex {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.subsection_flex h1 {
	/* lining up the font evenly */
	/* with the icon */
	margin:5px 0 0 0;
}

.subsection_flex.gen_marg {
	/*margin-top:180px;*/
}

.subsection_flex>div:first-child {
	flex:0 0 75px;
	padding-right:20px;
}

.subsection_flex>div:first-child img {
	width:100%;
	height:auto;
	max-width:3.5em;
	opacity:.6;
}

.subsection_flex>div:last-child {
	flex:1 1 100%;
}

.subsection_content {

}

.subsection_grid {
	display:flex;
	justify-content:center;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;

	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
}

.subsection_grid a {
	color:#666;
	font-size:1.25em;
	transition:opacity 1.25s;
}



.subsection_grid figure {
	flex:0 0 25%;
	border:10px solid white;
	margin:0;
	position:relative;
	border-top-right-radius: 30px;
	overflow:hidden;
	min-width:250px;
}

.subsection_grid figcaption {
	position:absolute;
	bottom:20px;
	left:0;
	width:90%;
	background-color:rgba(255,255,255,.95);
	padding:8px 0 16px 15px;

	xborder-top-right-radius: 100px;
	xborder-bottom-right-radius: 100px;

	transition: width .5s;
}

.subsection_grid a:hover {
	transition:opacity .25s;
	xopacity:.65;
}

.subsection_grid a:hover figcaption {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	width:100%;
}

.subsection_grid img {
	width:100%;
	height:auto;
	max-width:100%;
}



fieldset {
	border:1px solid #CCC;
	padding:40px;
	border-radius:10px;
	margin-top:30px;
	background-color:#f7f8ef;
}

legend {
	font-size:1.5em;
	color:#7c8638 ;
}

fieldset p {
	margin:0;
}


/* LIST STYLE */

.flower_order_image_select input[type=radio] {
	display:none;
}

.flower_order_image_select {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
}


.flower_order_image_select label {
	flex:0 0 33%;
	xmax-width:300px;

	margin-bottom:10px;

	display:flex;
	justify-content:flex-end;
	align-items:center;
	align-content:flex-start;
	flex-flow:row-reverse nowrap;
	cursor:pointer;
	border:10px solid transparent;

	transition: background-color 1.25s;

	background-color:white;
}

.flower_order_image_select input[type=radio]:checked + label {
	box-shadow: 0px 0px 0px 3px #a3ad62;
	
}



.flower_order_image_select label:hover {
	transition: background-color .25s;
	background-color: rgba(0,0,0,.15);
}

.flower_order_image_select label>div:first-child {
	padding:0 15px;
}


.flower_order_image_select label>div:first-child {
	font-size:1.25rem;
	line-height:1.25em;
}

.flower_order_image_select label>div:first-child>div {
	font-size:1rem;
	font-weight:normal;
}

.flower_order_image_select label>div:last-child {
	flex:0 0 100px;
	height:100px;
	outline:1px solid #CCC;
	background-size:cover;

	background-repeat:no-repeat;
	background-position:center center;
}



/*  GRID STYLE
.flower_order_image_select {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
}

.flower_order_image_select label {
	padding:5px;
	flex:0 0 190px;
	height:260px;
	margin:5px;
	border:1px solid #999;
	background-color:#FFF;
	transition: background-color 1.25s;
	cursor:pointer;

	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:column;
	
}

.flower_order_image_select label>div:first-child {
	
	font-size:1.25em;
	text-align:center;
	padding-bottom:10px;
}

.form_price {
	letter-spacing:normal;
	font-size:1rem;
}

.flower_order_image_select label>div:last-child {
	flex:1 1 100%;
	width:100%;
	
		xbackground-size:100% 100%;
	background-size:cover;

	background-repeat:no-repeat;
	background-position:center center;
}



.flower_order_image_select>label:hover {
	transition: background-color .25s;
	border:3px solid #FF9900;
}

.flower_order_image_select input[type=radio] {
	display:none;
}

.flower_order_image_select input[type=radio]:checked + label {
	box-shadow: 0px 0px 0px 6px #a3ad62;
	border:3px solid white;
}


*/

.gen_form {
}

.captcha {
	display:inline-block;
	margin:10px 0;
}

.gen_form label {
	
}

.gen_form input[type=text],
.gen_form input[type=date],
.gen_form select,
.gen_form textarea,
.ctct-form-field input[type=text],
.ctct-form-field input[type=email] {
	font-size:1.125em;
	padding:5px 5px;
	width:100%;
	max-width:300px;
	margin-bottom:10px;
}

.newsletter_signup_form label {
	display:block;
	font-size:1.25em;
}

.newsletter_signup_thanks {
	padding:15px;
	background-color: #F2f2f2;
	margin-bottom:400px;
	display:none;
}

.gen_form textarea {
	height:8em;
}

.gen_form input[type=button],
.ctct-form-field input[type=submit],
.single_add_to_cart_button,
a.goto_cart_button {
	color:white;
	text-decoration: none;
	background-color:#7c8638 ;
	font-size:1.25em;
	text-transform: uppercase;
	padding:15px 35px;
	line-height:0;

	border:2px solid #606a20;
	transition: opacity .25s;
	cursor:pointer;
}

a.goto_cart_button {
	padding:3px 20px;
}

.gen_form input[type=button]:hover,
.ctct-form-field input[type=submit]:hover,
.single_add_to_cart_button:hover,
a.goto_cart_button:hover {
	opacity:.74;
}

.form_flex_double {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	padding:0;
	margin:0;
	width:100%;
	max-width:640px;
}

.form_flex_double>div {
	padding:0 20px 0 0;
	flex:0 0 50%;
}


.footer_top_flex {
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	align-content:flex-start;
	flex-flow:row nowrap;

	padding-bottom:25px;
	border-bottom:1px solid #b6b6b6;
	background-color:#a3ad62;
}

.footer_top_flex>div {
	/*outline:1px solid red;*/
}

.footer_top_flex>div:nth-child(1) {
	flex:0 0 35%;
	font:2.5em $serif_font;
	color:$je2024_gray_green;
	letter-spacing:.025em;
	padding-right:40px;
}

.footer_top_flex>div:nth-child(2) {
	flex:1 1 100%;
}

.footer_top_flex form {
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
	padding:0;
	margin:0;
}

.footer_top_flex form>div {
	width:20%;
	flex:0 0 27%;
	margin:0 1% 0 0;
}

.footer_top_flex input[type=text] {
	font-size:1em;
	padding:2px;
	height:36px;
	width:100%;
}

.footer_top_flex input[type=button] {
	height:36px;
	flex:1 1 100%;
	padding:0 10px;
}

.pot_list {
	display:flex;
	justify-content:center;
	align-items:stretch;
	align-content:start;
	flex-flow:row wrap;
}


.pot_list>div {
	flex:0 0 45%;
	margin:1%;

	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
	outline:1px solid #CCC;

	padding:20px;
	
}

.pot_list>div>div {
	
}

.pot_list>div>div:first-child {
	flex:1 1 100%;
	padding-right:15px;
	overflow:hidden;
	margin-top:0;
}

.pot_list h2 {
	font-size:1.5em;
	margin:0;
	color:#777;


}

.pot_list .price_note {
	font-size:.85em;
	color:#666;
	margin:.75em 0 0 0;
	line-height:.15em;
}

.pot_list .price {
	font-size:1.5em;
	margin:0;
	color:#777;
	line-height:1em;
	margin-top:10px;
}



.pot_list .price span {
	display:block;
	font-size:.5em;
	font-weight:normal;
	color:#999;
	line-height:1em;
}

.pot_list small {
	font-size:.85em;
	color:#666;
}

.pot_list img {
	width:100%;
	height:auto;
	max-width:375px;
}

/* for the foldy corner */
.pot_list>div>div {
	position:relative;
}

.foldy_corner {
	position: absolute;
	top: 0;
	right: 0;
	width:50px;
	height:50px;
	background-size:auto;
	background-position:top right;
	transition: border-width 1s;
	transform:scale(0);

	transform-origin: top right;
	transition: transform 1s;

	box-shadow: -4px 4px 8px 0px rgba(0,0,0,0.2);
}

.foldy_corner::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	border-width: 0 50px 50px 0;
	border-style: solid;

	/* for lighter colored photos
	border-color: rgba(0,0,0,.3) #FFF;
	*/
	border-color: rgba(255,255,255,.4) #FFF;
}



.pot_list>div>div:hover .foldy_corner {
	transition: transform .25s;
	transform:scale(1);
}

/*
.pot_list>div:before {
content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 36px 36px 0;
  border-style: solid;
  border-color: red blue;
  z-index:10;
}

.pot_list>div:hover:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 36px 36px 0;
  border-style: solid;
  border-color: red blue;
  z-index:10;
}
*/


.pot_left_vflex {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:space-between;
	flex-flow:column nowrap;
}

.pot_left_vflex>div:first-child {
	/* text row of pot_left_vflex */
	flex:1 1 100%;
	width:100%;
}


.order_line {
	margin-top:.5em;
}

.order_line a {
	display:inline-block;
	color:white;
	text-decoration: none;
	background-color:#7c8638 ;
	font-size:1em;
	text-transform: uppercase;
	padding:5px 35px;

	border:2px solid #606a20;
	transition: opacity .25s;
	cursor:pointer;
	margin-top:.5em;
}
.order_line a:hover {
	opacity:.74;
}



.mini_gallery {
	/* minigal row of pot_left_vflex */
	width:100%;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
}

.mini_gallery img {
	width:100%;
	height:auto;
	max-width:100%;
	display:block;
}

.mini_gallery a {
	flex:0 0 25%;
	border:2px solid white;
	margin:4px;
	box-shadow: 0px 0px 0px 2px white;
	transition: box-shadow 1.25s;
}

.mini_gallery a:hover {
	transition: box-shadow .25s;
	box-shadow: 0px 0px 0px 2px #a3ad62;
}

.map_iframe {
	width:100%;
	height:450px;
	border:none;outline:1px solid #999;
	margin:0;
}

.map_flex {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.map_flex>div {
	flex:0 0 50%
}

.map_flex>div:last-child {
	padding-left:50px;
}

.map_flex address {
	font-size:1.25em;
	font-style:normal;
}

.map_flex h2 {
	line-height:1em;
	margin-bottom:20px;
	font-size:1.5em;
}

.contact_flex {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
	
}

.contact_flex>div {
	flex:0 0 50%;
}

.contact_flex>div:last-child {
	padding-left:30px;
}

.contact_flex h2 {
	line-height:1em;
	margin-bottom:20px;
	font-size:1.5em;
}

.float_right {
	float:right;
	padding-left:30px;
	padding-bottom:20px;
}

.about_img {
	width:100%;
	height:auto;
	max-width:350px;
}

.about_section p::first-letter {
	font-size:2em;
	color:#a3ad62;
}
.about_section blockquote {
	color:#666;
	font-size:1.25em;
	line-height:1.75em;
	letter-spacing:.025em;
	color:#a3ad62;
}



.form_overlay {
	display:none;
	position:fixed;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.75);
	top:0;
	left:0;
	z-index:99999;
	padding:20px;
}


.overlay_wait,.add_to_cart_wait_spinner {
	xdisplay:none;
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);

	text-align:center;
	color:white;
	font-size:.75em;
	opacity:.75;
	width:90%;
	max-width:300px;
}

.wait_spinner {
	position:relative;
	width:100px;
	height:auto;

	-webkit-animation: waitspin 2s infinite linear;
	animation: waitspin 4s infinite linear;
	z-index:2;
}

.wait_decoration {
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);

	width:100%;
	height:auto;
	max-width:300px;
}

@-webkit-keyframes waitspin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}



#modal_form_messages {
	font-size:1.125em;
	color:#497637;
	background-color:white;
	border:1px solid #CCC;
	padding:20px;
	display:none;

	position:fixed;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%); 
	
	z-index:99999999;
	box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.15);

	width:90%;
	max-width:500px;
}

#modal_form_messages h4 {
	font-size:1.25em;
	margin:0;
}

#modal_form_messages .modal_message {
	margin:1em 0;
}

#modal_form_messages input[type=button] {
	color:white;
	text-decoration: none;
	background-color:#7c8638 ;
	font-size:1.25em;
	text-transform: uppercase;
	padding:15px 35px;
	line-height:0;

	border:2px solid #606a20;
	transition: opacity .25s;
	cursor:pointer;
}

#modal_form_messages input[type=button]:hover {
	opacity:.74;
}

.captcha img {
	display:block;
	margin-bottom:10px;
}





.hero_slideshow_wrap {
	/* to control the pad on the child */
	position:relative;
	width:100%;
	max-width:1920px;
	margin:0 auto;
	z-index:1;
	/*outline:2px solid red;*/
}

:root {
	--my-padding-bottom: 100%;
}


.hero_slideshow_wrap .sizeKeeper {
	display:block;
	width:100%;
	max-width:1920px;
	margin:0 auto;

	/* Setting the padding-bottom using calc() to be min of 100% and 100vh */
	/*padding-bottom: calc(min(var(--my-padding-bottom), 90vh));*/

	/*padding-bottom: calc(min(var(--my-padding-bottom), 95vh));*/

	/*padding-bottom: calc(48% - 55px);*/

	/*padding-bottom: min(calc(56% - 55px), 75vh);*/

	/* (56% padding - 55px) OR 75vh, whicever is largest, but never to exceed 100vh-56px
	/* padding-bottom: min(max(calc(56% - 55px), 75vh), calc(100vh - 55px)); */


	padding-bottom: min(max(calc(56% - 55px), 75vh), 900px);

	/*xpadding-bottom:50%;*/

	/*padding-bottom:calc(100vh - 55px);*/

	/*padding-bottom: 56.25%;*/
	/*max-height:calc(100vh - 55px);*/

	/* 
	don't use a scaling image. The bottom padding is formulated thusly:
	
	(desired_MAX_height_px / max_width_px)*100
	
	Therefore:
	(700/1920)*100 = 36.45

	or

	(1080/1920)*100 = 

	-JV
	*/

	/*padding-bottom:36.5%; */ /* FOR FULL SCREEN SLIDES */
	/* padding-bottom:35%; */ /* FOR CHOPPED SCREEN SLIDES */

	/*height:calc(100vh - 55px);*/

}

.hero_slideshow_slide {
	/* each slide */

	background-size:cover;
	background-position:center 0;
	position:relative;
	background-repeat: no-repeat;

	background-attachment: fixed;

	/*
	background-size:contain;
	background-position:center center;
	background-repeat: no-repeat;
	*/

	/*background-position:center -100px;*/

	/*background-size:cover;*/
	/*background-position:center 85.71%; */




	/*	
		bkg img needs to be -100px offset from the top.
		the bkg img is 800px high, but only 700px
		is exposed at a time.

		The offset needs to be a function of the width
		since the whole thing scales. Max width = 1920px.

		Therefore:
		1-(offsetDesiredPx/visibleHeightPx)

		(100px/700) = .1428
		1-.1428 = .8571 or 85.71%

		-JV
		*/

		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		max-width:1920px;
		margin:0 auto;
	}


	.slide_loader_wrap {
		display:inline-block;
		position: absolute;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
		z-index:2;
	}

	.slide_loader {
		border-radius: 50%;
		width: 80px;
		height: 80px;

		margin: 0 auto;
		font-size: 10px;

		display:inline-block;
		text-indent: -9999em;
		border-top: 10px solid rgba(255, 255, 255, 0.2);
		border-right: 10px solid rgba(255, 255, 255, 0.2);
		border-bottom: 10px solid rgba(255, 255, 255, 0.2);
		border-left: 10px solid #ffffff;
		-webkit-transform: translateZ(0);
		-ms-transform: translateZ(0);
		transform: translateZ(0);
		-webkit-animation: load8 .5s infinite linear;
		animation: load8 .5s infinite linear;

		background-color:rgba(180,253,240,.15);
	}
	@-webkit-keyframes load8 {
		0% {
			-webkit-transform: rotate(0deg);
			transform: rotate(0deg);
		}
		100% {
			-webkit-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}
	@keyframes load8 {
		0% {
			-webkit-transform: rotate(0deg);
			transform: rotate(0deg);
		}
		100% {
			-webkit-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	.hero_slideshow_slide:not(:first-child) {
		display:none;
	}

/*
.hero_home img {
	width:100%;
	height:auto;
	max-width:1920px;
}
*/


.sizeKeeperMobile {
	display:block;
	width:100%;
	max-width:700px;
	margin:0 auto;

	padding-bottom:85%;

	/* 
	don't use a scaling image. The bottom padding is formulated thusly:
	
	(desired_MAX_height_px / max_width_px)*100
	
	Therefore:
	(700/1920)*100 = 36.45

	-JV
	*/
}

.mobile_hero_slideshow_wrap {
	/* to control the pad on the child */
	position:relative;
	width:100%;
	max-width:700px;
	margin:0 auto;
	z-index:1;

	display:none;

}

.mobile_hero_slideshow_wrap>div {
	/* each slide */

	background-size:cover;
	background-position:center center;
	position:relative;
	background-repeat: no-repeat;

/*	
bkg img needs to be -100px offset from the top.
the bkg img is 800px high, but only 700px
is exposed at a time.
	The offset needs to be a function of the width
since the whole thing scales. Max width = 1920px.
	Therefore:
1-(offsetDesiredPx/visibleHeightPx)
	(100px/700) = .1428
1-.1428 = .8571 or 85.71%
	-JV
	*/

	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	max-width:700px;
	margin:0 auto;
}




.policies_wrap p {
	font-size:1rem;
}

.policies_wrap h1 {
	font-size:1.75rem;
	font-weight:700;

}

.policies_wrap h2 {
	font-size:1.5rem;
	font-weight:700;
	color:#7c8638 ;
}

.policies_wrap h3 {
	font-size:1rem;
	font-weight:700;
	letter-spacing: 0;
}

.policies_wrap ul {
	font-size::1rem;
	color:#666;
}

.policies_wrap ul li {
	line-height:1.25rem;
}

.search_result_row_flex {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
	border-bottom:1px solid #CCC;
}

.search_result_row_flex>div {
	outline:1px solid #DDD;
}

.search_result_row_flex>div:first-child {
	flex:0 0 90px;
	height:90px;
	background-size:cover;
	background-position: center center;
}

.search_result_row_flex>div:last-child {
	flex:1 1 100%;
	padding-left:30px;
}

.search_result_row_flex p {
	margin:0;
	line-height:normal;
}

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

ul.search_crumbs li {
	display:inline-block;
	font-weight:400;
	font-size:1rem;
}

ul.search_crumbs li a {
	color:#7c8638 ;
	text-decoration: none;
}

p.search_count {
	margin:0 0 1em 0;
}



.valentine_order_flex {
	display:inline-flex;
	justify-content:center;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
	margin-left:auto;
	margin-right:auto;
}

.valentine_order_flex>div {
	flex:0 0 40%;
	outline:1px solid #ccc;
	margin:0 10px;
	padding:20px;

	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:column nowrap;
	
}

.valentine_order_flex img {
	width:100%;
	height:auto;
	max-width:250px;
}

.valentine_order_flex a img:hover {
	opacity:.75;
}

.valentine_order_flex h2 {
	flex:1 1 100%;
	margin:0;
}

.valentine_order_flex a {
	font-weight:bold;
	font-size:1.25em;
}

@media all and (max-width:550px) {
	.valentine_order_flex  {
		display:block;
	}
	.valentine_order_flex>div {
		margin-bottom:30px;
	}
}