/*
Theme Name: 914Digital
Theme URI: https://914digital.com
Description: Bootstrap 25
Author: 914Digital
Author URI: https://914digital.com
Version: 1.0
License: MIT License
License URI: http://opensource.org/licenses/MIT
*/

@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700');
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&display=swap');

body {
	background: #fff;
	font-family: 'Roboto', sans-serif;
	scroll-behavior: smooth;
}

body.page-template-page-single-res
 {
  background-color:#eee;
}

body.page-template-page-timeline {
  --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

[id] { scroll-margin-top: 180px; }

#wpadminbar {
    z-index: 9999999999999;
}

.admin-bar .top-nav {
    margin-top:32px;
}

.admin-bar .navbar {
    height: 291px;
}

.admin-bar .navbar.nav-fixed {
    height: 200px;
    padding: 90px 0 0;
}


a {
	text-decoration:none;
	transition:all .3s ease;
    color:#60b2ed;
    font-weight:700;
}

a:hover, a:focus, a:active {
	opacity:.8;
}

img {
	max-width:100%;
	height:auto;
}

tbody, td, tfoot, th, thead, tr {
    border-color:#fff;
}

.btn.btn-primary {
	background: linear-gradient(90deg, rgba(92,170,225,1) 0%, rgba(28,124,192,1) 100%);
	border-radius:30px;
	padding: 5px 20px;
	border:0;
	transition:all .3s ease;
}

.btn-primary:hover,
.btn-primary:focus {
    opacity:.8;
}

.btn.btn-primary i.fa-solid {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; /* Adjust the size of the circle */
    height: 40px; /* Adjust the size of the circle */
    background-color: #fff; /* White background */
    border-radius: 50%; /* Makes it a circle */
    color: #328fcd; /* Icon color (matches primary button color) */
    font-size: 16px; /* Adjust icon size */
    left: 10px; /* Space between text and icon */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Optional shadow for better visibility */
}

.btn.btn-secondary {
    border-radius: 30px;
    padding: 10px 60px;
	color: #fff;
    background: transparent;
    border: 2px solid;
	transition:all .3s ease;
}

.btn.btn-secondary:hover, 
.btn.btn-secondary:focus, 
.btn.btn-secondary:active {
    border:2px solid #fff!important;
    opacity:.6;

}

.btn.btn-third {
    border-radius: 30px;
	color: #438ed8;
    background: #fff;
    border: 2px solid transparent;
	transition:all .3s ease;
}

.btn.btn-fourth {
    border-radius: 30px;
	color: #438ed8;
    background: #fff;
    border: 2px solid #438ed8;
	transition:all .3s ease;
}

.btn.btn-primary:hover, 
.btn.btn-primary:focus, 
.btn.btn-primary:active,
.btn.btn-third:hover, 
.btn.btn-third:focus, 
.btn.btn-third:active,
.btn.btn-fourth:hover,
.btn.btn-fourth:active,
.btn.btn-fourth:focus  {
	outline: none!important;
  opacity:.7;
}

.btn.btn-third:hover, 
.btn.btn-third:focus, 
.btn.btn-third:active,
.btn.btn-fourth:hover,
.btn.btn-fourth:active,
.btn.btn-fourth:focus  {
 border: 2px solid!important;
}

.btn-close:focus {
	outline: none;
	box-shadow:none;
}

.top-nav {
	position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 99999999;
	padding: 0px 0 15px;
	color:#fff;
}

.top-nav.tn-bg {
    background-color: #041832;
}

.top-nav.tn-fixed {
    position:fixed;
    background-color:#011128;
    transition: all .3s ease;
}

.top-nav a {
	color:#fff;
    font-weight:300;
}

.top-nav a.vid-btn {
	border: 1px solid #fff;
    border-radius: 30px;
    padding: 7px 15px;
}

.top-nav a.vid-btn:hover, .top-nav a.vid-btn:focus {
	color:#eee;
	opacity:.8;
}

.top-nav a.shp-btn {
	background: linear-gradient(90deg, rgba(92,170,225,1) 0%, rgba(28,124,192,1) 100%);
	border-radius: 30px;
	padding: 7px 15px;
}

.top-nav a.shp-btn:hover, .top-nav a.shp-btn:focus {
	opacity:.8;
}

.top-nav .spacer {
	display: inline-block;
    margin: 0 10px;
    width: 1px;
    height: 22px;
    background-color: #eee;
    position: relative;
    top: 6px;
}

@media(max-width:768px) {
    .top-nav a.vid-btn, .top-nav a.shp-btn {
        display:none;
    }

    .top-nav .spacer {
        width:0;
    }
}

.cart-count {
	position: relative;
    background-color: orange;
    padding: 1px;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    display: inline-block;
    text-align: center;
}

.gtranslate_wrapper {
	position: relative;
	display: inline-block;
	top:10px;
}

.gt_switcher .gt_selected {
	background: transparent!important;
}
	
.gt_switcher .gt_selected a {
	border:0!important;
	color:#fff!important;
}

.gt_switcher .gt_selected a:hover {
    background: transparent!important;
}

.gt_switcher .gt_option {
	position:absolute!important;
	top:35px!important;
}

.gt_switcher .gt_option a {
    line-height: 1!important;
}

.acct-btn {
    color:#fff;
    border:0;
}

.dropdown-menu {
    background-color: #58a7df;
}

.navbar {
	position: absolute;
    left: 0;
    right: 0;
    top: -11px;
    background-color: transparent;
    padding-bottom: 30px;
    z-index: 9;
    height: 236px;
}

.navbar.hn-bg {
    background-color:#041832;
    z-index:0;
}

.navbar.nav-fixed {
    position:fixed;
    background-color:#011128;
    transition: all .3s ease;
    z-index: 9999999;
    padding: 60px 0 20px;
    height: inherit;
}

.navbar .navbar-brand {
	width:200px;
}

.navbar.nav-fixed .navbar-brand {
    width:150px;
    transition: all .3s ease;
}

.nav-link {
	color:#fff;
	border: 2px solid transparent;
}

.nav-link:hover, .nav-link:focus {
	opacity:8;
	border-bottom:2px solid;
	color: #ccc;
    border-radius:3px;
}

.no-z-index {
  z-index: auto !important;
}

/* Minimal underline style */
.live-search-input {
  border: none;
  border-bottom: 2px solid #ccc;
  border-radius: 0;
  font-size: 2.25rem;
  font-weight: 500;
  padding: 0.5rem 0;
  color: #000;
  background-color: transparent;
  transition: border-color 0.2s ease;
}

.live-search-input::placeholder {
  color: #999;
  font-weight: 400;
}

.live-search-input:focus {
  outline: none;
  border-color: #2d70c7; /* Alconox blue */
  box-shadow: none;
}

/* Base styles for dropdown */
.search-dropdown {
  border-radius: 0.5rem;
  max-height: 400px;
  overflow-y: auto;
  z-index: 9999;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* Result item layout */
.search-result-item {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid #eee;
  transition: background 0.2s ease;
}

.search-result-item:hover {
  background-color: #f8f9fa;
}

.search-result-item img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: 0.25rem;
}

.search-result-content {
  flex-grow: 1;
  margin-left: 1rem;
}

.search-result-content h6 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.search-result-content small {
  font-size: 0.875rem;
  color: #6c757d;
}

