html, body, ul {margin:0;padding:0;font-family:'Tahoma', sans-serif;}
body{
	background-image:  url('../assets/graphics/BkGd-YellowFade1200.jpg') ;
	background-repeat: repeat-x;
	background-size: cover;
}

a {cursor: pointer;}
.headers {
	background-color: #528607; 
	background-image: url("../css/green-fade.png");
	color:#fff; padding:0.5rem;
}
.headers a { color:#fff; padding:0.5rem;}

#header_wrapper{max-width: 80rem; margin-left: auto; margin-right: auto;}
#logo{text-align: left; max-width: 50px; border: red 0px solid; margin-top: .5rem;text-shadow:  1px 1px 0 black;}
#logotitle{display: none;text-shadow:  1px 1px 0 black;}

#faves{ border: blue 0px solid;margin-top: 1rem; padding: 0rem; }
#faves a{color:#fff;display: inline-flex; font-size: 1.2rem; text-decoration: none;text-shadow:  1px 1px 0 black; }
#topphone{ border: blue 0px solid; text-shadow:  1px 1px 0 black;}
#topphone a{color:#fff;display: inline-flex; vertical-align: top; text-decoration: none; text-shadow:  1px 1px 0 black;}
.phone{display: none;text-shadow:  1px 1px 0 black;}

#cartIcon,#cartIcon a{color:#fff;display: block; vertical-align: bottom;  text-decoration: none; text-shadow:  1px 1px 0 black; }

.navbar-logo{ height: 50px; 	box-shadow: 0px 2px 8px black;  }

@media (min-width: 720px) {


}
@media (min-width: 1200px) {


}

#navbarMenu > .col{ 
	padding-left: 5px; padding-right: 5px;
}

@media (max-width: 768px) {
/*	#navbarMenu{max-width: 200px;}*/

}

@media screen and (min-width: 640px) {
 	#logo{margin-top: 0rem;max-width: 12rem;}
/* 	#logotitle{ vertical-align: top;font-size:.5rem;color:#fff; font-weight:bold;font-family:'PT Sans', sans-serif;}*/
	#faves a{ font-size: 1.5rem;}
 	.phone{display: block; font-size: 1rem;}
 }
@media screen and (min-width: 800px) { 
	#logotitle{display: block;	font-size:.6rem;}
 	#faves a{ font-size: 2rem;}
 	.phone{ font-size: 2rem; }
}
	
.topH1, topH2{background-color: #FFFFef; text-align: center;text-shadow:  1px 1px 0 black;}	
	
/*  ######################  */

a{color:darkgreen;} 
a:hover{color: #00CFFF;}

#wrapper{
	background-color: white;
	 border-radius: 8px; 
	 box-shadow: 0px 2px 8px black; 
	 margin-left: auto;margin-right: auto;
	 margin-top: 1rem;
	 padding: 0rem;
	 max-width: 90%;
}

.navbar-logo{ height: 50px; 	box-shadow: 0px 2px 8px black;  }

.dropdown.dropdown-menu-4 {position:fixed ; width: 89%; }

#videoDialog {
	  max-width: 1000px;
	  margin: 30px auto;
  }
.modal-xl { width: 90% !important;}

#hfeMenu{ 
	border: 1px solid black;
	box-shadow: 0px 2px 8px black; 
	margin-bottom: 1rem; 
	padding:2 rem;
}

.dropdown-menu.wide{ postition:static;left:-100vw;width: 1000px; max-width: 90vw;}

.col-auto > .dropdown-item{padding: .2rem;}

#menuBar{ margin-bottom: 1rem; box-shadow: 0px 2px 8px black; }

.dropdown-menu { border-radius: 8px !important; box-shadow: 0px 2px 8px black !important; color:black;}

.boxShadow{ border-radius: 8px !important; box-shadow: 0px 2px 8px black !important;}

.bg-light{ line-height: 1.2rem; padding: 0;}

