@charset "UTF-8";
html{scroll-behavior: smooth;}
body{background-color:#fff}
#nav-25-ctn{position: relative;z-index:1000;font-size:var(--medium-font-size);}
.nav-25{display:flex;height:65px;background-color:#003366;background: linear-gradient(92.41deg, #c84b47, #c2534d);padding:10px 15px;flex-shrink:0;align-items:center;flex:1 1 0;}
.nav-25 a{color: #fff;}
.nav-25-logo{display:flex;flex-shrink:0;width:155px;}
.nav-25-logo img{width:auto;height:45px;}
.nav-25-search .input-group{height:45px;}
.nav-25-search .input-group select,.nav-25-search .input-group input, .nav-25-search .input-group button {height:100%;border-color:transparent;-webkit-box-shadow: none;box-shadow: none;}
.nav-25-search .input-group select{border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;border-right-color: #ccc;appearance: none;-webkit-appearance: none;-moz-appearance: none; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23333" viewBox="0 0 24 24" width="18" height="18"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right center;background-color:#f1f2f0;}
.nav-25-search .input-group input{font-size:16px;padding:8px 15px;}
.nav-25-search .input-group button{border-top-right-radius: 4px;border-bottom-right-radius: 4px;padding: 8px 14px;font-size: 20px;background-color:#51a9c1;color:#fff;}

.nav-25-cart-ctn{display:flex;flex-shrink: 0;width:315px;max-width:100%;justify-content:space-evenly;padding-left:0;padding-right:0;}
.nav-25-cart-btn{display:flex;height:45px;align-items:center;border-radius:8px;gap:4px;}
a.nav-wishlist-button,
a.nav-account-button,
a.nav-cart-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	text-align:center;
	gap: 4px;
	padding: 0 8px;
	height:100%;
	border-radius: 4px;
	cursor: pointer;
	text-decoration: none;
	color: var(--header-icon-color, var(--white-color));
	transition:background-color 0.15s ease,box-shadow 0.15s ease;
	line-height:1;
}
.wishlist-button__icon {
  display: inline-flex;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.account-button__icon{
	display: inline-flex;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}
.icon--user,.icon--wishlist {
	display:block;
	width:100%;
	height:100%;
	--icon-primary-color: currentColor;
	--icon-primary-opacity: 1;
}
.icon--menu {
  display: inline-flex;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.nav-button__label{
	display:flex;
	flex-direction: column;
	gap:2px;
	justify-content:center;
	text-align:left;
}
.nav-button__label-sm{
	font-size:var(--small-font-size);
}
.nav-button__label-lg{
	font-size:var(--medium-font-size);
	font-weight:600;
}
@media (hover: hover) {
	a.nav-wishlist-button:hover,
	a.nav-account-button:hover,
	a.nav-cart-button:hover {
    	background-color: rgba(255, 255, 255, 0.12);
	}
}
a.nav-wishlist-button:focus,
a.nav-account-button:focus,
a.nav-cart-button:focus {
	outline: none;
}
a.nav-wishlist-button:focus-visible,
a.nav-wishlist-button:focus,
a.nav-account-button:focus-visible,
a.nav-account-button:focus,
a.nav-cart-button:focus-visible,
a.nav-cart-button:focus {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.8);
}
.cart-icon-wrapper{position: relative;width: 32px;height: 32px;}
.cart-icon {display: block;width: 100%;height: 100%; --icon-cart-color: var(--white-color); --icon-cart-opacity: 1;}
.cart-icon-badge {
  position: absolute;
  top: 25%;
  left: 56%;
  transform: translate(-50%, -50%);
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #5488cb;
  color:var(--white-color);
  font-size: var(--small-font-size);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
	.nav-25-search {
		width: calc(100% - 455px);
	}
}
.navigation-container{
	background-color:#fff;
	padding: 0 15px;
	border-bottom:1px solid #ddd;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.navigation-container::-webkit-scrollbar {
	display:none;width:0;height:0;
}
.navigation-row{display: flex;justify-content:space-between;flex-wrap: nowrap;align-items:stretch;height:100%;}



.navigation-list{
	display: inline-flex;
    justify-content: center;
    align-items: center;
	list-style:none;
	padding:0;
	margin:0;
	text-align:center;
}
.navigation-list>li{
	display: flex;
    position: relative;
    margin: 0;
    padding: 6px 0;
    justify-content: stretch;
    align-items: stretch;
    height: 100%;
}
.navigation-list>li>a,.navigation-list>li>button{
    align-items: center;
    font-size: var(--medium-font-size);
    justify-content: center;
    gap: .2rem;
    padding: 10px 12px;
    color: var(--dark-blue-color);
    border-color: transparent;
    text-decoration: none;
    background-color: transparent;
    line-height: 1;
	transition: background-color 100ms ease-in-out;
}
.navigation-list>li>a:hover,.navigation-list>li>button:hover{
	background-color:#f2f3f1;
	border-color:transparent;
}
.navigation-list>li>.dropdown-menu.show{
	font-size: var(--medium-font-size);
	top: 4px;
	inset: 3px auto auto 0px !important;
	border-top-color: transparent;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
	padding:0;
	overflow:hidden;
}
.navigation-list>li>.dropdown-menu.show a.dropdown-item{padding:10px 12px;}
.dropdown-nav-container.dropdown-delivery-method>.btn-group>.dropdown-menu.show{
	
	border-top:none !important;
	border-right:none !important;
	border-left:1px solid #ddd;
	border-bottom:1px solid #ddd;
	border-top-left-radius:0;
	border-top-right-radius:0;
	border-bottom-right-radius:0;
}
.navigation-container .dropdown-submenu>.dropdown-menu{top:0;left:100%;bottom:-1px;margin-top:0;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:0;min-width:250px;border-top:none;}
.navigation-container li>.menu-header{font-size:16px;font-weight: bold;padding:15px 20px 8px;}
.navigation-container li>.menu-header>a{color: #444}
.navigation-container li>.menu-header .fa{font-size: 85%}
.navigation-container .dropdown-menu>li>a{
	display:block;
	padding:8px 20px;
	color: var(--primary-text, #222);
	text-decoration:none;
}
#nav-25-dept-dropdown.submenu-open {border-bottom-right-radius: 0;}
.dropdown-overlay {display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.5);z-index: 999;}
.dropdown-overlay.is-active{display:block;}
.navigation-container .dropdown-menu>li.dropdown-footer{border-top: 1px solid var(--gray-color);}
.navigation-container .dropdown-menu>li.dropdown-footer>a{padding:12px 20px}


.dropdown-nav-container{display:flex;width:300px;justify-content:center;align-items:stretch;height: 100%;}
.dropdown-nav-container.dropdown-delivery-method{margin-right:-15px;}
.dropdown-nav-container.dropdown-departments{width:240px;margin-left:-15px;}
.dropdown-nav-container .btn-group{display: flex;flex:1;height: 100%;border-radius:0;}
.dropdown-nav-container button.dropdown-button,.dropdown-nav-container a.dropdown-button{
	display:flex;
	height: 100%;
	flex:1 1 0;
	padding:0 10px;
	color: var(--dark-blue-color, #001933);
	border: none;
	text-decoration: none;
	font-size:var(--small-font-size);
	background: var(--white-color);
	background-color:var(--white-color);
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.05);
	border-radius: 0;
	justify-content: space-between;
	align-items: stretch;
	gap: 8px;
	flex-wrap:nowrap;
	white-space:nowrap;
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}
.dropdown-nav-container.dropdown-departments button.dropdown-button,
.dropdown-nav-container.dropdown-departments a.dropdown-button{
	border-right: 1px solid #ddd;
}
.dropdown-nav-container.dropdown-delivery-method button.dropdown-button,
.dropdown-nav-container.dropdown-delivery-method a.dropdown-button{
	/*border-left: 1px solid #ddd;*/
}

#dept__navigation>.offcanvas-body{padding:0}
.dropdown-nav-body {
    display: flex;
    align-items: center;
	justify-content: stretch;
    flex: 1;
	gap:8px;
}
.dropdown-button .dropdown-nav-icon{
	display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
}
.dropdown-button .dropdown-nav-icon.dropdown-menu-icon{
	width:20px;
	height:20px;
}
.dropdown-button .dropdown-nav-icon .delivery-icon {
    display: block;
    width: 100%;
    height: 100%;
}
.dropdown-nav-body-rows {
    display: flex;
    flex-direction: column;
	justify-content: center;
    align-items: stretch;
	flex: 1 1 0;
	line-height:1;
    gap: 2px;
}
.dropdown-nav-body-top {
	display:inline-flex;
	justify-content:space-between;
	align-items:baseline;
	color:#71787f;
	font-size:12px;
	text-align:left;
	white-space:nowrap;
	text-overflow: ellipsis;
	overflow:hidden;
}
.dropdown-nav-body-top-left{
	letter-spacing: .32px;
}
.dropdown-nav-body-top-right{
	letter-spacing: .32px;
	flex-grow:0;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size:.875em;
	align-self:flex-start;
}
.dropdown-nav-body-top-right svg{
	vertical-align: bottom;
}
.dropdown-nav-body-bottom {
	display:flex;
	justify-content:space-between;
	align-items:center;
    font-size: 14px;
	color: #313438;
    font-weight: 500;
	letter-spacing: .16px;
	gap:2px;
}
.dropdown-nav-label{
	display: flex;
    align-items: flex-start;
	position:relative;
}
.dropdown-nav-arrow{
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
    cursor: pointer;
    transition: transform 70ms cubic-bezier(.2, 0, .38, .9);
}

.dropdown-nav-container.dropdown-delivery-method .dropdown-button{
  position: relative;
  overflow: hidden;            /* hides the moving overlay */
  background-color: #fff;      /* base stays white */
}

/* Animated overlay */
.dropdown-nav-container.dropdown-delivery-method .dropdown-button::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;

  /* Tune this to your promo tint (Hornady-ish red example) */
  --waterfall-rgb: 200, 75, 71;

  /*
    Two layers:
    1) Soft tint band (tiles vertically and moves down)
    2) Very faint shimmer (repeats; creates the “waterfall” feel)
  */
  background-image:
    linear-gradient(
      180deg,
      rgba(var(--waterfall-rgb), 0.030) 0%,
      rgba(var(--waterfall-rgb), 0.055) 50%,
      rgba(var(--waterfall-rgb), 0.030) 100%
    ),
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,0.00) 0px,
      rgba(255,255,255,0.05) 60px,
      rgba(255,255,255,0.00) 120px
    );

  /* Make the first layer tile (seamless loop), and the second repeat pattern */
  background-size: 100% 200%, 100% 120px;
  background-position: 0 0, 0 0;

  /* Animate downward */
  animation: promo-waterfall 8s linear infinite;

  /*
    Fade the overlay out on the left so it blends into the adjacent white.
    This masks ONLY the overlay, not your content.
  */
  -webkit-mask-image: linear-gradient(
    90deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0) 10%,
    rgba(0,0,0,1) 38%,
    rgba(0,0,0,1) 100%
  );
  mask-image: linear-gradient(
    90deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0) 10%,
    rgba(0,0,0,1) 38%,
    rgba(0,0,0,1) 100%
  );
}

/* Ensure button content sits above the overlay */
.dropdown-nav-container.dropdown-delivery-method .dropdown-button > *{
  position: relative;
  z-index: 1;
}

@keyframes promo-waterfall{
  0%{
    background-position: 0 0, 0 0;
  }
  100%{
    /* 200% == one full tile shift for layer 1; 120px == one full repeat for layer 2 */
    background-position: 0 200%, 0 120px;
  }
}

@media (prefers-reduced-motion: reduce){
  .dropdown-nav-container.dropdown-delivery-method .dropdown-button::before{
    animation: none;
  }
}




button.dropdown-button:focus,
a.dropdown-button:focus{
    outline: none;
}
@media (hover: hover) {
    button.dropdown-button:hover,
	a.dropdown-button:hover{
        background-color: #f2f3f1;
        box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
    }
	#sponsor__nav-right button.dropdown-button:hover,
	#sponsor__nav-right a.dropdown-button:hover{
	box-shadow: 10px 2px 4px 1px rgba(15, 23, 42, 0.12);
	}
}
button.dropdown-button:focus-visible,
a.dropdown-button:focus-visible,
button.dropdown-button[aria-expanded="true"],
a.dropdown-button[aria-expanded="true"]{
   /* box-shadow: 0 0 0 1px #5488cb;*/
    background-color: #f2f3f1;
}

