/*
Theme Name: EZ-NetTools 02
Theme URI: https://theme1.eznettools.com/
Author: EZ-NetTools Steve Monson
Author URI: https://eznettools.com/
Description: An exclusive EZ-NetTools WordPress Theme for Businesses.
Version: 0.9
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Tags: custom-menu, custom-logo, custom-header, custom-background, editor-style, featured-images, microformats, sticky-post, threaded-comments
Text Domain:ez-nettools-02
Tested up to: 7.3.26
Requires PHP: 5.4
*/

html {	font-size:125%;   }

:root { --maxwidth:1340px; --sidebarwidth:280px; }

body {
background:white;
margin:0; padding:0;
color:#222;
font-family:sans-serif; 
font-family: 'Bitter', Georgia, serif;
}

*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }



/*-------------------- General Layout -------------------------*/
#wrapper {display:flex; flex-direction:column; min-height:100vh;  }
.admin-bar #wrapper , body.admin-bar { min-height: calc(100vh - 32px); }

.maxwidth { 
	max-width:1340px;
	width:100%;
	margin:0 auto;  
}

#container {
	flex:1 1 auto; 
}

.elementor-template-full-width  #container > .maxwidth {
	display:block;
	max-width:100%;
	padding:0;
}


.elementor-widget-container .elementor-button-wrapper .elementor-button , #content .button.alt, .button  {
	display:inline-block;
	background:#ffc731;
	color:#000;
	font-size:100%;
	padding: 0.8em 1.2em;
	line-height:1.1;
	box-shadow: 0 2px 0px rgba(0,0,0,.75) , inset 0 1px 4px 2px rgba(255,255,255,.25);
	text-shadow:1px 1px 3px rgba(255,255,255,0.4); 
	font-weight:bold;
	text-decoration:none;
	border-radius:4px;
}
.elementor-button-wrapper .elementor-button:hover , #content .button.alt:hover , .button:hover {
	color:#000; 
	background:#fc3; 
	text-decoration:none;
}

#content .button.alt {
	text-shadow: 1px 1px 1px rgba(255,255,255,.3);
	
}



.elementor-button-wrapper .elementor-button.elementor-size-xs { font-size:80%; }
.elementor-button-wrapper .elementor-button.elementor-size-md {font-size:115%;  }
.elementor-button-wrapper .elementor-button.elementor-size-lg { font-size:150%; }
.elementor-button-wrapper .elementor-button.elementor-size-xl {font-size:175%;  }

 
/*------------------------------ General Formatting ---------------------------------------*/

h1, h2, h3, h4, h5, h6 {
margin:.2em auto;
text-rendering: optimizeLegibility;
line-height:1.15;
}

h1 { font-size:2.5em; }
h1:first-child {margin-top:0;}

h2 { font-size:1.8em; }
h3 { font-size:1.4em; }
h4 {}
h5 {}
h6 {}

h1 + h2 , h2 + h3 , h3 + h4 {margin-top:1.22rem;}

p {
line-height:1.5;
margin:.8em auto;
font-size:1em;
}