a.dropdown-item:hover{color:white; background: #666;}

.dropdown-menu-3 {min-width: 600px; }
.dropdown-menu-2 {min-width: 400px; }	

.text-hfe-green{ color:darkgreen; }
/* ############  */

.itsus {color:gray;font-size:xx-small;border: 0px;}
A.itsus:link {color: darkblue;font-size:xx-small}
A.itsus:visited {color:darkblue; font-size:xx-small  }
A.itsus:hover {color: red; font-style:italic}
A.itsus:active {color: darkblue;font-size:xx-small}

/* ###    b1BuyNow #######  */
.b1BuyNow{ border-radius: 8px; border:4px double blue; box-shadow: 0px 2px 8px darkgreen; margin: 6px; font-size: 1 rem; overflow-wrap: break-all; min-width: 220px; max-width:1000px;}
.b1Name{color: darkgreen; font-size: 1.2rem; text-align: center !important;}
.b1NowName {color: green; font-size: .8rem; font-weight: bold; text-decoration: underline; margin-left: .3rem;}
.b1NowPriceTable{margin: auto; padding:0px; vertical-align: middle;}
.b1NowRetail{color:black;font-size: .8rem; font-weight:normal;text-decoration: line-through;}
.b1NowRetailPrice {color:black;font-size: .8rem; font-weight:normal;text-decoration: line-through;}
.b1NowSave {color:darkgreen;font-size: .7rem;}
.b1NowPrice {color:red;font-size: 1rem;font-weight:bold;}
 	.bAdd{  padding: 0px; padding-top: 0px; padding-left: 0px; }

.b1NowDesc {
	background-color:white; 
	font-size: 1rem; 
	text-align: left ; 
	vertical-align: top; 
	padding: 6px;
    white-space: wrap;
	overflow: hidden;
}
/* ###    b2BuyNow #######  */
.b2BuyNow{border-radius: 8px; border:4px double blue !important; box-shadow: 0px 2px 8px green; margin: 6px;font-size: 1 rem; overflow-wrap: break-all; min-width: 220px;}
.b2Name{color: darkgreen; font-size: 1.2rem; text-align: center !important;}
.b2Name2{color: darkgreen; font-size: .8rem; text-align: center !important;}
.b2NowRetail {color:black;font-size: 1rem; font-weight:normal;text-decoration: line-through;}
.b2NowRetailPrice {color:black;font-size: 1rem; font-weight:normal;text-decoration: line-through;}
.b2NowSave {color:darkgreen;font-size: .7rem;}
.b2NowPrice {color:red;font-size: 1rem;font-weight:bold;}

 
#addresses{
    background-color: white;
    max-width: 60rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    margin-left: auto;
    margin-right: auto;
}

#shopcart{
    background-color: white;
    max-width: 60rem;
    margin-top: 1rem;
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
}

.cartHR{ background-color: #90EE90; min-height: .2rem;}

.userinfo{ }

.bImage{margin: 0; width: 100%; text-align: center;  }	
 /* ###  Changes for Media Size  ###  */
@media (max-width: 575px) {  /* Change for eXtra Small xs */

}	 
@media (min-width: 576px) {  /* Change for Small  sm */
	
}	
@media (min-width: 768px) { /* Change for  Medium md */
	.b1NowImg{max-width: 150px; max-height: 150px; }
	.additem{font-size: .8rem !important;}  
	.bAdd{margin: 0; width: 100%; text-align: center;  }	
	.b1NowName {font-size: 1rem; color: blue;}
}


/* Bootstrap 5 Grid Standard Sizes */

@media (max-width: 575px) {  /* Change for eXtra Small xs */
	
}
	 
@media (min-width: 576px) {  /* Change for Small  sm */
	
}
	
@media (min-width: 768px) { /* Change for  Medium md */

}

@media (min-width: 992px) { /* Change for  Large lg */
	
}

@media (min-width: 1200px) { /* Change for  Extra Large xlg */
	
}

@media (min-width: 1400px) { /* Change for  Extra Extra Large xxlg */
	
}


/* Bootstrap removal (2026-07-05) — see MIGRATION.md "Bootstrap →
   vanilla CSS/JS". Below: (1) new grid/flex layout classes replacing
   container-fluid/row/col-*, (2) a hand-rolled utility set standing
   in for the Bootstrap utility classes the templates already used
   (names kept so DB content / render.go do not need to change),
   (3) native <dialog> styling replacing the Bootstrap modal.
   =================================================================== */

/* ---- Header layout (was container-fluid > row > col-*) ---- */
.site-header__top{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;}
.site-header__search{flex:1 1 auto;}
.site-header__edit{flex:0 0 auto;}

/* ---- Page layout (was container-fluid > row > col-*) ----
   Named grid areas make the visual order (title / left / main / right / foot)
   independent of source order and independent of whether the left sidebar
   is present — fixes the "left column renders below main" bug noted in
   MIGRATION.md. */
.page-grid{
	display:grid;
	grid-template-columns:240px 1fr 240px;
	grid-template-areas:
		"title title title"
		"left  main  right"
		"foot  foot  foot";
	gap:1rem;
	padding:1rem;
}
.page-grid__title{grid-area:title;}
.page-grid__left{grid-area:left;}
.page-grid__main{grid-area:main;min-width:0;}
.page-grid__right{grid-area:right;}
.page-grid__foot{grid-area:foot;}
@media (max-width:768px){
	.page-grid{grid-template-columns:1fr;grid-template-areas:"title" "main" "left" "right" "foot";}
}

/* ---- Product layout (was container-fluid > row > col-*) ---- */
.product-grid{
	display:grid;
	grid-template-columns:1fr 240px;
	grid-template-areas:"main aside";
	gap:1rem;
	padding:1rem;
}
.product-grid__main{grid-area:main;min-width:0;}
.product-grid__aside{grid-area:aside;}
@media (max-width:900px){
	.product-grid{grid-template-columns:1fr;grid-template-areas:"main" "aside";}
}
.product-media{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;margin:.5rem 0;}
.product-media__image{flex:0 1 260px;}
.product-media__buy{flex:1 1 300px;min-width:0;}
.product-extra{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:.5rem 0;}

/* ---- Search layout (was container-fluid > row > col-*) ---- */
.search-page{max-width:900px;margin:0 auto;padding:1rem;}

/* ---- BuyNow layouts (was container-fluid > row > col-*) ---- */
.buynow-list{display:flex;flex-direction:column;gap:.75rem;}
.b1-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;}
.b1-row__name{flex:1 1 100%;}
.b1-row__image{flex:0 0 auto;max-width:200px;}
.b1-row__image img{max-width:100%;height:auto;}
.b1-row__price{flex:1 1 200px;}
.buynow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;}

