/*
  Theme Name: Versa Creative
  Theme URI: https://www.elegantthemes.com/
  Version: 1.0.0
  Template: Divi
  Author: Versa Creative
  Author URI: https://versacreative.com/
  Description: This is a child theme of Divi developed by Versa Creative.
  Text Domain: versa-creative
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

code,pre {
  font-family: Arial,monospace;
  margin-bottom: 10px
}

html {
scroll-behavior: smooth;
}

body {
font-family: "Times New Roman", sans-serif;
overflow-x: hidden;
}

/* ======================= Utility ======================= */
.blue_text{
color:#0092FF;
}

h1,h2,h3,h4,h5,h6{
font-family: "avenir-next-lt-pro-condensed", sans-serif;
font-style: normal;
}


a {
color: #0082c6;
}

.f-100 {
font-weight: 200;
}

.f-200 {
font-weight: 200;
}

.f-300 {
font-weight: 300;
}

.f-400  {
font-weight: 400;
}

.f-500  {
font-weight: 500;
}

.f-600  {
font-weight: 600;
}

.f-700  {
font-weight: 700;
}

.et_pb_button {
line-height: 1  !important;
}

.plus .percent-value:after {
content: \"+\";
}

.et_pb_number_counter .percent {
height: auto;
}

.dipl_image_card_carousel_item {
margin-bottom: 0 !important;
}

/*add icon to the opened accordion*/
.add-accordion-icon .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
display: block !important;
content: "\f068" !important;
}

.horizontal-line {
height: 3px;
max-width: 35px;
background-color: #051342;
border: none;
margin: 10px auto 20px;
}

hr.light-blue {
background-color: #0BA3A4 !important;
}

.et_pb_space {
height: 0 !important;
}

/* LAYOUT STYLES */

.mb-0 {
margin-bottom: 0 !important;
}

.pb-0 {
padding-bottom: 0;
}


.d-flex {
display: flex;
}

.align-center {
text-align: center;
margin-left: auto;
margin-right: auto;
}

.align-left {
text-align: left;
margin-left: 0;
}

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

.justify-content-center {
display: flex;
flex-wrap: wrap;
justify-content: center;
}

@media only screen and (max-width: 980px) {
.half-mobile .et_pb_column.et_pb_css_mix_blend_mode_passthrough {
  width: 47.25% !important;
  margin-right: 0;
}
.half-mobile .et_pb_column:nth-child(2n+1) {
  margin-right: 5.5% !important;
}
}

@media only screen and (max-width: 980px) {
.wrap-reverse {
  display: flex;
  flex-wrap: wrap-reverse;
}

.wrap-reverse .et_pb_column:first-child {
  margin-bottom: 0 !important;
}

.wrap-reverse .et_pb_column:last-child {
  margin-bottom: 30px !important;
}
}

@media only screen and (min-width: 768px) {
.inline-button .et_pb_button_module_wrapper {
  display: inline-block;
} 
}

.two-column-list {
margin-top: 20px
}

@media only screen and (min-width: 981px) {
.two-column-list {
  columns: 2;
  margin-top: 20px
}
}


@media only screen and (min-width: 981px) {
.two-percent-gutter .et_pb_column:not(last-child) {
  margin-right: 2% !important;
}

.two-percent-gutter .et_pb_column {
  width: 32% !important;
}
}

@media only screen and (max-width: 980px) {
.two-percent-gutter.et_pb_gutters1 .et_pb_column:not(last-child) {
  margin-bottom: 2em !important;
}
}


.show-mobile-only {
display: none !important;
visibility: hidden !important
}

@media (max-width:980px) {
.show-mobile-only {
  display: block !important;
  visibility: visible !important
}
}

.show-desktop-only {
display: block !important;
visibility: visible !important
}

@media (max-width:980px) {
.show-desktop-only {
  display: none !important;
  visibility: hidden !important
}
}

/* NAVBAR */

.et-db #et-boc .et-l .primary-menu a, .et-db #et-boc .et-l .primary-menu .et_mobile_menu li a {
font-size: 17px !important;
line-height: 1.2em;
font-weight: 400;
letter-spacing: 1.27px;
color: #000;
text-transform: uppercase;
transition: all 0.3s;
}

.et-db #et-boc .et-l #menu-main-menu-primary a:hover {
color: #E1001D;
opacity: 1 !important;
}

.et-db #et-boc .et-l #menu-main-menu-primary .current_page_item > a, #menu-main-menu-primary .current-menu-ancestor a {
opacity: 1 !important;
color: #E1001D !important;
}

.et-db #et-boc .et-l .et_pb_menu #menu-main-menu-primary li,
.et-db #et-boc .et-l .et_pb_menu #menu-secondary-menu li {
padding-left: 1.5vw;
padding-right: 1.5vw;
}

.et-db #et-boc .et-l .et-menu .menu-item-has-children>a:first-child:after {
content: '';
}

.et-db #et-boc .et-l .et-menu .menu-item-has-children>a:first-child {
padding-right: 0;
}

/* Secondary Desktop Menu Caret Alignment */
.et-db #et-boc .et-l #menu-secondary-menu li.menu-item-has-children > a,
.et_pb_menu #menu-secondary-menu li.menu-item-has-children > a {
display: inline-flex !important;
align-items: center !important;
position: relative !important;
}

.et-db #et-boc .et-l #menu-secondary-menu li.menu-item-has-children > a::after,
.et_pb_menu #menu-secondary-menu li.menu-item-has-children > a::after,
.et-db #et-boc .et-l .et-menu #menu-secondary-menu .menu-item-has-children > a:first-child::after {
content: "\33" !important;
font-family: "ETModules" !important;
font-size: 11px !important;
line-height: 1 !important;
margin-left: 6px !important;
margin-right: 0 !important;
position: relative !important;
top: 5px !important;
z-index: 2 !important;
transition: transform 0.2s ease !important;
}

.et-db #et-boc .et-l #menu-secondary-menu li.menu-item-has-children:hover > a::after,
.et_pb_menu #menu-secondary-menu li.menu-item-has-children:hover > a::after {
transform: rotate(180deg) !important;
}

/* ==========================================
 MOBILE MENU OVERFLOW & STACKING FIX
========================================== */

