
:root {
   --mainFont: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
   --accentBg: #f4feff;
   --borderRadius: 0;

   --accent: #3860ad;
   --accentAlt: #001330;
   --teal: #34bce0;
   --yellow: #e6a42e;
   --productSize: cover;
   --productCard: 280px;

   --bold: 700;
}

.page-home {
   --textContainer: 100%;
}

#department-content:empty {
   display: none;
}

#productCustomization td {
   padding-right: var(--smallGap);
}

@media screen and (min-width:1025px) {
   #productCustomization {
      display: flex;
   }  
}

@media screen and (max-width:1024px) {
   #productCustomization .form-group.form-inline {
      margin-top: var(--gap);
   } 
}

input, select, textarea, .btn, .btn:hover {
   border-width: 1px !important;
}

h1, h2, h3, h4, h5, h6, b, strong, #Store_Navigation li.URL.level0 a {
   font-weight: var(--bold);
}

.btn-outline {
   transition: var(--transition);
}

.btn-outline:hover {
   box-shadow: inset 0 -50px 0 0 var(--accentAlt);
   border-color: var(--accentAlt);
   color: var(--bg);
}

header {
   position: relative;
   z-index: 6;
}

header .topbar {
   background: var(--accent);
   color: var(--bg);
}

header .topbar a {
   color: var(--bg);
}

#Header_menu {
   justify-content: center;
}

.btn-default:hover {
   color: var(--bg);
}

#quick-find label {
   font-size: 13px;
   line-height: 16px;
}

#site-header {
   padding-block: var(--gap);
}

@media screen and (min-width:651px) {
#site-header .search {
   order: -1;
   flex: 0 0 37%;
   margin-left: 0 !important;
}

#site-header #logo {
   flex: 0 0 calc(26% - 2 * var(--gap));
   margin-right: auto;
   display: flex;
   align-items: center;
   justify-content: center;
}
}

#site-header #logo img, body.page-checkoutstep2 #logo img {
   max-height: 60px;
}

body.-search #main-nav {
   margin-top: var(--gap);
}

#menu .nscMenu {
   justify-content: center;
}

nav .level0 > :not(div) {
   font-weight: normal;
}

#Header_menu .level0 > :not(div) {
   font-size: 14px;
}

nav a, .Horizontal_Nav_Menu .level_2 a {
   color: inherit;
}

.Horizontal_Nav_Menu .level_2-container {
   background: rgba(255,255,255,0.8);
   backdrop-filter: blur(10px);
   color: var(--text);
   border-top: var(--border);
   box-shadow: var(--shadow);
}

.Horizontal_Nav_Menu .level_2.container {
   column-rule: var(--border);
   column-gap: var(--gap);
}

#menu .CONTENT {
   background: var(--bg);
   padding: var(--smallGap);
   border: var(--border);
   box-shadow: var(--shadow);
   text-align: center;
}

#menu .CONTENT h4 {
   margin-bottom: 1em;
}

#menu .CONTENT .btn:hover {
   background: var(--bg);
}

.caption .btn {
   display: none;
}

.caption .brand, span.brand {
   text-transform: uppercase;
   font-size: 12px;
   letter-spacing: .07em;
}

.caption h4, .caption h3 {
   font-weight: 500;
   font-size: 1.1em;
   line-height: 1.2em;
}

.caption .price {
   font-size: 1.3em;
   text-align: right;
}

.text-pricestrike {
   font-size: 0.8em;
}

.listing .product-card {
   border: var(--border);
   transition: var(--transition);
   background: var(--bg);
}

.listing .product-card:hover {
   box-shadow: var(--shadow);
   transform: scale(1.05);
}

.listing .product-card .caption {
   border-top: var(--border);
   padding: var(--smallGap) var(--smallGap) 0;
   margin-top: 0;
}

#products + .pagination {
   text-align: right;
   margin-top: var(--gap);
   justify-content: flex-end;
}

.product-list {
   margin-bottom: var(--smallGap);
}

.product-actions {
   top: 60%;
}

.product-card:hover .product-actions {
   top: 50%;
}

.pricing-details {
   text-align: right;
   float: right;
   font-size: 1.6em;
}

.pricing-details .priceSave {
   display: block;
   width: max-content;
   margin-left: auto;
   border: var(--border);
   font-size: 13px;
   line-break: 15px;
}

.pricing-details .priceSave:empty {
   display: none;
}

