/*-----------------------------------------------------------------------------------
 Theme Name: American Electro Products
 Description: American Electro Products WordPress Theme.
 Version: 0.1
 Author: Imagine It Consulting Inc.
 Theme URI: https://www.TrustImagine.com
 Author URI: https://www.TrustImagine.com

/*
 * CH01 - Browser Reset & Compliancy
 * CH02 - Main Styles & Typography
 * CH03 - Custom Styles
 * CH04 - Page Structure
 * CH05 - TopBar, Header & Navigation
 * CH06 - Content, Forms & Media
 * CH07 - Footer
 * CH08 - WordPress Styles
 * CH09 - Responsive
*/

/*----------- CH01 Browser Reset -----------*/
/* Essential Box Sizing */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Remove default margin from common elements */
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

/* Remove list styles on lists with role 'list' */
ul[role='list'], ol[role='list'] {
  list-style: none;
}

/* Basic body settings */
body {
  min-height: 100vh;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
}

/* Responsive images */
img, picture {
  max-width: 100%;
  display: block;
}

/* Inherit font styles for form elements */
input, button, textarea, select {
  font: inherit;
}



/* Accessibility Compliancy */

/* Skip link */
#skip-link { 
  color: white; 
}

/* Elements hidden but accessible to screen readers */
.element-invisible { 
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px; 
  width: 1px;
}

/* Focusable elements: visibility on focus for keyboard navigation */
.element-invisible.element-focusable:focus {
  position: static !important;
  clip: auto; 
  overflow: visible; 
  height: auto;
}

/* Screen reader text, visible on focus */
.screen-reader-text { 
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important; 
  height: 1px; 
  width: 1px; 
  overflow: hidden; 
}

.screen-reader-text:focus {
  clip: auto !important; 
  display: block; 
  width: auto; 
  height: auto;
  background-color: #f1f1f1; 
  padding: 15px 23px 14px; 
  border-radius: 3px; 
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  font-size: 0.875rem; 
  font-weight: bold; 
  color: #21759b; 
  text-decoration: none; 
  line-height: normal; 
  z-index: 100000;
  top: 5px; 
  left: 5px; 
}

/*----------- CH02 Main Styles & Typography -----------*/
.hide-on-mobile, .hide-on-phone {display:initial} .hide-on-desktop {display:none}

:root {
  --primary-color: #000;
  --secondary-color: #000;
  --accent1-color: #000;
  --accent2-color: #000;
  --accent3-color: #000;
  --link-color: #000;
  --link-hover-color: #000;
  --body-text-color: #000;
	
  --font-size-base: 1em;
  --font-size-small: 0.875em;
  --font-size-medium: 1.5em;
  --font-size-large: 2em;
  --line-height-base: 1.5;
  --line-height-tight: 1.25;
	
  --spacing-1: 1%;
  --spacing-2: 2%;
  --spacing-3: 3%;
	
  --transition-duration: 0.3s;
  --transition-easing: ease;
}