a { color:#0057a6;  }
a:hover  {  color:#0077c6; text-decoration:underline; }

.green a, .blue a, .red a, .purple a { color:var(--primary-dark-1); }
.green a:hover, .blue a:hover, .red a:hover, .purple a:hover { color:var(--primary-color); }

#container .elementor-text-editor a {text-decoration:revert;}

a img {border:none;}

blockquote {position: relative; padding-left:1em; font-style:italic; }
blockquote cite {font-style:normal; }
blockquote cite:before { content:"\2014"; }
blockquote cite br {display:none;}

img {max-width:100%; height:auto; flex-shrink: 0; }

iframe {max-width:100%;}


.alignright{ float:right; margin-left:1em; clear:right; margin-top:.25em; }
.alignleft{ float:left; margin-right:1em; clear:left; margin-top:.25em; }
.aligncenter{ display:block; margin:auto; }

.responsive-container iframe { width:100%; }
.video-container { width:100%; position: relative; margin:0 0; background:#eee; }
.video-container:after { padding-top: 56%; display: block; content: ""; }
.video-container iframe , .video-container > div {	position: absolute; height:100%; width:100%; }
.mejs-container , .wp-video {max-width: 100%;  width:auto !important; }

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block }

figure {margin:0; padding:0;}

.clear{clear:both}

.sticky{}
.bypostauthor{}
.wp-caption { text-align:center; }
.wp-caption img {vertical-align:top; }
.wp-caption-text { display:block; font-size:0.9em; opacity:.8; line-height:1.25; padding:4px 0 8px; }
.gallery-caption{}


.screen-reader-text { clip:rect(1px, 1px, 1px, 1px); position:absolute;}
.screen-reader-text:focus { position:static !important; clip:auto; width:auto; height:auto; overflow:visible; border:dotted 2px #aaa; }

figure.wp-caption { width:auto !important; }





/*------------------------ Header --------------------------------*/

#header {
	display:flex;
	background:#fff;
	box-shadow: 0 1px 1px rgba(0,0,0,.25) , 0 1px 6px rgba(0,0,0,.25);
	z-index:999;
	position:relative;
	min-height:96px; 
	border:solid 1px rgba(0,0,0,.1);
}

#header a { text-decoration:none; color:inherit; }

#header .maxwidth {
	margin: 0 auto;
	flex:0 1 var(--maxwidth);
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#header .inner > * {display:inline-block; vertical-align:top; }
#header .inner.narrow-screen { justify-content: center; }
#header .narrow-screen #branding {padding:16px; padding-bottom:0; }
#header .narrow-screen .header-aside {padding:16px;}

#header #branding {display:flex;  padding:0 8px; justify-content:center; align-items:center; }
#site-title {font-size:2.5em; font-weight:bold; display:flex; align-items:center; align-self:center; text-align:center; }
#site-logo {  display:inline-block; align-self: center; }
#site-logo img {width:auto; max-height:80px; max-height:var(--logo-height, 80px);  vertical-align:top; font-size:inherit; }

.site-description {font-size:.8em; display:block;}

.site-icon img {display:block; margin-right:5px; }

.logo-and-tagline { display:flex; flex-direction:column; justify-content:center; line-height:1.05; }

#header .header-aside {
	float:right; padding:.4em; font-size:1.4em; 
	display:flex; align-items:center; justify-content:flex-end;
}

.cart-contents {
    display: inline-flex;
    align-items: center;
    padding: 8px;
	position:relative;
	flex:1 1 auto;
	justify-content: center;
	background:transparent !important;
}
.cart-contents figure {display:inline-block; position:relative;  }
.cart-contents-count {
	position:absolute;
	top:-5px; left:5px; right:2px;
	text-align:center;
	font-weight:bold;
	font-size:16px;
}
.cart-contents-count.lots { font-size:13px; left:7px;}

.header-search {display:flex; flex-direction: row-reverse; align-items:center; padding: 0 8px; }
.header-search #searchToggle {display:none;}
.header-search #searchform {overflow:hidden; max-width:0; transition: .2s max-width; }
.header-search #searchToggle:checked + #searchform { display:block; max-width:200px;}
.header-search #s {width:180px; font-size:16px;}

#hamburger-checkbox {display:none;}
.hamburger-button {display:none; }

/*------------------ Top Navigation ----------------------*/
#header #menu { display:flex;  position:relative; }
#menu .menu {display:flex;}

#header.wide-nav #menu {order:3; width:100%; }
#menu .menu {flex:9 1 auto;}

#menu ul {
	margin:0; padding:0; list-style:none;
	display:flex;
	flex-wrap:wrap;
	flex:9 1 auto;
}

#menu li { display:inline-block; display:flex; position:relative; flex:1 1 auto; }

#menu li a {
	display:inline-block;
	padding:.9rem;
	line-height:1;
	text-decoration:none;
	display:flex;
	align-items:center;
	border: solid 1px rgba(100,100,100,.1);
	border-left:none;
	flex:1 1 auto;
	justify-content:center;
}
#menu li:first-child a { }

#menu li a:hover , #menu li a:focus { 
	background:rgba(250,250,250,.08);
	background:radial-gradient( 100% 100% at 50% 75%, #fff0 ,70%, #fff1) , radial-gradient(290% 90% at 50% 0% ,#fff1 20%, #fff1 54%,#fff0 75%);
	box-shadow: inset 0 6px 12px 1px rgba(255,255,255,0.15) , 0 0 1px rgba(0,0,0,.2);
}

#menu li.current-menu-item > a { 
	background:rgba(0,0,0,.2);
	background: radial-gradient( transparent , #0003);
	//background-color:var(--primary-color);
	box-shadow: inset 0 1px 6px 1px #0003, 0px 1px 1px 1px #0002, 0px 1px 2px 1px #fff4;
}

/*--- Accessable Dropdown Nav Handling ---*/
#menu li ul {
position:absolute;
left:0; top:100%;
background:#f5f5f5;
font-size: .9em;
box-shadow: 0 1px 1px rgba(0,0,0,.25) , 0 1px 6px rgba(0,0,0,.25);
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px; 
	z-index:999;
}