.dropdown-nav-container.dropdown-delivery-method button.dropdown-button .delivery-icon--ship,
.dropdown-nav-container.dropdown-delivery-method a.dropdown-button .delivery-icon--ship {
    will-change: transform;
    transform-origin: 50% 50%; 
}

@keyframes delivery-jingle {
    0%   { transform: rotate(0deg); }
    20%  { transform: rotate(-7deg); }
    40%  { transform: rotate(5deg); }
    60%  { transform: rotate(-4deg); }
    80%  { transform: rotate(2deg); }
    100% { transform: rotate(0deg); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .dropdown-nav-container.dropdown-delivery-method button.dropdown-button:hover .delivery-icon--ship,
	.dropdown-nav-container.dropdown-delivery-method a.dropdown-button:hover .delivery-icon--ship{
        animation: delivery-jingle 0.35s ease-out;
    }
}
@media (prefers-reduced-motion: no-preference) {
    .dropdown-nav-container.dropdown-delivery-method button.dropdown-button:focus-visible .delivery-icon--ship,
	.dropdown-nav-container.dropdown-delivery-method a.dropdown-button:focus-visible .delivery-icon--ship{
        animation: delivery-jingle 0.35s ease-out;
    }
}

/* =========================================
   MOBILE RESPONSIVE OVERRIDES
   ========================================= */

@media (max-width: 1099px){
	.navigation-row{
		position:relative;
	}
	.dropdown-nav-body-bottom{
		gap:4px;
	}
	.dropdown-nav-container,.dropdown-nav-container.dropdown-departments{
		width:auto;
	}
}
@media (max-width: 991px){
	.nav-hidden-md{
		display: none;
	}
	.navigation-list{
		justify-content: flex-start;
	}
}
@media (max-width: 991px) and (min-width:768px){
	.nav-visible-xs-lg{display: none;}
}
@media (max-width: 767px) {
    .nav-25 {
        height: auto;
        padding-bottom: 10px;
		flex-wrap: wrap;
		justify-content: space-between;
    }
    
    .nav-25-logo {
        order: 1;
        width: auto;
        padding: 0;
		flex: 0 0 auto;
    }
    
    .nav-25-cart-ctn {
        order: 2;
        width: auto;
        padding: 0;
		gap:8px;
		flex: 1 1 auto;
		min-width: 0;
		justify-content: flex-end;
        align-items: flex-end;
		width: calc(100% - 150px);
    }
	.wishlist-button__icon{
		width:25px;
		height:25px;
	}
	.account-button__icon{
		width:30px;
		height:30px;
	}
	.nav-wishlist-button .nav-button__label{
		display:none;
	}
	.nav-account-btn .nav-button__label{
		flex-wrap:nowrap;
		white-space: nowrap;
	}
    .nav-25-search {
        order: 3;
        width: 100%;
        margin-top: 10px;
        padding: 0;
    }

    .nav-25-cart-btn {
        padding: 0 4px; 
		overflow:hidden;
		white-space: nowrap;
		gap:0;
		max-width:25%;
    }
	.nav-25-cart-ctn > .nav-25-cart-btn:nth-child(2) {
        padding: 0 4px; 
		overflow:hidden;
		white-space: nowrap;
		gap:0;
		max-width:50%;
    }
	a.nav-account-button {
        display: inline-flex;
        align-items: center;
		padding:0;
        gap: 4px;
        flex: 1 1 auto;
        min-width: 0;
    }
	.nav-account-button .nav-button__label {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }
	.nav-account-button .nav-button__label-sm span {
        display: block;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        max-width: 100%; 
    }

	.nav-25-cart-ctn>.nav-25-cart-btn:last-child,
	a.nav-cart-button{
		padding-right:0;
	}
    .hidden-xs-custom {
        display: none !important;
    }

    .navigation-container {
        padding: 0;
        overflow-y: hidden;
    }
    .navigation-list {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        float: none;
        width: 100%;
		overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .navigation-list::-webkit-scrollbar {
        display: none;
		width:0;
		height:0;
    }
    .navigation-list > li {
        float: none;
        flex: 0 0 auto; /* Prevent shrinking */
        display: inline-block;
    }
	.dropdown-nav-container,.dropdown-nav-container.dropdown-departments {
        margin-left: 0;
    }
	.dropdown-nav-container.dropdown-delivery-method{
		margin-right:0;
	}
    button.dropdown-button,
	a.dropdown-button{
        width: 100%;
        padding-inline: 10px;
        white-space: normal;
    }
    .navigation-container .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
        box-shadow: none;
        border: none;
        background-color: #f8f8f8;
        border-top: 1px solid #e5e5e5;
    }
    
    .navigation-container .dropdown-submenu > .dropdown-menu {
        position: static;
        margin: 0;
        padding-left: 15px;
        border: none;
        background-color: #f0f0f0;
        border-left: 3px solid #ddd;
    }
    
    .dropdown-submenu > a .fa-chevron-right {
        transform: rotate(90deg);
        font-size: 10px;
    }
    
    .navigation-container .dropdown-menu > li > a {
        padding: 12px 20px;
        border-bottom: 1px solid #eee;
    }
}

/* =========================================================
   Dept Offcanvas Drilldown (2-panel slider)
   ========================================================= */

#dept__navigation .offcanvas-body{
  position: relative;
  padding: 0;
  overflow: hidden; /* critical: hides sliding panels */
}