/* Additional styles using the variables */
body {background: #fff; font-family: 'Poppins', sans-serif; font-size: var(--font-size-base); line-height: var(--line-height-base);color: var(--body-text-color);}

a {font-weight:600;color: var(--link-color);transition: color var(--transition-duration) var(--transition-easing);}
a:hover {color: var(--link-hover-color);}
a:focus, :focus {outline: thin dotted !important;}
a[href^="tel:"] {white-space: nowrap}

.button:hover {color: var(--secondary-color);}

h1,h2,h3,h4,h5,h6 {font-weight:400;margin: 25px 0 10px;line-height:1.2}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {color: inherit;}
h1 a:hover,h2 a:hover,a:hover h2,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover { text-decoration: none;}
h1 {font-size: var(--font-size-large); line-height: var(--line-height-tight); margin: 10px 0 20px;}
h2 {font-size: var(--font-size-medium);  text-transform:uppercase;position: relative;}
h2:after {content: "";position: absolute;bottom: 15%;width: -webkit-fill-available;height: 1px; background: #343434; margin-left: 5px;}
.no-rule:after {background:none}
h3 {font-size: 1.25em; margin: 10px 0 5px;}
h4 {font-size: 1.125em; margin: 10px 0 5px;}
h5 {font-size: 1.0em; margin: 10px 0 5px;}
h6 {font-size: 0.875em;}

h1, h2, h3, h4, h5, h6 {color: var(--primary-color);}

em {font-style: italic;}
strong {font-weight: bold; font-weight: 600;}
small {font-size: 80%;}
hr, .wp-block-separator {border: solid; border-width: 1px 0 0; clear: both; margin: 20px 0; height: 0;border-color: var(--accent1-color);}
.pipe {margin:0 .5%;}

/* Typography > Font Sizes */
.em-14px {font-size: 0.875em;}
.em-18px {font-size: 1.125em;}
.em-21px {font-size: 1.313em;}
.em-24px {font-size: 1.500em;}
.em-36px {font-size: 2.25em;line-height:1.125}
.em-48px {font-size: 2.75em;line-height:1.125}
.em-60px {font-size: 3.75em;line-height:1.25}

/* Typography > Font Smoothing */
body.smooth-fonts {-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

/* Typography > Paragraph */
p {margin-bottom: var(--spacing-1);}

/* Sup/Sub */
sup, sub {vertical-align: baseline; position: relative; top: -0.4em;font-size:.75em}
sub {top: 0.4em;}

/*----------- [CH03 Custom Styles] -----------*/

.has-primary-color-color {color: var(--primary-color);}
.has-secondary-color-color {color: var(--secondary-color);}
.has-accent-1-color-color {color: var(--accent1-color);}
.has-accent-2-color-color {color: var(--accent2-color);}
.has-accent-3-color-color {color: var(--accent3-color);}

.has-primary-color-background-color {background-color: var(--primary-color);}
.has-secondary-color-background-color {background-color: var(--secondary-color);}
.has-accent-1-color-background-color {background-color: var(--accent1-color);}
.has-accent-2-color-background-color {background-color: var(--accent2-color);}
.has-accent-3-color-background-color {background-color: var(--accent3-color);}

.accent2-bkgd {background-color: var(--accent2-color); }


/* Hero */
*{box-sizing:border-box;}
.full-hero{width:100%;overflow:hidden;margin:0 auto;}
.hero-wrap{display:flex;align-items:stretch;width:100%; font-size: 1.125em;font-weight: 600;}
.hero-wrap h1 {color:#fff; padding: 0; margin: 0; line-height: 1.5;font-size: 1.325em;}
.hero-left{flex:0 0 45%;overflow:hidden;}
.hero-image{display:block;width:100%;height:100%;object-fit:cover;}
.hero-right{flex:0 0 55%;display:flex;flex-direction:column;justify-content:space-between;padding:0 20px;gap:15px;}
.hero-feature{position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;background:var(--primary-color);color:#fff;padding:20px;opacity:0;transform:translateY(20px);}
a.hero-feature {text-decoration: none;}
.feature-border-left {transition: color 0.3s ease 0s;}
.feature-border-left:hover {transition-delay: 0.1s;}
.feature-border-right {transition: color 0.4s ease 0s;}
.feature-border-right:hover {transition-delay: 0.2s;}
.feature-border-both {transition: color 0.35s ease 0s;}
.feature-border-both:hover {transition-delay: 0.15s;}
.feature-border-both{border-left:10px solid var(--accent1-color);border-right:10px solid var(--accent1-color);}
.feature-border-left{border-left:10px solid var(--accent1-color);border-radius:0 25px 25px 0}
.feature-border-right{border-right:10px solid var(--accent1-color);border-radius:25px 0 0 25px;}
.hero-feature::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--accent1-color);transform:scaleX(0);transform-origin:left center;transition:transform .4s ease-out;z-index:-1;}
.hero-feature.feature-border-right::before{transform-origin:right center;}
.hero-feature.feature-border-both::before{transform-origin:center center;}
.hero-feature:hover::before{transform:scaleX(1);}
.hero-feature:hover {color:var(--body-text-color)}
.hero-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;}
.hero-row .hero-feature{flex:0 0 calc(50% - 10px);}
@keyframes fadeSlideUp{to{opacity:1;transform:translateY(0);}}
@keyframes slideInLeft{0%{opacity:0;transform:translateX(-40px);}100%{opacity:1;transform:translateX(0);}}
@keyframes slideInRight{0%{opacity:0;transform:translateX(40px);}100%{opacity:1;transform:translateX(0);}}
.hero-feature-top{animation:fadeSlideUp 0.6s ease-out 0s forwards;}
.hero-feature-row-1-left{animation:slideInLeft 0.6s ease-out .2s forwards;}
.hero-feature-row-1-right{animation:slideInRight 0.6s ease-out .2s forwards;}
.hero-feature-row-2-left{animation:slideInLeft 0.6s ease-out .4s forwards;}
.hero-feature-row-2-right{animation:slideInRight 0.6s ease-out .4s forwards;}
.hero-feature-row-3-left{animation:slideInLeft 0.6s ease-out .6s forwards;}
.hero-feature-row-3-right{animation:slideInRight 0.6s ease-out .6s forwards;}
.hero-feature-row-4-left{animation:slideInLeft 0.6s ease-out .8s forwards;}
.hero-feature-row-4-right{animation:slideInRight 0.6s ease-out .8s forwards;}
.hero-feature-row-5-left{animation:slideInLeft 0.6s ease-out 1s forwards;}
.hero-feature-row-5-right{animation:slideInRight 0.6s ease-out 1s forwards;}
.material-symbol {border-right: 1px solid var(--accent1-color); padding-right: 20px; font-weight: 300; font-size: 1.5em;transition: border 0.4s ease 0.2s;}
.hero-feature:hover .material-symbol {border-right-color: var(--body-text-color);}

@media(max-width:1366px){
	.hero-left{flex:0 0 40%;} .hero-right{flex:0 0 60%;}
	.material-symbol {font-size: 1.25em;padding-right: 15px;}
	.hero-feature {gap:15px}
}
@media(max-width:1200px){
	.hero-left{flex:0 0 35%;} .hero-right{flex:0 0 65%;}
}
@media(max-width:1023px){
.hero-wrap{flex-direction:column;gap: 20px;}
.hero-left,.hero-right{flex:1 1 100%;}
.hero-row .hero-feature{flex:0 0 calc(50% - 10px);} /* ← change this back from 100% */
.hero-image{max-height:400px;}
}

@media(max-width:767px){
.hero-row .hero-feature {flex: 0 0 100%;}
.feature-border-left, .feature-border-right {
  border-left:10px solid var(--accent1-color);
  border-right:10px solid var(--accent1-color);
  border-radius:0;
}
}

.banner-cta {background:var(--accent3-color); color:var(--body-text-color); align-items:center}
.banner-cta h1 {font-size:1.75em;    margin: 5px 0 0; }


/*----------- [Plating Finishes Block] -----------*/

.pf-left {width: 45%;float: left;padding: 2rem;}
.pf-left h2 {color: var(--accent1-color);margin-bottom: 1rem;}
.pf-left .pf-description {color: var(--accent2-color);margin-bottom: 2rem;line-height:normal}
.pf-finishes-list {list-style: none;margin: 0;padding: 0;}
.pf-finish-item {margin-bottom: 1.5rem;}
.pf-finish-title {position: relative;display: inline-block;text-transform: uppercase;color: var(--accent2-color);padding-bottom: 0.2rem;cursor: pointer;}
.pf-finish-title::after {content: "";position: absolute;bottom: 0;left: 0;height: 2px;width: 25px;background: var(--accent1-color);transition: width 0.5s ease;}
.pf-finish-item.active .pf-finish-title {color: #fff;}
.pf-finish-item.active .pf-finish-title::after {width: 100%;}

/*---Grayscale to Color---*/
.pf-media-item.pf-grayscale img,.pf-media-item.pf-grayscale video {filter: grayscale(100%);transition: filter 0.3s ease;}
.pf-media-item img,.pf-media-item video {max-width: 100%;display: block;}
.pf-media-item:not(.pf-grayscale) img,.pf-media-item:not(.pf-grayscale) video {filter: none;}

/*---Grid / Media Layout---*/
.pf-right {column-count: 4;column-gap: 1rem;padding: 2rem;}
.pf-media-item {display: inline-block;width: 100%;margin-bottom: 1rem;}
.pf-media-item img,.pf-media-item video {display: block;width: 100%;height: auto;}

/*---Mobile---*/
@media (max-width: 768px) {
.pf-left,.pf-right {float: none;width: 100%;padding: 0;}
.pf-right {grid-template-columns: 1fr;}
}


/*----------- [Industry Slider] -----------*/

.slick-track {margin: 20px auto}
.industry-slider {max-width: 1200px; margin: 0 auto; position:relative;}
.industry-slide {position: relative; overflow: hidden; border: solid 4px white; box-shadow: 0px 2px 19.74px 1.26px rgba(39, 33, 39, 0.35); border-radius:25px; margin:0 15px}
.industry-slide img {width: 100%; height: auto; display: block; transition: transform 0.3s ease;}
.industry-slide:hover img {transform: scale(1.1);}

/* Overlay Styling */
.industry-slide .overlay { position: absolute; top: -77%; /* Adjust this to set the visible part of the overlay */ left: 0; width: 100%; height: 100%; background: rgba(27, 52, 96, 0.9); transition: top 0.3s ease; /* Smooth slide-down animation */}

.industry-slide .heading {  position: absolute; top: 0; left: 0; width: 100%; text-align: center; margin:0; padding:.5em;color: var(--accent1-color);  font-size: 1.75em;    background: rgba(27, 52, 96, 0.9); /* Consistent background for the heading */ z-index: 2; /* Ensure it’s always on top */}

/* Hover Content Hidden Initially */
.industry-slide .overlay .hover-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 55%; /* Center hover content vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%);
    opacity: 0; /* Hide content initially */
    transition: opacity 0.3s ease, transform 0.3s ease;
	width: inherit;
	padding: 0 15px;
}

/* Hover State: Expand Overlay and Show Content */
.industry-slide:hover .overlay {top: 0;}
.industry-slide:hover .overlay .hover-content {
    opacity: 1; /* Fade in hover content */
    transform: translate(-50%, -50%); /* Reset translation */
}

/* Hover Content Styling */
.industry-slide .overlay .hover-content p {font-size: 1em; margin: 1em 0; color: #fff; text-align: center;}
.industry-slide .overlay .hover-content .btn {background-color: var(--accent1-color); color: var(--primary-color); padding: 0.5em 1em; border-radius: 4px; text-decoration: none; transition: background-color 0.3s ease, color 0.3s ease;}
.industry-slide .overlay .hover-content .btn:hover {color: var(--primary-color); background-color: #fff;}


.icon-text {line-height: 1.125; font-size: 1.25em;}

@media (max-width: 767px) {
.industry-slide .overlay { top: -85%;}
}

@media (max-width: 425px) {
	.industry-slide .overlay { top: -75%;}
		.industry-slide .heading {font-size: 1.5em;}

}

/*----------- [Animated Content Sections] -----------*/
/* Base animation class */
.animate-element {
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

/* Initial state: offscreen to the left */
.animate-left {
  transform: translateX(-100px);
}

/* Initial state: offscreen to the right */
.animate-right {
  transform: translateX(100px);
}

/* Visible state: animate into place */
.animate-element.animate-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Overview Content Grid Blocks */
.overview-header h2:after {content:"";    height: 0;}
.overview-header {text-align:center}

.content-grid {text-align: center;}
.content-grid {text-align: center;} 
.grid-wrapper {display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;} 
.grid-card {background: var(--accent2-color); border-radius: 25px; overflow: hidden; box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3); padding: 10px; text-align: center; transition: transform 0.3s ease; display: flex; flex-direction: column; justify-content: space-between; height: 100%;} 
.grid-card:hover {transform: translateY(-5px);} 
.grid-card img {max-width: 100%; border-radius: 10px; margin-bottom: 15px; transition: filter 0.3s ease;} 
.grid-card:hover img {filter: grayscale(100%);} 
.grid-card-title {font-size: 1.125em; margin-bottom: 10px; color: var(--primary-color);} 

/* Simple Cards */
.card-section {padding:20px; background:var(--accent3-color)}
.card-section h2 {margin-top: 0;}
.card-wrap {display: flex;flex-wrap: wrap;gap: 20px;justify-content: center;    margin: 20px 0;}
.card {background-color: #fff;width: calc(33% - 20px);padding: 20px;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);border-radius: 6px;}
.card h3 {margin-top: 0;}
.card p {margin-bottom: 0;}

.pullquote {width:20ch}
.pullquote hr {border-width: 10px 0 0;margin: 20px 0; width:150px; color:var(--accent1-color)}
.pullquote .head, .pullquote .subhead {width:25ch}
.head {font-size:3em; line-height:1.25; font-weight:300}
.subhead {font-size:1.25em; line-height:1; font-weight:600; text-transform:uppercase}


/*----------- [CH04 Page Structure] -----------*/
#outer-wrap {overflow: hidden;}
.container { width:90%; max-width: 1440px; /* or 1400px based on preference */
    margin: 0 auto !important; /* Center horizontally */}
.container-80 { width:90%; max-width: 80ch;margin: 0 auto !important;padding: 0 1em; }
.container.rounded, .container .rounded {border-radius:40px}

.wp-block-group.content-section .container.padding {
    padding: 2% 0;
}


.rounded-box {border-radius: 20px}
.full-width-section {
    width: 100%;
    background-color: #f5f5f5; /* Example background color */
    padding: 2em 0;
}
.content-area {width: 100%; max-width: none !important;min-height: 500px;}

#content-wrap-sr, #content-wrap-sl  {display: flex;flex-wrap: wrap; column-gap:30px}
.content-area { flex: 3;}
.sidebar-right { flex: 1;}
.sidebar-left { flex: 1; order: -1; /* Place the left sidebar before the content area */}



/*----------- [CH05 - TopBar, Header & Navigation] -----------*/

/* The sticky class is added to the header with JS when it reaches its scroll position */
.sticky {position: fixed !important;top: 0;width: 100%; border-bottom:2px solid #eee;}

/* Add some top padding to the page content to prevent sudden quick movement (as the header gets a new position at the top of the page (position:fixed and top:0) */
.sticky + .site-main {padding-top: 110px;}

#top-bar-wrap {background-color: var(--primary-color);}


/* Alert Wrap */
#alert-wrap {background: var(--accent1-color); color: var(--primary-color); padding: 1.25%; text-align:center; font-size: 1em; border-bottom: solid 3px var(--accent1-color);}
#alert-wrap p {margin:0px;display:inline}
#alert-wrap .fa {margin-right:5px}
#alert-wrap a {color: var(--secondary-color); text-decoration: underline;}
#alert-wrap strong {font-size:1.125em}

/* Header Layout */
#site-header-inner {display: flex; justify-content: space-between; align-items: center;    padding: 1% 0;}

/* Navigation and Logo Layout */
#site-navigation-wrap {display: flex; justify-content: space-between; align-items: center; width: 100%;}
#nav-content {flex: 1; display: flex; flex-direction: column; align-items: flex-end; gap: 1em;} /* Stacks Top and Main Nav */

/* Logo to the Right */
#nav-logo {flex: 0 0 auto;}
#nav-logo img {margin-left: 5%; object-fit: contain; display: block;max-width: 150px; height: auto;}

/* Logo */
#site-logo {flex:0 1 auto;} 
#site-logo img {max-width:237px;width:100%; height: auto; }

/* Top Navigation */
#top-navigation {display: flex; align-items: center; justify-content: flex-end; gap: 1em; width: 100%;padding:10px 0}
.topnav {display: flex; align-items: center; gap: 1em; list-style: none; padding: 0; margin: 0;}
.topnav li {display: inline-block;}
.topnav li a {color: #fff; font-size: .9em; text-decoration: none; font-weight: 500;}
.topnav li a:hover {text-decoration: underline;}
.topnav li:after { content: "|"; color: #fff; padding-left: 15px;}
.topnav li:last-child:after {content:none}
.header-separator {color: #999; font-size: 1em;}
.header-phone, .header-quote {display: flex !important; align-items: center; gap: 0.3125em;}
.header-phone .material-symbols-outlined, .header-quote .material-symbols-outlined  {font-size: 1.125em; color: #fff;vertical-align: top;}
.phone-number, .quote-button {color: var(--secondary-color); text-decoration: none; font-size: 1em;}
.phone-number:hover, .quote-button:hover {text-decoration: underline;}

.header-link {display:initial}
.topnav-link {display:none}


/* Main Navigation */
#site-navigation {display: flex; justify-content: flex-end; align-items: center; width: 100%;}
#site-navigation .nav-menu {display: flex; gap: .25em; list-style: none; padding: 0; margin: 0;flex-wrap: wrap;    justify-content: center;  align-items: center;}
#site-navigation .nav-menu li {position: relative;}
#site-navigation .nav-menu li a {color: var(--primary-color); font-size: 1em; text-decoration: none; font-weight: 500; padding: 0.5em 1em;}
#site-navigation .nav-menu li a:hover {color:#fff;background-color: var(--primary-color); }
#site-navigation .nav-menu li:hover > a {color: #fff;  background-color: var(--primary-color);}

/* Dropdown Menu */
/* Dropdowns are hidden initially but can transition */
#site-navigation .nav-menu ul {
    display: block; /* Prevents display: none from breaking transitions */
    position: absolute;
    top: calc(100% + 0.25em);
    left: 0;
    padding: 0;
    margin: 0;
    background: var(--accent3-color);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
    list-style: none;
    min-width: 250px;
    z-index: 10;
    color: var(--primary-color);
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.4s ease-in-out, max-height 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

/* When hovering over a parent, smoothly reveal the dropdown */
#site-navigation .nav-menu li:hover > ul {
    opacity: 1;
    visibility: visible;
    max-height: 500px; /* Adjust based on content size */
}

#site-navigation .nav-menu ul li {display: block;}
#site-navigation .nav-menu ul li a {padding: 0.5em 1em; color:var(--primary-color); display: block; transition: background-color 0.3s ease, color 0.3s ease; font-size: 0.9em;}
#site-navigation .nav-menu ul li a:hover {background-color: var(--accent3-color); color:var(--primary-color);}

#site-navigation .nav-menu ul ul {position: relative; top: 0; left: 0;  margin-top: 0.25em; background: var(--accent3-color); box-shadow: none;}
#site-navigation .nav-menu ul li:hover > a {background-color: var(--primary-color); color: #fff;}
#site-navigation .nav-menu ul ul li a {padding: 0.5em 1em; color:var(--primary-color); display: block;}
#site-navigation .nav-menu ul ul li a:hover {background-color: var(--primary-color); color: #fff;}
#site-navigation .nav-menu li:hover > ul ul {display: block;}
#site-navigation .nav-menu .always-highlight > a {
    background-color: var(--secondary-color) !important;
    color: #fff !important;
}

/* Ensure it stays the same even on hover */
#site-navigation .nav-menu .always-highlight > a:hover {
    background-color: var(--secondary-color) !important;
    color: #fff !important;
}




/* Mobile Menu Styling */
#mobile-menu { position: fixed; top: 0; left: -100%; width: 50%; height: 100vh; background-color: #fff; box-shadow: 2px 0 5px rgba(0, 0, 0, 0.3); z-index: 9999; transition: left 0.2s ease-in-out; padding-top: 60px; overflow-y: auto; }
#mobile-menu.open { left: 0; }
#menu-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0, 0, 0, 0.5); z-index: 9998; }
#menu-overlay.active { display: block; }
#mobile-menu .mobile-nav-menu {list-style:none;padding:0;margin:0;}
#mobile-menu .sub-menu li { display: block; width: 100%; border-bottom: 1px solid #ddd;}
#mobile-menu .mobile-nav-menu li a { display: block; padding: 15px 20px; font-size: 18px; color: var(--primary-color); text-decoration: none; }
#mobile-menu .mobile-nav-menu li a:hover { background-color: #f2f2f2; color: #000; }
#mobile-menu .sub-menu {
    position: relative;
    width: 100%;
    background-color: #fff;
    display: block; /* Keep it in the flow */
    height: 0; /* Collapsed state */
    max-height: 0; /* Prevent immediate pop-in */
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out;
}
#mobile-menu .sub-menu.open {
    height: auto; /* Allow natural height */
    max-height: 1000px; /* Large enough to accommodate submenu items */
    opacity: 1;
    padding: 0;
}

#mobile-menu .sub-menu li { border-bottom: 1px solid #ddd; }
#mobile-menu .menu-item { width: 100%; position: relative; }
#mobile-menu .menu-item-has-children { position: relative; }
#mobile-menu .submenu-toggle { position: absolute; right: 10px; top: 27px; transform: translateY(-50%); background: none; border: none; font-size: 20px; font-weight: bold; cursor: pointer; color: var(--primary-color); display: block; height: auto; z-index: 10;transition: top 0.3s ease-in-out;}
#menu-toggle { background-color: transparent; border: none; font-size: 28px; cursor: pointer; padding: 10px; color: #fff; }
#menu-toggle:focus { outline: 2px solid #000; }
#menu-close { position: absolute; top: 10px; right: 10px; background: none; border: none; font-size: 24px; color: var(--primary-color); cursor: pointer; z-index: 10000; }
#menu-close:focus { outline: 2px solid #000; }
/* Responsive Styling */
@media (min-width: 1024px) { #mobile-menu, #menu-overlay { display: none !important; } #menu-toggle { display: none; } }
@media (max-width: 1023px) { #site-navigation { display: none; } }
@media (max-width: 768px) { #mobile-menu {width: 75%;} }
@media (max-width: 425px) { #mobile-menu {width: 100%;} }


/*----------- [CH06 - Content, Forms & Media] -----------*/

/*----------- [Page Title] -----------*/
.page-header {background: linear-gradient(to bottom, var(--accent3-color), #fff);  margin: 0px; padding: 5px 0 0;  position: relative; border-bottom:1px solid var(--accent1-color)}
.page-header .container {position: relative;}
.header-title {display: inline-block; font-size: 1.75em; font-weight: 400;    margin: 10px 0;}

/*----------- [Breadcrumbs] -----------*/
#breadcrumbs {font-size:.825em; padding:5px 0 0 }

/*----------- [Contact Forms] -----------*/
div.wpcf7 .wpcf7-not-valid {
    border-color: var(--accent1-color) !important;
    color: var(--accent1-color) !important;
}
span.wpcf7-not-valid-tip {display: none !important;}
div.wpcf7 input, div.wpcf7 textarea {max-width: 100%;}
div.wpcf7-validation-errors {margin: 20px 0 0; padding: 10px; text-align: center; font-weight: 400; font-size: 0.923em; color: var(--accent1-color); background: var(--accent1-color); border: 1px solid var(--accent1-color);}
div.wpcf7 .wpcf7-mail-sent-ok {margin: 10px 0 0; padding: 10px; text-align: center; background: var(--accent1-color); border: 1px solid var(--secondary-color); color: var(--primary-color); font-weight: normal;}
div.wpcf7-mail-sent-ng {margin: 0; padding: 10px; background: #ffe9e9; color: #d04544; border: 1px solid #e7a9a9;}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output { background: #e00000;color: #fff; margin: 10px 0; border: none; padding: 0.75em;}

/*fixes */
button, input, select, textarea {font-size: 100%; margin: 0; vertical-align: baseline;font-family: inherit;}

/* turn off number spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {-webkit-appearance: none; margin: 0;}

/* reset search styling */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {display: none;}

/* input normal */
input[type="text"],
input[type="password"], input[type=file],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea {color: #757575; background: #f7f7f7; padding: .6em .6em; display: inline-block; font-size: 1em; transition: .15s linear border; -webkit-appearance: none; max-width: 100%; border: 1px solid #e4e4e4; font-family: inherit;margin-top: 5px;}

/* textarea */
textarea {width: 100%; max-width: 100%; -webkit-appearance: none; font-family: inherit;}

/* remove chrome yellow autofill */
input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px #f7f7f7 inset;}

/* placeholder color */
::-webkit-input-placeholder {color: inherit;}
:-moz-placeholder {color: inherit;}
::-moz-placeholder {color: inherit;}
:-ms-input-placeholder {color: inherit;}

.contact-form {overflow: hidden;}
.contact-form input[type="text"],
.contact-form input[type="password"], .contact-form input[type=file],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="url"],
.contact-form textarea {color: #656565; border-top:none; border-left:none; border-right:none; border-bottom: 1px solid #ddd; padding: .6em .6em; display: inline-block; font-size: 1em; transition: .15s linear border; -webkit-appearance: none; max-width: 100%; font-family: inherit; width:100%;}
.contact-form textarea {height:80px}
.contact-form input[type="submit"] {text-transform: uppercase; background: var(--primary-color); color: #fff !important;padding:10px 20px !important;width:100%; font-size:1.25em;-webkit-appearance: none;margin:10px 0; border:none}
.contact-form input[type="submit"]:hover {background-color: var(--secondary-color);color: #fff;cursor:pointer}
.contact-form input[type=file] {border:none}

/* Google Material Icons */
.material-icons {
  font-size: 1.25em;
  padding-right: 5px;
  color: var(--accent1-color);
}

/* Responsive Table */
.responsive-table-container {overflow-x: auto; width: 100%; max-width: 1440px; margin: 0 auto;}
table {width: 100%; border-collapse: collapse;}
table caption {caption-side: top; font-size: 1.2em; margin-bottom: 10px; font-weight: bold;}  
table th, table td {padding: .625em;text-align: center;}
table th {font-size: .85em;letter-spacing: .1em;text-transform: uppercase;background: var(--primary-color); color: #fff}
thead th {background-color: #f2f2f2; color: var(--primary-color);}
table tr { background: var(--accent1-color); border: 1px solid var(--accent1-color); padding: .35em;}
tbody tr:hover {background-color: #f9f9f9;}
th, td {border: 1px solid #ddd; padding: 10px; text-align: center;}

@media screen and (max-width: 1023px) {
table{font-size: .85em;}
}

@media screen and (max-width: 768px) {
.responsive-table-container {width: 90%;}
table, thead, tbody, th, td, tr {display: block;}
table caption {display: block;}
thead {display: none;}
tr {border: 1px solid #ddd;margin-bottom: 1rem;padding: 10px;}
table td {position: relative; padding-left: 50%; text-align: left; border: none; border-bottom: 1px solid #ddd; margin-bottom: 10px;}
td::before {content: attr(data-label); position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-weight: bold; white-space: nowrap;}
th[scope="row"] {padding: 10px; text-align: left; display: block;}
th, td {padding: 8px; font-size: 14px;}
td:empty {display: none;}

}
@media screen and (max-width: 601px) {
.responsive-table-container {width: 95%;}
table td {padding-left: 60%;}
}
@media screen and (max-width: 425px) {
td::before {white-space: normal; max-width: calc(50% - 20px);}
}

/*----------- [CH07 Footer] -----------*/

.site-footer {background: var(--secondary-color); color: #fff; margin-top:50px;border-radius:25px 25px 0 0 }
.site-footer .container, .site-footer-lower .container {padding: 10px 0 0;}
.site-footer ul {margin: 0;}
.site-footer a, .site-footer-lower a {color:var(--accent1-color); text-decoration:none;}
.site-footer a:hover, .site-footer-lower a:hover {color:#fff}
.site-footer a span { vertical-align: middle;}
p.footer-heading {font-size: 1.25em !important;}
.footer-logo img {padding:0 0 5px; max-width:230px}
.site-footer-lower {background: var(--primary-color); color: #fff;}
.site-footer p, .site-footer-lower p {font-size: 0.875em;line-height:1.5}

.site-footer .is-layout-flex, .site-footer-lower .is-layout-flex {margin:0}

/* Footer > Bottom */
#footer-bottom {min-height: 30px; color: #222; font-size: 0.75em;}
#footer-bottom-inner {position: relative;}
#footer-bottom p:last-child {margin: 0;}
#footer-bottom > .container {padding-top: 10px; padding-bottom: 10px;}

.copy-left, .copy-right {width:50%;float:left}
.copy-right {text-align:right;}

/* Footer > Social */
#footer-bottom-menu {position: absolute; right: 0; top: 50%; margin-top: -20px; height: 40px; line-height: 40px;}
#footer-bottom-menu ul {list-style: none; margin: 0;}
#footer-bottom-menu ul li {float: left; margin-left: 20px;}
#footer-bottom-menu ul li:first-child {margin-left: 0;}
#footer-bottom-menu ul li .fa {margin-right: 7px;}


.wp-block-list.footer-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0em;
    list-style: none;
    padding: 0;
    margin: 0;
	flex-wrap:wrap
}

.wp-block-list.footer-nav li {
    display: inline-block;
    position: relative;
    font-size: 1em;
    color: #fff;
}

/* Add pipe separator between items */
.wp-block-list.footer-nav li + li::before {
    content: "|";
    margin: 0 0.5em;
    color: var(--accent1-color); /* Adjust color as needed */
}


/*----------- [Commons] -----------*/
.no-wrap {white-space:nowrap}

/* Commons > Displays */
.block {display: block;}
.inline-block {display: block; display: inline-block;}
.inline {display: inline;}

/* Commons > Margins */
.no-margin {margin: 0;}
.no-bottom-margin {margin-bottom: 0;}
.no-left-margin {margin-left: 0;}
.no-right-margin {margin-right: 0;}
.remove-last-p-margin p:last-child {margin: 0;}
.margin-1 {margin: 1%;}
.margin-2 {margin: 2%;}
.margin-3 {margin: 3%;}
.margin-1h {margin: 0 1% !important;}
.margin-2h {margin: 0 2% !important;}
.margin-3h {margin: 0 3% !important;}
.margin-4h {margin: 0 4% !important;}
.margin-5h {margin: 0 5% !important;}
.margin-10h {margin: 0 10% !important;}
.margin-1v {margin: 1% 0 !important;}
.margin-2v {margin: 2% 0 !important;}
.margin-3v {margin: 3% 0 !important;}
.margin-4v {margin: 4% 0 !important;}
.margin-5v {margin: 5% 0 !important;}

/* Commons > Paddings */
.no-padding {padding: 0;}
.no-left-padding {padding-left: 0;}
.no-right-padding {padding-right: 0;}
.padding-1 {padding: 1%;}
.padding-2 {padding: 2%;}
.padding-3 {padding: 3%;}
.padding-1h {padding: 0 1%;}
.padding-2h {padding: 0 2%;}
.padding-3h {padding: 0 3%;}
.padding-4h {padding: 0 4%;}
.padding-5h {padding: 0 5%;} 
.padding-1v {padding: 1% 0;}
.padding-2v {padding: 2% 0;}
.padding-3v {padding: 3% 0;}
.padding-4v {padding: 4% 0;}
.padding-5v {padding: 5% 0;}

/* Commons > Border Radius */
.semi-rounded {border-radius: 4px;}
.rounded img {border-radius: 40px;}
.round {border-radius: 50%;}

.rounded.has-accent-3-color-background-color .rounded img {    border-radius: 30px; margin-bottom: 10px;}


/*----------- [Theme Buttons] -----------*/
.theme-button, input[type="submit"], button, .wp-block-button__link {text-transform:uppercase;
    background:  var(--accent1-color);
    color: var(--primary-color);
}
.theme-button:hover, input[type="submit"]:hover, button:hover, .wp-block-button__link:hover {
    background-color:var(--secondary-color);color:#fff
}
.theme-button:active,input[type="submit"]:active,button:active, .wp-block-button__link:active {color: #fff; box-shadow: 0 2px 2px rgba(0,0,0,.1) inset;}

/* readmore link edits */
.readmore-link-wrap {display: block;}
.search-entry .readmore-link-wrap {margin-top: 10px;}
.readmore-link {display: block; float: left;}

/* make some buttons smaller */
.readmore-link {font-size: 0.846em;}

/*sizes & alignments*/
.theme-button.small {font-size: 0.923em;}
.theme-button.medium {font-size: 1.077em;}
.theme-button.large {font-size: 1.385em;}
.theme-button.rounded {border-radius:5px}

/*----------- [Images] -----------*/
img {max-width: 100%; height: auto; vertical-align: bottom;}

.vertical-align {vertical-align:middle}

/* Commons > Image Classes */
.image-shadow {background: #fff; box-shadow: 0px 1px 3px rgba(0,0,0,0.1);}
.image-border {background: #fff; padding: 4px; border: 1px solid #ddd;}
.image-rounded {background: #fff; border-radius: 3px;}
.image-circle {background: #fff; border-radius: 99px;}
.image-hover:hover {opacity: 0.8; -webkit-opacity: 0.8; -moz-opacity: 0.8;}
.image-fancy {background: #fff; padding: 4px; border: 1px solid #ddd; -moz-border-radius: 99px; -webkit-border-radius: 99px; border-radius: 99px;}
.image-fancy:hover {opacity: 0.8; -webkit-opacity: 0.8; -moz-opacity: 0.8; box-shadow: 0px 1px 5px rgba(0,0,0,0.2);}

/* Responsive Videos and iFrames */
.responsive-video-wrap,
.responsive-audio-wrap {position: relative; padding-bottom: 56.25%; padding-top: 25px; height: 0;}
.responsive-video-wrap  iframe,
.responsive-audio-wrap iframe,
.responsive-video-wrap object,
.responsive-audio-wrap oject,
.responsive-video-wrap embed,
.responsive-audio-wrap embed {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.entry .entry-video {margin-bottom: 20px;}
.entry iframe, .entry embed {max-width: 100%;}

.video-sq {max-width:600px}

/*----------- [WordPress Styles] -----------*/
.aligncenter {display: block; margin: 0 auto;}
.wp-caption {text-align: center; max-width: 100%; border: 1px solid #eee; background-color: #fff; padding: 8px;}
.wp-caption img {display: block; margin: 0 auto; padding: 0; border: 0 none;}
.wp-caption p.wp-caption-text {font-size: 0.875em; padding: 10px 0 0; margin: 0; text-align: center;}
.wp-caption.alignnone {margin-bottom: 20px;}
.wp-smiley {margin: 0; max-height: 1em;}
#img-attch-page {text-align: center; overflow: hidden;}
#img-attch-page img {display: inline-block; margin: 0 auto; max-width: 100%; margin-bottom: 20px;}
.post-password-form label,
.post-password-form input {display: block; float: none;}
.post-password-form input {margin-top: 10px;}
.post-password-form input[type="password"] {width: 200px; max-width: 100%;}
.post-password-form label {font-weight: bold; font-weight: 600; color: #000;}
form.login {padding: 20px; border: 1px solid #eee;}
form.login .lost_password {margin-left: 20px; display: inline-block;}
.wpstats {display: none;}

/* 404 Error Page */
.error404-content {text-align: center; margin: 50px 0; font-size: 1.077em;}
.error404-content h1 {font-size: 3.231em; margin: 0 0 10px;}

/*----------- [Entries (Global Styles)] -----------*/

/* Entries > Title */
.entry-title {display: block; font-size: 1.077em; margin: 0 0 5px; font-weight: bold; font-weight: 600; color: #000;}
.entry-title a {color: inherit;}
.entry-title a:hover {text-decoration: none;}
.single-post-title {font-size: 1.846em; margin: 0 0 10px; font-weight: 400;}

/*----------- [Post Meta] -----------*/
/* Meta Styling */
ul.meta {
    display: flex; /* Use Flexbox for alignment */
    gap: 15px; /* Adds spacing between meta items */
    align-items: center; /* Vertically center-aligns icons and text */
    list-style: none;
    margin: 0 0 20px !important;
    padding: 0;
}

.meta, .entry .meta {
    font-size: 0.9em; /* Adjust font size slightly for a cleaner look */
    color: var(--body-text-color); /* Use variable for text color */
}

/* Meta Items */
.meta li, .entry .meta li {
    display: flex; /* Flex container for each meta item */
    align-items: center; /* Vertically centers icon and text */
    margin: 0; /* Reset margin */
}

/* Adjust icon spacing */
.meta li .material-icons {
    font-size: 1.1em; /* Adjust icon size */
    margin-right: 5px; /* Space between icon and text */
    color: var(--accent1-color); /* Use color variable for icon */
}

/* Last item adjustment (Flexbox takes care of spacing) */
.meta li:last-child {
    margin-right: 0;
}

/* Meta links */
.meta a {
    color: var(--body-text-color); /* Use variable for link color */
    text-decoration: none;
}

.meta a:hover {
 text-decoration: underline;
}

/* Time Element */
.meta time {
    display: inline;
}


/*----------- [Blog] -----------*/

/* New Flex Container for Blog Page */
.blog-content-wrap {
    display: flex;
    gap: 20px; /* Adjust the gap between content and sidebar */
}

/* Adjust the width ratios for content and sidebar */
.blog-content-area {
    flex: 0 0 65%; /* 65% width */
    max-width: 65%;
}

.blog-sidebar {
    flex: 0 0 35%; /* 35% width */
    max-width: 35%;
}

.blog-sidebar .widget {
    margin: 20px;border-radius: 12px; box-shadow: 0px 2px 4px rgba(0,0,0,0.1);
    padding: 15px;
    border: 1px solid var(--accent2-color);
}

.article-nav {display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;width: 100%;}
.article-nav a {font-weight:400}
.prev-article { text-align: left; flex: 1; }
.next-article { text-align: right; flex: 1; }
.post h2:after, .entry h2.wp-block-heading:after, .widget-wrap h2:after {content:none}
.post h2 a {text-decoration: none;}
.post h2 a:hover {text-decoration: underline;}


.blog-entry-readmore {
    margin-top: 15px; /* Add spacing above */
    text-align: left; /* Align to the left */
}

.blog-entry-readmore a {
    display: inline-block;
    padding: 10px 20px;
    background: var(--accent1-color);
    color: var(--primary-color);
    text-decoration: none;
    font-size: 0.875em;
    border-radius: 5px;
    transition: background var(--transition-duration) var(--transition-easing);
}

.blog-entry-readmore a:hover {
    background-color: var(--primary-color);
    color: #fff;

}

#content .social-share-buttons li:before {content: none;}
.social-share-buttons.position-horizontal li a {border: none;}
.blog-entry a.blog-entry-media-link {display: block; margin: 0 auto;}
.blog-entry-media img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}
.single-post .blog-entry.grid-entry-style.format-quote {width: 100%; margin: 0;}
.format-quote {overflow: hidden;}
.blog-entry-readmore span.readmore-rarr {margin-left: 7px;}
.blog-entry .social-share-title {display: none;}
.blog-entry-excerpt p:last-child {margin: 0;}

.widget_categories h3, .widget_recent_entries h3 {border-bottom: 1px solid; text-align:left;}
.widget_categories li:after, .widget_recent_entries li:after {content: '\f054'; font-family: 'Font Awesome\ 5 Free';font-weight: 900; float: right; color: #86c232;}
#recent-posts-2 ul li a { display: contents;}
#recent-posts-2 ul li { margin: 2% 0;}
/*----------- [Blog Entry] -----------*/
.blog-entry-title {font-size: 1.846em; margin: 0 0 10px; font-weight: 400;}
.blog-entry-media, .blog-entry-excerpt, .blog-entry-readmore {margin-bottom: 20px;}

/* Blog Entry > Quote Format */
.blog-entry.format-quote .post-quote-entry-inner {position: relative; display: block; padding: 20px 30px; font-size: 1.231em; z-index: 2; background: #f7f7f7;}
.blog-entry.format-quote p:last-child {margin: 0;}
.blog-entry.format-quote .quote-entry-author {margin-top: 15px; font-size: 0.923em; font-weight: 300; text-decoration: underline;}
.blog-entry.format-quote .fa-quote-right {position: absolute; right: 15px; bottom: 15px; color: #999; font-size: 60px; display: block; z-index: 1; opacity: 0.15;}


/*----------- [Single Blog Posts] -----------*/
.single-post .entry {margin-bottom: 40px;}

/* Blog Single > Meta */
.content-full-screen .meta {display: none;}
.single-post .meta {margin: 0 0 20px;}
.single-post .meta.meta-with-title {border: none; padding: 10px 0;}

/* Blog Single > Thumbnail */
#post-media {display: block; position: relative; margin-bottom: 20px;}
#post-media img {display: block; margin: 0 auto; width: 100%;}
.post-media-caption {position: absolute; bottom: 0; left: 0; width: 100%; padding: 10px 15px; background: #000; background: rgba(0,0,0,0.75); color: #fff; font-size: 0.923em; font-weight: normal; text-align: center;}
.post-media-caption p {color: #fff;}
.post-media-caption a {color: #fff; text-decoration: underline;}
.post-media-caption p:last-child {margin: 0;}

/* Blog Single > Tags */
.post-tags {margin-bottom: 40px;}

/* Blog Single > Related Posts */
.related-posts {margin-bottom: 20px; overflow: hidden;}
.related-posts li {margin-bottom: 20px;}
.related-posts li:last-child,
.related-posts li p:last-child {margin-bottom: 0;}
.related-post-thumb {display: block;}
.related-post-thumb img {display: block; width: 100%;}
.related-post-title {margin: 0 0 5px; display: block;}
.related-post-content {padding: 10px; background: #f7f7f7; border: 1px solid #eee;}
.related-post-excerpt {font-size: 0.923em; line-height: 1.7em;}
.related-post-excerpt p:last-child {margin: 0;}

/* Blog Single > Quote */
.single .format-quote {position: relative; display: block; padding: 20px 30px; font-size: 1.231em; z-index: 2; background: #f7f7f7;}
.single .format-quote p:last-child {margin: 0;}
.single .format-quote .quote-entry-author {margin-top: 15px; font-size: 0.923em; font-weight: 300; text-decoration: underline;}
.single .format-quote .fa-quote-right {position: absolute; right: 15px; bottom: 15px; font-size: 60px; display: block; z-index: 1; opacity: 0.1;}


/*----------- [Social Sharing] -----------*/
/* Social Sharing */
.social-share-wrap { margin: 3% 0;width: max-content;}
.social-share.position-horizontal {display:inline; list-style:none !important;margin: 0 !important;}
.social-share.position-horizontal li {float: left; margin: 0 5px 5px 0; border: none; margin: -3px 0 0 12px;}
.social-share.position-horizontal .svg-inline--fa {margin-right:5px}

.social-share li a {height: 35px; line-height: 35px; text-align: center;transition: all .15s ease-in-out;text-decoration: none;}

.social-share li a.share-x {background: #000; color:#fff; padding:0px 15px 0 20px; background-image:url("/wp-content/uploads/2024/09/x_logo_white_18.png"); background-repeat: no-repeat; background-position: center left 10px;background-size: 15px; width:auto;display:inline-block;}
.social-share li a.share-x:hover{background:#f3f3f3;background-image:url("/wp-content/uploads/2024/09/x_logo_black_18.png");background-repeat: no-repeat; background-position: center left 10px;background-size: 15px; color:#000;}

.social-share li a.share-facebook {background: #1877f2; color:#fff; padding:0px 15px 0 25px; background-image:url("/wp-content/uploads/2024/09/fb_logo_white_18.png"); background-repeat: no-repeat; background-position: center left 10px;background-size: 17px; width:auto;display:inline-block;}
.social-share li a.share-facebook:hover {background: #f3f3f3;color: #1877f2;background-image:url("/wp-content/uploads/2024/09/fb_logo_blue_18.png"); background-repeat: no-repeat; background-position: center left 10px;background-size: 17px; width:auto;display:inline-block;}

.social-share li a.share-pinterest {background: #cb2027; color:#fff; padding:0px 15px 0 25px; background-image:url("/wp-content/uploads/2024/09/p_badge_white_18.png"); background-repeat: no-repeat; background-position: center left 10px;background-size: 15px; width:auto;display:inline-block;}
.social-share li a.share-pinterest:hover {background: #f3f3f3;color: #cb2027;background-image:url("/wp-content/uploads/2024/09/p_badge_red_18.png"); background-repeat: no-repeat; background-position: center left 10px;background-size: 15px; width:auto;display:inline-block;}

.social-share li a.share-linkedin {background: #4875B4; color:#fff; padding:0px 15px 0 30px; background-image:url("/wp-content/uploads/2024/09/in_logo_white_18.png"); background-repeat: no-repeat; background-position: center left 10px;background-size: 17px; width:auto;display:inline-block;}
.social-share li a.share-linkedin:hover {background: #f3f3f3;color: #4875B4;background-image:url("/wp-content/uploads/2024/09/in_logo_blue_18.png"); background-repeat: no-repeat; background-position: center left 10px;background-size: 17px; width:auto;display:inline-block;}

/*----------- [Pagination] -----------*/
.pagination {clear:both;padding:20px 0;position:relative;font-size:.9em; overflow:hidden}
.pagination span, .pagination a {display:block;float:left;margin: 2px 2px 2px 0;padding:6px 9px 5px 9px;text-decoration:none;width:auto;color:#fff;background: #888;}
.pagination a:hover{color:#fff;background: #444;}
.pagination .current{background: #000;color:#fff;}

/*next/previous posts*/
.post-pagination {border-top: 1px solid #eee; padding: 30px 0; color: #888;}
.post-pagination .post-prev {float: left; width: 48%;}
.post-pagination .post-prev span {margin-right: 5px}
.post-pagination .post-next {float: right; width: 48%; text-align: right;}
.post-pagination .post-next span {margin-left: 5px;}
.post-pagination a {color: #888;}
.content-full-screen .post-pagination {display: none;}

/*standard*/
ul.page-numbers {list-style: none; margin: 10px 0 0;}
ul.page-numbers li {display: block; float: left; margin: 0 4px 4px 0; text-align: center;}
.page-numbers a,
.page-numbers span {line-height: 1; display: block; padding: 0.5em 0.75em; font-size: 0.923em; text-decoration: none; font-weight: normal; font-weight: 400; cursor: pointer; border: 1px solid #ddd; color: #fff; transition: all .15s ease-in-out;}
.page-numbers a span {padding: 0;}
.page-numbers a:hover,
.page-numbers.current,
.page-numbers.current:hover {color: var(--body-text-color); background: var(--accent2-color); text-decoration: none;}
.page-numbers:hover {text-decoration: none;}

/*----------- [Widgets] -----------*/
.widget ul {list-style: none !important; margin: 0 !important;}
.widget_product_categories ul ul li:last-child {border-bottom: none; padding-bottom: 0;}
.widget_product_categories ul ul li {padding-left: 15px}

/* Widgets > Recent Posts */
.widget_recent_entries {background-color: #efe7da; padding: 20px; border-radius: 12px; box-shadow: 0px 2px 4px rgba(0,0,0,0.1); margin-bottom: 20px;} 

/* Widgets > Recent Posts */
.widget-wrap h2 {margin: 0 0 12px 0; font-size: 1.2rem; font-weight: 600; color: #252338; padding-bottom: 8px; border-bottom: 2px solid #e1daca;} 
.widget-wrap ul {list-style: none; margin: 0; padding: 0;} 
.widget-wrap ul li {margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid #e1daca;} 
.widget-wrap ul li:last-child {border-bottom: none; margin-bottom: 0;} 
.widget-wrap a {font-size: 1rem; font-weight: 500; color: #252338; text-decoration: none; transition: color 0.3s ease-in-out;} 
.widget-wrap a:hover {color: #805d45; text-decoration: underline;}

.post h2 a {text-decoration: none;}


/*----------- [Search] -----------*/

/*search input*/
.searchform {position: relative}
.menu-search-text {display: none;}
.searchform input {width: 100%; background-repeat: no-repeat; background-position: right center; padding: .8em 30px .8em .8em;}
.searchform .searchform-submit {position: absolute; top: 50%; right: 15px; height: 20px; line-height: 20px; margin: -10px 0 0; background: none; padding: 0; border: 0; color: #000; font-size: 11px; opacity: 0.5;}
#footer .searchform input {background-color: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.06); border: none; padding: .8em;}

/*search results page*/
#search-no-results {font-size: 1.231em; margin-bottom: 20px;}

/*entries*/
.search-entry {position: relative; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #eee; padding-left: 130px; min-height: 120px;}
.search-entry-no-thumb {padding-left: 0; min-height: 0;}
.search-entry h2 {font-size: 1.313em; margin: 0 0 10px; font-weight: bold; font-weight: 600;}
.search-entry-thumb {position: absolute; top: 0; left: 0; width: 100px; padding: 4px; border: 1px solid #eee;}
.search-entry-thumb img {display: block; width: 100%;}
.search-entry-thumb img:hover {opacity: 0.8}
.search-entry-text p:last-child {margin: 0}

/*search site overlay - modal*/
#searchform-overlay {display: none; width: 350px; top: 120px; -webkit-transform: scale(0.5); -moz-transform: scale(0.5); -ms-transform: scale(0.5); transform: scale(0.5); -webkit-transition: transform 0.4s; -moz-transition: transform 0.4s; transition: transform 0.4s;}
#searchform-overlay.active {-webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1);}
#searchform-overlay-title {font-size: 2.154em; margin: 0 0 20px; font-weight: 400; color: #fff; text-align: center; text-transform: capitalize;}
#searchform-overlay input {font-size: 1.077em; background: #fff; -webkit-appearance: none !important; width: 100%; border: 0; padding: 0; padding-right: 40px; padding-left: 20px; height: 45px; color: #000; font-weight: 400; border-radius: 3px; box-shadow: 0 0 4px rgba(0,0,0,0.7);}
#searchform-overlay .searchform-submit {font-size: 18px;}
#searchform-overlay .searchform-submit:hover {opacity: 1;}

/*header replace*/
#searchform-header-replace {position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: #fff; visibility: hidden; opacity: 0; transition: all 0.25s ease-in-out;}
#searchform-header-replace form {height: 100%; width: 100%;}
#searchform-header-replace input {height: 100%; width: 100%; border: 0; -webkit-appearance: none;  -moz-border-radius: none; -webkit-border-radius: none; border-radius: 0; font-size: 32px; text-transform: uppercase; color: #bbb; background: none;}
#searchform-header-replace-close {position: absolute; right: 0; top: 50%; margin-top: -20px; height: 40px; line-height: 40px; font-size: 26px; color: #bbb; cursor: pointer;}
#searchform-header-replace-close:hover {color: #000}
body.boxed-main-layout #searchform-header-replace input {padding: 0 30px}
body.boxed-main-layout #searchform-header-replace-close {right: 30px}

/*display search on click*/
#searchform-dropdown.show,
#searchform-header-replace.show {visibility: visible; opacity: 1;}


/*----------- [Print Styles] -----------*/
@media print { 
	#sidebar,
	#footer-callout-wrap,
	#footer,
	#footer-bottom,
	#top-bar-wrap,
	.toggle-bar-btn,
	.post-pagination,
	.related.products,
	.product form.cart { display: none }
	.container { width: 100%; padding: 0; }
}

/*----------- [CH09 Responsive] -----------*/

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

@media screen and (max-width: 1280px) {
#site-navigation .nav-menu {gap:0}
#site-navigation .nav-menu li a {padding: 0.5em 0.75em}
#nav-logo img {max-width: 100px;}
#site-logo img {width: 100%;max-width: 185px;}
	.entry .wp-block-image .alignright {max-width:50%; }
	.entry .wp-block-image img {margin:0 auto}
	.grid-wrapper {grid-template-columns: repeat(2, 1fr);}
}

@media screen and (max-width: 1023px) {
.header-link {display:none !important}
#site-logo img {width: 100%;max-width: 200px;}
.topnav-link {display:block}
#top-navigation {width:auto;}
#nav-logo img { max-width: 140px; }
.hero-section {display: flex; flex-direction: column; align-items: center; gap: 1em;} /* Stack columns vertically */
.hero-section .wp-block-column:first-child, 
.hero-section .wp-block-column:last-child {width: 100%; margin-right: 0; text-align: center;} 
.hero-section .video-block {margin: 0 auto;}
.hero-section .headline {font-size: 1.5em; margin-bottom: 1em; text-align: center;}
.hero-section .subheading {text-align: center;} 
.hero-section .wp-block-buttons>.wp-block-button {display: inline-block; margin: 0.5em auto;} 
.hero-section ul {list-style-position: inside; text-align: left;  margin: 2% auto 0; display: inline-block; }
.hero-section ul li {margin-bottom: 0.5em; }
#footer .wp-block-columns {flex-direction: column; align-items: center;}
#footer .wp-block-column {flex-basis: 100%; text-align: center; }
.footer-logo img {margin:0 auto}
.wp-block-list.footer-nav {display:none}
.site-footer-lower {padding:1% 0 0}
.copy-left, .copy-right {text-align:center;width: 100%;float: none;}
.blog-content-wrap {flex-direction: column; /* Stack content and sidebar */}
.blog-content-area, .blog-sidebar {max-width: 100%; flex: 0 0 100%;}
.card {width: calc(50% - 20px);}
.head {font-size: 2.25em;}
.rmp-menu-item {white-space: nowrap; }
}

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

/*-- List Fix --*/
.wp-block-columns.cont-list.is-layout-flex.wp-block-columns-is-layout-flex {gap: 0 !important;}
.wp-block-columns.cont-list.is-layout-flex ul.wp-block-list {margin: 0;}
.container.rounded, .rounded-box {padding:4%}
.banner-cta h1 {font-size: 1.5em;text-align: center;}
.banner-cta .wp-block-button {margin: 0 auto;}
}

@media screen and (max-width: 768px) {
.container {padding:1.0em; }
#site-header-inner {flex-direction: column;align-items: center;}
#site-navigation-wrap {flex-direction:column;gap:1em;}
#header-contact {justify-content:flex-start;}
#content-wrap-sl, #content-wrap-sr {flex-direction: column;}
.copy-left, .copy-right {text-align:center}
.content-area {float: none;max-width: 100% !important;width: 100%;}
:where(.wp-block-columns.has-background) {padding: 1.25em;}
.footer-nav {flex-direction: column; gap: 0.5em; text-align: center;}
.footer-nav li + li::before {content: ""; margin: 0;} /* Remove pipes on mobile */
.entry .wp-block-image .alignright { float: none; margin: 1em auto;}
#top-navigation {padding:0}
}

@media screen and (max-width: 601px) {
.wp-block-image {float: none; margin: 3% auto;display: block;text-align:center}
#site-logo { margin: 2% auto;}
.site-footer {padding:2%}
#footer-inner .wp-block-column.padding-1 {padding: 0% 10%;}	
.card {width:100%;}
.grid-wrapper {grid-template-columns: repeat(1, 1fr);}
}

@media screen and (max-width: 425px) {
#footer-bottom {font-size:.65em}
#top-bar .container {padding: 1.0em 0;}
.topnav {gap: .75em;}
.topnav li:after {    padding-left: 10px;}
.banner-cta h1 {font-size: 1.25em;}
}

@media screen and (max-width: 424px) {
.industry-slide .overlay .hover-content p {font-size: .9em;}
		.slick-slide img {min-height: 210px;}

}