#menu li:hover > ul { min-width:100%; height:auto; clip:auto; box-shadow:0px 2px 12px rgba(0,0,0,.3) , 0px 2px 2px rgba(0,0,0,.3); }
#menu li:focus-within > ul {min-width:100%; height:auto; clip:auto; }

#menu li ul li { flex:1 1 100%; }

#menu li ul li a { 
	justify-content:flex-start; 
	text-align:left; 
	width:100%; 
	padding:.9rem; 
	font-size:95%;
	border-bottom:solid 1px rgba(0,0,0,.2);
	border-top:solid 1px rgba(255,255,255,.1);
}

#menu li.page_item_has_children > a:after, #menu li.menu-item-has-children > a:after  {
	content:' ';
	border:solid .2em transparent;
	border-top:solid .32em;
	border-bottom:solid .12em transparent;
	display: inline-block;
	vertical-align: top;
	margin-top:.33em;
	margin-left:.2em;
	opacity:0.8;
}
 
/*--- sub sub menu -----*/
#menu li.menu-item-has-children li.menu-item-has-children > a:after {
	content:"\203A";
	border:none;
	margin-top:0;
}
#menu li > ul li ul {
	/*min-width:100%; */
	position:absolute; 
	left:100%; 
	top:0;
}




/*-------------------- Homepage Banner ---------------------*/
.wp-custom-header {overflow:hidden; }

.wp-custom-header iframe, .wp-custom-header img , .wp-custom-header video {
	position:absolute;
    left: 0;
	right:0;
	width: 100%;
	height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    top: 0;
    -ms-transform: none;
    -moz-transform: none;
    -webkit-transform: none;
    transform: none;
	vertical-align:top;
}

.wp-custom-header img {vertical-align:top; }
#wp-custom-header-video-button {display:none; }

.homepage-banner {
	position:relative;
	width:100%;  
}
.banner-image {
	background-size:cover;
	background-position:center;
	background-color: var(--primary-dark-1);
}
.banner-image::after , .wp-custom-header::after {
	padding-bottom:40%;
	content:" ";
  display:block;
}

.homepage-banner .textbox {
	position:absolute;
	top:0; left:0; right:0; bottom:0;
	padding:4vw;
	text-align:center;
	color:white;
	font-size:min(3.2vw , 1.6em );
	text-shadow: 1px 1px 4px rgba(0,0,0,.35);
	background:rgba(0,0,0, .5);
	background:linear-gradient( rgba(0,0,0, .5) , rgba(0,0,0, .1) );
	display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}

.homepage-banner .textbox h1 { line-height:1.05;  width:100%; }

.homepage-banner .textbox p { margin-top:0; width:100%; }
.homepage-banner .textbox p:empty {margin:0; }


@media (max-width:400px) {
	.homepage-banner .textbox {  overflow:auto;}
}
@media (min-width:1300px) {
	 
}
 

/*------------- Split Banner -------------------*/
.homepage-banner.split-banner {
	display: flex;
	flex-wrap:wrap;
	overflow:auto;
}
.homepage-banner.split-banner .banner-image , .homepage-banner.split-banner .wp-custom-header {
	flex:1 1 350px;
	position:relative;
}

.homepage-banner.split-banner .textbox {
	position: relative;
	flex:1 1 350px;
	font-size:1em;
	padding:calc(4vw / 2);
	
}
.homepage-banner.split-banner .textbox {
	background-color:var(--primary-color);
	background-image: radial-gradient(at center center, var(--primary-light-1 ) 0%, var(--primary-color) 100%) ;
	/*background-image: radial-gradient(at center center, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0) 100%) ;
	background-blend-mode: overlay;*/
	color:var(--reverse-color);
	text-shadow: 0 1px 8px rgba(0,0,0,.5);
}

.split-banner .banner-image::after {
	padding-bottom:60%;
	content:" ";
  display:block;
}

@media( min-width:700px) {
	.homepage-banner.split-banner .textbox {
		font-size:calc(3.2vw / 2);
	}
}


/*--------------------- Sidebar ---------------------------*/

#container > .maxwidth { 
	display:flex; 
	flex:1 1 auto; 
	width:100%;
	margin:0 auto;
	vertical-align:top;
	line-height:1.5;
	padding: 0 10px;
	gap:min(32px, 1vw);
}

@media (min-width:640px ) {
	#content { 	display:block; 	flex:4 2 960px;  margin: 16px auto; }
	.sidebar-right #container > .maxwidth { flex-direction:row; }
	.sidebar-left #container > .maxwidth { flex-direction:row-reverse; }
}

.sidebar-none #sidebar {display:none;}

