.checkmarks {
    font-size: 17px;
}

.with_icons.icon_borders p {
    margin-top: 15px;
}

.goog-te-gadget .goog-te-combo {
    margin: 0px 0;
}

.goog-te-combo, .goog-te-banner *, .goog-te-ftab *, .goog-te-menu *, .goog-te-menu2 *, .goog-te-balloon * {
    font-family: arial;
    font-size: 8pt !important;
    color: white;
}


select.goog-te-combo {
    width: auto !important;
    background: transparent;
    box-shadow: none !important;
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    padding: 1px !important;
    height: auto !important;
    border: 1px solid lightgray !important;
    border-radius: 0px !important;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px !important;
    -o-border-radius: 0px !important;
}

#top_bar .social_media li a {
    margin-top: 4px;
}

#top_bar {
    background-color: rgba(35,71,113,7);
}

body {
    color: #514E4E;
}

.blog_list .post_data, .blog_list .post_data a, .woocommerce .star-rating, .woocommerce-page .star-rating, .testimonial .text .icon-quote-left, .testimonial .text .icon-quote-right, .client_info, .rt_form label, i.decs_text, .client_info, .with_icons > li span, .with_icons.light > li span, .price del, .product_meta, span.top, .rt_comments ol.commentlist li .comment-body .comment-meta, .cancel-reply, .rt_comments ol.commentlist li .comment-body .author-name, .rt_comments ol.commentlist li p, li.comment #respond, .recent_posts .widget-meta {
    color: #4E4E4E;
}

.imgeffect > span {
    font-size: 28px;
}

.header-design2 .default_position #navigation_bar > ul > li > a {
    padding: 0 13px;
}

.videothumb {
   width: auto; 
}

select.goog-te-combo:focus {
    background: #234771;
}

#google_language_translator select.goog-te-combo {
    background: rgba(35, 60, 93, 1);
}

.top_content .info_bar {
    padding: 26px 0 30px;
}

#google_language_translator select.goog-te-combo {
    color: #ffffff !important;
}

@media only screen and (max-width: 959px) {
.header-design2 .default_position #navigation_bar > ul > li > a {
    padding: 19px 13px;
    height: 19px;
}
}

.info_bar .breadcrumb {
    display: none !important !important;
}

/* Navigation Text Color */
#navigation_bar > ul > li > a {
    color: #343434;
}

/* Footer Links Color */
ul.footer_links a {
    color: #3e3e3e;
}

/* Footer Copyright Color */
footer, #footer {
    color: #2e2e2e;
    -o-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.06) inset;
    -webkit-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.06) inset;
    -moz-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.06) inset;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.06) inset;
}

/* Footer Social Media Links Color */
.social_media li a {
    background: #363636;
}

.button_.default {
background: #296a8d;
}


/* Visible keyboard focus for slider arrows */
a.flex-prev:focus-visible,
a.flex-next:focus-visible {
  outline: 3px solid #005fcc; /* brand-accent focus color */
  outline-offset: 2px;
}

/* Clearer disabled state without blocking events (JS will manage tabindex) */
a.flex-prev.flex-disabled,
a.flex-next.flex-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}


.top_content .heading h1 {
    color: #3d3d3d;
}


.social_media li.facebook:hover a, .social_media li.facebook:hover span {
background-color: white !important;
color: black;
font-size: 16px;
}

.social_media li.youtube-play:hover a, .social_media li.youtube-play:hover span {
background-color: white !important;
color: black;
font-size: 16px;
}

.social_media li a {
    background: white; 
    color: black;
    font-size: 19px;
}

/*! A11Y – Footer Social (.social_media) Hover Contrast Fix
    Purpose: Stop low-contrast hover styles set by selectors like
             .social_media li.facebook:hover a, .social_media li.facebook:hover span
    Scope: footer only (adjust if needed)
    Date: 2025-10-28
*/

/* Base state (solid readable color on white) */
footer .social_media li a,
footer .social_media li span,
footer .social_media li i,
footer .social_media li svg {
  color: #454545 !important;      /* meets AA on white */
  fill: currentColor !important;   /* SVGs follow link color */
  stroke: currentColor !important;
  opacity: 1 !important;           /* kill fades */
  filter: none !important;
  text-decoration: none;
}