/* Mobile-specific layout */
@media (max-width: 575.98px) {
  .search-result-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .search-result-item img {
    width: 100%;
    height: auto;
    margin-bottom: 0.5rem;
  }

  .search-result-content {
    margin-left: 0;
  }

  .search-dropdown {
    max-height: 60vh;
    overflow-y: auto;
  }
}

.search-dropdown {
  -webkit-overflow-scrolling: touch;
}

.clear-search {
  border: none;
  background: none;
  color: #999;
  font-size: 2.25rem;
  text-decoration:none;
}

.clear-search:hover {
  color: #333;
}

.current-menu-item .nav-link {
	opacity:8;
	border-bottom:2px solid;
	color: #ccc;
    border-radius:3px;
}

.search-btn {
	color:#fff;
	cursor: pointer;
}

.search-top.offcanvas {
	z-index: 999999999;
	height:100%;
}

/* Make the blue area taller with just this height */
.wave-svg {
  display: block;                 /* kill inline gaps */
  height: clamp(220px, 32vw, 420px);
}


/* Ensure the SVG sits where you expect */
.wave-container {
  bottom: 0;                      /* anchor to bottom of header */
  line-height: 0;
  position: absolute;
}

@media (min-width: 1200px) {
  .wave-svg { height: clamp(220px, 28vw, 463px); }
}

/* (Optional) if you want even more height on desktop */
@media (max-width: 992px) {
  .wave-svg { height: clamp(320px, 41vw, 520px); }
}

@media(max-width:600px) {
  .wave-svg {  /* kill inline gaps */
  height: clamp(310px, 28vw, 420px);
}
}

.main-banner {
	margin: 0;
	padding: 0;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	font-family: Arial, sans-serif;
	position:relative;
	overflow:hidden;
}

.main-banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background-color: #00162ccc;
    z-index: 0;
}

#bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
 
.main-banner h1 {
	font-size: 6rem;
	font-weight: bold;
	text-align:center;
	position:relative;
	z-index: 1;
}
  
.main-banner .accent {
	color: #56b3f5;
	transition: all 0.5s ease;
}

.main-banner .cursor::after {
	content: '|';
	animation: blink 1s step-start infinite;
  }
  @keyframes blink {
	50% { opacity: 0; }
  }

.bg-grey {
	background-color: #eee!important;
}

.page-title-section-ind  {
   top: 118px;
   margin-top: 20px;
}

.light-blue {
	color: #06bad5;
}

.wave-container {
	bottom:-1px;
	line-height:0;
}

@media(min-width:1400px) {
  .wave-container {
    bottom:-30px;
  }
}

.wave-container-bot {
	bottom:-52px;
}

.wave-container svg {
	position: relative;
    display: block;
}

@media(max-width:600px) {
    .main-banner {
        height:450px
    }

    .main-banner h1 {
        font-size:2.5rem;
    }
    .wave-container {
	bottom:-3px;
    }
}

.about-section {
	padding: 50px 0;
	position: relative;
	z-index: 1;
  background-color: #2e7cc9;
}

.about-section h2 {
	font-family: "Rubik", sans-serif;
	font-size:5rem;
    margin-top:50px;
}

.about-section h2 span {
	color: #011128;
}

.about-section .about-content {
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight:300;
	position: relative;
    z-index: 999999999;
}

@media(max-width:600px) {
    .about-section h2 {
        text-align:center;
        font-size:3rem;
        margin-top:0;
    }
}

.bg-img-wrapper {
	position: absolute;
	height: 600px;
    width: 100%;
}

.about-bg-img {
    width: 100%;
    height: 100%;
    background: url(img/logo-vector.svg) no-repeat center;
    background-size: contain;
    z-index: 99999999;
	position:absolute;
	top:-115px;
	left:-200px;
}

.home-about-img {
	position: relative;
    z-index: 9999999999;
    display: block;
    border: 2px solid #fff;
    border-radius: 15px;
    background-image: url(img/about-alc.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 350px;
}

.home-about-img-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(6 51 117 / 63%);
	border-radius: 15px;
}

.home-about-img-overlay i {
	position: absolute;
    top: 30%;
    font-size: 8rem;
    color: #fff;
    text-align: center;
    left: 37%;
    right: 0;
    opacity: .7;
}

.youtube-video-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* Aspect ratio for 16:9 videos */
    display: none; /* Initially hidden */
	z-index: 99999999;
    border-radius: 15px;
    border: 2px solid #fff;
}

.youtube-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	border-radius: 15px;
}

.products-slider-section {
	padding: 1px 0 45px;
  background-color: #2e7cc9;
}

.products-slider-text h3 {
	font-family: "Rubik", sans-serif;
    font-size: 4rem;
	color:#fff;
}

.products-slider-text h3 span {
	color: #011128;
}

.slick-nav-wrapper {
	position:relative;
}

.slider-navigation {
	z-index: 999;
    position: relative;
    top: 140px;
}

.slider-navigation button {
	background-color: #fff;
    color: #2f8dcc;
	border:0;
	border-radius: 50%;
	width:50px;
	height:50px;
	margin: 0 10px;
	position: absolute;
}

.slider-navigation button i {
	font-size: 2rem;
}

.slider-navigation button:hover, .slider-navigation button:focus {
	opacity:.8;
}

.slick-pre {
	right: -45px;
}

.slick-nex {
	left: -45px;
}


.slick-slider {
    overflow: hidden; /* Hide overflow until initialized */
    visibility: hidden; /* Hide until initialized */
}

.slick-initialized {
    visibility: visible; /* Show only after initialized */
}

.product-slide {
	display: inline-block; /* Ensures slides stay in a row */
    vertical-align: top; /* Aligns images properly */
	padding:50px;
	text-align:center;
}

.product-slide h4 {
	font-size: 2em;
}

.slick-track {
    white-space: nowrap; /* Prevents stacking */
}

.product-slide a {
	color:#fff;
}

@media(max-width:600px) {
    .products-slider-text h3 {
    font-size: 3rem;
    }
    .product-slide {
        padding:50px 115px;
    }
    .slick-pre {
	right: 10px;
}

.slick-nex {
	left: 10px;
}
}

.ask-alconox {
	background-color:#fff;
	background-size:cover;
	background-position:center;
	padding: 100px 0 200px;
}

@media(min-width:1400px) {
  .ask-alconox {
    padding:150px 0 200px;
  }
}

.aa-text {
	margin-top:100px;
    color: #fff;
}

.aa-text h5 {
	font-size: 4rem;
	font-family: "Rubik", sans-serif;
    color: #093676;
    margin-top: 50px;
}

.aa-img {
	width: 450px;
    position: relative;
    top: 93px;
}

.aa-text h5 span {
	color: #56b3f5;
}

.aa-text p {
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight:300;
}

.aa-img-wrapper {
	position: relative;
}

.aa-btn-wrapper {
    position:relative;
    top:107px;
}

.aa-btn {
   display:block;
   text-align:center;
   background-color: #0d5da4;
   border-radius:15px;
   padding:15px;
   opacity:.9;
   font-weight:300;
   font-size:1.5rem;
   color:#eee;
}

.aa-btn:hover, .aa-btn:focus {
    opacity:.8;
    background-color: #0066cc;
    color: #fff;
    transform: scale(1.05); /* Optional: Slightly enlarge on hover */
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2); /* Optional: Increase shadow on hover */
}

.aa-btn i  {
	font-size:60px;
    display:block;
    margin:0 auto 10px;
}