#sidebar {
	flex:0 1 280px;
	flex:0 1 var(--sidebarwidth);
	font-size:16px;
}
.widget-title { font-size:1.2em; }
.xoxo {
    list-style: none;
    margin: 0;
    padding: 4px;
}
.xoxo > li {
	border-bottom:solid 1px #aaa5;
	padding:1.5rem 0.25rem;
}
.search-form , .woocommerce-product-search {display:flex; width:100%; font-size:16px;}
.search-form label  {display:flex; flex:1 1 auto; }
.search-field {width:100%; min-width:50px; padding:8px; border:solid 1px #ddd; font-size:inherit; border-radius:4px 0 0 4px; }
.search-field:focus {border-color:#aaa;}
.search-form .search-submit , .woocommerce-product-search button { 
	font-size:inherit; 
	//background:url(/wp-content/themes/ez-nettools-02/images/search.svg) center no-repeat white;
	background-color:white;
	background-size:auto 85%;
	font-size:12px;
	border:solid 1px #ccc;
	border-left:none;
	border-radius: 0 4px 4px 0;
}


/*------------------------ Page & Blog Styling -----------------------------*/
.hentry {
	margin: 0;
}

.blog #content , .archive #content {box-shadow:none;}
.blog .hentry , .archive .hentry , .search-results > article {box-shadow:0 0 4px rgba(0,0,0,.25); overflow: hidden; margin: 0 auto 16px; }

.page-header , .post-header {
	position:relative;
	margin-bottom:4px;
}

.summary-header-link { color:inherit; text-decoration:none; transition: .3s cubic-bezier(.39,.58,.57,1);  }
.summary-header-link:hover { color:var(--primary-color); text-decoration:none; }
.featured-image {
	padding-bottom:38%;
	background-size:cover;
	background-position:center;
	background-color:#f5f5f5;
	background-color:var(--primary-dark-1);
	box-shadow:inset 0 0 24px 1px rgba(0,0,0,.1);
	vertical-align:top;
	transition: .3s cubic-bezier(.39,.58,.57,1); 
}
.summary-header {position:relative; overflow:hidden;}
.summary-header:hover .featured-image {
	transform:scale(1.05);
}
.entry-title {  line-height:1.05;  }
.entry-title small { font-size: 45%; display: block; }
h2.entry-title {padding:.5rem 0;}
.with-image .entry-title {margin:0;}
.header-content {padding: 0rem 1rem .5rem;}

.with-image .header-content {
	position:absolute;
	bottom:0; left:0; right:0;
	background: linear-gradient( transparent , rgba(0,0,0,.75) );
	background: linear-gradient( transparent , 55% , var(--primary-dark-1) );
	color:white;
	padding: 3.25rem 1rem .4rem; margin:0;
	text-shadow:1px 1px 2px rgba(0,0,0,.5);
}

.summary-content { padding:0 1rem 0.75rem; }
.entry-content { padding:0 .75rem .75rem; }
.elementor-page .entry-content {padding:0;}

.entry-meta {opacity:.75; font-size:12px; padding-top:4px;}
.with-image .entry-meta a {color:inherit; text-decoration:none;}

.moretag a {background:none; color:inherit; border:solid 1px currentcolor; padding:8px; text-decoration:none; }
.moretag a:hover {background:none;}
.moretag a span { display:inline-block; transition:.15s cubic-bezier(.17,.84,.44,1); }
.moretag a:hover span { transform:translateX(2px); }

/*----- Pagination ------*/
.nav-links {
	display: flex;
	margin:auto;
	text-align: center;
	justify-content: center;
}
.nav-links .page-numbers {
	border:solid 1px rgba(0,30,60,.45);
	padding:6px 12px;
	margin:2px;
	text-align: center;
	background:#eaf2f8;
	color:#222;
	text-decoration: none;
}
.nav-links .page-numbers.current {
	background:#468;
	border:none;
	color:#fff;
}

@media ( max-width:480px ) {
	 .with-image .header-content {position:static; color:inherit; background:none; text-shadow:none; margin:0; padding:16px 0px 0; }
	.entry-meta { padding:16px 0 0; }
}


/*--------------- Search Results -------------------*/

.search-results-wrapper {
	display:grid;
	grid-template-columns: repeat( auto-fit, minmax(280px, 1fr) );
	gap:16px;
}
.search-results-wrapper article {
	border:solid 1px #ddd;
}
.search-results-wrapper article p { font-size:16px; }
.search-results-wrapper article .moretag a {font-size:16px; }

/*------------------- Comments Section -----------------------*/

#nav-below {clear:both; display:flex; flex-wrap:wrap; border-top:solid 1px #ddd; padding:16px 0; margin:16px 0;  }
#nav-below > div {  flex:1 1 45%;  }
#nav-below a {display:block; padding:8px; line-height:1.15; }
.nav-next {text-align:right;}

#comments {clear:both; }

.comments-dropdown {display:block;}

.number-of-comments {
font-size:1.8em;
font-weight:bold;
position:relative;
border-bottom:solid 3px;
	padding-bottom:4px;
	margin-bottom:12px;
}
.comments-dropdown summary:hover { background:#ddf4ff; }

.all-comments {
margin:0; padding:0;
}

.comments ul { padding:0px; margin:8px 0;}

.comments li {
margin:1rem 0 0 0;
padding: 1rem 0 0 40px;
list-style:none;
border-top:solid 1px #aaa;
position:relative;
}
.comment-body {position:relative; }

.reply {position:absolute; top:0; right:0; }
.avatar  {position:absolute; top:0; left:-40px;}

.comment-notes {font-size:14px;}


#respond {  padding:0px 12px;}
#respond p {margin:4px 0;}

#respond .stars { font-size:1.4rem; }

.comment-form-comment , .form-submit {margin:0;}

.comment-form input, .comment-form textarea {
border:solid 1px #bbb;
box-shadow:inset 2px 2px 6px rgba(0,0,0,.15);
font:inherit;
width:100%;
padding:8px;
}
.comment-form input[type=checkbox], .comment-form input[type=radio] {
	width:auto; 
}

#comment {height:4em; transition:.45s cubic-bezier(.08,.82,.17,1); }
#comment:focus {height:10em;}

.comment-form input:focus, .comment-form textarea:focus {border:solid 1px #456;}
.comment-form input.submit { background:#eee; box-shadow:0 1px 2px rgba(0,0,0,.15); margin:16px 0; }

.logged-in-as {display:none; margin:0; }
.logged-in-as a {font-size:.85em; padding:8px; border:solid 1px; border-radius:3px; text-decoration:none; line-height:1; }




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

.woocommerce-page h1.page-title {}

@supports (display: grid) {
	#content ul.products { display: grid; grid-template-columns: repeat( auto-fill, minmax(11em, 1fr)); grid-gap:.8rem; }
	#content ul.products::before {display:none;}
	#content ul.products .product {width:auto; margin:0;}
	#content {margin:16px 0;}
	#content .woocommerce-ordering {margin-right:0;}
}
	#content ul.columns-2 {grid-template-columns: repeat( auto-fill, minmax(45%, 1fr));}
	#content ul.columns-1 {grid-template-columns: repeat( auto-fill, minmax(95%, 1fr));}

@media(min-width:600px) {
	#content ul.columns-3 {grid-template-columns: repeat( auto-fill, minmax(28%, 1fr));}
	#content ul.columns-4 {grid-template-columns: repeat( auto-fill, minmax(22%, 1fr));}
}
@media(min-width:800px) {
	#content ul.columns-5 {grid-template-columns: repeat( auto-fill, minmax(17%, 1fr));}
	#content ul.columns-6 {grid-template-columns: repeat( auto-fill, minmax(14%, 1fr));}
}
@media(min-width:1100px) {
	#content ul.columns-7 {grid-template-columns: repeat( auto-fill, minmax(10%, 1fr));}
	#content ul.columns-8 {grid-template-columns: repeat( auto-fill, minmax(8%, 1fr));}
}

#content ul.products li.product {
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	text-align:center;
	border-radius:4px;
	transition: .35s cubic-bezier(.39,.58,.57,1);
	box-shadow: 0 1px 4px rgba(20,20,20,.2);
}
#content ul.products li.product:hover {
	box-shadow: 0 2px 8px rgba(20,20,20,.1), 0 8px 32px rgba(20,20,20,.15) ;
}
#content ul.products .product a {
	display:block;
	display:flex;
	flex-direction:column;
	color:inherit;
}
#content li.product a img {margin:0; }

#content .price {color:inherit;}
#content span.onsale { padding:0; background:#ffd156; color:#000; box-shadow: 0 0 0 2px white, 0 0 0 4px #eeae17; text-shadow:1px 1px white; }

#content ul.products li.product .button {
	margin-top:0; 
	text-align:center;
	background: var(--primary-color);
	color: var(--reverse-color);
}
#content ul.products li.product .button:hover {
	background:var(--primary-light-1);
}