/* Hover/Focus: force darker color, never lighter */
footer .social_media li:hover a,
footer .social_media li:hover span,
footer .social_media li:hover i,
footer .social_media li:hover svg,
footer .social_media li a:hover,
footer .social_media li a:focus {
  color: #111111 !important;       /* strong contrast */
  fill: currentColor !important;
  stroke: currentColor !important;
  opacity: 1 !important;
  filter: none !important;
  background: transparent !important;
  text-decoration: underline;      /* optional, helps visibility */
}

/* Beat network-specific hover rules explicitly */
footer .social_media li.facebook:hover a,
footer .social_media li.facebook:hover span,
footer .social_media li.instagram:hover a,
footer .social_media li.instagram:hover span,
footer .social_media li.twitter:hover a,
footer .social_media li.twitter:hover span,
footer .social_media li.linkedin:hover a,
footer .social_media li.linkedin:hover span,
footer .social_media li.youtube:hover a,
footer .social_media li.youtube:hover span {
  color: #111111 !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Ensure visited links don't go low-contrast */
footer .social_media li a:visited { color: #2a2a2a !important; }

/* If the LI itself dims on hover, neutralize it */
footer .social_media li,
footer .social_media li:hover { opacity: 1 !important; filter: none !important; }

ul.footer_links a {
    font-size: 16px;
}

footer .copyright {
    font-size: 15px;
}


#navigation .sub-menu li a {
    color: #545454;
}

#navigation ul.sub-menu li:hover > a {
    color: black;
}

/*! UI – Merged/Unwrapped Link Spacing */
a.merged-link,
.redundant-link-unwrapped { display:inline-flex; align-items:center; gap:.25rem; }


.imgeffect > span {
    color: #2c2c2c;
}






#header_contents {
    width: 80% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* desktop */
@media (min-width: 992px) {
    #header_contents {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }

    /* logo side */
    #header_contents .nine {
        width: auto !important;
        flex: 0 0 auto !important;
    }

    /* menu side */
    #header_contents .three {
        width: auto !important;
        flex: 1 1 auto !important;
        text-align: right !important;
    }

    #header_contents .three nav,
    #header_contents .three #navigation,
    #header_contents .three .menu,
    #header_contents .three .menu-main-menu-container {
        width: 100% !important;
        text-align: right !important;
    }

    #header_contents .three ul,
    #header_contents .three #menu-main-menu {
        display: flex !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }
}

/* mobile */
@media (max-width: 991px) {
    #header_contents {
        display: block !important;
        text-align: center !important;
    }

    #header_contents .nine,
    #header_contents .three {
        width: 100% !important;
    }

    #header_contents .logo,
    #header_contents #logo {
        float: none !important;
        display: block !important;
        text-align: center !important;
        margin: 0 auto 12px auto !important;
    }

    #header_contents .logo img,
    #header_contents #logo img {
        display: inline-block !important;
        margin: 0 auto !important;
    }
}



/* tighten header vertical spacing */
#header_contents {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

/* remove extra space around logo container */
#header_contents .logo,
#header_contents #logo {
    margin: 0 !important;
    padding: 0 !important;
}

/* make sure logo image doesn't add space */
#header_contents .logo img,
#header_contents #logo img {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* mobile logo centering fix */
@media (max-width: 991px) {

    #header_contents .logo,
    #header_contents #logo {
        text-align: center !important;
    }

    #header_contents .logo img,
    #header_contents #logo img {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

}


/* mobile spacing below menu */
@media (max-width: 991px) {

    #header_contents .three,
    #header_contents #navigation,
    #header_contents nav {
        margin-bottom: 15px !important;
    }

}

/* mobile space below header menu */
@media (max-width: 991px) {

    #header_contents .three ul,
    #header_contents #navigation ul,
    #header_contents nav ul {
        margin-bottom: 15px !important;
    }

}

@media (max-width: 991px) {
    #header_contents {
        padding-bottom: 23px !important;
    }
}



/* Accessible focus state for rounded image captions */
.imgeffect:hover > span,
.imgeffect:focus > span,
.imgeffect:focus-within > span,
.featured_image_holder:focus .imgeffect > span,
.featured_image_holder:focus-within .imgeffect > span {
    bottom: 0;
    opacity: 1;
}

.featured_image_holder.rounded_image:focus,
.featured_image_holder.rounded_image:focus-visible {
    outline: 3px solid #1f6fb2;
    outline-offset: 4px;
}


@media only screen and (max-width: 959px) {
    #header section > section {
        padding: 0 10px;
        margin: 2px 0 !important;
    }
}


@media (max-width: 991px) {
    #header_contents .three, #header_contents #navigation, #header_contents nav {
        margin-bottom: 2px !important;
    }
}