@media(max-width:600px) {
    .aa-text h5 {
        font-size:3rem;
        margin-top:0;
    } 
    .ask-alconox {
        padding:0 0 200px;
    }
    .aa-img {
    width: 150px;
    top: 0;
    }
    .aa-btn-wrapper {
    position: relative;
    top: 20px;
}
}
  
.wave-wrapper.wave-reverse {
	rotate: 1 0 0 180deg;
	transform: rotate(1 0 0 180deg);
}


/* Year Menu */
.year-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 15px;
}

.year-menu li {
    display: inline-block;
}

.year-menu-link {
    color: #fff;
    text-decoration: none;
    padding: 10px 15px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.year-menu-link:hover {
    background-color: #1f5185;
}

/* Mobile Dropdown Styles */
.year-menu-toggle {
    display: none;
    background-color: #1f5185;
    color: #fff;
    border: none;
    padding: 10px;
    text-align: center;
    cursor: pointer;
    border-radius: 5px;
}

.year-menu.d-none {
    display: none;
}

.year-menu.d-block {
    display: block;
    flex-direction: column;
    gap: 10px;
    text-align: center;
}

/* Show Toggle Button on Mobile */
@media (max-width: 768px) {
    .year-menu-toggle {
        display: block;
    }

    .year-menu {
        display: none;
    }
}

/* --- Pages --- */

.page-header {
	background-color: #fff;
    width: 100%;
    height: 180px;
	position: relative;
    overflow: hidden; /* Ensure the wave stays within the header */
    top: 224px;
}


.page-content {
	top:-1px;
    color: #021838;
    min-height: 500px;
    padding:0;
    margin-top: 150px !important;
}

.page-content.ask-content {
  margin-top: 130px !important;
}

@media(max-width:600px) {
  .page-content {
   margin-top: 100px !important;
  }
}

.page-resources-content {
    margin-top:110px;
}

.page-content.ind-content {
    min-height:auto;
    margin-top:30px!important;
}

.year-group {
	padding:30px 0;
}

.page-title, .page-description {
	position:relative
}

.page-title {
	font-family: Rubik, sans-serif;
    font-size: 2.5rem;
}

.page-title.small-title {
     font-size: 2.5rem;
     position:relative;
     top:-30px;
}

.page-description {
	font-size:18px;
    color: #efefef;
    font-weight:300;
    position:relative;
}

@media(max-width:600px) {
    .page-title, .page-title.small-title  {
    font-size: 2.2rem;
}
}

.search-bar-container {
	top: 20px;
    margin-bottom: 30px;
    position:relative;
}

.centered-list {
    text-align: center;
}

.centered-list ul {
    display: inline-block;
    text-align: left; /* Ensures the list items are aligned properly */
    padding: 0;
    margin: 0;
    list-style-position: inside;
}

/* Base bar */
.year-menu-container {
  background: #eee;            /* match your theme */
  position: relative;
  z-index: 10;                     /* above page title/wave */
  border-radius: 12px;             /* nice in-flow look */
}

/* Keep the inner content centered even when bar goes full-bleed */
.year-menu-inner.container { }

/* Horizontal list */
.year-menu {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.year-menu a.year-menu-link {
  display: inline-block;
  padding: .5rem .75rem;
  text-decoration: none;
  color: #4893de;
  border-radius: 999px;
  transition: all .15s ease;
}
.year-menu a.year-menu-link:hover,
.year-menu a.year-menu-link.active {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.25);
}

/* Sticky state: full-width, glued to top */
.year-menu-container.is-sticky {
  position: fixed;
    top: 100px !important;
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 0;
    z-index: 99999999;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
}

/* Make headings account for sticky bar with anchor jumps */
.year-ttl {
    color: #fff;
    background-color: #4893de;
    border-radius: 15px;
    padding: 5px 10px;
}

.year-ttl.year-title {
  scroll-margin-top: 180px!important
}

/* (Optional) subtle divider when sticky */
.year-menu-container.is-sticky::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px; height: 1px;
  background: rgba(255,255,255,.08);
}

/* Only apply sticky behavior on md+ */
@media (max-width: 767.98px) {
  .year-menu-container.is-sticky { position: static; }
}

.resource-item {
    display: flex;
    flex-direction: column; /* Stack items vertically */
    align-items: center; /* Center items horizontally */
    justify-content: center; /* Center items vertically */
    height: 100%; /* Ensure the resource-item takes up the full height of its container */
    padding: 20px; /* Add some padding for spacing */
    background-color: #155da4;
    color: #fff;
    border-radius: 15px; /* Optional: Rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional: Add a shadow */
    transition: transform 0.3s ease; /* Optional: Add a hover effect */
}

.resource-item i {
	font-size: 50px; /* Adjust icon size */
	color: #eee; /* Icon color */
	margin-bottom: 10px; /* Add spacing between the icon and the header */
}

.resource-item h5 {
    margin-top: 10px; /* Add spacing between the icon and the header */
    font-size: 1.25rem; /* Adjust font size */
    text-align: center; /* Center-align the text */
	font-weight:300;
}

.resource-item:hover {
    transform: scale(1.05); /* Optional: Slightly enlarge on hover */
	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2); /* Optional: Increase shadow on hover */	
	background-color: #155da4; /* Optional: Change background color on hover */
    color:#fff;
}

.resource-item:hover i {
    color:#fff;
}

.res-sidebar {
    border:2px solid #4893de;
    padding:15px;
    border-radius:15px;
    position:sticky;
    top:125px;
}

.res-sidebar ul {
    list-style:none;
    padding:0;
    margin:0;
}

.res-sidebar li a {
    color:#4893de;
    padding:5px 10px;
    display:block;
    margin:5px 0;
    border-radius:10px;
}

.res-sidebar li a:hover, .res-sidebar li a:focus {
    background-color:#4893de;
    display:block;
     border-radius:10px;
      padding:5px 10px;
      color:#fff;
}

.res-sidebar li.current-menu-item a {
     background-color:#4893de;
    display:block;
     border-radius:10px;
      padding:5px 10px;
      color:#fff;
}

.video-item img {
    width: 100%;
    height: 230px;
    border-radius: 15px;
    border: 2px solid #fff;
    object-fit:cover;
}

.video-item a {
    color: #08182d;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 300;
    position: relative;
}

.related-vid .video-item a {
    color:#007dd2;
}

.video-title {
    font-size: 1.5rem;
    font-weight: 300;
    color: #fff;
    margin-bottom: 15px; /* Add spacing between the image and the title */
}

.video-content {
    font-size: 1.2rem;
    line-height: 1.6;
    font-weight: 300;
    color: #fff;
   position:relative;
   top:-100px;
}

.vid-descrip {
  position:relative;
  top:0;
  color:#272727;
  font-weight:400;
  font-size:16px;
}

.video-sidebar {
    padding: 15px;
    background-color: #007dd2;
    border-radius: 15px;
    color: #fff;
}

.video-sidebar h3 {
    border-bottom: 1px solid;
    padding-bottom: 5px;
    margin-bottom: 15px;
}

.video-sidebar a {
    color:#fff;
    text-decoration: none;
}

.video-sidebar h5 {
    font-size: 1rem;
    font-weight:300;
}

.related-video-link img {
    width: 100%;
    height: 80px;
    border-radius: 10px;
    border: 2px solid #fff;
    object-fit:cover;
}