.woocommerce .products .star-rating { margin:0px auto 8px; }

.woocommerce .woocommerce-breadcrumb { font-size:16px; }

.woocommerce-ordering select {
border: solid 1px #ddd;
padding: 8px;
border-radius:3px;
}
.woocommerce-ordering select:focus {outline:solid 1px green; }
#content .woocommerce-result-count { float:none; display:inline-block; }


/*-------- Product  Page -------------*/
#content .woocommerce-variation-add-to-cart, #content div.product-quantity { display:flex; }
#content div.quantity { display:flex; justify-content:flex-end;}
#content div.product form.cart .button {	float:none;}
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt.disabled:hover { background:gray; }
#content div.product form.cart .variations {margin-bottom:0;}
.woocommerce div.product form.cart .variations select { padding:12px; font-size:16px; }
.woocommerce div.product form.cart .variations td.label {line-height:1.15;}

#content .input-text.qty {font-size:16px; padding:8px; border: solid 1px #ccc;}
.woocommerce div.product form.cart .variations * {display:block;}
.quantity.buttons-added input[type=number] { -moz-appearance:textfield; }
.quantity.buttons-added input[type=number]::-webkit-outer-spin-button, .quantity.buttons-added input[type=number]::-webkit-inner-spin-button {-webkit-appearance:none; margin:0; }
.qty-button {
    display: inline-flex;
    padding: 12px;
    border: solid 1px #ccc;
	background:#f8f8f8;
	color:#000;
    align-items: center;
	cursor:pointer;
	transition:.12s cubic-bezier(.39,.58,.57,1);
}
.qty-button:focus, .qty-button:hover {
	border-color:#999;
	background:#eee;
	color:#000;
}
.qty-button.inc {border-radius:0 8px 8px 0; }
.qty-button.dec {border-radius:8px 0  0 8px; }