.product-right h1 {
   font-size: 1.5em;
   max-width: 600px;
   text-wrap: balance;
   margin-bottom: var(--gap);
}

.new .product-gallery.grid-3 {
   display: flex;
   gap: var(--smallGap);
   align-items: center;
   justify-content: center;
   width: max-content;
   padding: var(--smallGap);
   border: var(--border);
   box-shadow: var(--shadow);
   margin-inline: auto;
   border-radius: var(--borderRadius);
}

.new .gallery {
   width: 60px;
   flex: 0 0 60px;
}

@media screen and (min-width: 651px) {
.product-image {
   position: sticky;
   top: var(--gap);
}
}

#homepageslider {
   position: relative;
}

#homepageslider::before, #homepageslider::after {
   content: "";
   background: url("store_images/waves.svg") no-repeat bottom center;
   background-size: 100% 100%;
   position: absolute;
   z-index: 4;
   top: 0;
   left: 0;
   width: 100%;
   height: 30%;
}

#homepageslider::after {
   background-image: url("store_images/wave-bottom.svg");
   top: auto;
   bottom: -1px;
   height: 70px;
}

.showcase .slide {
   background: var(--bg);
}

.showcase .slide-caption p {
   font-size: 1.2em;
   line-height: 1.8em;
}

.ratio2-3.showcase .slide .image:before {
   padding-top: 150%;
}

.text-pricespecial:not(:only-child), .pricing-details .text-pricestrike:not(:empty) + .priceCurrent {
   color: var(--accentAlt);
   font-weight: var(--bold);
}

.pfs div.collapse {
   padding: var(--smallGap);
}

.listing.classic>.pfs {
   border: var(--border);
   box-shadow: var(--shadow);
}

.pfs li {
   font-size: 14px;
}

.pfs .filter-heading {
   font-weight: 500;
   font-size: 14px;
}

footer {
   color: var(--bg);
   background: var(--accentAlt);
   border-top: var(--border);
   font-size: 0.8em;
}

footer .flex {
   gap: 0 var(--smallGap);
}

.footerCredits.-txt-c {
   margin: 0 auto;
}

footer a {
   color: var(--bg);
}

footer a:hover {
   color: var(--teal);
}

footer h4 {
   color: var(--yellow);
}

.widget.social a, .widget.social a:hover {
   color: var(--teal);
}

#Footer_menu {
   margin-bottom: var(--gap);
   padding-bottom: var(--smallGap);
   gap: var(--gap);
}

.slide {
   background: var(--bg);
}

.boxes .slide {
	text-align: center;
   background: var(--bg);
	margin: var(--gap) 0;
	box-shadow: var(--shadow);
   overflow: hidden;
   transition: var(--transition);
}

.boxes .slide:hover {
   transform: scale(1.05);
}

.boxes .slide h2  {
   font-weight: 500;
	font-size: 1.5em;
	padding-bottom: var(--smallGap);
	border-bottom: var(--border);
}

.boxes .slide a:hover {
   text-decoration: none;
   color: var(--text);
}

.boxes .btn {
	position: absolute;
	bottom: var(--smallGap);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: max-content;
}

.boxes .slide-caption {
   padding: var(--smallGap);
   padding-bottom: 60px;
}

footer .tablinks li {
   margin: 0;
}

.pagination .btn {
   width: 35px;
   height: 35px;
   padding: 0;
}

.pagination {
   display: flex;
   align-items: center;
}

.pagination .btn + .btn {
   margin-left: -1px;
}

.pagination strong {
   margin-right: var(--smallGap);
}

#prodlist-sorting select {
   height: 35px;
   padding-block: 0;
}

#cart-button span {
   display: none;
}

#cart-button {
   position: relative;
}

#cart-button:not([data-items="0"]):after {
   content: attr(data-items);
   font-size: 12px;
    position: absolute;
    background: var(--accentAlt);
    padding: 0 5px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    color: #fff;
    border-radius: 50%;
    line-height: 1;
    box-sizing: border-box;
    right: 6px;
    top: 10px;
}

header .btn-icon {
   font-size: 1.7em;
   padding: 0.5em;
}

#basket-pricing {
   align-self: start;
   position: sticky;
   top: var(--gap);
}

.default .slide-caption {
   color: var(--bg);
   font-size: 1.3em;
   margin-inline: auto;
   top: 60%;
   max-width: var(--container);
}