.related-products {
    background-color: #125a9f;
    color:#fff;
}

.related-products h3 {
    font-family: "Rubik", sans-serif;
    font-size: 3rem;
    color:#fff;
    margin-bottom:60px;

}

.related-products a h5 {
    color:#fff;
    text-decoration: none;
    font-weight:300;
    font-size: 1.7rem;
}

.related-prod h3 {
  font-size:1.5rem;
}

.related-technotes h3 {
    font-family: "Rubik", sans-serif;
    font-size: 3rem;
    color: #fff;
    margin-bottom: 60px;
}

.video-nav {
   position: sticky;
    top: 124px;
    padding: 20px 0 0;
    z-index: 99999999;
    margin-bottom: 45px;
    margin-top: 75px;
    background-color: #eee;
}

@media(min-width:1400px) {
  .video-nav {
    margin-top:130px;
  }
}

.video-nav a {
    color: #519ce6;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.video-nav .list-inline-item:not(:last-child)::after {
    content: "|"; /* Add the separator */
    display: inline-block;
    margin: 0 5px; /* Add spacing around the separator */
    color:#031736;
}

.video-nav .list-inline-item:last-child::after {
    content: ""; /* Ensure no separator for the last item */
}
.video-nav .list-inline-item:not(:last-child) {
    margin-right: 0;
}

.video-category-section {
    scroll-margin-top: 100px; /* Adjust to match your header height */
  }

.video-category-section h2 {
    color:#031838;
    font-size: 40px;
    border-bottom: 1px solid;
}

.video-wrapper .ratio {
    border-radius: 15px;
    overflow: hidden;
}

.category-section h2 {
   color: #60b2ed
}

.product-filter-menu {
    color:#fff;
    top: 0;
    padding: 15px;
    background-color: #0d5da4;
    margin-bottom: 45px;
    border-radius:15px;
}

.category-filter-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

.product-filter-menu .d-flex {
    flex-direction: column; /* Arrange items in a single column */
    align-items: center; /* Center items horizontally */
    gap: 15px; /* Add spacing between items */
}

/* Category Filter Styles */
.category-filter-btn {
    width: 100%; /* Make the button container take full width */
}

.category-filter {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Space between text and circle */
    width: 100%; /* Make the label take full width */
    padding: 10px 15px;
    background-color: #f8f9fa; /* Light grey background */
    border: 1px solid #ddd; /* Add a subtle border */
    border-radius: 30px; /* Rounded corners */
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    box-sizing: border-box; /* Ensure padding is included in width */
    position: relative; /* Ensure proper positioning for child elements */
}

.category-filter:hover {
    background-color: #e9ecef; /* Slightly darker grey on hover */
    color: #007bff; /* Blue text on hover */
}

.category-filter input[type="checkbox"] {
    display: none; /* Hide the checkbox */
}

/* Change the entire button background when checkbox is checked */
.category-filter input[type="checkbox"]:checked ~ .category-filter {
    background-color: #dbeeff; /* Light blue background */
    color: #007bff; /* Blue text */
    border-color: #007bff; /* Optional: Change border color */
}

.category-filter span {
    flex-grow: 1; /* Allow the text to take up available space */
    text-align: left; /* Align text to the left */
    font-size: 1rem;
    font-weight: 500;
    color: #333;
    margin-right: 10px; /* Add spacing between text and circle */
}

.category-filter .icon-toggle {
    flex-shrink: 0; /* Prevent the circle from shrinking */
    font-size: 1rem;
    color: #125da4; /* Blue color for the circle */
    margin-left: auto; /* Push the circle to the far right */
    position: absolute; /* Position the circle absolutely */
    right: 15px; /* Align the circle to the far right */
    top: 50%; /* Center the circle vertically */
    transform: translateY(-50%); /* Adjust for vertical centering */
    transition: transform 0.3s ease;
}

#products-wrap h2.cat-header {
    color:#fff;
    font-size: 40px;
    border-bottom: 1px solid;
}

.product-item.card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #0b355e;
    position:relative;
    padding: 20px 0;
}


.product-item.card.ind-pr od .btn.btn-primary {
    bottom: 25px;
    right: 15px;
    left: 15px;
}

.product-item.card .card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.product-item.card .card-body a h3 {
    color:#fff;
    font-family: Rubik, sans-serif;
}

.product-item.card .card-body h4 {
    color: #ededed;
    font-size:1rem;
}

.product-item.card .prod-short-descrip {
    border-top:1px solid #fff;
    padding:10px 0;
    font-weight:400;
    color:#fff;
    margin-top:15px;
    font-size: 15px;
}

.product-item.card .prod-short-descrip i {
    background-color: #fff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    color: #135da4;
    text-align: center;
    padding: 3px;
    margin-right: 5px;
}

.prod-page-card img {
    width:100%;
    height:250px;
    object-fit:contain;
}

.main-prod-img {
    background-color: #f4f4f4;
    margin-bottom: 30px;
    border-radius: 15px;
    width: 100%;
    margin-top: 37px;
}

.main-prod-img img {
    max-width: 100%;
    height: 359px;
    margin: 0 auto;
    display: block;
    object-fit: contain;
    border-radius: 15px;
    width: 100%;
}



.ind-prod.product-item.card img.card-img-top {
    height:auto;
}

@media(max-width:600px) {
    .ind-prod.product-item.card img.card-img-top {
        height:250px;
        object-fit: contain;
    }
}

.offcanvas {
    z-index:99999999;
}

.prod-gallery img {
   width: 100%;
    height: 100%;
    border-radius: 5px;
    object-fit: cover;
    background-color: #e8e8e8;
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    float: right;
    width: 100%;
    clear: none;
    background-color: #eee;
    padding: 30px;
    border-radius: 15px;
    color: #175ca4;
    margin-top: 80px;
}

.woocommerce-product-details__short-description span {
    color:#175ca4!important;
}