.pswp .pswp__bg { background:rgba(0,0,0,.8); opacity:0.5; }

/*--------  Cart ----------*/

#wrapper #content td.product-thumbnail {padding:0; display:flex; justify-content:center; flex-wrap:wrap; }
.woocommerce-cart table.cart img {min-width:96px; vertical-align:top; }

.coupon { display:flex; }
#coupon_code { min-width:8em; font:inherit; font-size:0.95em; }


@media (max-width:770px) {
	.woocommerce-page table.shop_table_responsive tr {position:relative; }
	#wrapper #content td.product-thumbnail:before {display:none;}
	table.cart td.product-remove { position:absolute; font-size: 1.5em;  top:0; right:0;	}
	.woocommerce table.shop_table_responsive tr.cart_item td {display:flex; align-items:center; }
	.woocommerce table.shop_table_responsive tr td::before {margin-right:auto;}
}

/*---------- Checkout Page -------------*/
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
	padding:8px;
	font:inherit;
}
.select2-container .select2-selection--single {
	height:auto;
	padding:8px
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height:100%; width:26px;
}
.select2-container .select2-selection--single .select2-selection__rendered {
	padding-left:4px;
}

#customer_details {
    width: 56%;
    float: left;
    padding-right: 2rem;
}
#order_review {
    width: 44%;
    float: right;
}

.woocommerce-checkout #sidebar { display:none; }

#customer_details .col-1 {width:100%;}
#customer_details.col2-set .col-2 {
clear: both;
float: none !important;
width: 100% !important;
margin-right: 0px !important;
text-align: left;
padding-bottom: 20px;
}

*------------- My Account Customer Dashboard --------------------*/
.woocommerce-account .woocommerce-MyAccount-navigation{  
  width:16.5em;
}
.woocommerce-MyAccount-navigation ul  {
margin: 0; padding:0;
  list-style: none;
}
.woocommerce-MyAccount-navigation li a {
  border: solid thin;
  display: block;
  text-decoration: none;
  font-size:0.85em;
  margin:2px;
  padding:8px;
  background:var(--primary-dark-1);
  color:white;
}
.woocommerce-MyAccount-navigation li a:hover {
  background:var(--primary-light-1);
	padding-left:12px;
	transition:.1s ease-out;
}
.woocommerce-MyAccount-navigation li.is-active a {
//color:#ffa;
background:var(--primary-color);
font-weight:bold;
}
.woocommerce-MyAccount-navigation li.is-active a:before {
	content:"";
	display:inline-block;
	border:solid 6px transparent;
	border-left:solid 8px;
}

.woocommerce-Address {
    background: white;
    box-shadow: 0 1px 6px #0004;
    padding: 16px;
}
.woocommerce-Address .edit {
	background:#21456d;
	color:#fff;
	padding:8px;
	text-decoration:none;
	border-radius:4px;
}




/*=============================== Footer ==================================*/

#footer {
	background-color:var(--primary-dark-1);
	color:var(--reverse-color);
	padding-top:16px;
	border-top:solid 1px rgba(0,0,0,0.1);
}
#footer a {color:inherit;}