@media only screen and (max-width: 959px) {
    #mobile_bar {
        padding: 1px 8px;
    }
}


/* =========================================================
   UET WATER - GRAVITY FORMS
   Form ID 1
   Boxed Form Style
   ========================================================= */

/* OUTER FORM BOX */
#gform_wrapper_1 {
    max-width: 1150px;
    margin: 40px auto;
    padding: 42px 46px;
    background: #ffffff;
    border: 1px solid #dfe5ea;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(15, 43, 70, 0.07);
}

/* FORM TITLE */
#gform_wrapper_1 .gform_title {
    margin-bottom: 32px;
}

/* FIELD SPACING */
#gform_wrapper_1 .gform_fields {
    row-gap: 28px;
}

/* LABELS */
#gform_wrapper_1 .gfield_label {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 9px;
}

/* REQUIRED TEXT */
#gform_wrapper_1 .gfield_required {
    font-size: 14px;
    font-weight: 500;
    margin-left: 5px;
}

/* INPUTS */
#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 input[type="url"],
#gform_wrapper_1 input[type="number"],
#gform_wrapper_1 select,
#gform_wrapper_1 textarea {
    width: 100%;
    min-height: 52px;
    padding: 11px 14px;
    border: 1px solid #b9c3cc;
    border-radius: 3px;
    background: #ffffff;
    font-size: 16px;
    line-height: 1.5;
    box-shadow: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

/* MESSAGE FIELD */
#gform_wrapper_1 textarea {
    min-height: 180px;
    resize: vertical;
}

/* PLACEHOLDERS */
#gform_wrapper_1 input::placeholder,
#gform_wrapper_1 textarea::placeholder {
    opacity: 0.6;
}

/* ACCESSIBLE FOCUS */
#gform_wrapper_1 input:focus,
#gform_wrapper_1 select:focus,
#gform_wrapper_1 textarea:focus {
    outline: none;
    border-color: #2B861D;
    box-shadow: 0 0 0 3px rgba(43, 134, 29, 0.15);
}

/* FOOTER / BUTTON AREA */
#gform_wrapper_1 .gform_footer {
    margin-top: 28px;
    padding-top: 0;
}

/* SUBMIT BUTTON */
#gform_wrapper_1 .gform_button {
    min-width: 180px;
    min-height: 50px;
    padding: 13px 28px;
    border: 0;
    border-radius: 3px;
    background: #2B861D;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

#gform_wrapper_1 .gform_button:hover {
    background: #247519;
}

#gform_wrapper_1 .gform_button:focus {
    outline: 3px solid rgba(43, 134, 29, 0.3);
    outline-offset: 3px;
}

/* VALIDATION */
#gform_wrapper_1 .gfield_error input,
#gform_wrapper_1 .gfield_error select,
#gform_wrapper_1 .gfield_error textarea {
    border-color: #b42318;
}

#gform_wrapper_1 .validation_message,
#gform_wrapper_1 .gfield_validation_message {
    margin-top: 7px;
    font-size: 14px;
    line-height: 1.5;
}

/* MOBILE */
@media (max-width: 768px) {

    #gform_wrapper_1 {
        max-width: 100%;
        margin: 24px auto;
        padding: 28px 22px;
        border-radius: 4px;
    }

    #gform_wrapper_1 .gform_fields {
        row-gap: 24px;
    }

    #gform_wrapper_1 .gfield_label {
        font-size: 16px;
    }

    #gform_wrapper_1 input[type="text"],
    #gform_wrapper_1 input[type="email"],
    #gform_wrapper_1 input[type="tel"],
    #gform_wrapper_1 input[type="url"],
    #gform_wrapper_1 input[type="number"],
    #gform_wrapper_1 select,
    #gform_wrapper_1 textarea {
        font-size: 16px;
        min-height: 50px;
    }

    #gform_wrapper_1 .gform_button {
        width: 100%;
    }
}




/* =========================================================
   UET WATER - GLOBAL LIST COMPONENT
   ========================================================= */


/* SECTION SPACING */

.uet-list-section {
    margin: 26px 0 30px;
}


/* LIST PANEL */

.uet-list-panel {
    padding: 16px 28px;

    background: #ffffff;
    border: 1px solid #e3eaf0;
    border-radius: 10px;

    box-shadow: 0 8px 24px rgba(15,43,70,.055);
}