.woocommerce div.product form.cart .variations select {
    background-image: url('data:image/svg+xml;utf8,<svg fill="white" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
    background-color: #113875;
    padding: 10px;
    color: #fff;
    border: 0;
}

.woocommerce div.product form.cart .button {
    vertical-align: middle;
    float: left;
    border-radius: 30px;
    background-color:#175ca4;
}

.woocommerce div.product form.cart .button:hover {
    border: 2px solid;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover {
    background-color:#ccc!important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #113875;
    font-size: 1.5em;
    margin-bottom: 15px;
    display: block;
}

.woocommerce .quantity .qty {
    width: 3.631em;
    text-align: center;
    border: 0;
    padding: 9px;
    border-radius: 5px;
    font-size: 16px;
    margin-right: 10px;
}
.woocommerce div.product form.cart .variations label {
    margin-right:5px;
}

.woocommerce div.product div.summary {
    margin-bottom:0!important;
}

/* Hide price range on variable products only */
.product-type-variable .price {
  display: none !important;
}

.woocommerce div.product p.stock.out-of-stock, 
.woocommerce div.product p.stock.in-stock {
   display: none !important;
}

.cancel-btn {
    background-color: #d7d7d7;
    border: 0;
    padding: 5px 15px;
    border-radius: 30px;
    margin-left: 7px;
}

/* Style for accordion headers */


.accordion-button {
  background-color: #f5f8fc;
  color: #1e81c6;
  border: none;
  box-shadow: none;
  transition: background-color 0.3s ease, color 0.3s ease;
  font-weight: 300;
  font-size: 25px;
}

/* Active/open tab */
.accordion-button:not(.collapsed) {
  background-color: #1e81c6;
  color: #ffffff;
}

/* Accordion border and spacing */
.accordion-item {
  border: 1px solid transparent;
  margin-bottom:5px;
  border-radius: 0.25rem;
  overflow: hidden;
}

/* Accordion content body */
.accordion-body {
  background-color: #fff;
  padding: 1.25rem;
  border-top: 1px solid #e2e6ea;
  font-size: 0.95rem;
  color: #333;
}

/* Optional: hover effect on headers */
.accordion-button:hover {
  background-color: #dbeeff;
  color: #1e81c6;
}

.doc-section {
    color:#133e7f;
}

/* --- Tabs Navigation --- */
.product-tabs-wrapper .nav-tabs {
    border: 0;
}

.product-tabs-wrapper .nav-tabs .nav-item {
    margin-bottom: -1px; /* Align tabs with content */
}

.product-tabs-wrapper .nav-tabs .nav-link {
    color: #333; /* Default text color */
    font-size: 1rem;
    text-transform: uppercase;
    padding: 10px 20px;
    border: 0; /* Remove default border */
    border-radius: 5px 5px 0 0; /* Rounded top corners */
    background-color: #f8f9fa; /* Light grey background */
    transition: all 0.3s ease;
    margin-right:5px;
    margin-bottom: 0;
}

.product-tabs-wrapper .nav-tabs .nav-link:hover {
    background-color: #e9ecef; /* Slightly darker grey on hover */
    color: #2180c3; /* Blue text on hover */
}

.product-tabs-wrapper .nav-tabs .nav-link.active {
    color: #fff; /* White text for active tab */
    background-color: #113875;
    border:0;
}

/* --- Tabs Content --- */
.product-tabs-wrapper .tab-content {
    border-radius: 0 5px 5px 5px;
    padding: 20px;
    background-color: transparent;
    position: relative;
    z-index: 99;
    min-height: 300px;
    border: 2px solid;
}

.product-tabs-wrapper .tab-pane {
    font-size: 1rem;
    color: #fff; /* Text color for content */
    line-height: 1.6;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
    color: #175ca4;
}

.related h2 {
    color:#fff;
}

.ind-related .related h2 {
    color: #207ec1;
}

.related hr {
    border: 1px solid #fff;
}

.filter-wrap {
    position: relative;
    top: 91px;
    right: 10px;
}

.al-chat-container {
  margin: 0 auto;
  font-family: sans-serif;
}
.al-msg.bot div {
  max-width: 80%;
}
.al-msg.user div {
  max-width: 80%;
  margin-left: auto;
}

.woocommerce table.shop_table {
    border: 1px solid rgb(255 255 255)!important;
}

.woocommerce table.shop_table td {
    border-top: 1px solid #fff;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button, .woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
background: linear-gradient(90deg, rgba(92, 170, 225, 1) 0%, rgba(28, 124, 192, 1) 100%);
    border-radius: 30px;
    padding: 15px 30px;
}

#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
   background: linear-gradient(90deg, rgba(92, 170, 225, 1) 0%, rgba(28, 124, 192, 1) 100%);
    border-radius: 30px;
    padding: 15px 30px;
    color:#fff;
}

#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    border: 1em solid #59a7df;
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
}

#add_payment_method #payment div.payment_box span.help, .woocommerce-cart #payment div.payment_box span.help, .woocommerce-checkout #payment div.payment_box span.help {
    color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
}

.woocommerce-MyAccount-navigation {
  margin-bottom: 2rem;
}

.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
}

.woocommerce-MyAccount-navigation ul li {
  margin: 0;
}

.woocommerce-MyAccount-navigation ul li a {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 5px;
  color: #333;
  text-decoration: none;
  transition: all 0.2s ease;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: #000e23; /* Your theme’s primary color */
  color: #fff;
  border-color: #000e23;
}

.product_meta .posted_in {
    display:none;
}


.user-bubble {
  background: #0b457d;
    padding: 10px 15px;
    border-radius: 8px;
    max-width: 600px;
    margin-left: auto;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    font-size: 1rem;
    text-align: right;
    color: #fff;
}

.btn-reset {
    background-color: #0b457d;
    color:#fff;
    border: none;
    padding: 10px 20px;
    border-radius: 25px;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}

.btn-reset:hover {
    opacity:.8;
    background-color: #0b457d;
    color: #fff;
}

.chat-card {
    background-color: rgb(18, 93, 164);
    color: #fff;
    border: 0;
}

.chat-card img {
    width: 200px;
    margin: 0 auto;
    display: block;
}

.industry-card {
    position: relative;
    overflow: hidden;
}

.ind-header {
    top:145px;
}

.ind-header .sm-header {
  font-size:2rem;
  margin-top: -20px;
  display: block;
}

.industry-thumb {
    position: relative;
    border: 2px solid #fff;
    border-radius: 15px;
    overflow: hidden; /* Ensures image stays inside when scaled */
    transition: border-radius 0.3s;
}

.industry-thumb img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 15px;
    transition: 
        transform 0.4s cubic-bezier(.4,2,.6,1),
        opacity 0.3s,
        border-radius 0.3s;
}

.industry-card:hover .industry-thumb,
.industry-card:focus .industry-thumb {
    border-radius: 15px;
}

.industry-card:hover .industry-thumb img,
.industry-card:focus .industry-thumb img {
    transform: scale(1.03);
    opacity: 0.7;
    border-radius: 15px;
    filter: grayscale(0%); /* Show color on hover */
    z-index: 2;
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.2);
}

.industry-title {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    z-index: 2;
    font-size: 1.3rem;
    font-weight: 700;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
    pointer-events: none;
}

.all-prod-btn {
   display: inline-block;
    color: #fff;
    font-weight: 300;
    text-decoration: none;
    font-size: 1.2rem;
    transition: background-color 0.3s ease, color 0.3s ease;
    padding: 5px 15px;
    position: relative;
    top: 24px;
    border: 2px solid;
    border-radius: 30px;
}

.woocommerce div.product .product_title {
    font-family: Rubik, sans-serif;
}

.industry-app-tabs .nav-tabs {
  border: none;
  justify-content: center;
  gap: 1rem;
  position: relative;
  top: -25px;
}

.industry-app-tabs .nav-tabs .nav-link {
  background-color: transparent;
  color: #fff;
  border: 2px solid #fff; /* solid border, no alpha */
  border-radius: 999px;
  padding: 0.6rem 1.5rem;
  font-weight: 600;
  font-size: 1.1rem;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Hover: keep border the same, just add a light background */
.industry-app-tabs .nav-tabs .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: #fff;
  border: 2px solid #fff !important;
}

/* Active: white background, navy text */
.industry-app-tabs .nav-tabs .nav-link.active {
  background-color: #fff;
  color: #00408c;
  border-color: #fff;
  border: 2px solid #fff !important;
}

/* Industries Sidebar Styles */
.industries-sidebar {
    max-width: 100%;
    border-radius: 12px;
    padding: 24px 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    margin-bottom: 2rem;
    border:2px solid;
}

.ind-thumb {
    border: 2px solid;
    border-radius: 18px;
}

.ind-thumb img {
    border-radius:15px;
}

.industries-sidebar .nav-link {
    color: #fff;
    border-radius: 6px;
    transition: background 0.2s, color 0.2s;
    border-bottom: 0;
}

