

.contact-head span { color: var(--theme-color); }
.contact-head h3 { font-weight: 400; margin-bottom: 5px; line-height: normal; }
.contact-head p { line-height: normal; font-size: 0.9em; }


.contact-form { position: relative; }
footer .contact-form { border-radius: 25px; padding: 75px 100px; padding-bottom: 35px; overflow: hidden; top: -195px; margin-bottom: -105px; background: #1c264b; color: #fff; }

.input-form .form-group { position: relative; margin-bottom: 40px; line-height: 0; }
.input-form label { position: absolute; margin: 0; top: -12px; left: 12px; padding: 5px 9px; line-height: 1; background: #ffffff; }
footer .input-form label { color: #fff; background: #1c264b; }

.input-form input,
.input-form textarea { border-radius: 20px; height: 60px; padding-left: 20px; }
.input-form textarea { padding-top: 20px; min-height: 160px; }

footer .input-form input,
footer .input-form textarea { color: #fff; background: transparent; }

.input-form input::placeholder,
.input-form textarea::placeholder { color: #d3d3d3; }

footer .input-form input::placeholder,
footer .input-form textarea::placeholder { color: #7d8090; }

.input-form .button { border-radius: 20px; height: 60px; color: #fff; }
.pos-icon { position: absolute; top: 0; right: -50px; font-size: 250px; pointer-events: none; opacity: 0.05; transform: rotate(30deg); }

.colorful-stripes { margin-top: 50px; }
.colorful-stripes ul { display: flex; align-items: center; justify-content: space-between; list-style: none; margin: 0; }
.colorful-stripes li { height: 30px; display: inline-flex; width: calc(100% / 7); margin: 0; }


.main-heading { margin-bottom: 40px; position: relative; }
.main-heading h2 { font-weight: 700; font-size: 3em; }
.tagline-icon { display: inline-flex; align-items: center; justify-content: center; position: relative; padding-left: 40px; margin-bottom: 15px; }
.tagline-icon svg { width: 35px; height: 20px; position: absolute; left: 0; fill: var(--sbm-page-color, var(--theme-color)); }
.tagline-icon.white-icon svg { fill: #ffffff !important; }
.tagline-icon.dark-icon svg { fill: #000000 !important; }
.ucBannerSlider .tagline-icon.dark-icon { color: #000000; }

/* elements.css sets .ucBannerSlider .element-description { color: #fff; } at
   specificity 0,0,2,0, which beats a bare .ColorBL (0,0,1,0) on the same
   element, so line3 stayed white even with ColorBL applied. Override at
   matching specificity, scoped to the banner, so the auto contrast detection
   in banner.php can actually win when the overlay is light. */
.ucBannerSlider .element-description.ColorBL { color: #000000; }

.tagline-icon img { margin-right: 5px; }
.main-heading .col-6 h2 { margin-bottom: 0; }

[class*="body-pos-icon-"] { pointer-events: none; position: absolute; font-size: 0; }
.body-pos-icon-1 { right: -130px; top: 25px; }
.body-pos-icon-2 { left: -200px; bottom: 20px; }
.body-pos-icon-3 { left: -150px; bottom: 50px; }
.body-pos-icon-4 { left: -215px; top: -230px; }
.body-pos-icon-5 { right: -148px; top: -115px; }
.body-pos-icon-6 { left: -200px; bottom: 85px; }
.body-pos-icon-7 { left: -200px; bottom: 0px; }

.posRL { position: relative; }
.element-thumb { display: flex; justify-content: center; align-items: center; margin-bottom: 15px; }
.testimonialRpt { background: #fff; border-radius: 20px; box-shadow: 0px 22px 40px 5px rgba(52, 62, 97, 0.10); padding: 30px; margin-bottom: 50px; }
.testimonialRpt .element-heading { margin-bottom: 25px; }
.testimonialRpt h3 { margin-bottom: 25px; }
.testimonialRpt .element-description { margin-bottom: 5px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.testimonialRpt .element-textwrap.expanded .element-description {-webkit-line-clamp: none; overflow:initial; display:block;}


.moreLess { font-size: 12px; display: block; width: 100%; text-align: right; padding-bottom: 10px;    color: #ff1493;}

.testimonialRpt .element-thumb img { max-height: 100px; }
.element-rating { display: flex; align-items: center; list-style: none; margin: 0; margin-bottom: 13px; justify-content: center; }
.element-rating li { margin: 0; margin-right: 5px; line-height: 1; margin-top: 20px; }
.element-rating li i { line-height: 0; font-size: 15px; color: #ffbc05; }
.testi-profile { display: flex; align-items: center; }
.testi-name p { color: #a3a3a3; margin-top: 5px; margin-bottom: 0; line-height: 1; font-weight: normal; }
.testi-name h3 { line-height: 1; margin-bottom: 5px; font-size: 1.1em; font-weight: 500; }
.testi-name { /*padding-left: 16px;*/ }
.testi-date { display: flex; flex-direction: column; text-align: center; width: 55px; height: 55px; min-width: 55px; background: var(--secondary-color); border-radius: 50%; color: #fff; align-items: center; justify-content: center; }
.testi-date strong { line-height: 1; }
.testi-date span { font-size: 12px; }

.icons-block { display: flex; flex-direction: column; padding: 40px; align-items: center; background: #fff; border-radius: 20px; margin-bottom: 50px; box-shadow: 0px 22px 40px 5px rgba(52, 62, 97, 0.05); -webkit-transition: 0.35s; transition: 0.35s; }
.icons-block:hover { box-shadow: 0px 22px 40px 5px rgba(52, 62, 97, 0.08); }
.icons-text { margin-left: 20px; }
.icons-text h4 { margin-bottom: 0.5rem; }
.icons-text p { margin-bottom: 0; font-weight: normal; font-size: 0.85em; }
.icons-text .name-77 { font-size: 1.25em; margin-bottom: 0.5rem; }

.right-side .newsRpt + .newsRpt { margin-top: 20px; }
.right-side .newsRpt .element-thumb { width: 110px; min-width: 110px; margin-right: 15px; border-radius: 10px; }
.right-side .newsRpt .element-textblock { font-size: 14px; }
.right-side .newsRpt .element-date { margin-bottom: 0.4rem; }
.right-side .newsRpt .element-heading { margin-bottom: 0.4rem; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.right-side .newsRpt .element-description p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

#divCookie { border: 0; font-size: 12pt; margin: 0 auto; padding: 13px 10px; position: absolute; text-align: center; box-sizing: border-box; width: 100%; z-index: 9999; box-shadow: rgba(0,0,0,.5) 0px 5px 50px; display: none; left: 0px; font-weight: 300; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: inherit; bottom: 0px; position: fixed; display: block; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: inherit; bottom: 0px; position: fixed; display: block; }
#divCookie span { vertical-align: middle; }
.cli-plugin-main-link { margin-left: 0px; font-weight: 550; text-decoration: underline; }
.cli-plugin-button, .cli-plugin-button:visited, .medium.cli-plugin-button, .medium.cli-plugin-button:visited { display: inline-block; margin: 5px; color: rgb(255, 255, 255); background-color: rgb(0, 0, 0); font-size: 14px; font-weight: 500; line-height: 1; margin-top: 5px; }

.cli-plugin-button, .cli-plugin-button:visited { display: inline-block; padding: 10px 16px 10px; color: #fff; text-decoration: none; position: relative; cursor: pointer; margin-left: 0px; text-decoration: none; }
.cstmChk { position: relative; min-width: 30px; display: inline-block; vertical-align: top; }
.cstmChk span { display: block; }
.cstmChk input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; -o-appearance: none; appearance: none; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; bottom: 0px; cursor: pointer; z-index: 9; opacity: 0; }
.cstmChk label { display: block; padding-left: 35px; font-size: 15px; margin-top: 0px; position: inherit; }
.cstmChk label:before { content: ""; display: block; position: absolute; left: 5px; width: 20px; height: 20px; border-radius: 4px; border: solid 1px #ccc; background-color: #FFF; }
.cstmChk input:checked, .cstmChk input:focus { outline: none; }
.cstmChk input:checked + label:after { content: ""; display: block; position: absolute; top: 8px; left: 12px; width: 7px; height: 12px; border-right: 3px solid #045089; border-bottom: 3px solid #045089; transform: rotate(45deg); }
/*POP UP*/
.popupContent { background-color: rgba(255,255,255,0.73); position: fixed !important; left: 0!important; top: 0!important; height: 100%; }
.popupContent .container { }
.popupContent .wrap { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.popupContent .pad { padding: 30px!important; box-shadow: 0 25px 34px rgba(0, 0, 0, 0.09), 0 5px 20px rgba(0, 0, 0, 0.07), 0 0px 1px rgba(0, 0, 0, 0.12); background-color: #FFF; }

/*Video Border*/
.overflowIMG { display: flex; flex-direction: column; padding: 20px; align-items: center; background: #fff; border-radius: 10px; box-shadow: 0px 22px 40px 5px rgba(52, 62, 97, 0.05); -webkit-transition: 0.35s; transition: 0.35s; }

/*Button - Image with Text - MR 190325*/
.parraSECright { margin-top: 20px !important; } 

/* Footer navigation alignment fix.
 * main.css line 1016 sets .page_item { text-align: center } which was
 * intended for page listing widgets but incorrectly centres footer nav
 * items that carry the WordPress-generated page_item / current_page_item
 * classes. Overriding here to preserve left-alignment in the footer menu.
 */
.footer-top .list li.page_item,
.footer-top .list li.current_page_item,
.footer-top .list li.current-menu-item { text-align: left; }

/* =============================================================================
   Banner image-layer — force cover sizing so the slide image always fills
   the full layer regardless of the image's native dimensions.
   The original elements.css sets background-size: auto 100% which leaves
   a gap when the image aspect ratio is narrower than the layer width.
   ============================================================================= */
.ucBannerSlider .image-layer {
    background-size: cover;
    background-position: center center;
}

/* =============================================================================
   Footer CF7 form layout — two-column grid matching original fallback layout.

   Confirmed CF7 6.x DOM order inside form.sbm-footer-form:
     [1] fieldset.hidden-fields-container  (display:contents — removed from flow)
     [2] p — Name        (p:nth-of-type 1)
     [3] p — Email       (p:nth-of-type 2)
     [4] p — Subject     (p:nth-of-type 3)
     [5] p — Message     (p:nth-of-type 4)
     [6] div.wpcf7-turnstile
     [7] p — Submit      (p:nth-of-type 5)
     [8] div.wpcf7-response-output

   Grid layout:
     col 1 row 1 — Name
     col 1 row 2 — Email
     col 1 row 3 — Subject
     col 2 rows 1-3 — Message
     col 1 row 4 — Turnstile
     col 2 row 4 — Submit
   ============================================================================= */
form.sbm-footer-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto;
    column-gap: 30px;
    row-gap: 20px;
}

/* Hidden fields — remove from grid flow entirely */
form.sbm-footer-form fieldset.hidden-fields-container {
    display: none;
}

/* Name — col 1 row 1 */
form.sbm-footer-form p:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    padding-top: 14px;
    margin: 0;
}

/* Email — col 1 row 2 */
form.sbm-footer-form p:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
    position: relative;
    padding-top: 14px;
    margin: 0;
}

/* Subject — col 1 row 3 */
form.sbm-footer-form p:nth-of-type(3) {
    grid-column: 1;
    grid-row: 3;
    position: relative;
    padding-top: 14px;
    margin: 0;
}

/* Message — col 2 rows 1-3 */
form.sbm-footer-form p:nth-of-type(4) {
    grid-column: 2;
    grid-row: 1 / 4;
    position: relative;
    padding-top: 14px;
    margin: 0;
    display: flex;
    flex-direction: column;
}

/* Turnstile — col 1 row 4.
   min-height prevents layout shift when the widget loads asynchronously. */
form.sbm-footer-form .wpcf7-turnstile {
    grid-column: 1;
    grid-row: 4;
    display: flex;
    align-items: center;
    min-height: 65px;
}

/* Submit — col 2 row 4 */
form.sbm-footer-form p:nth-of-type(5) {
    grid-column: 2;
    grid-row: 4;
    display: block;
    margin: 0;
}

/* Response output — full width below grid */
form.sbm-footer-form .wpcf7-response-output {
    grid-column: 1 / -1;
    border-color: #ff6b6b;
    color: #ff6b6b;
    margin-top: 10px;
}

/*
 * Success state — white text, cyan border matching the Submit button colour.
 * CF7 adds .wpcf7-mail-sent-ok to .wpcf7-response-output on successful send.
 * Overrides the default green border and dark text that clash with the dark
 * footer background.
 */
form.sbm-footer-form .wpcf7-response-output.wpcf7-mail-sent-ok {
    border-color: var(--theme-color);
    color: #ffffff;
    background-color: transparent;
}

/* Hide CF7-inserted <br> tags between label and input */
form.sbm-footer-form p br {
    display: none;
}

/* Floating labels */
.input-form form.sbm-footer-form p:nth-of-type(1) > label,
.input-form form.sbm-footer-form p:nth-of-type(2) > label,
.input-form form.sbm-footer-form p:nth-of-type(3) > label,
.input-form form.sbm-footer-form p:nth-of-type(4) > label {
    position: absolute !important;
    top: 6px !important;
    left: 20px !important;
    padding: 2px 8px !important;
    line-height: 1 !important;
    background: #1c264b !important;
    color: #fff !important;
    font-size: 13px !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

/* Field inputs */
form.sbm-footer-form input[type="text"],
form.sbm-footer-form input[type="email"],
form.sbm-footer-form textarea {
    width: 100%;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 20px;
    color: #fff;
    padding: 18px 20px;
    font-family: inherit;
    font-size: 14px;
    box-sizing: border-box;
}

form.sbm-footer-form input[type="text"]::placeholder,
form.sbm-footer-form input[type="email"]::placeholder,
form.sbm-footer-form textarea::placeholder {
    color: #7d8090;
}

/* Message textarea fills its grid area */
form.sbm-footer-form p:nth-of-type(4) .wpcf7-form-control-wrap,
form.sbm-footer-form p:nth-of-type(4) textarea {
    flex: 1;
    height: 100%;
    min-height: 0;
    resize: none;
    display: block;
}

/* Submit button — cyan pill */
form.sbm-footer-form input[type="submit"] {
    background-color: var(--theme-color);
    color: #ffffff;
    border: none;
    border-radius: 50px;
    padding: 15px 40px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    transition: opacity 0.2s ease;
}

form.sbm-footer-form input[type="submit"]:hover {
    opacity: 0.88;
}

/* Validation errors */
form.sbm-footer-form .wpcf7-not-valid-tip {
    color: #ff6b6b;
    font-size: 12px;
}

/* Collapse to single column on mobile */
@media ( max-width: 767px ) {
    form.sbm-footer-form {
        grid-template-columns: 1fr;
    }

    form.sbm-footer-form p:nth-of-type(1),
    form.sbm-footer-form p:nth-of-type(2),
    form.sbm-footer-form p:nth-of-type(3),
    form.sbm-footer-form p:nth-of-type(4),
    form.sbm-footer-form p:nth-of-type(5),
    form.sbm-footer-form .wpcf7-turnstile {
        grid-column: 1;
        grid-row: auto;
    }
}