/* =========================================================
   TWO-COLUMN LIST

   DESKTOP ORDER:
   LEFT COLUMN TOP TO BOTTOM FIRST
   THEN RIGHT COLUMN TOP TO BOTTOM

   CSS COLUMNS ALSO ALLOW EACH SIDE TO HAVE
   INDEPENDENT ITEM HEIGHTS.
   ========================================================= */

.uet-list-grid {
    column-count: 2;
    column-gap: 34px;
}


/* LIST ITEMS */

.uet-list-item {
    position: relative;

    padding: 12px 0 12px 22px;

    font-size: 18px;
    line-height: 1.55;

    border-bottom: 1px solid #edf1f4;

    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}


/* SMALL GREEN DOT */

.uet-list-item::before {
    content: "";
    position: absolute;

    left: 2px;
    top: 50%;

    width: 6px;
    height: 6px;

    background: #6bad3b;
    border-radius: 50%;

    transform: translateY(-50%);
}


/* LAST ITEM - NO BOTTOM BORDER */

.uet-list-grid > .uet-list-item:last-child {
    border-bottom: 0;
}


/* =========================================================
   FORCE THE COLUMN BREAK AT THE CORRECT MIDPOINT

   This guarantees that the first half of the list stays
   in the left column and the remaining items go to the
   right column.
   ========================================================= */


/* 2 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(2):last-child)
> .uet-list-item:nth-child(1) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 3–4 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(3):last-child)
> .uet-list-item:nth-child(2),

.uet-list-grid:has(> .uet-list-item:nth-child(4):last-child)
> .uet-list-item:nth-child(2) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 5–6 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(5):last-child)
> .uet-list-item:nth-child(3),

.uet-list-grid:has(> .uet-list-item:nth-child(6):last-child)
> .uet-list-item:nth-child(3) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 7–8 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(7):last-child)
> .uet-list-item:nth-child(4),

.uet-list-grid:has(> .uet-list-item:nth-child(8):last-child)
> .uet-list-item:nth-child(4) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 9–10 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(9):last-child)
> .uet-list-item:nth-child(5),

.uet-list-grid:has(> .uet-list-item:nth-child(10):last-child)
> .uet-list-item:nth-child(5) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 11–12 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(11):last-child)
> .uet-list-item:nth-child(6),

.uet-list-grid:has(> .uet-list-item:nth-child(12):last-child)
> .uet-list-item:nth-child(6) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 13–14 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(13):last-child)
> .uet-list-item:nth-child(7),

.uet-list-grid:has(> .uet-list-item:nth-child(14):last-child)
> .uet-list-item:nth-child(7) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 15–16 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(15):last-child)
> .uet-list-item:nth-child(8),

.uet-list-grid:has(> .uet-list-item:nth-child(16):last-child)
> .uet-list-item:nth-child(8) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 17–18 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(17):last-child)
> .uet-list-item:nth-child(9),

.uet-list-grid:has(> .uet-list-item:nth-child(18):last-child)
> .uet-list-item:nth-child(9) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* 19–20 ITEMS */

.uet-list-grid:has(> .uet-list-item:nth-child(19):last-child)
> .uet-list-item:nth-child(10),

.uet-list-grid:has(> .uet-list-item:nth-child(20):last-child)
> .uet-list-item:nth-child(10) {
    break-after: column;
    -webkit-column-break-after: always;
    border-bottom: 0;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .uet-list-section {
        margin: 22px 0 26px;
    }

    .uet-list-panel {
        padding: 12px 22px;
    }

    .uet-list-grid {
        column-count: 1;
        column-gap: 0;
    }

    .uet-list-item {
        font-size: 18px;

        border-bottom: 1px solid #edf1f4;

        break-after: auto !important;
        -webkit-column-break-after: auto !important;
    }

    .uet-list-grid > .uet-list-item:last-child {
        border-bottom: 0;
    }
}


/* =========================================================
   LIST THAT FOLLOWS INTRODUCTORY TEXT
   ========================================================= */

.uet-list-section--after-text {
    margin-top: 14px;
}

@media (max-width: 700px) {

    .uet-list-section--after-text {
        margin-top: 14px;
    }
}


/* =========================================================
   INTRO TEXT ABOVE A UET LIST
   ========================================================= */

.uet-list-intro {
    margin: 22px 0 14px;
}

@media (max-width: 700px) {

    .uet-list-intro {
        margin: 18px 0 14px;
    }
}


/* =========================================================
   LISTS INSIDE DARK BACKGROUND SECTIONS
   ========================================================= */

.uet-list-section--dark-bg .uet-list-item {
    color: #333333;
}