.industries-sidebar .nav-link.active,
.industries-sidebar .nav-link.active:focus,
.industries-sidebar .nav-link.active:hover {
    background: #125da4;
    color: #fff !important;
    border-bottom: 0;
}

.industries-sidebar .nav-link:hover {
    background: #e6f0fa;
    color: #125da4;
    border-bottom: 0;
}

/* Mobile Dropdown Styles */
.industries-dropdown-wrapper {
    padding: 10px 0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    position: relative;
}

.industries-dropdown {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #125da4;
    color: #125da4;
    font-weight: 500;
    padding: 8px 12px;
    background: #fff url("data:image/svg+xml;utf8,<svg fill='%23125da4' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>") no-repeat right 12px center;
    background-size: 16px 16px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 40px;
}

.industries-dropdown option[selected],
.industries-dropdown option:checked {
    background: #125da4;
    color: #fff;
}

/* Sticky positioning for sidebar and dropdown */
.industries-sidebar.position-sticky,
.industries-dropdown-wrapper.position-sticky {
    top: 60px;
    z-index: 100;
}

/* Responsive adjustments */
@media (min-width: 768px) {
    .industries-sidebar.position-sticky {
        top: 100px;
    }
    .industries-dropdown-wrapper {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .industries-sidebar {
        display: none;
    }
    .industries-dropdown-wrapper {
        display: block;
    }
}

.diagram-section {
  padding: 2rem 1rem;
}

.diagram-card {
  background: #fff;
  border-radius: 16px;
  padding: 1.75rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.diagram-equipment {
    background-color: #4ea0da;
}

.diagram-card h5 {
  letter-spacing: 0.5px;
  font-size: 1rem;
  color:#113875;
}

.diagram-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.diagram-contaminant {
    background-color: #e9e9e9;
}

.chip {
  display: inline-block;
  padding: 0.4rem 0.75rem;
  background-color: #f0f2f5;
  border-radius: 30px;
  font-size: 0.85rem;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
}

.chip-contaminant {
  background-color: #0b457d;
    color: #eaeaea;
}

.diagram-arrow i {
  transition: transform 0.3s ease;
}

.animate-arrow:hover {
  transform: translateY(4px);
}

/* Button-style detergent */
.btn-sm {
  border-radius: 30px;
  font-size: 0.9rem;
  padding: 0.5rem 1.2rem;
  line-height: 1.2;
  font-weight: 600;
}

/* Detergent Color Classes */
.btn-citranox {
  background-color: #2eaa7d;
  color: #fff;
  transition: all 0.2s ease;
}
.btn-citranox:hover {
  background-color: #fff;
  color: #2eaa7d;
  border: 1px solid #2eaa7d;
}

.btn-alconox {
  background-color: #b53434;
  color: #fff;
  transition: all 0.2s ease;
}
.btn-alconox:hover {
  background-color: #fff;
  color: #b53434;
  border: 1px solid #b53434;
}

.btn-liquinox {
  background-color: #1f7cb8;
  color: #fff;
  transition: all 0.2s ease;
}
.btn-liquinox:hover {
  background-color: #fff;
  color: #1f7cb8;
  border: 1px solid #1f7cb8;
}

.btn-tergazyme {
  background-color: #e06700;
  color: #fff;
  transition: all 0.2s ease;
}
.btn-tergazyme:hover {
  background-color: #fff;
  color: #e06700;
  border: 1px solid #e06700;
}

.btn-citrajet {
  background-color: #cc2c6b;
  color: #fff;
  transition: all 0.2s ease;
}
.btn-citrajet:hover {
  background-color: #fff;
  color: #cc2c6b;
  border: 1px solid #cc2c6b;
}

.btn-alcojet {
  background-color: #0099b3;
  color: #fff;
  transition: all 0.2s ease;
}
.btn-alcojet:hover {
  background-color: #fff;
  color: #0099b3;
  border: 1px solid #0099b3;
}

.btn-solujet {
  background-color: #c0402f;
  color: #fff;
  transition: all 0.2s ease;
}
.btn-solujet:hover {
  background-color: #fff;
  color: #c0402f;
  border: 1px solid #c0402f;
}

.btn-alcotabs {
  background-color: #e15442;
  color: #fff;
  transition: all 0.2s ease;
}
.btn-alcotabs:hover {
  background-color: #fff;
  color: #e15442;
  border: 1px solid #e15442;
}

/* Responsive layout columns already handled via Bootstrap row-cols */

[data-aos] {
  will-change: transform, opacity;
}

.ind-video-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
}
.ind-video-wrapper iframe {
  transition: opacity 0.5s ease;
}
.ind-video-poster {
  transition: opacity 0.4s ease;
}
.object-fit-cover {
  object-fit: cover;
}

.btn.btn-primary.ind-btn {
   background: transparent;
   padding: 10px 30px;
}

.table-ind th {
    background-color:#e3f2fd;
}

.app-blurb {
    background-color: #69b5ee;
    padding: 15px;
    border-radius: 15px;
}

.kc-content {
    color: #fff;
    padding: 20px;
    border: 2px solid;
    border-radius: 15px;
    background-color: #4091cc;
}

.ind-prod {
    color:#fff;
}

.ind-prod .industry-points {
   color: #85c3ef;
   text-align: left;
}

.ind-prod .industry-points h5 {
  margin-bottom: -1px;
}

.ind-prod .industry-points li {
  color:#d3e9f8;
}

.ind-prod .industry-points ul {
    list-style:none;
    padding:0;
    margin-bottom:0;
}

.slbContent, .slbImageWrap, .slbImage {
    position: relative;
    background-color: #021739;
}

.grafs {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index:99;
}

.grafs a {
   color: #fff;
    background-color: #4298e9;
    font-size: 18px;
    padding: 1px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: block;
    text-align: center;
}

.page-title-section .has-featured-bg{
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  height: 300px;

  /* center the content */
  display: flex;
  align-items: center;      /* vertical centering */
  /* optional: also center horizontally if you drop the .row utility */
  /* justify-content: center; */

  /* if you want *perfect* centering, remove vertical padding */
  padding-top: 0;
  padding-bottom: 0;
}

.page-title-section.tl-bg .has-featured-bg {
  height:445px;
}

/* ensure the Bootstrap row spans the width inside the flex container */
.page-title-section .has-featured-bg > .row{
  width: 100%;
}

/* avoid extra headline spacing affecting centering */
.page-title-section .page-title{ margin: 0; }
.page-title-section .page-title-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.page-title-section .page-title-overlay {
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 31%);
  z-index: 1;
}

.page-title-section.tl-bg .page-title-overlay {
  background:rgb(73 151 205 / 75%);
}

/* make sure actual content is above the overlay */
.page-title-section .has-featured-bg > *:not(.page-title-bg):not(.page-title-overlay) {
  position: relative;
  z-index: 2;
}

.ind-related {
    background-color:#f5f8fc;
    color:#125da4;
    position:relative;
}

/* Centered white bar under banner */
.ind-menu {
  position: sticky;
  top: 125px; /* adjust to your header height */
  z-index: 9999999;
  background: transparent; /* transparent outside the card */
  margin-top: 35px;
}

/* Inner container as a "card" */
.ind-menu .container {
  background: #fff;
  border-radius: 12px;
  max-width: 50%;         /* key: 50% of banner width */
  padding: .5rem 1rem;
  transition: max-width 0.3s ease;
}