/* 1. Ensure all header wrappers allow dropdowns to spill outside their box */
.et_pb_section,
.et_pb_row,
.et_pb_column,
.et_pb_menu,
.et_pb_menu__menu {
overflow: visible !important;
}

/* 2. Target the TOP Section/Row and force it above the white header Section */
.et-l .et_pb_section:first-child,
.et_pb_section_0_tb_header,
body .et_pb_section.top-bar-menu,
body .et_pb_section_0 {
z-index: 999999 !important;
position: relative !important;
}

/* 3. Lower the SECOND (White Logo) Header Section so top dropdown floats over it */
.et-l .et_pb_section:nth-child(2),
.et_pb_section_1_tb_header,
body .et_pb_section_1 {
z-index: 999 !important;
position: relative !important;
}

/* 4. Position the mobile dropdown menu overlay & enable touch scrolling */
ul#mobile_menu1.et_mobile_menu,
.et_pb_menu_0 ul.et_mobile_menu,
.et_pb_menu .et_mobile_menu {
position: absolute !important;
top: 100% !important;
right: 0 !important;
width: 100% !important;
max-height: calc(100vh - 80px) !important; /* Limits menu height to fit screen */
overflow-y: auto !important;             /* Enables internal scrolling */
-webkit-overflow-scrolling: touch !important; /* Smooth momentum scroll on iOS */
z-index: 999999 !important;
box-shadow: 0 5px 15px rgba(0,0,0,0.15) !important;
}

@media (max-width: 980px) {
.et-db #et-boc .et-l .top-bar-menu .et_pb_menu__menu {
  display: flex;
}
.et-db #et-boc .et-l .top-bar-menu .et_mobile_nav_menu {
  display: none;
}
}

.et_mobile_nav_menu {
margin: 0 !important;
}

/* ==========================================
 MOBILE TOGGLE BUTTON (+/-) STYLING
========================================== */

ul.et_mobile_menu li.menu-item-has-children,
ul.et_mobile_menu li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children {
position: relative !important;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
width: 44px !important;
height: 100% !important;
max-height: 44px !important;
padding: 0px !important;
border: none !important;
position: absolute !important;
right: 0px !important;
top: 0px !important;
z-index: 999 !important;
background-color: transparent !important;
text-align: center !important;
opacity: 1 !important;
}

/* Closed State: Centered Plus (+) */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
content: "+" !important;
font-family: inherit !important;
font-size: 20px !important;
font-weight: 300 !important;
color: #333333 !important;
position: absolute !important;
top: 50% !important;
right: 12px !important;
transform: translateY(-50%) !important;
line-height: 1 !important;
height: auto !important;
width: auto !important;
display: block !important;
}

/* Open State: Centered Minus (-) */
ul.et_mobile_menu li.menu-item-has-children.dt-open > .mobile-toggle::after,
ul.et_mobile_menu li.menu-item-has-children.visible > .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open > .mobile-toggle::after {
content: "–" !important;
font-size: 22px !important;
transform: translateY(-55%) !important;
}

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
background-color: transparent !important;
}

/* Submenu display toggling */
ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
display: none !important;
visibility: hidden !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
ul.et_mobile_menu .menu-item-has-children.dt-open > .sub-menu {
display: block !important;
visibility: visible !important;
}

/* NAVBAR END */

/*adjust the new toggle element which is added via jQuery*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
width: 44px;
height: 100%;
padding: 0px !important;
max-height: 44px;
border: none;
position: absolute;
right: 0px;
top: 0px;
z-index: 999;
background-color: transparent;
}


/*some code to keep everyting positioned properly*/

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
position: relative;
}


/*remove default background color from menu items that have children*/

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
background-color: transparent;
}


/*hide the submenu by default*/

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
display: none !important;
visibility: hidden !important;
}


/*show the submenu when toggled open*/

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
display: block !important;
visibility: visible !important;
}

/*adjust the toggle icon position and transparency*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
text-align: center;
opacity: 1;
}


/*submenu toggle icon when closed*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
top: 10px;
position: relative;
font-family: \"ETModules\";
content: \'\\4c\';
color: #ffffff;
padding: 3px;
font-size: 18px;
font-weight: 700;
}


/*submenu toggle icon when open*/

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
content: \'\\4b\';
}

/* CONTACT FORM */

.row {
display: flex;
margin-bottom: 1em;
}

.column {
flex: 50%;
margin-right: 2.5%;
}

.row .column:last-child {
margin-right: 0% !important;
}

@media screen and (max-width: 600px) {
.row {
  flex-direction: column;
}

.column {
  width: 100%;
  margin-right: 0 !important;
}
}

.wpcf7-form-control {
width: 100% !important;
}

.wpcf7-text, .wpcf7-number, .wpcf7-select {
height: 42px;
}

.wpcf7-textarea {
height: 141px;
}

.wpcf7-text, .wpcf7-textarea, .wpcf7-number, .wpcf7-select {
padding: 0.5em !important;
font-size: 16px;
letter-spacing: 0.8px;
}

#contact-form .wpcf7-text, #contact-form .wpcf7-textarea, #contact-form .wpcf7-number, #contact-form .wpcf7-select {
color: #000 !important;
border: 1px solid #000 !important;
}

#contact-form ::-webkit-input-placeholder { /* WebKit browsers */
color: #000 !important;
opacity: 1;
}

.wpcf7-submit {
max-width: 138px;
margin-left: auto;
text-transform: uppercase;
font-size: 24px;
letter-spacing: 0.36px;
padding: 10px;
display: block;
cursor: pointer;
transition: all 0.3s;
font-family: "avenir-next-lt-pro-condensed", sans-serif;
font-style: normal;
background:#0092FF;
border:none;
color:white;
font-weight: 600;
border-radius: 4px;
}

.btn-black {
background: #000;
color: #fff;
border: none;
}

.btn-black:hover {
background: #E1001D;
color: #fff;
}

/* CONTACT FORM END */

/* FOOTER */

.footer-social {
display: flex;
align-items: center;
}

@media (min-width: 981px) {
.footer-social {
  justify-content: flex-end;
}
}

@media (max-width: 980px) {
.footer-social {
  justify-content: center;
}
}

.footer-social-icons:not(:last-child) {
margin-right: 1em;
}