/* Both panels fill the offcanvas body and scroll vertically */
#dept__navigation .dept-nav-panel{
  position: absolute;
  inset: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  will-change: transform;
  transform: translate3d(0,0,0);
  transition: transform 260ms cubic-bezier(.2, 0, .38, .9);
}

/* Root panel is visible by default */
#dept__navigation .dept-nav-panel--root{
  transform: translate3d(0,0,0);
}

/* Detail panel sits off-screen to the right by default */
#dept__navigation .dept-nav-panel--detail{
  transform: translate3d(100%,0,0);
}

/* When detail is open: root slides left, detail slides in */
#dept__navigation.dept-nav--detail .dept-nav-panel--root{
  transform: translate3d(-100%,0,0);
}
#dept__navigation.dept-nav--detail .dept-nav-panel--detail{
  transform: translate3d(0,0,0);
}

/* Detail header becomes a single full-width back button */
#dept__navigation .dept-detail-header{
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0;               /* important: button owns padding */
  background: #fff;
  border-bottom: 1px solid #eee;
}

/* Back button fills the header */
#dept__navigation .dept-detail-back{
  display: flex;
  align-items: center;
  justify-content: flex-start;

  width: 100%;
  height: 100%;             /* fills header’s height */
  min-height: 48px;         /* tappable target */

  border: 0;
  background: transparent;
  color: inherit;

  padding: 12px 16px;
  gap: 10px;

  text-align: left;
}