/* Links */
.ind-menu .nav-link {
  color: #63a3e6;
}

.ind-menu .nav-link:hover,
.ind-menu .nav-link.active {
  border-bottom:1px solid #63a3e6;
}

/* Mobile adjustments */
@media (max-width: 991.98px) {
  .ind-menu .container {
    max-width: 90%; /* keep it narrow but responsive */
  }
}

/* When stuck under the fixed header */
.ind-menu.is-stuck{
  background: #fff;                 /* full-width white bar */
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}

/* Make the inner box visually merge with the bar when stuck */
.ind-menu.is-stuck .ind-menu__box{
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}


/* Mosaic container */
.related-prod .mosaic{
  column-gap: 1.25rem;         /* space between columns */
}
@media (min-width: 576px){ .related-prod .mosaic{ column-count: 2; } }
@media (min-width: 992px){ .related-prod .mosaic{ column-count: 2; } }

/* Mosaic items (prevent splitting across columns) */
.related-prod .mosaic-item{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin-bottom: 1.25rem;
  display: block;
}

/* Make sure cards size naturally */
.related-prod .mosaic-item .card{
  display: block; /* remove explicit heights; let content define height */
}

/* Optional niceties: images fill width within their column */
.related-prod .card-img-top{
  width: 100%;
  height: auto;
  display: block;
}

/* If you want slightly tighter internal spacing on small screens */
@media (max-width: 575.98px){
  .related-prod .mosaic-item{ margin-bottom: 1rem; }
  .related-prod .mosaic{ column-gap: 1rem; }
}

.industry-content {
    position:relative;
    z-index:9999;
}

/* Hide the actual form rows when we added our marker class */
.acx-hide-if-saved {
  display: none !important;
}

/* Optional: style a banner/notice you output near the top of checkout */
.acx-address-note {
  margin-bottom: 1rem;
  font-size: 0.95rem;
  opacity: 0.9;
}


#asl-storelocator.asl-p-cont.asl-bg-0 #asl-list.storelocator-panel {
    background: #021e47!important;
}

.slbWrapOuter {
    z-index:999999999!important;
}

.slbCloseBtn {
    right: 0.66667em!important;
}

img#al-mascot {
    position: sticky;
    top: 125px;
}

/* ================================
   Gravity Forms – Card Checkboxes
   Scope: form 3, field 13  (#field_3_13)
   ================================ */

#field_3_13 { --gf-card-accent: #2e7cc9; }

/* Grid container */
#field_3_13 ul.gfield_checkbox{
  display:flex !important;
  flex-wrap:wrap !important;
  gap: 1rem .5rem;
  list-style:none; padding-left:0; margin:0;
  overflow:visible;
}

/* Columns: 3-up desktop, 2-up tablet, 1-up mobile */
#field_3_13 ul.gfield_checkbox > li{
  box-sizing:border-box; margin:0; padding:0; overflow:visible;
  width:auto !important; float:none !important; clear:none !important; /* kill GF defaults */
  flex: 0 0 30% !important; max-width:40% !important;
}
@media (max-width: 991.98px){
  #field_3_13 ul.gfield_checkbox > li{ flex-basis:50% !important; max-width:50% !important; }
}
@media (max-width: 575.98px){
  #field_3_13 ul.gfield_checkbox > li{ flex-basis:100% !important; max-width:100% !important; }
}

/* Make the whole tile clickable */
#field_3_13 ul.gfield_checkbox input[type="checkbox"]{
  position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; z-index:2;
}

/* Card look */
#field_3_13 ul.gfield_checkbox label{
  position:relative; z-index:1;
  display:flex; flex-direction:column; height:100%;
  border:1px solid #e5e9f2; border-radius:.75rem;
  padding:1.1rem .9rem .9rem; /* room for badge */
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
  transition:border-color .15s, box-shadow .15s;
  cursor:pointer; overflow:visible;
}

/* Uniform image */
#field_3_13 ul.gfield_checkbox label img{
  display:block; width:100%;
  aspect-ratio:4/3; object-fit:cover; border-radius:.5rem;
}

/* Text */
#field_3_13 ul.gfield_checkbox label b,
#field_3_13 ul.gfield_checkbox label strong{
  margin-top:.75rem; font-weight:800; line-height:1.2;
}
#field_3_13 ul.gfield_checkbox label p{
  margin:.5rem 0 0; color:#516072; line-height:1.5; font-size:.95rem;
}

/* Hover/focus */
#field_3_13 ul.gfield_checkbox label:hover{
  border-color:#cfd7e6; box-shadow:0 2px 10px rgba(0,0,0,.06);
}
#field_3_13 ul.gfield_checkbox input[type="checkbox"]:focus-visible + label{
  outline:3px solid color-mix(in srgb, var(--gf-card-accent) 35%, transparent);
  outline-offset:2px;
}

/* Corner badge (unchecked) */
#field_3_13 ul.gfield_checkbox label::after{
  content:""; position:absolute; top:-.45rem; right:0;
  width:30px; height:30px; border-radius:50%;
  background:#fff; border:2px solid #4893de;
  box-shadow:0 1px 0 rgba(0,0,0,.05) inset;
  transition:transform .15s, background-color .15s, border-color .15s, background-image .15s;
  z-index:3;
}
#field_3_13 ul.gfield_checkbox label:hover::after{ transform:scale(1.04); }

/* Outer ring when checked */
#field_3_13 ul.gfield_checkbox label::before{
  content:""; position:absolute; top:-.45rem; right:0;
  width:30px; height:30px; border-radius:50%;
  background:#fff; opacity:0; transition:opacity .15s; z-index:3;
  border:0;
}

/* Checked state (compatible; no :has, no masks) */
#field_3_13 ul.gfield_checkbox input[type="checkbox"]:checked + label{
  border-color:var(--gf-card-accent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--gf-card-accent) 18%, transparent);
}
#field_3_13 ul.gfield_checkbox input[type="checkbox"]:checked + label::before{ opacity:1; }

/* Checked badge + white checkmark (base64 SVG, no parsing issues) */
#field_3_13 ul.gfield_checkbox input[type="checkbox"]:checked + label::after{
  border-color: var(--gf-card-accent);
  background-color: var(--gf-card-accent);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNic+PHBhdGggZmlsbD0nd2hpdGUnIGQ9J002LjEgMTIuMyAxLjggOGwxLjQtMS40IDIuOSAyLjkgNi43LTYuN0wxNC4yIDQgNi4xIDEyLjN6Jy8+PC9zdmc+");
  background-repeat:no-repeat;
  background-position:center;
  background-size:12px 12px;
}

/* Safety: avoid clipping at the top edge */
#gform_wrapper_3, #gform_wrapper_3 .gform_body, #field_3_13,
#field_3_13 ul.gfield_checkbox, #field_3_13 ul.gfield_checkbox > li, 
#field_3_13 ul.gfield_checkbox label{ overflow:visible; }