.footer-social-icons {
padding: 5px;
display: inline-block;
}


/* FOOTER END*/

.divider {
width: 5%;
border: none;
border-top: 2px solid #0092FF;
margin-left: 0;
margin-right: auto;
}

.divider + h2 {
margin-top: 1rem;
}

.project-slider {
max-width: 1920px;
width: 100%;
margin: 0 auto;
padding: 2rem 1rem;
}

/* Image strip full width; current slide largest, prev/next partially visible */
.project-slider-track-wrap {
position: relative;
width: 100vw;
left: 50%;
right: 50%;
margin-left: -50vw;
margin-right: -50vw;
overflow: hidden;
}

.project-slider-track {
display: flex;
overflow: visible;
border-radius: 0;
transition: transform 0.4s ease;
}

/* 1. Set container height using viewport height */
.project-slider-slide {
flex: 0 0 70%;
min-width: 70%;
width: 70%;
box-sizing: border-box;
overflow: hidden;

/* Sets slide height relative to screen height */
height: 100vh; /* Adjust this value (e.g., 50vh, 70vh) to fit your design */
}

/* 2. Force the link container to take full height of the slide */
.project-slider-slide-link {
display: block;
cursor: pointer;
text-decoration: none;
color: inherit;

height: 100%;
}

/* 3. Stretch image to fill 100% height without aspect ratio distortion */
.project-slider-slide img {
width: 100%;

/* Takes 100% of the parent's 60vh height */
height: 100%; 

display: block;

/* 'cover' fills all whitespace while cropping excess edges */
object-fit: cover; 

transform: scale(1);
transform-origin: center center;
transition: transform 450ms ease;
will-change: transform;
}

.project-slider-slide:hover img,
.project-slider-slide-link:hover img,
.project-slider-slide:focus-within img {
transform: scale(1.06);
}

/* Uniform slider style: line closer to image, circular arrows below (matches hero carousel) */
.project-slider-controls {
width: 80vw;
max-width: 1920px;
margin: 0 auto;
border-top: 0;
padding-top: 0;
padding-bottom: 0;
display: flex;
flex-direction: column;
align-items: stretch;
gap: 0;
}

.project-slider-pagination {
width: 100%;
padding: 1.5rem 0;
}

.project-slider-progress-track {
height: 2px;
background: #e0e0e0;
position: relative;
border-radius: 2px;
overflow: hidden;
}

.project-slider-progress-fill {
height: 2px;
background: #333;
border-radius: 2px;
position: absolute;
left: 0;
top: 0;
width: 33.333%;
transition: left 0.3s ease;
}

.project-slider-navigation {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
margin-top: 0.75rem;
}

.project-slider-arrow {
width: 44px;
height: 44px;
min-width: 44px;
min-height: 44px;
border-radius: 50%;
border: none;
background: #e8e8e8;
cursor: pointer;
font-size: 18px;
font-weight: 700;
color: #000;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
transition: background 0.2s, box-shadow 0.2s;
display: flex;
align-items: center;
justify-content: center;
}

.project-slider-arrow:hover {
background: #ddd;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.project-slider-content {
width: 80vw;
max-width: 1920px;
margin: 0.75rem auto 0;
}

.project-slider-content-inner {
display: flex;
flex-wrap: nowrap;
align-items: start;
gap: 3rem;
}

.project-slider-content-left {
flex: 0 0 22%;
min-width: 0;
margin-right: 0;
}

.project-slider-content-right {
flex: 1 1 auto;
min-width: 0;
}

@media (max-width: 768px) {
.project-slider-content-inner {
  flex-wrap: wrap;
  gap: 0;
}

.project-slider-content-left,
.project-slider-content-right {
  flex: 1 1 100%;
}
}

.project-slider-name {
margin: 0 0 0.25rem;
font-size: 1.5rem;
font-weight: 700;
color: #333;
}

.project-slider-date {
margin: 0 0 0.75rem;
font-size: 0.9rem;
color: #666;
}

.project-slider-spec-link {
color: #0092FF;
text-decoration: none;
font-weight: 500;
}

.project-slider-spec-link:hover {
text-decoration: underline;
}

.project-slider-description {
margin: 0;
line-height: 1.6;
color: #444;
}