/* ---- Hand-rolled utilities (replace Bootstrap utility classes) ---- */
.text-center{text-align:center;}
.text-left{text-align:left;}
.text-danger{color:#dc3545;}
.img-fluid{max-width:100%;height:auto;}
.border{border:1px solid #dee2e6;}
.border-success{border:1px solid #28a745;}
.border-danger{border:1px solid #dc3545;}
.border-primary{border:1px solid #0d6efd;}
.d-flex{display:flex;}
.align-items-center{align-items:center;}
.align-self-center{align-self:center;}
.align-self-end{align-self:flex-end;}
.clearfix::after{content:"";display:table;clear:both;}
.float-left{float:left;}
.media{display:flex;align-items:flex-start;}
.h4{font-size:1.5rem;font-weight:500;line-height:1.2;}
.h5{font-size:1.25rem;font-weight:500;line-height:1.2;}
.h6{font-size:1rem;font-weight:500;line-height:1.2;}
.p-0{padding:0;}
.p-2{padding:.5rem;}
.p-4{padding:1.5rem;}
.pt-1{padding-top:.25rem;}
.pr-0{padding-right:0;}
.pl-0{padding-left:0;}
.m-2{margin:.5rem;}
.mt-2{margin-top:.5rem;}
.mb-2{margin-bottom:.5rem;}
.my-4{margin-top:1.5rem;margin-bottom:1.5rem;}
.mx-auto{margin-left:auto;margin-right:auto;}
.p-3{padding:1rem;}
.ml-3{margin-left:1rem;}
.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.h3{font-size:1.75rem;font-weight:500;line-height:1.2;}

.btn{display:inline-block;padding:.375rem 1rem;border:1px solid transparent;border-radius:6px;font-size:1rem;cursor:pointer;text-decoration:none;}
.btn-success{background:#28a745;color:#fff;border-color:#28a745;}
.btn-success:hover{background:#218838;}
.btn-secondary{background:#6c757d;color:#fff;border-color:#6c757d;}
.btn-secondary:hover{background:#5a6268;}
.btn-close{background:transparent;border:0;font-size:1.4rem;line-height:1;cursor:pointer;color:#000;}

.input-group{display:flex;}
.input-group .form-control{border-radius:6px 0 0 6px;}
.input-group .btn{border-radius:0 6px 6px 0;}
.input-group-lg .form-control,.input-group-lg .btn{padding:.75rem 1rem;font-size:1.25rem;}
.form-control{flex:1 1 auto;padding:.5rem;border:1px solid #A21C19;border-radius:6px;font-size:1rem;}

/* ---- Native <dialog> (replaces Bootstrap modal + bootstrap.bundle.min.js) ---- */
dialog.dialog{border:none;border-radius:8px;padding:0;max-width:90vw;width:auto;box-shadow:0 2px 12px rgba(0,0,0,.4);}
dialog.dialog::backdrop{background:rgba(0,0,0,.5);}
dialog#videoModal{width:640px;max-width:90vw;}
.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #ddd;}
.dialog-body{padding:1rem;text-align:center;}
.dialog-footer{padding:.75rem 1rem;border-top:1px solid #ddd;text-align:right;}
.ratio-16x9{position:relative;width:100%;padding-top:56.25%;}
.ratio-16x9 iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}

/* Adjust the height value to taste; width follows automatically. */

/* ===== MGFV Osprey nav — vanilla <details> dropdowns (replaces BS navbar) ===== */
.site-header__top{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;}
.site-header__brand{display:flex;align-items:center;gap:.75rem;}
.site-header__search{flex:0 1 220px;min-width:0;margin-left:auto;}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.4rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6;}
.site-nav .nav-link{text-decoration:none;white-space:nowrap;}
.nav-drop{position:relative;}
.nav-drop>summary{cursor:pointer;list-style:none;white-space:nowrap;}
.nav-drop>summary::-webkit-details-marker{display:none;}
.nav-drop>summary::after{content:" \25BE";font-size:.8em;}
.nav-drop[open]>.drop-menu{position:absolute;left:0;top:100%;z-index:1000;min-width:230px;background:#fff;border:1px solid #dee2e6;border-radius:.25rem;box-shadow:0 4px 10px rgba(0,0,0,.15);padding:.25rem 0;}
.drop-menu .dropdown-item{display:block;padding:.3rem 1rem;text-decoration:none;color:#212529;white-space:nowrap;}
.drop-menu .dropdown-item:hover{background:#e9ecef;}
.intro-flex{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;}
.intro-img{max-width:40%;height:auto;border-radius:.375rem;}
.intro-text{flex:1 1 300px;min-width:260px;}
@media (max-width:576px){.intro-img{max-width:100%;}}

/* ---- Grid track collapse fix (2026-07-06): grid-template-columns keeps a
   fixed track's width even when no item occupies it, so an absent left/right
   sidebar (or product aside) used to squeeze main content into a ~520px
   column no matter the viewport. page.tmpl/product.tmpl now add these
   modifier classes when a column has no content; each variant redefines
   grid-template-columns/areas so the unused track actually collapses. ---- */
.page-grid.no-left{grid-template-columns:1fr 240px;grid-template-areas:"title title" "main right" "foot foot";}
.page-grid.no-right{grid-template-columns:240px 1fr;grid-template-areas:"title title" "left main" "foot foot";}
.page-grid.no-left.no-right{grid-template-columns:1fr;grid-template-areas:"title" "main" "foot";}
.product-grid.no-aside{grid-template-columns:1fr;grid-template-areas:"main";}

/* ---- CSE search box (2026-07-07, final) ----
   Button/input styling comes from the original Manatee framework
   stylesheet (/styles/manatee-search.css, linked in head_site.tmpl/
   header.tmpl) - the proven design (gray gradient button, violet
   placeholder), not reinvented here. This block only scales it down for
   the smaller Osprey header (manatee-search.css was written for a large/
   prominent 24px/2em box) and right-aligns it; also hides the clear-search
   (x) block that appears once typing starts, reclaiming that width for
   the input instead. */
#gcse-search-div{width:100%;max-width:260px;}
#gcse-search-div .gsc-control-cse{margin-top:0 !important;}
#gcse-search-div input.gsc-input,
#gcse-search-div input.gsc-input.focus,
#gcse-search-div input.gsc-input.visited{font-size:14px !important;}
#gcse-search-div ::placeholder{font-size:14px !important;}
#gcse-search-div .gsc-search-button-v2{padding:4px 10px;}
#gcse-search-div td.gsib_b{display:none;}
@media (max-width:576px){
	.site-header__search{flex:1 1 100%;margin-left:0;order:3;}
	#gcse-search-div{max-width:100%;}
}

/* ---- list_links() cross-sell widget (2026-07-07) - plain heading + link
   list for a keyword-tagged product group, distinct from the full
   buy-now boxes show_keyword() renders. Shared shape across all sites. ---- */
.link-list{padding:1rem;margin:.75rem 0;background:#fff;}
.link-list__heading{font-weight:bold;text-transform:uppercase;font-size:.85rem;margin-bottom:.5rem;}
.link-list__items{list-style:none;padding:0;margin:0;}
.link-list__items li{padding:.15rem 0;}
.b1-row__desc{flex:1 1 260px;min-width:0;}