/* ===== Ground the whole product block with one backplate ===== */
.product-content-wrapper .single-page-content .container{
  position: relative;
  z-index: 1;
}
.product-content-wrapper .single-page-content .container::before{
  content:"";
  position:absolute;
  inset: -14px -14px -22px;          /* extend slightly around the container */
  background:#fff;
  border-radius: 24px;
  box-shadow:
    0 8px 40px rgba(1,24,62,.08),
    0 2px  8px rgba(1,24,62,.06);
  z-index:-1;
}
/* soft ground shadow under the plate */
.product-content-wrapper .single-page-content .container::after{
  content:"";
  position:absolute; left:8%; right:8%; bottom:-30px; height:30px;
  background: radial-gradient(50% 100% at 50% 0, rgba(1,24,62,.18), rgba(1,24,62,0) 60%);
  z-index:-2; pointer-events:none;
}

/* ===== Tone down inner chrome so it feels part of the plate ===== */
.product-content-wrapper .product-info,
.product-content-wrapper .main-prod-img,
.product-content-wrapper .prod-gallery,
.product-content-wrapper .accordion .accordion-item{
  background: transparent;
  border:0;
  box-shadow:none;
}

/* subtle column divider on desktop */
@media (min-width: 992px){
  .product-content-wrapper .col-md-7{ position:relative; }
  .product-content-wrapper .col-md-7::before{
    content:""; position:absolute; left:-18px; top:0; bottom:0; width:1px;
    
  }
}

/* ===== Image stage so the photo doesn't “float” ===== */
.product-content-wrapper .main-prod-img{
  background:#eee;
  border-radius:16px;
  padding:24px;
}
.product-content-wrapper .main-prod-img img{
  display:block; width:100%;
  max-height:520px;                   /* tweak */
  object-fit:contain;                 /* keeps full product in frame */
  border-radius:12px;
}

/* ===== Thumbs: consistent, clickable tiles ===== */
.product-content-wrapper .prod-gallery .row{ row-gap: .75rem; }
.product-content-wrapper .prod-gallery a{
  display:block; background:#fff; border:1px solid #e6eef7;
  border-radius:12px; padding:6px;
  transition: box-shadow .15s, transform .15s, border-color .15s;
}
.product-content-wrapper .prod-gallery img{
  display:block; width:100%; height:40px; object-fit:cover; border-radius:8px;
}
.product-content-wrapper .prod-gallery a:hover{
  border-color:#d6e4f3;
  box-shadow:0 6px 18px rgba(1,24,62,.08);
  transform: translateY(-1px);
}

/* Back/All Products link */
.product-content-wrapper .all-prod-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font-weight:700; color:#18407a; text-decoration:none;
}
.product-content-wrapper .all-prod-btn:hover{ text-decoration:none;opacity:0.7; }

/* Accordion polish */
.product-content-wrapper .accordion-button{
  font-weight:700;
}
.product-content-wrapper .accordion-item{
  border:1px solid #eef3f9; border-radius:12px; overflow:hidden;
}
.product-content-wrapper .accordion-item + .accordion-item{ margin-top:.75rem; }

/* ===== Alconox “Story” Mosaic ===== */
.story-mosaic{
  display:grid;
  gap: 12px;
  grid-template-columns: repeat(12, 1fr);
  align-items: stretch;
}

/* Cards */
.story-mosaic__item{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius: 14px;
  background:#f8fafc;
  border:1px solid #e6eef7;
  box-shadow: 0 1px 2px rgba(1,24,62,.03);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.story-mosaic__item img{
  width:100%; height:100%; display:block;
  object-fit: cover;               /* crops to fit the tile nicely */
}

/* Desktop layout (≥992px) */
@media (min-width: 992px){
  .story-mosaic__item--wide{ grid-column: span 7; aspect-ratio: 16 / 9; }
  .story-mosaic__item--tall{ grid-column: span 5; aspect-ratio: 3 / 4;  }
}

/* Tablet (≥768px & <992px) */
@media (min-width: 768px) and (max-width: 991.98px){
  .story-mosaic{ grid-template-columns: repeat(6, 1fr); }
  .story-mosaic__item--wide{ grid-column: span 6; aspect-ratio: 16 / 9; }
  .story-mosaic__item--tall{ grid-column: span 3; aspect-ratio: 3 / 4;  }
}

/* Mobile (<768px): simple stacked, uniform height */
@media (max-width: 767.98px){
  .story-mosaic{ grid-template-columns: 1fr; }
  .story-mosaic__item{ aspect-ratio: 16 / 10; }
}

/* Hover */
.story-mosaic__item:hover{
  border-color:#d6e4f3;
  box-shadow: 0 8px 24px rgba(1,24,62,.08);
  transform: translateY(-2px);
}

@media(max-width:600px) {
  .coa-content {
  margin-top:0px;
}
}

.popover.lot-popover { max-width: 360px; }
  .centered-list ul { list-style-position: inside; text-align: left; }
  #lotInfo { cursor: help;
    font-size:25px;
  position: relative;
    top: 5px;
    left: -5px;
    color: #4893de; }

.about-images img {
  height:200px;
  width:100%;
  object-fit:cover;
}

/* Add asterisk to My Account Number label */
tr:has(#shipping_account_field) th::after {
    content: " *";
    color: #dc3545;
    font-weight: bold;
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  display:none;
}

.chat914-chat-window {
  z-index:999999999999999!important;
}

/* Newsletter CTA */
.newsletter-cta {
  background: linear-gradient(135deg, #0a3d6b 0%, #062a4a 100%);
  padding: 40px 0;
  position: relative;
  overflow: hidden;
}

.newsletter-cta::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -5%;
  width: 300px;
  height: 300px;
  background: rgba(26, 143, 227, 0.06);
  border-radius: 50%;
}

.newsletter-cta .cta-content h3 {
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 8px;
}

.newsletter-cta .cta-content p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 16px;
  margin: 0;
  max-width: 520px;
}

.newsletter-cta .cta-btn {
  display: inline-block;
  background: #56b3f5;
  color: #fff;
  padding: 14px 32px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.2s ease;
}

.newsletter-cta .cta-btn:hover {
  background: #fff;
  color: #062a4a;
  transform: translateY(-2px);
}

@media (max-width: 991px) {
  .newsletter-cta {
    text-align: center;
    padding: 30px 0;
  }
  .newsletter-cta .cta-content p {
    max-width: 100%;
  }
}

/* --- Footer --- */

  .top-footer {
    color:#fff;
    background-color:#021e47
  }

  .top-footer a {
    color:#fff;
    font-weight:400;
  }

  .top-footer h4 {
    color:#56b3f5;
    font-weight: 300;
  }
  .top-footer ul {
    list-style:none;
    padding:0;
    margin:0;
  }

  .top-footer .soc-footer a {
    background-color: #56b3f5;
    padding: 5px;
    border-radius: 50%;
    margin-right: 5px;
  }

  .footer-logo {
    text-align:right;
  }

  .top-footer .iso-footer {
    color: #fff;
    font-size: 14px;
    border: 2px solid;
    border-radius: 15px;
    padding: 5px 10px;
    width:100%;
    text-align: center;
  }

  .iso-footer a i {
    font-size: 14px;
    margin-right:5px;
    padding: 5px;
}

@media(max-width:500px) {
    .footer-logo {
        text-align:left;
        margin-top: 30px;
    }
    .top-footer .iso-footer {
       float: none;
        width: auto;
        margin-left: 0;
    }
  }


footer {
	background-color:#011128;
	padding:20px;
	color:#fff;
    text-align:center;
}

footer p {

}

footer .credit .site-by {
	font-size: 10px;
    position: relative;
    top: 2px;
}

@media(max-width:600px) {
    footer .credit {
	float:none;
    margin-top:15px;
}
}