#footer #copyright {
	text-align:center;
	padding:16px;
	background:rgba(50,50,50,.15);
	font-size:16px;
	box-shadow:inset inset 0 4px 12px 0px rgba(0,0,0,.25) , 0 2px 2px rgba(0,0,0,0.7);
	background-image: linear-gradient( rgba(0,0,0,.2) , rgba(0,0,0,.1) );
	background-blend-mode: multiply;
	border-top:solid 1px rgba(255,255,255,.25); 
}
 
.social-icon-wrapper {
	text-align:center;
	font-size:16px;
}
.social-icons {}
.social-icons a {
	display:inline-block;
	margin:4px;
}
.social-icons a:hover img {
	filter:brightness(1.05) saturate(1.15) drop-shadow(0px 0px 1px white );
}
.social-icons a img { height:64px; width:64px; vertical-align:top;  }

.social-icons.square-icons a {
position:relative;
}
.social-icons.square-icons a:hover:after {
	content:attr(title);
	display:block;
	position:absolute;
	top:100%;
	left:-4px; right:-4px;
	background:rgba(0,0,0,.4);
	font-size:14px;
	padding:3px;
	line-height:1.15;
	border-radius:4px;
}

#footer .social-icons.wide-icons a { 
	display:inline-flex; 
	text-decoration:none; 
	background: #0005;
	color:#fff;
	border-radius:8px;
	border:solid 1px rgba(255,255,255,.25);
}
#footer .social-icons.wide-icons a:hover {
	border:solid 1px rgba(255,255,255,.5);
	background: #0008;
}
#footer .social-icons.wide-icons a:after {
	content:attr(title);
	display: flex;
	padding: 8px 16px;
	align-items: center;
}
#footer .social-icons.wide-icons img { margin:-3px;  }

.footer-widget-areas > .maxwidth {
	display:flex;
	justify-content:space-around;
	justify-content:space-evenly;
	flex-wrap:wrap;
	padding:16px;
	display:grid;
	grid-template-columns: repeat( auto-fit ,minmax(200px, 1fr));
	gap: 1em;
}
.footer-widget-areas li.widget-container { list-style:none; }

.widget-container ul li {
	line-height:1.5;
}


/*============================= Color Schemes =================================*/