/* Optional focus treatment */
#dept__navigation .dept-detail-back:focus-visible{
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(84, 136, 203, 0.9);
}

/* Title is now inside the button */
#dept__navigation .dept-detail-title{
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Optional: make the accordion chevron look like "go right" in the root list */
#dept__navigation .dept-nav-panel--root .accordion-button::after{
  transform: rotate(-90deg);
}
#dept__navigation .dept-nav-panel--root .accordion-button:not(.collapsed)::after{
  transform: rotate(-90deg);
}
#dept__navigation button.accordion-button:hover{background-color:#dee2e6;}
#dept__navigation button.accordion-button:focus{box-shadow:none}
#dept__navigation .dept-nav-panel.dept-nav-panel--detail .accordion-body{font-size:var(--primary-font-size);}
#dept__navigation .dept-nav-panel.dept-nav-panel--detail .accordion-body .menu-header{font-weight:600;}
#dept__navigation .dept-nav-panel.dept-nav-panel--detail .accordion-body>.list-unstyled a{
	display:block;
	color:var(--primary-font-color);
	padding: 1rem 1.25rem;
	text-decoration:none;
}
#dept__navigation .dept-nav-panel.dept-nav-panel--detail .accordion-body>.list-unstyled a:hover{background-color:#dee2e6;}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  #dept__navigation .dept-nav-panel{ transition: none !important; }
}

footer.footer{background-color:#2a3c4c;color:#eeeff1;font-size: var(--medium-font-size);padding:2rem 0;}
footer.footer a{color:#eeeff1;text-decoration:none;}
footer.footer a:hover{color:#eeeff1;text-decoration:underline;}
footer h2, footer h3, footer h4, footer h5 {
    font-size: var(--primary-font-size);
    font-weight: 900;
    color:#eeeff1;
	margin-top:8px;
    margin-bottom: 4px;
}
footer.footer ul {padding-left: 0;list-style: none;margin-top:0;margin-bottom:0;}
footer.footer ul li{margin:0;padding-top:3px;padding-bottom:3px;}
footer.footer-bottom{background-color:#142738;color:var(--light-gray);font-size: var(--small-font-size);padding:2rem 0;text-align:center;}
footer.footer-bottom p{margin-bottom:10px;}
footer.footer-bottom p:last-child{margin-bottom:0;}
@media (max-width: 767px) {
	footer.footer,footer.footer-bottom{padding:1rem 0;}
}