@media (max-width: 768px) {
.project-slider-slide {
  height: auto !important;
}

.project-slider-track-wrap {
  width: 100%;
  left: auto;
  right: auto;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  box-sizing: border-box;
}

.project-slider-track {
  gap: 0;
}

.project-slider-slide {
  flex: 0 0 100%;
  min-width: 100%;
  width: 100%;
  border-radius: 0;
}

.project-slider-slide img {
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.project-slider-controls,
.project-slider-content {
  width: 100%;
}

.project-slider-pagination {
  padding: 1rem 0 0.75rem;
}

.project-slider-navigation {
  margin-top: 0.5rem;
}

.project-slider-arrow {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  font-size: 16px;
}
}

.thermal-control-section table { font-size: 14px; }
@media (max-width: 768px) {
.thermal-control-section table { font-size: 12px; }
.thermal-control-section td,
.thermal-control-section th { padding: 8px !important; }
}

.tech-data-accordion {
margin: 0;
padding: 0;
}

.tech-data-accordion__item {
border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.tech-data-accordion__summary {
list-style: none;
cursor: pointer;
padding: 14px 0;
display: flex;
align-items: center;
justify-content: flex-start;
gap: 12px;
text-decoration: none;
}

.tech-data-accordion__summary:hover,
.tech-data-accordion__summary:focus {
text-decoration: none;
}

.tech-data-accordion__summary::-webkit-details-marker {
display: none;
}

.tech-data-accordion__title {
order: 2;
color: #ffffff;
font-size: 18px;
line-height: 32px;
font-weight: 700;
text-align: left;
}

.tech-data-accordion__icon {
order: 1;
width: 16px;
height: 16px;
background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 6L15 12L9 18' stroke='%2300AEEF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
transform: none;
transition: transform 0.2s ease;
flex: 0 0 auto;
margin-right: 0;
}

.tech-data-accordion__item[open] .tech-data-accordion__icon {
transform: rotate(90deg);
margin-top: 0;
}

.tech-data-accordion__panel {
padding: 0 0 16px;
}

.tech-data-accordion__content {
color: #ffffff;
}

.tech-data-accordion__content p {
margin-top: 0;
margin-bottom: 12px;
}

.tech-data-accordion__table-wrap {
color: #ffffff;
max-width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
margin-bottom: 12px;
}

.tech-data-accordion__table-wrap h3 {
color: #ffffff;
margin: 28px 0 14px;
font-size: 18px;
line-height: 32px;
font-weight: 700;
text-align: left;
}

.tech-data-accordion__table-wrap h3:first-child {
margin-top: 6px;
}

.tech-data-accordion__table-wrap h4 {
color: #ffffff;
margin: 20px 0 12px;
font-size: 18px;
line-height: 32px;
font-weight: 400;
text-align: left;
}

.tech-data-accordion__table-wrap table {
width: max-content;
min-width: 100%;
border-collapse: collapse;
table-layout: auto;
}

.tech-data-accordion__table-wrap th,
.tech-data-accordion__table-wrap td {
border: 1px solid rgba(255, 255, 255, 0.3);
padding: 8px;
color: black;
white-space: nowrap;
}

.entry-content .tech-data-accordion__table-wrap thead th,
.entry-content .tech-data-accordion__table-wrap tr th,
.entry-content thead th,
.entry-content tr th {
color: #000;
}

@media (max-width: 768px) {
.tech-data-accordion__table-wrap table {
  font-size: 12px;
}

.tech-data-accordion__table-wrap th,
.tech-data-accordion__table-wrap td {
  padding: 6px;
}
}

ul.tech-data-list,
.tech-data-list {
list-style: none;
margin: 0;
padding: 0;
}

.tech-data-list li::marker {
content: "";
}

.tech-data-list li {
margin-bottom: 4px;
}

.tech-data-list li a {
position: relative;
display: inline-block;
padding-left: 24px;
font-size: 18px;
line-height: 30px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0;
text-align: left;
color: #ffffff;
text-decoration: none;
}

.tech-data-list li a::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 16px;
height: 16px;
background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 6L15 12L9 18' stroke='%2300AEEF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
}

.tech-data-list li a:hover {
text-decoration: underline;
}

.product-charts {
margin: 0;
padding: 0;
}

.product-charts__section {
margin-bottom: 14px;
}

.product-charts__section-title {
margin: 0 0 8px;
color: #333;
font-size: 18px;
line-height: 32px;
font-weight: 700;
text-transform: uppercase;
text-align: left;
}

.product-charts__section-intro,
.product-charts__section-intro p {
color: #333;
font-size: 18px;
line-height: 32px;
font-weight: 400;
text-align: left;
}

.product-charts-accordion {
margin: 0;
padding: 0;
}

.product-charts-accordion__item {
border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.product-charts-accordion__summary {
list-style: none;
cursor: pointer;
padding: 12px 0;
display: flex;
align-items: center;
justify-content: flex-start;
gap: 12px;
text-decoration: none;
}

.product-charts-accordion__summary::-webkit-details-marker {
display: none;
}

.product-charts-accordion__icon {
width: 16px;
height: 16px;
background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 6L15 12L9 18' stroke='%230092ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
transition: transform 0.2s ease;
flex: 0 0 auto;
}

.product-charts-accordion__item[open] .product-charts-accordion__icon {
transform: rotate(90deg);
}

.product-charts-accordion__title {
color: #333;
font-size: 18px;
line-height: 32px;
font-weight: 400;
text-align: left;
}

.product-charts-accordion__content,
.product-charts-accordion__table-wrap {
color: #333;
font-size: 18px;
line-height: 32px;
font-weight: 400;
text-align: left;
}

.product-charts-accordion__content p,
.product-charts-accordion__table-wrap p,
.product-charts-accordion__table-wrap h3,
.product-charts-accordion__table-wrap h4 {
color: #333;
font-size: 18px;
line-height: 32px;
font-weight: 400;
text-align: left;
margin: 12px 0;
}

.product-charts-accordion__table-wrap {
max-width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.product-charts-accordion__table-wrap table {
width: max-content;
min-width: 100%;
border-collapse: collapse;
}

.product-charts-accordion__table-wrap th,
.product-charts-accordion__table-wrap td {
border: 1px solid #d1d1d1;
padding: 8px;
color: #555;
white-space: nowrap;
font-size: 18px;
line-height: 32px;
font-weight: 400;
}

.product-charts-accordion__link-wrap {
padding: 6px 0;
}

.product-charts-accordion__link {
color: #0092ff;
font-size: 18px;
line-height: 32px;
font-weight: 500;
text-decoration: none;
}

.product-charts-accordion__link:hover {
text-decoration: underline;
}

/* Product charts green variant (used for product_charts_2 by default). */
.product-charts--variant-green .product-charts__section-title,
.product-charts--variant-green .product-charts__section-intro,
.product-charts--variant-green .product-charts__section-intro p,
.product-charts--variant-green .product-charts-accordion__title,
.product-charts--variant-green .product-charts-accordion__content,
.product-charts--variant-green .product-charts-accordion__content p,
.product-charts--variant-green .product-charts-accordion__table-wrap,
.product-charts--variant-green .product-charts-accordion__table-wrap p,
.product-charts--variant-green .product-charts-accordion__table-wrap h3,
.product-charts--variant-green .product-charts-accordion__table-wrap h4,
.product-charts--variant-green .product-charts-accordion__table-wrap th,
.product-charts--variant-green .product-charts-accordion__table-wrap td {
color: #fff !important;
}

.product-charts--variant-green .product-charts-accordion__item {
border-bottom: none !important;
}

.product-charts--variant-green .product-charts-accordion__icon {
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 6L15 12L9 18' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.product-charts--variant-green .product-charts-accordion__table-wrap th,
.product-charts--variant-green .product-charts-accordion__table-wrap td {
border-color: rgba(255, 255, 255, 0.35) !important;
}

.product-charts--variant-green .product-charts-accordion__link {
color: #FFFFFF !important;
border: 2px solid #FFFFFF;
border-radius: 999px;
padding: 2px 12px;
display: inline-block;
line-height: 28px;
font-weight: 600;
text-decoration: none;
}

.product-charts--variant-green .product-charts-accordion__link:hover {
background-color: #00AB3E;
color: #fff !important;
text-decoration: none;
}

.docs-downloads {
padding: 24px 0;
}

.docs-downloads__inner {
margin: 0 auto;
}

.docs-downloads__cols {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: 28px;
}

.docs-downloads__col {
flex: 1 1 220px;
min-width: 220px;
text-align: left;
}

.docs-downloads__col--technical {
margin-left: 0;
}

.docs-downloads__col--single-spec {
text-align: left;
}

.docs-downloads__col--single-spec h2,
.docs-downloads__col--single-spec h3,
.docs-downloads__col--single-spec .docs-spec-title,
.docs-downloads__col--single-spec .docs-spec-links {
text-align: left;
}

.docs-downloads__col h2 {
color: #000;
margin: 0 0 8px;
font-size: 18px;
line-height: 30px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0;
text-align: left;
}

.docs-downloads__col h3,
.docs-downloads__col h4,
.docs-spec-title { 
color: #000;
margin: 0 0 8px;
font-size: 18px;
line-height: 30px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0;
text-align: left;
}

.docs-downloads__col ul {
list-style: none;
margin: 0;
padding: 0;
}

.docs-downloads__col li {
margin-bottom: 4px;
}

.docs-downloads__col a {
display: inline-block;
font-size: 18px;
line-height: 45px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0;
text-align: left;
color: #0092ff;
text-decoration: none;
}

.docs-downloads__col a:hover {
text-decoration: underline;
}

/* Hardcoded literature / technical grids */
.icc-hardcoded-links__col {
text-align: left;
}

.icc-hardcoded-links h2,
.icc-hardcoded-links h3,
.icc-hardcoded-links h4 {
margin: 8px 0 0;
font-family: "Century Gothic Pro", sans-serif;
font-size: 20px;
line-height: 1.3;
font-weight: 700;
text-transform: uppercase;
color: #051b3d;
}

.icc-hardcoded-links ul {
list-style: none;
margin: 0;
padding: 0;
}

.icc-hardcoded-links li {
margin-bottom: 4px;
}

.icc-hardcoded-links__meta a,
.icc-hardcoded-links a {
font-family: "Century Gothic Pro", sans-serif;
font-size: 18px;
font-weight: 400;
color: #051b3d;
text-decoration: none;
}

/* List / column links (not __meta) */
.icc-hardcoded-links__col a {
display: inline-block;
line-height: 32px;
text-transform: capitalize;
text-align: left;
letter-spacing: 0;
}

.icc-hardcoded-links .icc-hardcoded-links__meta a {
line-height: 1.6;
text-transform: none;
}

.icc-hardcoded-links a:hover,
.icc-hardcoded-links__meta a:hover {
text-decoration: underline;
}

body .et_pb_code .et_pb_code_inner .icc-hardcoded-links h2,
body .et_pb_code .et_pb_code_inner .icc-hardcoded-links h3,
body .et_pb_code .et_pb_code_inner .icc-hardcoded-links h4 {
margin: 8px 0 0 !important;
padding: 0 !important;
font-family: "Century Gothic Pro", sans-serif !important;
font-size: 20px !important;
line-height: 1.3 !important;
font-weight: 700 !important;
text-transform: uppercase !important;
color: #051b3d !important;
}

body .et_pb_code .et_pb_code_inner .icc-hardcoded-links__meta a,
body .et_pb_code .et_pb_code_inner .icc-hardcoded-links a {
font-family: "Century Gothic Pro", sans-serif !important;
font-size: 18px !important;
font-weight: 400 !important;
color: #051b3d !important;
text-decoration: none !important;
}

body .et_pb_code .et_pb_code_inner .icc-hardcoded-links__col a {
display: inline-block !important;
line-height: 32px !important;
text-transform: capitalize !important;
text-align: left !important;
letter-spacing: 0 !important;
}

body .et_pb_code .et_pb_code_inner .icc-hardcoded-links .icc-hardcoded-links__meta a {
line-height: 1.6 !important;
text-transform: none !important;
}

body .et_pb_code .et_pb_code_inner .icc-hardcoded-links a:hover,
body .et_pb_code .et_pb_code_inner .icc-hardcoded-links__meta a:hover {
text-decoration: underline !important;
}

/* HPDs & EPDs: keep title and links on the same row */
.docs-hpds-row {
display: flex;
justify-content: flex-start;
align-items: baseline;
gap: 10px;
margin: 0 0 10px;
}

.docs-hpds-row-title {
color: #000;
font-size: 18px;
line-height: 30px;
font-weight: 700;
white-space: nowrap;
}

.docs-hpds-row-links {
color: #0092ff;
font-size: 18px;
line-height: 30px;
font-weight: 500;
white-space: nowrap;
}

.docs-hpds-row-links a {
line-height: inherit;
}

@media (max-width: 768px) {
.docs-hpds-row {
  gap: 8px;
  margin-bottom: 8px;
}

.docs-hpds-row-title {
  font-size: 18px;
  line-height: 30px;
}

.docs-hpds-row-links {
  font-size: 16px;
  line-height: 28px;
}
}

@media (max-width: 768px) {
.docs-downloads__cols {
  flex-direction: column;
  gap: 24px;
}

.docs-spec-title {
  padding-top: 21px;
  margin-top: 6px;
}

.docs-downloads__col,
.docs-downloads__col--technical {
  flex: 1 1 auto;
  margin-left: 0;
}

.docs-downloads {
  padding: 12px 0;
}
}

/* Ensure ICC docs styles win over inline/component CSS blocks. */
.et_pb_code_inner .docs-downloads {
padding: 24px 0 !important;
}

.et_pb_code_inner .docs-downloads__cols {
display: flex;
align-items: flex-start;
gap: 40px !important;
}

.et_pb_code_inner .docs-downloads__col h2 {
color: #000;
font-size: 18px;
line-height: 30px;
font-weight: 700;
text-transform: uppercase;
text-align: left;
}

.et_pb_code_inner .docs-downloads__col h3,
.et_pb_code_inner .docs-downloads__col h4,
.et_pb_code_inner .docs-spec-title {
color: #000;
font-size: 18px;
line-height: 30px;
font-weight: 700;
text-transform: uppercase;
text-align: left;
}

.et_pb_code_inner .docs-downloads__col a {
color: #0092ff;
text-decoration: none;
font-size: 18px;
line-height: 38px;
text-align: left;
padding-bottom: 20px;
}

.et_pb_code_inner .docs-downloads__col {
text-align: left;
}

.et_pb_code_inner .docs-hpds-row {
justify-content: flex-start;
}

@media (max-width: 768px) {
.et_pb_code_inner .docs-downloads {
  padding: 12px 0 !important;
}

.et_pb_code_inner .docs-downloads__cols {
  flex-direction: column;
  gap: 24px !important;
}
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_image_card_title {
display: none !important;
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-container .swiper-button-prev,
.icc-hero-carousel.dipl_image_card_carousel .swiper-container .swiper-button-next {
display: none !important;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_wrapper {
display: flex !important;
flex-direction: column !important;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_inner_wrap,
.icc-hero-carousel.dipl_image_card_carousel .dipl_image_card_carousel_layout.dipl_swiper_inner_wrap {
display: contents !important;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_wrapper .swiper-container {
order: 1 !important;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_wrapper .dipl_swiper_pagination {
order: 2 !important;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_wrapper .dipl_swiper_navigation {
order: 3 !important;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_pagination {
width: 100%;
max-width: 100%;
padding: 0.25rem 0 0.5rem;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_pagination .line.swiper-pagination-bullets {
display: flex;
width: 100%;
gap: 0;
justify-content: stretch;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_pagination .line .swiper-pagination-bullet,
.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_pagination .line .swiper-pagination-bullet-active {
flex: 1;
width: auto !important;
min-width: 0;
height: 4px !important;
margin: 0 !important;
border-radius: 0 !important;
vertical-align: middle;
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-pagination-bullet {
background: #e0e0e0 !important;
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-pagination-bullet-active {
background: #333 !important;
}

.icc-hero-carousel.dipl_image_card_carousel .dipl_swiper_navigation {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
margin-top: 3rem;
padding: 0;
position: relative !important;
top: auto !important;
left: auto !important;
right: auto !important;
width: auto !important;
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-button-prev,
.icc-hero-carousel.dipl_image_card_carousel .swiper-button-next {
position: relative !important;
left: auto !important;
right: auto !important;
top: auto !important;
margin: 0 !important;
width: 44px !important;
height: 44px !important;
min-width: 44px !important;
min-height: 44px !important;
max-height: 44px !important;
border-radius: 50% !important;
overflow: hidden !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
background: #e8e8e8 !important;
border: none !important;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
transition: background 0.2s, box-shadow 0.2s;
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-button-prev:hover,
.icc-hero-carousel.dipl_image_card_carousel .swiper-button-next:hover {
background: #ddd !important;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-button-prev,
.icc-hero-carousel.dipl_image_card_carousel .swiper-button-next {
background-image: none !important;
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-button-prev::after,
.icc-hero-carousel.dipl_image_card_carousel .swiper-button-next::after {
font-size: 18px !important;
font-weight: 700;
color: #000 !important;
margin: 0 !important;
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-button-prev::after {
content: "‹" !important;
}

.icc-hero-carousel.dipl_image_card_carousel .swiper-button-next::after {
content: "›" !important;
}

/* Specs page only: centered docs layout + larger Specifications heading. */
.docs-downloads--specs-page .docs-downloads__cols.docs-downloads__cols--single,
.et_pb_code_inner .docs-downloads--specs-page .docs-downloads__cols.docs-downloads__cols--single {
justify-content: center;
}

.docs-downloads--specs-page .docs-downloads__col,
.et_pb_code_inner .docs-downloads--specs-page .docs-downloads__col {
text-align: left !important;
}

.docs-downloads--specs-page .docs-downloads__col h2,
.et_pb_code_inner .docs-downloads--specs-page .docs-downloads__col h2 {
font-size: 22px !important;
line-height: 34px !important;
text-align: left !important;
}

.docs-downloads--specs-page .docs-downloads__col h3,
.docs-downloads--specs-page .docs-downloads__col h4,
.docs-downloads--specs-page .docs-spec-title,
.docs-downloads--specs-page .docs-downloads__col a,
.docs-downloads--specs-page .docs-downloads__col--single-spec .docs-spec-links,
.et_pb_code_inner .docs-downloads--specs-page .docs-downloads__col h3,
.et_pb_code_inner .docs-downloads--specs-page .docs-downloads__col h4,
.et_pb_code_inner .docs-downloads--specs-page .docs-spec-title,
.et_pb_code_inner .docs-downloads--specs-page .docs-downloads__col a,
.et_pb_code_inner .docs-downloads--specs-page .docs-downloads__col--single-spec .docs-spec-links {
text-align: left !important;
}

.docs-downloads--specs-page .docs-hpds-row,
.et_pb_code_inner .docs-downloads--specs-page .docs-hpds-row {
justify-content: center !important;
}

/* Force-center the anchor-heading variant used for Specifications on specs pages. */
.docs-downloads--specs-page .docs-downloads__col--single-spec > h2#specifications,
.et_pb_code_inner .docs-downloads--specs-page .docs-downloads__col--single-spec > h2#specifications {
display: block !important;
width: 100% !important;
float: none !important;
margin-left: auto !important;
margin-right: auto !important;
text-align: left !important;
}

/*@media (max-width: 980px) {
.docs-downloads--specs-page .docs-downloads__cols.docs-downloads__cols--single {
  align-items: center;
}
}*/

/* Downloads FAQ page only
 Add `downloads-faq` as a CSS Class on the page section/row wrapper in Divi. */
.downloads-faq .et_pb_module.et_pb_toggle {
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}

.downloads-faq .et_pb_toggle .et_pb_toggle_title {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 10px;
padding-right: 0 !important;
}

.downloads-faq .et_pb_toggle .et_pb_toggle_title:before {
position: static !important;
float: none !important;
order: 2;
margin: 0 !important;
line-height: 1;
}

.icc-icon-bullets ul {
list-style: none !important;
padding-left: 0;
margin-left: 0;
}

.icc-icon-bullets ul li {
position: relative;
padding-left: 28px;
margin-bottom: 8px;
}

.icc-icon-bullets ul li::before {
content: "";
position: absolute;
left: 0;
top: 0.35em;
width: 16px;
height: 16px;
background: url("https://icc.versacreativedev.com/wp-content/uploads/2026/02/Check_Icon-Blue.svg") no-repeat center / contain;
}

.et_pb_code_inner .docs-downloads__col a:hover {
  text-decoration: underline;
}

a.green-btn,
.green-btn-row a.green-btn {
  display: inline-block !important;
  width: fit-content !important;
  max-width: 100% !important;
  box-sizing: border-box;
  padding: 16px 30px;
  background-color: #00ab3e;
  color: #fff !important;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.96px;
  text-align: left;
  text-transform: uppercase;
  text-decoration: none;
}

a.green-btn:hover,
.green-btn-row a.green-btn:hover {
  background-color: transparent;
  color: #00ab3e !important;
}

/* ==========================================
 MATCH MAIN MENU SEARCH STYLE
========================================== */

/* 1. Inherit exact fluid spacing (1.5vw) and inline flex layout as primary links */
.et-db #et-boc .et-l #menu-main-menu-primary li.menu-search-toggle,
.et_pb_menu #menu-main-menu-primary li.menu-search-toggle {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
padding-left: 1.5vw !important;
padding-right: 1.5vw !important;
height: 100% !important;
margin-top: 0px;
}

/* 2. Hide link text while maintaining line height and alignment with navigation links */
.et-db #et-boc .et-l #menu-main-menu-primary li.menu-search-toggle > a,
.et_pb_menu #menu-main-menu-primary li.menu-search-toggle > a {
font-size: 0 !important;
line-height: 1.2em !important;
padding: 0 !important;
margin: 0 !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
text-decoration: none !important;
}

/* 3. Render icon (\55) aligned precisely with the capital letter x-height */
.et-db #et-boc .et-l #menu-main-menu-primary li.menu-search-toggle > a::before,
.et_pb_menu #menu-main-menu-primary li.menu-search-toggle > a::before {
content: "\55" !important;
font-family: "ETModules" !important;
font-size: 16px !important;
font-weight: 400 !important;
color: #FFFFFF !important; /* Matches main nav link color (#000) */
line-height: 1 !important;
position: relative !important;
top: -1px !important; /* Micro-adjustment to center icon against uppercase text */
transform: scaleX(-1) !important; /* <--- Flips icon horizontally to point bottom-right */
display: inline-block !important;   /* <--- Required for scaleX transform to apply */
transition: all 0.3s ease !important;
}

/* ==========================================
 INLINE SEARCH MODULE EXPANSION STYLES
========================================== */

/* Container positioning */
li.menu-search-toggle {
position: relative !important;
}

/* Hide and position the Divi Search Module inside the menu item */
#inline-search-bar {
position: absolute !important;
right: 0 !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: 0;
opacity: 0;
visibility: hidden;
z-index: 9999 !important;
transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, visibility 0.3s !important;
margin: 0 !important;
padding: 0 !important;
}

/* Active State: Expand input width when clicked */
li.menu-search-toggle.search-active #inline-search-bar {
width: 260px !important; /* Adjust search field width as needed */
opacity: 1 !important;
visibility: visible !important;
}

/* Style the Divi search input form inside the header */
#inline-search-bar form {
display: flex !important;
width: 100% !important;
}

#inline-search-bar input.et_pb_s {
width: 100% !important;
height: 36px !important;
padding: 0 12px !important;
font-size: 13px !important;
color: #333333 !important;
background: #ffffff !important;
border: 1px solid #d1d1d1 !important;
border-radius: 4px !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}

#inline-search-bar input.et_pb_searchsubmit {
display: none !important; /* Hides default module submit button; pressing Enter submits */
}

/* ==========================================
 MOBILE MENU SEARCH OVERRIDES (<= 980px)
========================================== */

@media (max-width: 980px) {
/* 1. Reset list item layout for stacked mobile dropdown */
ul.et_mobile_menu li.menu-search-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-search-toggle {
  display: block !important;
  width: 100% !important;
  padding: 12px 5% !important; /* Matches standard Divi mobile link padding */
  box-sizing: border-box !important;
}

/* 2. Hide the magnifying icon on mobile so only the search input shows */
ul.et_mobile_menu li.menu-search-toggle > a,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-search-toggle > a {
  display: none !important;
}

/* 3. Force search module to be static, visible, and 100% full width */
ul.et_mobile_menu li.menu-search-toggle #inline-search-bar,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-search-toggle #inline-search-bar {
  position: static !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

/* 4. Ensure mobile form input spans full width */
ul.et_mobile_menu li.menu-search-toggle #inline-search-bar form,
ul.et_mobile_menu li.menu-search-toggle #inline-search-bar input.et_pb_s {
  width: 100% !important;
  box-sizing: border-box !important;
  height: 42px !important; /* Slightly taller for easy touch tapping */
  font-size: 14px !important;
}

/* Hide the extra submit button box on mobile/tablet */
ul.et_mobile_menu li.menu-search-toggle #inline-search-bar input.et_pb_searchsubmit,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-search-toggle #inline-search-bar input.et_pb_searchsubmit {
  display: none !important;
  width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* Force the text input to span 100% of the mobile menu item */
ul.et_mobile_menu li.menu-search-toggle #inline-search-bar input.et_pb_s,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-search-toggle #inline-search-bar input.et_pb_s {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border-radius: 4px !important; /* Clean rounded edges around the whole input */
}

/* Reset the form container so it doesn't leave flex gap space */
ul.et_mobile_menu li.menu-search-toggle #inline-search-bar form,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-search-toggle #inline-search-bar form {
  display: block !important;
  width: 100% !important;
}
}

/* ==========================================
 FLUID SECONDARY MENU (981px to 1350px)
========================================== */
@media only screen and (min-width: 981px) and (max-width: 1653px) {
/* 1. Fluidly reduce padding between secondary menu items */
.et-db #et-boc .et-l .et_pb_menu #menu-secondary-menu li,
.et_pb_menu #menu-secondary-menu li {
  padding-left: clamp(0.2vw, 0.6vw, 1vw) !important;
  padding-right: clamp(0.2vw, 0.6vw, 1vw) !important;
}

/* 2. Fluidly scale secondary menu link font size down to 12px at 981px */
.et-db #et-boc .et-l #menu-secondary-menu a,
.et_pb_menu #menu-secondary-menu a {
  font-size: clamp(10px, 1.05vw, 14px) !important;
  letter-spacing: 0.3px !important;
}
}

/* Custom Technical Links Grid Layout */
.custom-tech-grid {
display: flex;
flex-wrap: wrap;
gap: 30px;
}

.custom-tech-grid__col {
flex: 1;
min-width: 250px;
text-align: left;
}

.custom-tech-grid h2,
.custom-tech-grid h3 {
margin: 8px 0 16px;
font-family: "Century Gothic Pro", sans-serif;
font-size: 20px;
line-height: 1.3;
font-weight: 700;
text-transform: uppercase;
color: #051b3d;
}

.custom-tech-grid h4.custom-tech-grid__title {
margin: 12px 0 2px !important; 
padding: 0 !important;
font-family: "Century Gothic Pro", sans-serif !important;
font-size: 20px !important;
line-height: 1.2 !important;
font-weight: 700 !important;
text-transform: uppercase !important;
color: #051b3d !important;
}

.custom-tech-grid ul {
list-style: none;
margin: 0;
padding: 0;
}

.custom-tech-grid li {
margin-bottom: 12px;
}

.custom-tech-grid__meta a,
.custom-tech-grid a {
font-family: "Century Gothic Pro", sans-serif;
font-size: 18px;
font-weight: 400;
color: #051b3d;
text-decoration: none;
}

/* Fix PDF | DOC inline stacking */
.custom-tech-grid__meta,
body .et_pb_code .et_pb_code_inner .custom-tech-grid__meta {
display: flex !important;
flex-direction: row !important;
align-items: center !important;
white-space: nowrap !important;
}

.custom-tech-grid__meta a,
body .et_pb_code .et_pb_code_inner .custom-tech-grid__col .custom-tech-grid__meta a,
body .et_pb_code .et_pb_code_inner .custom-tech-grid .custom-tech-grid__meta a {
display: inline !important;
line-height: 1.2 !important;
width: auto !important;
}

/* Divi Specific Code Module Overrides */
body .et_pb_code .et_pb_code_inner .custom-tech-grid h2,
body .et_pb_code .et_pb_code_inner .custom-tech-grid h3 {
margin: 8px 0 16px !important;
padding: 0 !important;
font-family: "Century Gothic Pro", sans-serif !important;
font-size: 20px !important;
line-height: 1.3 !important;
font-weight: 700 !important;
text-transform: uppercase !important;
color: #051b3d !important;
}

body .et_pb_code .et_pb_code_inner .custom-tech-grid h4.custom-tech-grid__title {
margin: 12px 0 2px !important;
}

body .et_pb_code .et_pb_code_inner .custom-tech-grid a:hover,
body .et_pb_code .et_pb_code_inner .custom-tech-grid__meta a:hover {
text-decoration: underline !important;
}

/* ==========================================
 DESKTOP ONLY: Products Mega Menu Fix
========================================== */
@media only screen and (min-width: 981px) {

/* 1. Desktop 4-column layout */
.et-db #et-boc .et-l .products-mega-menu > ul,
.products-mega-menu > ul,
.et_pb_menu .products-mega-menu > ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

/* 2. Desktop 25% column widths */
.et-db #et-boc .et-l .products-mega-menu > ul > li,
.products-mega-menu > ul > li,
.et_pb_menu .products-mega-menu > ul > li {
  flex: 1 1 25% !important;
  max-width: 25% !important;
  display: block !important;
}

/* 3. Force desktop items (like Ure-K) to stack line-by-line */
.et-db #et-boc .et-l .products-mega-menu > ul > li > ul > li,
.products-mega-menu > ul > li > ul > li,
.et_pb_menu .products-mega-menu > ul > li > ul > li {
  display: block !important;
  width: 100% !important;
  clear: both !important;
  float: none !important;
}

.products-mega-menu > ul > li > ul > li > a {
  display: block !important;
  width: 100% !important;
}

}

/* ==========================================
 MOBILE FIX (<= 980px): Reset Toggle Badges
========================================== */
@media only screen and (max-width: 980px) {

.products-mega-menu .sub-menu li,
.products-mega-menu ul.et_mobile_menu li {
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
}

/* Ensure text has padding so it doesn't overlap the right-aligned + symbol */
.products-mega-menu ul.et_mobile_menu li > a {
  display: block !important;
  width: 100% !important;
  padding-right: 44px !important; 
  box-sizing: border-box !important;
}

}

/* Videos page filters
   Buttons (Text modules): video-filter-btn filter-all | filter-design-solutions | filter-faq
   Videos: add the same filter-* class(es) on the Video module (or its column). */
.video-filter-btn,
.video-filter-btn * {
	cursor: pointer !important;
	pointer-events: auto !important;
	user-select: none;
}

.video-filter-btn {
	position: relative;
	z-index: 20;
}

.video-filter-btn .et_pb_text_inner p {
	display: inline-block;
	margin-bottom: 0;
	border-bottom: 2px solid transparent;
	padding-bottom: 4px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.video-filter-btn:hover .et_pb_text_inner p,
.video-filter-btn.is-active .et_pb_text_inner p {
	color: #0092ff;
}

.video-filter-btn.is-active .et_pb_text_inner p {
	border-bottom-color: #0092ff;
}

.icc-video-grid {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1920px;
	margin: 0 auto;
	box-sizing: border-box;
}

.icc-video-grid > .et_pb_column {
	width: 33.333% !important;
	max-width: 33.333% !important;
	margin: 0 0 2em 0 !important;
	padding-left: 1.28%;
	padding-right: 1.28%;
	float: none !important;
	box-sizing: border-box !important;
}

.icc-video-grid-source {
	display: none !important;
}

#main-content .icc-video-grid > .et_pb_column.is-filtered-out,
#main-content .et_pb_video.is-filtered-out,
.et-l--post .icc-video-grid > .et_pb_column.is-filtered-out,
.et-l--post .et_pb_video.is-filtered-out {
	display: none !important;
}

@media (max-width: 980px) {
	.icc-video-grid > .et_pb_column {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0;
		padding-right: 0;
	}
}