/*------ Blue ------*/
html.blue { --primary-color:#0065A6; --primary-dark-1:#052740 ; --primary-light-1:#0D81B9;  --reverse-color:#fff;  }

html.blue #header , html.blue #footer  { background:#03375c; background:radial-gradient(90% 150% at 50% 10% ,#0065A6,#03375c); color:#fff; }
html.blue #menu li ul {background:#146; }
html.blue .homepage-banner.split-banner .textbox {background-color:#106DA8; color:#fff;}

/*----- Green -------*/
html.green { --primary-color: #007942; --primary-dark-1: #003c2a; --primary-light-1: #2c9f42; --reverse-color:#fff;  }

html.green #header, html.green #footer { background:#008E4B; background: radial-gradient(90% 150% at 50% 10% ,#009B52,#08662d,#00222d); color:#fff; }
html.green #menu li ul { background:#055e28; }
html.green .homepage-banner.split-banner .textbox {background-color:#007942; color:#fff;}

/*----- Red -------*/
html.red { --primary-color: #a00303; --primary-dark-1: #4d0c0c; --primary-light-1: #dd3f1a; --reverse-color:#fff;  }

html.red #header, html.red #footer { background:radial-gradient(90% 150% at 50% 10% ,#a10,#800,#500);  color:#fff; }
html.red #menu li ul { background: var(--primary-dark-1); }
html.red .homepage-banner.split-banner .textbox {background-color:#a00303; color:#fff;}

/*----- Purple -------*/
html.purple { --primary-color:#54057d; --primary-dark-1:#300b44; --primary-light-1:#9739c8; --reverse-color:#fff;  }

html.purple #header, html.purple #menu li ul , html.purple #footer { background:radial-gradient(150% 160% at 50% 12% ,#6F0F90,#21012f); color:#fff; }
html.purple .homepage-banner.split-banner .textbox {background-color:#54057d; color:#fff;}

/*----- White -------*/
html.white { --primary-color: #f3f3f3; --primary-dark-1: #fff; --primary-light-1: #eee; --reverse-color:#000; }

html.white .homepage-banner.split-banner .textbox, html.white #footer { background:radial-gradient(#fff,#fdfdfd,#e2e2e2); text-shadow:none; color:black; }
/*html.white a { color:#06a;}
html.white a:hover { color:#08b;}*/

html.white #menu li.current-menu-item > a { background:none; inset 0 1px 16px 1px #0003; }

html.white #footer .social-icons.wide-icons a { background:white; color:black; border: solid 1px #bcd; }
html.white #footer #copyright { background-image: linear-gradient( rgba(0,0,0,.1) , rgba(0,0,0,.0) ); background-color:#f8f8f8; border-top:solid 1px #ccc; }

/*----- Black -------*/
html.black { --primary-color: #181818; --primary-dark-1: #040404; --primary-light-1: #444; --reverse-color:#fff; }

html.black #header, html.black #menu li ul , html.black #footer { background:#040404; background:radial-gradient(150% 160% at 50% 12% ,#222,#040404); color:#fff; }
html.black .homepage-banner.split-banner .textbox {background-color:#181818; color:#fff;}

 



.banner-text-block .elementor-button { text-shadow:1px 1px 1px rgba(255,255,255,0.4); }
html.white .banner-text-block { text-shadow:none; }





/*================================== Media Queries ========================================*/

@media (min-width:1000px) {
	#header.sticky {position:sticky; top:0;}
	.admin-bar #header.sticky {top:32px;}
}

@media (max-width:1360px) {
	html {font-size:120%; }
}

@media (max-width:1100px) {
	html {font-size:115%; }
}

@media (max-width:1024px) {
	html {font-size:110%; }
}
@media (max-width:900px) {
	html {font-size:105%; }
}
@media (max-width:800px) {
	html {font-size:100%; }
}
@media (max-width:640px) {
	#container .maxwidth {flex-direction:column; }
	#header #menu {order:3;  }
	#header .maxwidth { justify-content: center; }
	
	.cart-contents {align-items: flex-start; }
	
	/*--- Simple Stacked Menu ------*/
	.menu-stacked #header #menu {display:block; flex:1 1 100%; flex-direction:column; //flex-wrap:nowrap; }
	.menu-stacked #menu .menu { flex-direction:column; }
	.menu-stacked .cart-contents { display:block; text-align:center; }
	.menu-stacked #menu li { flex-direction:column; }
	.menu-stacked #menu li a { //justify-content:flex-start; }
	.menu-stacked #menu li:hover ul{ position:static; min-width: 100%; height:auto; clip:auto; padding:0 12px; }
	.menu-stacked #menu li ul li a { justify-content:center; }
	

	/*------- Hamburger Menu -------*/
	/*-- Hamburger button --*/
	.menu-hamburger #header {padding-left:64px; }
	.menu-hamburger .hamburger-button {
		display:inline-flex; 
		align-items:center; 
		justify-content:center;
		position:absolute; 
		left:0; top:0;
		font-size:3rem; 
		width:64px;
		padding:12px; 
		cursor:pointer;
		border:solid 1px rgba(200,200,200,0.2);
	}
	.menu-hamburger #hamburger-checkbox:checked ~ .hamburger-button {background:black; }
	
	/*-- Slide Out Menu --*/
	.menu-hamburger #hamburger-checkbox ~ #menu { 
		display:block;
		position:fixed;
		top:0; left:-100%; 
		width:100%; 
		height:100%;
		overflow-y:auto;
		transition:.25s ease-out;
		background:rgba(0,0,0,0.75);
	}
	/*-- Slide Out Menu Open --*/
	.menu-hamburger #hamburger-checkbox:checked ~ #menu { 
		left:0;
	}
	/*--- Slide Out Inner Menu --*/
	.menu-hamburger #hamburger-checkbox ~ #menu .menu { 
		flex-direction:column;
		background: var(--primary-color);
		max-width:75%;
	}
	/*--close button --*/
	.menu-hamburger #menu .hamburger-button {position:fixed; top:0; right:-100px; left:auto; border:solid 1px #aaa; }
	.menu-hamburger #hamburger-checkbox:checked ~ #menu .hamburger-button { right:0; }
	
	/*-- Hamburger Dropdown Menus --*/
	.menu-hamburger #menu li { flex-direction:column; border-bottom:solid 1px rgba(0,0,0,0.4); }
	.menu-hamburger #menu li:hover ul{ position:static; min-width: 100%; height:auto; clip:auto; padding:0 12px; }
	
	/*-- adjust positioning to account for admin bar --*/
	.menu-hamburger .admin-bar #hamburger-checkbox ~ #menu, .menu-hamburger .admin-bar #menu .hamburger-button {top:46px;} 

	
	
	.menu-scroll #header #menu {flex-wrap: nowrap;  overflow-x:auto; white-space: nowrap; height:50px; background: var(--primary-color);  }
	.menu-scroll #header #menu.open { height:90px; }
	.menu-scroll #header #menu .menu { height:50px; } 
	.menu-scroll #header #menu ul {flex-wrap: nowrap;   }
	.menu-scroll #header #menu ul.submenu {display:none; background: var(--primary-dark-1);}
	
}

@media (max-width:400px) {
	html {font-size:95%; }
}