.default .slide-caption .btn {
   text-transform: uppercase;
   background: var(--bg);
   font-size: var(--em);
}

.default .slide-caption > * {
   opacity: 0;
   transform: translateY(40px);
   transition: var(--transition);
}

.default .slide-caption > *:nth-child(1) {
   transition-delay: 0.2s;
}

.default .slide-caption > *:nth-child(2) {
   transition-delay: 0.4s;
}

.default .slide-caption > *:nth-child(3) {
   transition-delay: 0.6s;
}

.default .active .slide-caption > * {
   opacity: 1;
   transform: translateY(0px);
}

#buy-info {
   clear: both;
}

#customcontent {
   max-width: 1000px;
   margin-inline: auto;
}

h1.heading-main {
   text-align: center;
}

.modal {
   z-index: 6;
}

.main-image img {
   max-height: 40vh;
}

.footerLogo {
   display: flex;
   align-items: center;
   gap: var(--gap);
}

.footerLogo::before, .footerLogo::after {
   content: "";
   height: 1px;
   flex-grow: 2;
   background-color: var(--teal);
}

.gradient {
   background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(229, 252, 255, 1) 100%);
   border-bottom: 3px solid var(--accentAlt);
}

#bottom-menu {
   padding-block: var(--gap);
}

#bottom-menu h4 {
   font-weight: 500;
   font-size: 1.3em;
   margin-bottom: 1em;
}

#bottom-menu li>:not(div) {
   padding: 0;
   margin-bottom: 10px;
   line-height: 1.3em;
   display: block;
}

@media screen and (min-width: 651px) and (max-width: 1100px) {

	:root {
		--productCard: 200px;
	}

}

@media screen and (max-width: 650px) {

   :root {
		--productCard: 200px;
	}

	#site-header .btn {
		min-height: 48px;
	}

	#logo {
		flex: 1 1 100%;
	}

	#quick-find .form-group, #search {
		flex-direction: row !important;
		justify-content: center;
	}

	#main-nav {
		display: none;
	}

	header .search {
		margin: 0;
      width: 100%;
	}
   
   #Header_menu {
      justify-content: flex-start;
   }

   #Header_menu .level0 > :not(div) {
      font-size: 12px;
   }

   .product-actions {
      display: none;
   }

   .form-control {
      vertical-align: middle;
   }

   #Footer_menu {
      display: block;
      column-count: 2;
   }

   #prodlist-sorting, #prodlist-sorting select {
      width: 100%;
   }

   #cart-button:not([data-items="0"]):after {
      top: 5px;
   }

   #Store_Navigation>li.menu-item-has-children:after {
      border: 0;
      color: var(--text);
   }

   .default .slide-caption {
      text-align: center;
      color: var(--text);
   }

   #cart, #login-register {
      z-index: 5;
   }

   footer .widget {
      flex: 1 1 160px;
      margin-bottom: var(--gap);
   }

   .newsletter-wrapper {
      color: var(--bg);
      padding: var(--gap);
      background: var(--accentAlt);
      margin-inline: var(--negative);
   }

   .default .slide-caption {
      text-shadow: none;
   }

   .breadcrumb {
      overflow: auto;
      white-space: nowrap;
   }

   .Horizontal_Nav_Menu .level_2-container {
      border-top: 0;
   }

   #basket-pricing, #checkout-section-basket {
      margin-inline: calc(-1 * var(--gap));
      padding: var(--gap);
   }

   #homepageslider::before {
      height: 15%;
   }

   #homepageslider::after {
      height: 40px;
      margin-top: -40px;
      top: 50vw;
      bottom: auto;
   }

   .slide {
      padding-bottom: 0;
   }

   section.product-carousel-wrapper {
      padding-block: var(--gap);
   }

   #bottom-menu .nscMenu {
      display: none;
   }

   #bottom-menu h4 {
      display: flex;
      justify-content: space-between;
      align-items: center;
   }

   #bottom-menu h4::after {
        content: "\f107";
        font-family: 'Font Awesome 5 Pro';
        width: 40px;
        text-align: center;
        color: var(--text);
    }

}

@media screen and (max-width: 360px) {

	#search_form {
		display: none;
	}

	#quick-find, .findPanel {
		width: 100%;
	}

	#quick-find .btn {
		flex-grow: 2;
		text-align: center;
		justify-content: center;
	}

}