/* ===================================
   Mortgage Pros Funding Theme
   Crafto-compatible project stylesheet
====================================== */

/* Fonts */
@font-face {
    font-family: "cerebri-sans-regular";
    src:
        url("fonts/CerebriSans-Regular.woff2") format("woff2"),
        url("fonts/CerebriSans-Regular.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "cerebri-sans-medium";
    src:
        url("fonts/CerebriSans-Medium.woff2") format("woff2"),
        url("fonts/CerebriSans-Medium.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "cerebri-sans-semibold";
    src:
        url("fonts/CerebriSans-SemiBold.woff2") format("woff2"),
        url("fonts/CerebriSans-SemiBold.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "cerebri-sans-bold";
    src:
        url("fonts/CerebriSans-Bold.woff2") format("woff2"),
        url("fonts/CerebriSans-Bold.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "cerebri-sans-light";
    src:
        url("fonts/CerebriSans-Light.woff2") format("woff2"),
        url("fonts/CerebriSans-Light.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Theme variables */
:root {
    --alt-font: "cerebri-sans-regular";
    --primary-font: "cerebri-sans-regular";

    /* Mortgage Pros Funding palette */
    --mortgage-blue: #21388a;
    --mortgage-navy: #101c46;
    --mortgage-gold: #e5b94f;
    --mortgage-gold-hover: #d7a83e;
    --mortgage-heading: #242936;
    --mortgage-body: #5e6678;
    --mortgage-ivory: #f7f4ee;
    --mortgage-soft-blue: #eef3fb;
    --mortgage-border: #dce3ef;
    --mortgage-footer: #0a1230;
    --mortgage-white: #ffffff;

    /* Crafto compatibility variables */
    --base-color: var(--mortgage-blue);
    --dark-gray: var(--mortgage-navy);
    --very-light-gray: var(--mortgage-border);
    --yellow: var(--mortgage-gold);
    --medium-gray: var(--mortgage-body);
    --solitude-blue: var(--mortgage-soft-blue);
    --white: var(--mortgage-white);
}

/* Base */
body {
    color: var(--mortgage-body);
    font-size: 18px;
    line-height: 30px;
}

/* Font weights */
.fw-300 {
    font-family: "cerebri-sans-light" !important;
    font-weight: normal !important;
}

.fw-400 {
    font-family: "cerebri-sans-regular" !important;
    font-weight: normal !important;
}

.fw-500 {
    font-family: "cerebri-sans-medium" !important;
    font-weight: normal !important;
}

.fw-600 {
    font-family: "cerebri-sans-semibold" !important;
    font-weight: normal !important;
}

.fw-700 {
    font-family: "cerebri-sans-bold" !important;
    font-weight: normal !important;
}

/* Custom cursor */
.custom-cursor .circle-cursor-inner,
.custom-cursor .circle-cursor-inner.cursor-link-hover {
    background-color: var(--mortgage-gold);
}

.custom-cursor .circle-cursor-outer {
    border: 1px solid var(--mortgage-gold);
}

.is-touchable .cursor-page-inner {
    display: none !important;
}

/* Headings */
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 25px;
}

h1 {
    line-height: 4.375rem;
}

h2 {
    line-height: 3.438rem;
}

h3 {
    line-height: 3rem;
}

h4 {
    line-height: 2.6rem;
}

h5 {
    line-height: 2rem;
}

h6 {
    line-height: 1.75rem;
}
select,
select option {
    font-family: var(--primary-font), sans-serif;
}

/* Header and navigation */
.navbar .navbar-nav .nav-link {
    color: var(--mortgage-heading);
    font-family: "cerebri-sans-medium" !important;
    font-size: 18px;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--mortgage-blue);
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu {
	 width: 285px;
}

.navbar .navbar-nav .dropdown .dropdown-menu a {
    font-family: "cerebri-sans-regular" !important;
    font-size: 16px;
    line-height: 28px;
}

header .btn.btn-small {
    font-size: 14px;
}

header .btn.btn-small i {
    top: -2px;
}
/* HEADER */
header .navbar-brand {
	padding: 8px 0;
}
header .navbar-brand img {
    max-height: 75px;
}
/* STICKY HEAder */
header.sticky .navbar-brand {
	padding: 6px 0;
}
/* header.sticky .navbar-brand img {
    max-height: 50px;
} */

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
    width: 300px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
    padding: 20px 30px;
    border-bottom: 1px solid var(--mortgage-border);
    color: var(--mortgage-navy) !important;
    font-family: "cerebri-sans-medium" !important;
    font-size: 17px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover {
    background-color: var(--mortgage-soft-blue);
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a img {
    width: 40px;
    margin-right: 10px;
}

/* Buttons */
.btn {
    font-family: "cerebri-sans-medium";
    font-weight: normal !important;
    text-transform: none;
    letter-spacing: normal;
}

.btn-link i {
    top: 0;
}

.btn.btn-hover-animation-switch .btn-icon {
    margin-left: 6px;
}

.btn-mortgage-gold {
    border-color: var(--mortgage-gold) !important;
    background-color: var(--mortgage-gold) !important;
    color: var(--mortgage-navy) !important;
}

.btn-mortgage-gold:hover,
.btn-mortgage-gold:focus,
.btn.btn-box-shadow.btn-mortgage-gold:hover {
    border-color: var(--mortgage-gold-hover) !important;
    background-color: var(--mortgage-gold-hover) !important;
    color: var(--mortgage-navy) !important;
}

.btn.btn-box-shadow.btn-mortgage-gold:active {
    border-color: var(--mortgage-gold-hover) !important;
}

.btn-mortgage-blue {
    border-color: var(--mortgage-blue) !important;
    background-color: var(--mortgage-blue) !important;
    color: var(--mortgage-white) !important;
}

.btn-mortgage-blue:hover,
.btn-mortgage-blue:focus {
    border-color: var(--mortgage-navy) !important;
    background-color: var(--mortgage-navy) !important;
    color: var(--mortgage-white) !important;
}

.btn.btn-extra-large {
    font-size: 17px;
}

.btn.btn-large {
    font-size: 16px;
}

.btn.btn-medium {
    font-size: 15px;
}

.btn.with-rounded.btn-large > span {
    line-height: 34px;
}

.btn.with-rounded.btn-medium > span {
    line-height: 30px;
}

.btn-mortgage-outline {
    color: var(--mortgage-blue);
    border: 1px solid var(--mortgage-blue);
    background: transparent;
    transition: all .3s ease;
}

.btn-mortgage-outline:hover {
    color: #fff;
    background: var(--mortgage-blue);
    border-color: var(--mortgage-blue);
}

/* Theme text utilities */
.text-mortgage-blue {
    color: var(--mortgage-blue) !important;
}

.text-mortgage-navy {
    color: var(--mortgage-navy) !important;
}

.text-mortgage-gold {
    color: var(--mortgage-gold) !important;
}

/* Theme background utilities */
.bg-mortgage-navy {
    background-color: var(--mortgage-navy) !important;
}

.bg-mortgage-ivory {
    background-color: var(--mortgage-ivory) !important;
}

.bg-mortgage-soft-blue {
    background-color: var(--mortgage-soft-blue) !important;
}

.bg-gradient-mortgage {
    background-color: var(--mortgage-blue);
    background-image: linear-gradient(
        306deg,
        var(--mortgage-gold) -25%,
        var(--mortgage-blue) 45%,
        var(--mortgage-navy) 100%
    );
}
/* Mortgage background themes */
.bg-mortgage-primary {
    background: linear-gradient(145deg, var(--mortgage-blue), var(--mortgage-navy));
}
.bg-mortgage-secondary {
    background: linear-gradient(145deg, var(--mortgage-navy), #0a2342);
    color: #fff;
}
.bg-mortgage-light {
    background: linear-gradient(145deg, #ffffff, #f5f8fc);
    color: var(--mortgage-navy);
}
.bg-mortgage-gold {
    background: linear-gradient(145deg, var(--mortgage-gold), #f7d774);
    color: var(--mortgage-navy);
}
/* Mortgage accent borders */
.border-mortgage-gold {
    border-bottom: 3px solid var(--mortgage-gold);
}
.border-mortgage-blue {
    border-bottom: 3px solid var(--mortgage-blue);
}
.border-mortgage-navy {
    border-bottom: 3px solid var(--mortgage-navy);
}
.borer-mortgage-primary {
	border: 1px solid rgba(33, 56, 138, 0.35);
}
/* bg gradient color */
.bg-gradient-green-yellow-color { 
    background: rgb(236,171,35); 
    background: linear-gradient(306deg, rgba(236,171,35,1) 0%, rgba(0,83,61,1) 85%);
}
.bg-gradient-gray-light-dark-transparent {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(32, 35, 41, 1)), to(transparent));
    background-image: linear-gradient(to top, rgba(32, 35, 41, 1) 10%, transparent 50%);
}
/* .bg-gradient-gray-light-dark-transparent, */
.bg-gradient-mortgage-overlay {
    background-image: linear-gradient(
        to top,
        rgba(16, 28, 70, 1) 10%,
        transparent 50%
    );
}
.bg-gradient-mortgage-overlay-left {
    background-image: linear-gradient(
        to right,
        rgba(0, 0, 0, 1) 15%,
        transparent 50%
    );
}
.bg-gradient-mortgage-overlay-left-base,
.bg-gradient-mortgage-overlay-left-1
 {
    background-image: linear-gradient(
        to right,
        rgba(16, 28, 70, 1) 25%,
        transparent 75%
    );
}
.bg-gradient-hero-overlay {
  background: linear-gradient(270deg,rgba(5,16,54,.5) 0%,#051036 72.43%);
  opacity: .85;
}
.bg-gradient-hero-overlay-1 {
	background: linear-gradient(90deg,rgba(16, 28, 70, 0.92) 0%,rgba(16, 28, 70, 0.72) 48%,rgba(16, 28, 70, 0.20) 100%); 
}
.bg-gradient-black-dark-brown {
  background-image: linear-gradient(to right top, #000000, #000000, #30281B, #493825, #DA7310);
}

/* Theme border utilities */
.border-color-mortgage-gold {
    border-color: var(--mortgage-gold) !important;
}

.border-color-mortgage-blue {
    border-color: var(--mortgage-blue) !important;
}

/* Hero */
.mortgage-hero {
    position: relative;
}

.mortgage-hero::before {
    position: absolute;
    z-index: 0;
    content: "";
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(16, 28, 70, 0.94) 0%,
        rgba(16, 28, 70, 0.78) 45%,
        rgba(16, 28, 70, 0.22) 100%
    );
    pointer-events: none;
}

.mortgage-hero > .container,
.mortgage-hero > .container-fluid {
    position: relative;
    z-index: 1;
}

.mortgage__hero {
	position: relative;
	overflow: hidden;
}
.mortgage__hero .container {
	position: relative;
	z-index:2;
}
.mortgage__hero::after {
	content: ""; 	
	position: absolute; 	
	right: -170px; 	
	bottom: -230px; 	
	width: 530px; 	
	height: 530px; 	
	border: 1px solid rgba(255, 255, 255, .08); 	
	border-radius: 50%;
}


/* Homepage */
.contact-form-style-01 {
    margin-top: -100px;
}

.contact-form-style-01 .btn.btn-large {
    padding: 13px 40px;
}

.terms-condition .box::before {
    top: 7px;
}

.terms-condition .box::after {
    top: 11px;
}

/* Cards and inquiry forms */
.mortgage-card,
.mortgage-form {
    border: 1px solid var(--mortgage-border);
    background-color: var(--mortgage-white);
    box-shadow: 0 15px 45px rgba(16, 28, 70, 0.08);
}

.mortgage-card {
    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.mortgage-card:hover {
    border-color: rgba(33, 56, 138, 0.35);
    box-shadow: 0 20px 50px rgba(16, 28, 70, 0.13);
    transform: translateY(-4px);
}

/* Page title */
.content-header-section .page-title-extra-small h1 {
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.25;
    margin-bottom: clamp(10px, 1.5vw, 15px);
}

.content-header-section .page-title-extra-small h1 .fs-18 {
    font-size: inherit !important;
    line-height: inherit;
}

.content-header-section .page-title-extra-small h2 {
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.05;
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .content-header-section .page-title-extra-small h1 {
        font-size: clamp(0.9rem, 4vw, 1rem);
        line-height: 1.2;
        margin-bottom: 10px;
    }

    .content-header-section .page-title-extra-small h2 {
        font-size: clamp(1.85rem, 8.5vw, 2.5rem);
        line-height: 1.08;
        letter-spacing: -0.03em !important;
    }
}

/* Team */
.team-style-01 figure figcaption .social-icon a {
    margin: 0 5px;
}

/* Text shadow */
.text-shadow-medium {
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}

/* Pagination */
.pagination-style-01 .page-item.active .page-link,
.pagination-style-01 .page-item .page-link:hover {
    background: var(--mortgage-navy);
    color: var(--mortgage-white);
}

.pagination-style-01 .page-item:first-child .page-link,
.pagination-style-01 .page-item:last-child .page-link {
    background: transparent;
    box-shadow: none !important;
}

.pagination-style-01 .page-item:first-child .page-link:hover,
.pagination-style-01 .page-item:last-child .page-link:hover {
    color: var(--mortgage-navy);
}

/* Progress bar */
.progress-bar-style-03 .progress {
    height: 6px;
}

.progress-bar-style-03 .progress .progress-bar-title,
.progress-bar-style-03 .progress .progress-bar-percent {
    bottom: 10px;
}

/* Tooltip */
.tooltip-inner {
    max-width: 260px;
    padding: 22px 35px;
    background-color: var(--mortgage-white);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
    color: var(--mortgage-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    text-transform: none;
}

.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before,
.bs-tooltip-bottom .tooltip-arrow::before {
    border-width: 0 1.7em 1.7em !important;
    border-bottom-color: var(--mortgage-white) !important;
}

.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before {
    border-width: 1.7em 1.7em 0 !important;
    border-top-color: var(--mortgage-white) !important;
}

.bs-tooltip-auto[data-popper-placement^="bottom"] {
    margin-top: 15px !important;
}

.bs-tooltip-auto[data-popper-placement^="top"] {
    margin-bottom: 15px !important;
}

.tooltip {
    opacity: 1 !important;
}

.tooltip .tooltip-arrow {
    width: 3.5em;
    height: 1.2em;
}

.bs-tooltip-start.tooltip .tooltip-arrow {
    width: 1.2em;
    height: 3.2em;
    margin-top: -18px;
}

.bs-tooltip-auto[data-popper-placement^="left"] {
    margin-right: 15px;
}

.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before,
.bs-tooltip-start .tooltip-arrow::before {
    border-width: 1em 0 1em 1em !important;
    border-left-color: var(--mortgage-white) !important;
}

.bs-tooltip-end.tooltip .tooltip-arrow {
    width: 1.2em;
    height: 3.2em;
    margin-top: -18px;
}

.bs-tooltip-auto[data-popper-placement^="right"] {
    margin-left: 15px !important;
}

.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before,
.bs-tooltip-end .tooltip-arrow::before {
    border-width: 1.7rem 1.7rem 1.7rem 0 !important;
    border-right-color: var(--mortgage-white) !important;
}

.tooltip-title {
    display: block;
    margin-bottom: 7px;
    color: var(--mortgage-navy);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.5px;
}

/* Position utilities */
.left-35px {
    left: 35px;
}

.bottom-35px {
    bottom: 35px;
}

/* Footer */
.mortgage-footer {
    background-color: var(--mortgage-footer) !important;
}

/* footer .footer-logo img {
    max-height: 100px;
} */

.mortgage-footer p,
.mortgage-footer .widget-text {
    color: var(--mortgage-white);
    opacity: 0.55;
}

.mortgage-footer .elements-social .light li a {
    opacity: 1;
}

.mortgage-footer p a,
.mortgage-footer p a:hover {
    color: var(--mortgage-white);
}

.mortgage-footer ul li a,
.mortgage-footer .widget-link {
    color: var(--mortgage-white);
    opacity: 0.55;
}

.mortgage-footer ul li a:hover,
.mortgage-footer .widget-link:hover,
.mortgage-footer a:hover {
    color: var(--mortgage-white);
    opacity: 1;
}

footer ul li {
    margin-bottom: 0;
}

.mortgage-footer .newsletter-style-02 input::placeholder {
    color: var(--mortgage-white);
    text-overflow: ellipsis;
    opacity: 0.55;
}

/* Accessible keyboard focus */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(229, 185, 79, 0.65);
    outline-offset: 3px;
}

/* Responsive */
@media (max-width: 1300px) {
    .sticky-wrap.shadow-in {
        left: 18px;
    }
}

@media (max-width: 1250px) {
    .sticky-wrap.shadow-in {
        left: 2px;
    }
}

@media (max-width: 1199px) {
    header .btn.btn-rounded.btn-small {
        padding: 8px 16px;
    }
}

@media (max-width: 991px) {
    .contact-form-style-01 {
        margin-top: 0;
    }

    .tab-style-08 ul .nav-item .nav-link {
        padding: 18px 20px;
    }

    .elements-social .large-icon li {
        margin: 0 5px;
    }

    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
        padding-right: 0;
        padding-left: 0;
    }

    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover {
        background-color: transparent;
    }
}

@media (max-width: 767px) {
    .process-step-style-03 .progress-step-separator {
        display: block;
    }
}

@media (max-width: 575px) {
    .process-step-style-03 .progress-step-separator {
        display: none;
    }
}


/* CUSTOM MOBILE STYLE */
/* =========================================================
   Extra Small (Default / Mobile <576px)
   ========================================================= */

.fs-xs-1 { font-size: 2.5rem !important; }
.fs-xs-2 { font-size: 2rem !important; }
.fs-xs-3 { font-size: 1.75rem !important; }
.fs-xs-4 { font-size: 1.5rem !important; }
.fs-xs-5 { font-size: 1.25rem !important; }
.fs-xs-6 { font-size: 1rem !important; }
.fs-xs-7 { font-size: .875rem !important; }
.fs-xs-8 { font-size: .75rem !important; }

/* =========================================================
   SM ≥576px
   ========================================================= */

@media (min-width: 576px) {
    .fs-sm-1 { font-size: 2.5rem !important; }
    .fs-sm-2 { font-size: 2rem !important; }
    .fs-sm-3 { font-size: 1.75rem !important; }
    .fs-sm-4 { font-size: 1.5rem !important; }
    .fs-sm-5 { font-size: 1.25rem !important; }
    .fs-sm-6 { font-size: 1rem !important; }
    .fs-sm-7 { font-size: .875rem !important; }
    .fs-sm-8 { font-size: .75rem !important; }
}

/* =========================================================
   MD ≥768px
   ========================================================= */

@media (min-width: 768px) {
    .fs-md-1 { font-size: 2.5rem !important; }
    .fs-md-2 { font-size: 2rem !important; }
    .fs-md-3 { font-size: 1.75rem !important; }
    .fs-md-4 { font-size: 1.5rem !important; }
    .fs-md-5 { font-size: 1.25rem !important; }
    .fs-md-6 { font-size: 1rem !important; }
    .fs-md-7 { font-size: .875rem !important; }
    .fs-md-8 { font-size: .75rem !important; }
}

/* =========================================================
   LG ≥992px
   ========================================================= */

@media (min-width: 992px) {
    .fs-lg-1 { font-size: 2.5rem !important; }
    .fs-lg-2 { font-size: 2rem !important; }
    .fs-lg-3 { font-size: 1.75rem !important; }
    .fs-lg-4 { font-size: 1.5rem !important; }
    .fs-lg-5 { font-size: 1.25rem !important; }
    .fs-lg-6 { font-size: 1rem !important; }
    .fs-lg-7 { font-size: .875rem !important; }
    .fs-lg-8 { font-size: .75rem !important; }
}

/* =========================================================
   XL ≥1200px
   ========================================================= */

@media (min-width: 1200px) {
    .fs-xl-1 { font-size: 2.5rem !important; }
    .fs-xl-2 { font-size: 2rem !important; }
    .fs-xl-3 { font-size: 1.75rem !important; }
    .fs-xl-4 { font-size: 1.5rem !important; }
    .fs-xl-5 { font-size: 1.25rem !important; }
    .fs-xl-6 { font-size: 1rem !important; }
    .fs-xl-7 { font-size: .875rem !important; }
    .fs-xl-8 { font-size: .75rem !important; }
}

/* =========================================================
   XXL ≥1400px
   ========================================================= */

@media (min-width: 1400px) {
    .fs-xxl-1 { font-size: 2.5rem !important; }
    .fs-xxl-2 { font-size: 2rem !important; }
    .fs-xxl-3 { font-size: 1.75rem !important; }
    .fs-xxl-4 { font-size: 1.5rem !important; }
    .fs-xxl-5 { font-size: 1.25rem !important; }
    .fs-xxl-6 { font-size: 1rem !important; }
    .fs-xxl-7 { font-size: .875rem !important; }
    .fs-xxl-8 { font-size: .75rem !important; }
}

/* =========================================================
   CUSTOM THEME FOR WORDPRESS
   ========================================================= */
	 
/* media query responsive */
@media (max-width: 1199px) {
    .newsletter-style-03 .btn {
        padding: 12px 18px 12px 18px;
    }
    .newsletter-style-03 input {
        padding-right: 145px !important;
        padding-left: 20px !important;
    }
    header .left-nav .navbar-nav:before {
        transform: translate(-9px, 0px);
        -webkit-transform: translate(-9px, 0px);
    }
    header .btn.btn-small {
        padding: 9px 15px;
    }
}
@media (max-width: 991px) {
    .contact-form-style-03 {
        margin-top: 0;
    }
}
@media (max-width: 767px) {
    .newsletter-style-03 input {
        padding-right: 70px !important;
        padding-left: 20px !important;
    }
}
@media (max-width: 576px) {
    .extra-small-screen {
        height: 300px !important;
    }
}

.overlap-gap-section {
	z-index: 1;
  position: relative;
}

/* ==========================================
   PRELOADER
========================================== */

html.preloader-lock,
body.preloader-lock,
body.preloader-active {
  overflow: hidden;
}

#preloader {
  position: fixed;
  inset: 0;
  background: #ffffff;
  z-index: 9999;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transition:
    opacity 0.5s ease,
    visibility 0.5s ease;
}

#preloader.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Box */
.preloader-box {
  text-align: center;
  transform: translateY(0);
}

/* ==========================================
   LOGO
========================================== */

.logo-fill {
  position: relative;
  width: 175px;
  margin: 0 auto;

  opacity: 0;
  transform: translateY(14px) scale(0.96);

  animation:
    preloaderLogoIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) forwards,
    preloaderLogoFloat 3s ease-in-out 0.75s infinite;
}

.logo-fill img.base {
  width: 100%;
  height: auto;
  display: block;
  opacity: 1;
}

/* no fill effect anymore */
.logo-fill img.fill {
  display: none;
}

/* Logo entrance */
@keyframes preloaderLogoIn {
  0% {
    opacity: 0;
    transform: translateY(14px) scale(0.96);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Soft premium floating */
@keyframes preloaderLogoFloat {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }

  50% {
    transform: translateY(-4px) scale(1.012);
  }
}

/* ==========================================
   OPTIONAL TEXT
========================================== */

.preloader-text {
  margin-top: 18px;
  font-size: 13px;
  line-height: 1.4;
  color: #555;
  min-height: 20px;
  letter-spacing: 0.04em;

  opacity: 0;
  transform: translateY(8px);

  animation: preloaderTextIn 0.6s ease 0.45s forwards;
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.preloader-text.fade {
  opacity: 0;
  transform: translateY(6px);
}

@keyframes preloaderTextIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================
   EXIT ANIMATION
========================================== */

#preloader.preloader-exit .logo-fill {
  animation: preloaderLogoExitUp 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

#preloader.preloader-exit .preloader-text {
  opacity: 0;
  transform: translateY(-8px);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

@keyframes preloaderLogoExitUp {
  0% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  45% {
    opacity: 1;
    transform: translateY(-10px) scale(1.035);
  }

  100% {
    opacity: 0;
    transform: translateY(-34px) scale(0.96);
  }
}

/* ==========================================
   REDUCED MOTION
========================================== */

@media (prefers-reduced-motion: reduce) {
  .logo-fill,
  .preloader-text {
    animation: none;
    opacity: 1;
    transform: none;
  }

  #preloader.preloader-exit .logo-fill {
    animation: none;
    opacity: 0;
  }
}

/* ==========================================
	SWIPER SLIDE-VIDEO
========================================== */
/* VIDEO as background */
.hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none; /* IMPORTANT: video won't block clicks */
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
	z-index: 1;
	
	/* .bg-gradient-dark-transparent */
	/* background: -webkit-gradient(linear, left bottom, left top, color-stop(7%, #141622), to(transparent));
	background: linear-gradient(to top, #141622 7%, transparent 100%); */
	
	/* .bg-gradient-dark-gray-left-transparent  */
    background: -webkit-linear-gradient(right, rgba(24, 25, 28, .), rgba(0, 0, 0, 0.5));
    background: linear-gradient(to right, rgba(24, 25, 28, .9), rgba(0, 0, 0, 0.5));

	
}
/* 2) overlay for darkening/tint */
.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45); /* adjust */
  z-index: 1;
}

/* 3) content always on top */
.hero__content {
  position: relative;
  z-index: 2;
}
.hero__text_content {
	white-space: nowrap;
  overflow: hidden;
}

.table-details > :not(caption) > * > * {
	background-color: transparent;
}


/* List style 04 */
.list-style-check {
  padding-left: 0;
}

.list-style-check li {
  list-style: none;
  position: relative;
  padding-left: 26px;
  margin: 0 0 10px;
}

.list-style-check li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 16px;
  height: 16px;
  background-color: currentColor;

  /* Feather check-circle SVG */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center;
}
/* GOOGLE MAP */
.google-map iframe,
.google-map {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}



/* Team style 10 */
.team-style-16 figure {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: all 0.5s cubic-bezier(0.2, 0, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.2, 0, 0.3, 1);
}
.team-style-16 figure .hover-switch-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.2, 0, 0.3, 1);
  transition: all 0.2s cubic-bezier(0.2, 0, 0.3, 1);
}
.team-style-16 figure figcaption {
  position: absolute;
  opacity: 0;
  bottom: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.team-style-16:hover figure .hover-switch-image {
  left: 0;
  opacity: 1;
}
.team-style-16:hover figure figcaption {
  opacity: 1;
}
.team-style-16:hover figure figcaption .social-icon a {
  -webkit-transform: scale(1);
  transform: scale(1);
}
.team-style-16:hover figure figcaption .social-icon a:hover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.team-style-16:hover figure figcaption a {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}


/* team style */
.team-style-16 img {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
}
.team-style-16:hover img {
    filter: grayscale(0%);
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
}


/* ===================================
	Contact Form
====================================== */
div.wpcf7 .ajax-loader {
	top: -4px;
	display: none;
	background-color: transparent;
	opacity: 1;
	width: auto;
	height: auto;
}
div.wpcf7 .ajax-loader:after {
	margin: 0 !important;
	background: none;
	content: "" !important;
	position: absolute;
	left: calc(50% - 10px) !important;
	top: calc(50% - 10px) !important;
	width: 20px !important;
	height: 20px !important;
	opacity: 1 !important;
	right: inherit !important;
	z-index: 9;
	text-align: center;
	border: 2px solid rgba(23, 23, 23, 0.2);
	border-top-color: rgba(23, 23, 23, 0.7);
	border-radius: 50%;
	animation: spin 1s linear infinite;
}
div.wpcf7 .ajax-loader::before {
	display: none;
}
div.wpcf7 .ajax-loader.is-active,
div.wpcf7 form.submitting .ajax-loader {
	display: inline-block;
	visibility: visible;
}
.contact-form-wrapper .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}
.contact-form-wrapper .wpcf7-form-control-wrap .wpcf7-form-control,
.contact-form-wrapper .wpcf7-form-control-wrap .wpcf7-list-item,
.contact-form-wrapper .wpcf7-form-control-wrap textarea {
	display: block;
}
.contact-form-wrapper .wpcf7-form-control-wrap input[type='date'], 
.contact-form-wrapper .wpcf7-form-control-wrap input[type='time'] {
	-webkit-appearance: none;
	background-color: #fff;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
	display: none;
}
.contact-form-wrapper .contact-wpcf7-spinner,
.contact-form-wrapper .contact-wpcf7-spinner p {
	display: inline-flex;
	position: relative;
	justify-content: center;
	align-items: center;
}
.contact-form-wrapper .contact-wpcf7-spinner p {
	width: 100%;
}
.contact-modern-only-icon .contact-wpcf7-spinner i,
.contact-modern-only-icon .contact-wpcf7-spinner svg {
	position: absolute;
	font-size: 18px;
	pointer-events: none;
}
.contact-modern-only-icon .contact-wpcf7-spinner svg {
	height: auto;
	width: 1em
}
.contact-modern-only-icon .wpcf7-submit {
	text-indent: -9999px;
}
.contact-form-wrapper .theme-button-wrapper p {
	margin: 0;
}
.wpcf7-form .contact-wpcf7-spinner .wpcf7-spinner {
	position: absolute;
	margin: 0;
}
.wpcf7-form .contact-wpcf7-spinner .wpcf7-submit {
	margin: 0 !important;
}
.wpcf7-form .wpcf7-submit:focus {
	background-color: transparent;
}
.submitting .contact-wpcf7-spinner input.wpcf7-submit {
	opacity: .5;
}
.wpcf7-form .wpcf7-spinner {
	margin: 0 20px 0;
	background-color: transparent;
	border: 3px solid;
	border-bottom-color: #232323;
	border-radius: 50%;
	display: inline-block;
	box-sizing: border-box;
	flex-shrink: 0;
	animation: rotation 1s linear infinite;
	color: #a7a7a7;
}
.wpcf7-form .wpcf7-spinner::before {
	display: none;
}

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
} 

.contact-form-wrapper .theme-button-wrapper input {
	margin-bottom: 0;
}
.contact-form-wrapper .theme-button-wrapper input.wpcf7-submit {
	transition: all .3s;
	-webkit-appearance: button;
}
input[type="submit"] {
	width: auto;
	cursor: pointer;
}
.contact-form-wrapper .contact-form-text {
	display: inline-block;
	width: 85%;
	font-size: 14px;
	line-height: 24px;
}
.contact-form-wrapper .contact-form-text.terms-condition-box {
	position: relative;
}
.contact-form-wrapper .contact-form-text.terms-condition-box label {
	display: block;
}
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"] {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 4px;
	left: 0;
}
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"]:checked + .box:after,
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
	display: block;
}
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"].is-invalid + .box:before,
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"].is-invalid + .wpcf7-list-item-label:before {
	border-color: #dc3545;
}
.contact-form-wrapper .contact-form-text.terms-condition-box .box,
.contact-form-wrapper .contact-form-text.terms-condition-box .wpcf7-list-item-label {
	position: relative;
	padding-left: 30px;
	cursor: pointer;
	display: inline-block;
}
.contact-form-wrapper .contact-form-text.terms-condition-box .box:before,
.contact-form-wrapper .contact-form-text.terms-condition-box .wpcf7-list-item-label:before {
	content: "";
	width: 20px;
	height: 20px;
	background-color: transparent;
	border: 1px solid #e4e4e4;
	position: absolute;
	top: 3px;
	left: 0;
	border-radius: 4px;
}
.contact-form-wrapper .contact-form-text.terms-condition-box .box:after,
.contact-form-wrapper .contact-form-text.terms-condition-box .wpcf7-list-item-label:after {
	position: absolute;
	left: 7px;
	top: 7px;
	content: "";
	width: 6px;
	height: 10px;
	display: none;
	border: solid #1e3238;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.contact-form-wrapper .contact-form-text .wpcf7-list-item-label {
	display: inline-block;
	vertical-align: top;
	margin-left: 5px;
}
.contact-form-wrapper .contact-form-text .wpcf7-list-item-label a {
	text-decoration: underline;
}
.contact-form-wrapper .contact-form-text .wpcf7-list-item-label a:hover {
	text-decoration: none;
	color: inherit;
}
.contact-form-wrapper .contact-form-text .wpcf7-list-item {
	margin: 0;
}
.contact-form-text {
	margin-bottom: 0 !important;
}
input[type="checkbox"],
input[type="radio"] {
	padding: 0;
	width: auto;
	margin: 0 5px 0 0;
	position: relative;
	top: 2px;
	float: none;
}
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}
.contact-form-wrapper .wpcf7 form .wpcf7-response-output {
	font-size: 17px; 
	text-align: center;
	margin: 20px 0;
	border-radius: 4px;
	line-height: 22px;
	padding: 20px 30px 23px 30px; 
}
.contact-form-wrapper .wpcf7 form.invalid .wpcf7-response-output,
.contact-form-wrapper .wpcf7 form.unaccepted .wpcf7-response-output {
	color: #e2ad4b;
	background-color: #fcf8e3;
	border: 0 solid #faebcc;
}
.contact-form-wrapper .wpcf7 form.failed .wpcf7-response-output,
.contact-form-wrapper .wpcf7 form.aborted .wpcf7-response-output,
.contact-form-wrapper .wpcf7 form.failed .wpcf7-response-output,
.contact-form-wrapper .wpcf7 form.aborted .wpcf7-response-output {
	color: #e65656;
	background-color: #fbf1f1;
	border: 0 solid #efe1e3;
}
.contact-form-wrapper .wpcf7 form.sent .wpcf7-response-output {
	color: #54b783;
	background-color: #f1fbec;
	border: 0 solid #cce8b3;
}
/* .contact-form-wrapper  */
.wpcf7 .wpcf7-submit:disabled {
	/* background-color: #adb5bd !important;
	border-color: #adb5bd !important;
	color: #fff !important; */
	opacity: 0.8;
	cursor: not-allowed;
	box-shadow: none;
}
.screen-reader-response ul li {
	color: #ff0202;
}
.screen-reader-response p {
	margin-bottom: 10px;
}
.wpcf7-not-valid,
.inputerror {
	border-color: #ff0202 !important;
}
.input-wrapper {
	position: relative;
	margin-bottom: 20px;
}
.input-wrapper .select-arrow {
	position: relative;
}
.input-wrapper .select-arrow select {
	appearance: none;
}
.input-wrapper .select-arrow:after {
	content: "\e842";
	font-family: feather !important;
	right: 20px;
	top: 50%;
	height: 34px;
	position: absolute;
	pointer-events: none;
	font-size: 22px;
	margin-top: -15px;
}
.input-wrapper .select-arrow.right:after {
	right: 10px;
	font-size: 17px;
}
.input-wrapper>p,
.theme-button-wrapper>p,
.input-wrapper .select-arrow>p {
	margin-bottom: 0;
}
.input-wrapper i,
.input-wrapper svg {
	position: absolute;
	left: 25px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.input-wrapper.textarea-wrapper i,
.input-wrapper.textarea-wrapper svg {
	top: 15px;
	transform: none;
}

/* CUSTOM */
.screen-reader-text,
.screen-reader-text span {
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  top:-10000em;
  width:1px;
  clip:rect(0,0,0,0);
  border:0
}

.input-wrapper input[type*="text"],
.input-wrapper input[type*="tel"],
.input-wrapper input[type*="url"],
.input-wrapper input[type*="email"],
.input-wrapper textarea {
	font-size: 16px;
  
	padding: 12px 25px 12px 0px;
	border-style: solid;
  border-width: 1px;
  border-color: #FFF;
}

.input-wrapper textarea {
  resize: vertical;
  height: 121px;
}

input:-webkit-autofill {
  transition: background-color 9999s ease-in-out 0s;
}


.wpcf7-form .wpcf7-submit {
  background-color: var(--base-color);
  font-weight: 600;
  border-style: solid;
  border-color: var(--base-color);
  /* border-radius: 4px 4px 4px 4px; */
	padding: 16px 30px 16px 30px;
  transition: all .3s;
  -webkit-appearance: button;
	text-align: center;
  outline: none;
  letter-spacing: normal;
  line-height: 1.5;
  color: #fff;
	box-shadow: none;
  white-space: nowrap;
  text-decoration: none;
	width: 100%;
	
	border-radius: 50px;
}
.wpcf7-form .wpcf7-submit:hover {
  /* background-color: #262B25;
  border-style: solid;
  border-color: #262B25;
	 */
	background:var(--base-color);
  color:var(--white);
	
	  -webkit-box-shadow:0 8px 30px 0 rgba(0,0,0,.15);
  box-shadow:0 8px 30px 0 rgba(0,0,0,.15);
  -webkit-transform:translate3d(0,-2px,0);
  transform:translate3d(0,-2px,0)
	
}
 .wpcf7-form .wpcf7-submit:active {
  background-color: #00000000;
}
.wpcf7-form .wpcf7-submit:active,
.wpcf7-form .wpcf7-submit:focus {
  color: var(--base-color);
  border-style: solid;
  border-color: var(--base-color);
	border-width: 1px;
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}
/* CONTACT FORM RESPONSE OUTPUT */
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  background-color: #f6bb1f;
  border: 0;
  color: #fff;
  line-height: 1.2;
  padding: 20px;
  border-radius: 10px;
}
.wpcf7 form.sent .wpcf7-response-output {
	background-color: #40ac4a;
	border: 0;
  color: #fff;
  line-height: 1.2;
  padding: 20px;
  border-radius: 10px;
}
/* CONTACT FORM RESPONSE OUTPUT */

/* Theme Form Style 01 */
.theme-form-style-1 label {
	display: block;
}

/* Theme Form Style 02 */
.theme-form-style-2 input,
.elementor-widget .theme-form-style-2 select,
.theme-form-style-2 textarea {
	padding-left: 60px;
}
.theme-form-style-2 .input-wrapper.textarea-wrapper i {
	top: 14px;
}
.theme-form-style-2 .input-wrapper.textarea-wrapper svg{
	top: 20px;
}

.theme-form-style-2 .wpcf7-form-control-wrap input[type*="text"],
.theme-form-style-2 .wpcf7-form-control-wrap input[type*="tel"],
.theme-form-style-2 .wpcf7-form-control-wrap input[type*="url"],
.theme-form-style-2 .wpcf7-form-control-wrap input[type*="email"],
.theme-form-style-2 .wpcf7-form-control-wrap textarea {
  border-radius: 6px 6px 6px 6px;
  padding: 12px 25px 12px 55px;
	color: #717580;
  border:1px solid var(--extra-medium-gray);
}
.theme-form-style-2 .wpcf7-form-control-wrap textarea {
  resize: vertical;
  height: 122px;

}

/* Theme Form Style 03 */
.theme-form-style-3 .input-wrapper i {
	position: absolute;
	left: 25px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.theme-form-style-3 .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}
.theme-form-style-3 input:not(.wpcf7-submit){
	border-radius: 6px 6px 6px 6px;
	padding: 12px 25px 12px 55px;
}
.theme-form-style-3 textarea {
	padding-left: 55px;
}
.theme-form-style-3 .input-wrapper.textarea-wrapper i {
	top: 15px;
	transform: translateY(0);
}
.theme-form-style-3 input.wpcf7-submit,
.theme-form-style-3 .theme-button-wrapper input.wpcf7-submit {
	color: #fff;
}
.theme-form-style-3 .form-textarea {
	position: relative;
}

/* Theme Form Style 04 */
.theme-form-style-4 input[type="submit"] {
	width: 100%;
}

/* Theme Form Style 05 */
.theme-form-style-5 .input-wrapper i,
.theme-form-style-5 .input-wrapper svg {
	left: inherit;
	right: 5px;
}
.theme-form-style-5 .input-wrapper input,
.theme-form-style-5 .input-wrapper textarea {
	margin-bottom: 0;
}
.theme-form-style-5 p {
	margin-bottom: 0;
}
.theme-form-style-5 label {
	display: block;
}
.theme-form-style-5 .form-textarea .input-wrapper i,
.theme-form-style-5 .form-textarea .input-wrapper svg {
	top: 30px;
}

.theme-form-style-5 .wpcf7-form-control-wrap input[type*="text"],
.theme-form-style-5 .wpcf7-form-control-wrap input[type*="tel"],
.theme-form-style-5 .wpcf7-form-control-wrap input[type*="url"],
.theme-form-style-5 .wpcf7-form-control-wrap input[type*="email"],
.theme-form-style-5 .wpcf7-form-control-wrap textarea {
  padding: 12px 25px 12px 0px;	
	border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-color: #E4E4E4;
}
.theme-form-style-5 .wpcf7-form-control-wrap textarea {
  resize: vertical;
  height: 121px;
}

/* Theme Form Style 06 */
.theme-form-style-6 .input-wrapper i,
.theme-form-style-6 .input-wrapper svg {
	font-size: 24px;
	left: inherit;
	right: 5px;
}
.theme-form-style-6 .input-wrapper svg {
	width: 1em;
	height: auto;
}
.theme-form-style-6 .wpcf7-submit {
	width: 100%;
}
.theme-form-style-6 .theme-button-wrapper p {
	margin-bottom: 0;
}

/* Theme Form Style 07 */
.theme-form-style-7 input,
.theme-form-style-7 textarea,
.theme-form-style-7 select {
	background-color: transparent;
	font-weight: 300;
	padding: 14px 28px 14px 35px;
	border-radius: 100px;
	font-size: 16px;
}
.theme-form-style-7 .theme-button-wrapper {
	margin-bottom: 20px;
}
.theme-form-style-7 .theme-button-wrapper .wpcf7-submit,
.theme-form-style-7 .theme-button-wrapper .wpcf7-submit:hover {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	height: 60px;
	width: 60px;
	background-color: #fff;
	color: #4c46c0;
	padding: 0;
	text-align: center;
	border-color: #fff;
	box-shadow: none;
	border-radius: 50px;
	transform: translateY(0);
}
.theme-form-style-7 .theme-button-wrapper .wpcf7-submit i {
	font-size: 18px;
}
.theme-form-style-7 .theme-button-wrapper .wpcf7-submit:hover {
	color: var( --bs-color-secondary, #232323 );
}

/* Promo Popup */
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 > div p {
	margin-bottom: 0;
}
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox {
	text-align: center;
}
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox label {
	font-size: 15px;
	margin-top: 15px;
	display: block;
}
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox label input[type="checkbox"],
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox label input[type="radio"] {
	top: 1px;
	float: none;
}
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox .wpcf7-list-item {
	margin: 0;
}

/* Responsive CSS Here */
@media (max-width: 767px) {
	.contact-form-wrapper .theme-button-wrapper.contact-simple {
		text-align: left;
	}
	.contact-form-wrapper .contact-form-text {
		text-align: center;
	}
	.theme-form-style-7 .theme-button-wrapper .wpcf7-submit,
	.theme-form-style-7 .theme-button-wrapper .wpcf7-submit:hover {
		width: 100%;
	}
	.theme-form-style-7 input,
	.theme-form-style-7 textarea,
	.theme-form-style-7 select {
		margin-bottom: 25px;
	}
	.theme-form-style-7 .theme-button-wrapper {
		margin-bottom: 0;
	}
	.theme-form-style-7 .theme-button-wrapper.contact-modern-only-icon .contact-wpcf7-spinner {
		width: 100%;
	}
	.contact-form-wrapper .wpcf7 form .wpcf7-response-output {
		padding: 15px 20px 18px; 
	}
}

.wpcf7-list-item label { font-size: 16px; }

.wpcf7-form.invalid .input-wrapper input[type*="text"].wpcf7-validates-as-required,
.wpcf7-form.invalid .input-wrapper input[type*="tel"].wpcf7-validates-as-required,
.wpcf7-form.invalid .input-wrapper input[type*="url"].wpcf7-validates-as-required,
.wpcf7-form.invalid .input-wrapper input[type*="email"].wpcf7-validates-as-required {
  border-color: #ff0202 !important;
}

/* CUSTOM BACKGROUND */
.bg-image-circle {
	background-image: url('../images/bg-circle-logo-1.jpg');
	background-position: left top !important;
	background-repeat: no-repeat !important;
	background-color: var(--very-light-gray);
	background-size: cover;
	overflow: hidden;
}

/* List style with font icon bullets (no extra <i> or <span>) */
.list-style-icon {
  list-style: none;
  padding: 0;
  margin: 0;
}

.list-style-icon li {
  position: relative;
  padding-left: 28px; /* space for icon */
  margin-bottom: 10px;

}

.list-style-icon li:last-child {
  border-bottom: 0;
  margin-bottom: 0;
}

/* List style icon bullet */
.list-style-icon li::before {
  content: "\f00c"; /* default: fa-check */
  font-family: "Font Awesome 7 Free";
  font-weight: 900; /* solid icons usually require 900 */
  position: absolute;
  left: 0;
  top: 0;
  color: var(--base-color);
}

.list-icon-check li::before {
  content: "\f00c"; /* check */
}
.list-icon-shield li::before {
  content: "\f3ed"; /* shield-halved */
}
.list-icon-dot li::before {
  content: "\f111"; /* circle */
	font-size: 6px; /* make it look like a dot */
}

/* List style counter */
.list-style-counter {
  counter-reset: li;
  list-style-type: none;
  padding-left: 0;
}

.list-style-counter li {
  position: relative;
  padding: 0 0 0 38px;
  margin: 0 0 9px 0;
}

.list-style-counter li::before {
  content: counter(li, decimal-leading-zero) ".";
  counter-increment: li;
  display: inline-block;
  position: absolute;
  left: 0;
}

/* Footer sticky */
.main-content {
  position: relative;
  z-index: 2;
  background: var(--white);
}
.footer-sticky {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  overflow: hidden;
}
/* Landing page footer */
.footer-demo ul li {
  margin-bottom: 0;
  line-height: 30px;
}
.footer-demo a:hover {
  color: #fff;
}
.footer-demo img {
  max-height: 55px !important;
}

.btn-group .btn {
  border-radius: 8px;
  padding: 15px 20px;
}

.btn-check:checked + .btn {
  background-color: var(--dark-gray);
  color: #fff;
}
.btn-check {
  position: absolute !important;
  clip: rect(0,0,0,0);
  pointer-events: none;
}

/* PROPERIES FORM FILTER */
#price-slider {
  margin-top: 10px;
}

.noUi-target {
  background: #e9ecef;
  border: none;
  height: 6px;
  border-radius: 10px;
}

.noUi-connect {
  background: #198754; 
}

.noUi-horizontal .noUi-handle {
	height: 18px;
	width: 18px;
	top: -5px;
	right: -9px;
	border-radius: 9px;
	cursor: pointer;
}

.noUi-handle::after, .noUi-handle::before {
	display:none;
}

.cover-background.inline-bg-image {
    background-image: var(--inline-bg-image) !important;
}

/* PROFILE LIST */
.profile-list-image img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.profile-list-item {
    gap: 15px;
}

.profile-list-item:hover .profile-list-details {
    opacity: 0.85;
}

@media (max-width: 575px) {
    .profile-list-image img {
        width: 70px;
        height: 70px;
    }
}
/* ==========================================
   LEGAL PAGES
   Privacy Policy, Terms of Use,
   Accessibility Statement, NMLS Consumer Access
========================================== */

.legal-page {
    max-width: 900px;
    margin: 0 auto;
    color: #555;
    font-size: 16px;
    line-height: 1.8;
}

/* Headings */
.legal-page h1,
.legal-page h2,
.legal-page h3,
.legal-page h4 {
    color: #182c4f;
    font-weight: 700;
    line-height: 1.3;
}

.legal-page h1 {
    margin: 0 0 25px;
    font-size: 42px;
}

.legal-page h2 {
    margin: 42px 0 15px;
    padding-bottom: 10px;
    font-size: 26px;
    border-bottom: 1px solid #e5e8ed;
}

.legal-page h3 {
    margin: 28px 0 10px;
    font-size: 20px;
}

.legal-page h4 {
    margin: 24px 0 10px;
    font-size: 17px;
}

/* Text */
.legal-page p {
    margin: 0 0 18px;
}

.legal-page strong {
    color: #263b5e;
    font-weight: 600;
}

/* Lists */
.legal-page ul,
.legal-page ol {
    margin: 0 0 22px;
    padding-left: 24px;
}
.legal-page li {
    margin-bottom: 8px;
    padding-left: 5px;
	position: relative;
}

.legal-page li::marker {
    color: #d3a54a;
    font-weight: 700;
}
.legal-page ul {
    list-style: none;
    padding-left: 0;
}

.legal-page ul li {
    position: relative;
    padding-left: 22px;
}

.legal-page ul li::before {
    content: "";
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 6px;
    height: 6px;
    background-color: #d3a54a;
    border-radius: 50%;
    transform: translateY(-50%);
}

/* Links */
.legal-page a {
    color: #1d5fa7;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(29, 95, 167, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.legal-page a:hover,
.legal-page a:focus {
    color: #d3a54a;
    text-decoration-color: currentColor;
}

/* Optional highlighted notice */
.legal-page .legal-notice {
    margin: 30px 0;
    padding: 20px 24px;
    background-color: #f6f8fb;
    border-left: 4px solid #d3a54a;
    border-radius: 0 6px 6px 0;
}

.legal-page .legal-notice > :last-child {
    margin-bottom: 0;
}

/* Optional external-link button */
.legal-page .legal-link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 5px;
    padding: 12px 22px;
    color: #fff;
    background-color: #182c4f;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.legal-page .legal-link-button:hover,
.legal-page .legal-link-button:focus {
    color: #182c4f;
    background-color: #d3a54a;
}

/* Tablet */
@media (max-width: 991.98px) {
    .legal-page h1 {
        font-size: 36px;
    }

    .legal-page h2 {
        font-size: 24px;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .legal-page {
        font-size: 15px;
        line-height: 1.7;
    }

    .legal-page h1 {
        margin-bottom: 20px;
        font-size: 32px;
    }

    .legal-page h2 {
        margin-top: 34px;
        font-size: 22px;
    }

    .legal-page h3 {
        font-size: 19px;
    }

    .legal-page ul,
    .legal-page ol {
        padding-left: 20px;
    }

    .legal-page .legal-notice {
        padding: 18px;
    }

    .legal-page .legal-link-button {
        width: 100%;
    }
}


/* =========================================================
   Testimonials Shortcode
   Desktop: Masonry layout
   Mobile: Normal stacked layout
========================================================= */
/* =========================================================
   Testimonials
========================================================= */

.js-testimonials {
    position: relative;
}

/* Masonry Container */
.testimonials-grid {
    position: relative;
    width: 100%;
}

/* Masonry Items */
.testimonial-item {
    width: 31%;
    margin-bottom: 30px;
    transition:
        opacity .35s ease,
        transform .35s ease;
}

/* Card */
.testimonial-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 10px 25px rgba(0,0,0,.05);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.testimonial-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

.testimonial-card {
    position: relative;
}

.testimonial-card::before {
    content: "❝";
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 60px;
    line-height: 1;
    opacity: .08;
    font-family: Georgia, serif;
}

/* Rating */
.testimonial-rating {
    color: #f5b03d;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 3px;
    margin-bottom: 18px;
}

/* Content */
.testimonial-text {
    color: #444;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.testimonial-text p:last-child {
    margin-bottom: 0;
}

/* Author */
.testimonial-author,
.testimonial-card .d-flex {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Avatar */
.testimonial-avatar,
.testimonial-img {
    width: 60px;
    height: 60px;
    min-width: 60px;
    border-radius: 50%;
    object-fit: cover;
}

/* Name */
.testimonial-card h5,
.testimonial-author strong {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: #222;
}

/* Meta */
.testimonial-card .small,
.testimonial-author div div {
    font-size: 13px;
    color: #777;
    line-height: 1.5;
}

/* =========================================================
   Loader
========================================================= */

.testimonial-loader {
    display: none;
    text-align: center;
    padding: 40px 20px;
    color: #666;
    font-size: 14px;
}

.testimonial-loader.is-loading::before {
    content: "";
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto 12px;
    border: 3px solid #ddd;
    border-top-color: #111;
    border-radius: 50%;
    animation: testimonialSpin .8s linear infinite;
}

.testimonial-end {
    display: none;
    text-align: center;
    padding: 30px 20px;
    color: #666;
    font-size: 14px;
}

@keyframes testimonialSpin {
    to {
        transform: rotate(360deg);
    }
}

/* =========================================================
   Tablet
========================================================= */

@media (max-width: 991px) {

    .testimonial-item {
        width: 48%;
    }

    .testimonial-card {
        padding: 24px;
    }
}

/* =========================================================
   Mobile
========================================================= */

@media (max-width: 767px) {

    .testimonials-grid {
        display: block;
    }

    .testimonial-item {
        width: 100%;
        margin-bottom: 20px;
    }

    .testimonial-card {
        padding: 22px;
    }

    .testimonial-rating {
        font-size: 16px;
        letter-spacing: 2px;
    }

    .testimonial-text {
        font-size: 14px;
        line-height: 1.7;
    }

    .testimonial-avatar,
    .testimonial-img {
        width: 52px;
        height: 52px;
        min-width: 52px;
    }
}

/* =========================================================
   Small Mobile
========================================================= */

@media (max-width: 480px) {

    .testimonial-card {
        padding: 18px;
    }

    .testimonial-text {
        font-size: 13.5px;
    }
}

.testimonial-trigger {
    height: 1px;
}
/*
.testimonials-layout-carousel .testimonials-grid {
    position: static;
}

.testimonials-layout-carousel .testimonial-item {
    width: auto;
    margin-bottom: 0;
}

.testimonial-swiper {
    padding: 10px 5px 55px;
}

.testimonial-swiper .swiper-button-next,
.testimonial-swiper .swiper-button-prev {
    color: #111;
}

.testimonial-swiper .swiper-pagination-bullet-active {
    background: #111;
}*/
/* =========================================================
   PROPERTY 
========================================================= */
.is-sold img{
	/*opacity: 0.85;
	filter: grayscale(20%);*/
	filter: grayscale(100%);
	opacity: 0.7;
	transition: all 0.3s ease;
}

.is-sold:hover img {
	filter: grayscale(0);
	opacity: 1;
}

/* Pagination style 01 */
.pagination-style-01 .page-item.active .page-link {
    background: var(--dark-gray) !important;
    color: var(--white);
    box-shadow: 0 0 10px rgba(23, 23, 23, 0.15) !important;
}

/* =========================================================
   QR CODE
========================================================= */
.profile-qr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
  line-height: 0;
}

.profile-qr svg,
.profile-qr canvas {
  display: block;
  max-width: 100%;
  height: auto;
}
.grecaptcha-badge {
    visibility: hidden !important;
}
.cmplz-manage-consent {
    display: none !important;
}


/* ===================================
   About Us page
   Append to theme.css
====================================== */

.about-mission-card {
    min-height: 100%;
    box-shadow: 0 25px 60px rgba(16, 28, 70, 0.2);
}

.about-mission-mark {
    position: absolute;
    top: 10px;
    right: 30px;
    font-family: Georgia, serif;
    font-size: 120px;
    line-height: 1;
    opacity: 0.18;
    pointer-events: none;
}

.about-feature-card {
    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.about-feature-card:hover {
    border-color: rgba(33, 56, 138, 0.35);
    box-shadow: 0 20px 50px rgba(16, 28, 70, 0.13);
    transform: translateY(-4px);
}

.about-feature-icon {
    width: 64px;
    height: 64px;
    font-size: 25px;
}

.about-approach-card {
    transition: transform 0.3s ease;
}

.about-approach-card:hover {
    transform: translateY(-4px);
}

.about-commitment-list li {
    padding: 14px 0;
    border-bottom: 1px solid var(--mortgage-border);
}

.about-commitment-list li:first-child {
    padding-top: 0;
}

.about-commitment-list li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

@media (max-width: 767px) {
    .about-feature-card {
        display: block !important;
    }

    .about-feature-icon {
        margin-right: 0 !important;
        margin-bottom: 20px;
    }
}

/* ===================================
   Contact Us page
   Append to theme.css
====================================== */

.mpf-contact-main {
    position: relative;
}

.mpf-contact-main::before {
    position: absolute;
    top: 8%;
    left: -150px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(229, 185, 79, 0.08);
    content: "";
    pointer-events: none;
}

.mpf-contact-details {
    overflow: hidden;
    border: 1px solid var(--mortgage-border);
    border-radius: 6px;
    background: var(--mortgage-white);
    box-shadow: 0 15px 45px rgba(16, 28, 70, 0.08);
}

.mpf-contact-detail {
    min-height: 96px;
    padding: 20px 24px;
    color: inherit;
    border-bottom: 1px solid var(--mortgage-border);
    text-decoration: none;
    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}

.mpf-contact-detail:last-child {
    border-bottom: 0;
}

a.mpf-contact-detail:hover {
    color: inherit;
    background: var(--mortgage-soft-blue);
}

.mpf-contact-detail-icon {
    width: 50px;
    height: 50px;
    margin-right: 18px;
    color: var(--mortgage-blue);
    font-size: 21px;
    border-radius: 50%;
    background: var(--mortgage-soft-blue);
    transition:
        color 0.25s ease,
        background-color 0.25s ease;
}

a.mpf-contact-detail:hover .mpf-contact-detail-icon {
    color: var(--mortgage-white);
    background: var(--mortgage-blue);
}

.mpf-contact-detail small {
    margin-bottom: 2px;
    color: var(--medium-gray);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.6px;
    line-height: 1.4;
    text-transform: uppercase;
}

.mpf-contact-detail strong {
    color: var(--mortgage-navy);
    font-size: 16px;
    line-height: 1.5;
}

.mpf-contact-form-card {
    border: 1px solid var(--mortgage-border);
    box-shadow: 0 25px 70px rgba(16, 28, 70, 0.14);
}

.mpf-contact-form-accent {
    position: absolute;
    top: 0;
    right: 45px;
    left: 45px;
    height: 4px;
    border-radius: 0 0 4px 4px;
    background: var(--mortgage-gold);
}

.mpf-contact-form .wpcf7-form-control-wrap {
    display: block;
}

.mpf-contact-form input[type="text"],
.mpf-contact-form input[type="email"],
.mpf-contact-form input[type="tel"],
.mpf-contact-form input[type="number"],
.mpf-contact-form select,
.mpf-contact-form textarea {
    width: 100%;
    margin: 0;
    color: var(--mortgage-navy);
    border: 1px solid var(--mortgage-border);
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.mpf-contact-form input[type="text"],
.mpf-contact-form input[type="email"],
.mpf-contact-form input[type="tel"],
.mpf-contact-form input[type="number"],
.mpf-contact-form select {
    height: 54px;
    padding: 0 18px;
}

.mpf-contact-form textarea {
    min-height: 145px;
    padding: 15px 18px;
    resize: vertical;
}

.mpf-contact-form input:focus,
.mpf-contact-form select:focus,
.mpf-contact-form textarea:focus {
    border-color: rgba(33, 56, 138, 0.65);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(33, 56, 138, 0.09);
}

.mpf-contact-form input[type="submit"],
.mpf-contact-form button[type="submit"] {
    min-height: 52px;
    padding: 13px 32px;
    color: var(--mortgage-white);
    font-weight: 600;
    border: 0;
    border-radius: 50px;
    background: var(--mortgage-blue);
    box-shadow: 0 8px 22px rgba(33, 56, 138, 0.22);
    transition:
        background-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.mpf-contact-form input[type="submit"]:hover,
.mpf-contact-form button[type="submit"]:hover {
    background: var(--mortgage-navy);
    box-shadow: 0 12px 28px rgba(16, 28, 70, 0.26);
    transform: translateY(-2px);
}
/* .mpf-contact-form input[type="submit"]:disabled
{
    background-color: #adb5bd !important;
    border-color: #adb5bd !important;
    color: #fff !important;
    opacity: 0.8;
    cursor: not-allowed;
    box-shadow: none;
} */

.mpf-contact-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 12px;
}

.mpf-contact-form .wpcf7-response-output {
    margin-right: 0;
    margin-left: 0;
    padding: 12px 15px;
    font-size: 13px;
    line-height: 1.6;
    border-radius: 4px;
}

.mpf-contact-privacy {
    padding-top: 20px;
    color: var(--medium-gray);
    font-size: 12px;
    line-height: 1.65;
    border-top: 1px solid var(--mortgage-border);
}

.mpf-contact-privacy i {
    position: relative;
    top: 1px;
    font-size: 17px;
}

.mpf-contact-privacy a {
    margin-left: 3px;
    color: var(--mortgage-blue);
    font-weight: 600;
}

.mpf-contact-step {
    overflow: hidden;
}

.mpf-contact-step-number {
    position: absolute;
    top: 15px;
    right: 20px;
    color: var(--mortgage-blue);
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    opacity: 0.07;
}

.mpf-contact-step-icon {
    width: 70px;
    height: 70px;
    color: var(--mortgage-blue);
    font-size: 27px;
    background: var(--mortgage-soft-blue);
    transition:
        color 0.3s ease,
        background-color 0.3s ease,
        transform 0.3s ease;
}

.mpf-contact-step:hover .mpf-contact-step-icon {
    color: var(--mortgage-white);
    background: var(--mortgage-blue);
    transform: scale(1.05);
}

@media (max-width: 767px) {
    .mpf-contact-main::before {
        display: none;
    }

    .mpf-contact-detail {
        min-height: 88px;
        padding: 18px;
    }

    .mpf-contact-detail-icon {
        width: 46px;
        height: 46px;
        margin-right: 14px;
        font-size: 19px;
    }

    .mpf-contact-detail strong {
        font-size: 14px;
        overflow-wrap: anywhere;
    }

    .mpf-contact-form-accent {
        right: 30px;
        left: 30px;
    }

    .mpf-contact-form input[type="submit"],
    .mpf-contact-form button[type="submit"] {
        width: 100%;
    }
}


/* ==========================================
   FOOTER
========================================== */

.footer-dark {
    /* background: #081d32; */
    /* color: rgba(255, 255, 255, 0.68); */
}

/* CTA */
.footer-cta {
    padding: 70px 0;
    /* background:
        radial-gradient(
            circle at 15% 50%,
            rgba(205, 164, 91, 0.13),
            transparent 35%
        ),
        linear-gradient(135deg, #0d2b48 0%, #0a2037 100%); */
}

.footer-cta-eyebrow {
    color: var(--base-color, #d1aa63);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.footer-cta p {
    max-width: 650px;
    line-height: 1.7;
}

.footer-cta-actions .btn {
    min-width: 155px;
    margin: 0;
}

.footer-cta .btn-outline-light {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: transparent;
}

.footer-cta .btn-outline-light:hover {
    color: #0b2239;
    border-color: #fff;
    background: #fff;
}

/* Main footer */
.footer-main {
    padding: 70px 0 60px;
}

.footer-logo img {
    width: auto;
    /* max-width: 210px; */
    max-height: 100px !important;
}

.footer-brand-description {
    width: 90%;
    max-width: 360px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 14px;
    line-height: 1.75;
}

.footer-brand-description > :last-child {
    margin-bottom: 0;
}

.footer-menu-title {
    margin: 0 0 18px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.footer-menu,
.footer-menu ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-menu li {
    margin-bottom: 9px;
    line-height: 1.5;
}

.footer-menu li:last-child {
    margin-bottom: 0;
}

.footer-menu a {
    position: relative;
    display: inline-block;
    color: rgba(255, 255, 255, 0.62);
    font-size: 14px;
    text-decoration: none;
    transition:
        color 0.25s ease,
        transform 0.25s ease;
}

.footer-menu a:hover,
.footer-menu .current-menu-item > a {
    color: #fff;
    transform: translateX(3px);
}

/* Legal area */
.footer-legal {
    padding: 26px 0;
    background: rgba(0, 0, 0, 0.14);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.52);
    font-size: 12px;
    line-height: 1.7;
}

.footer-company-info {
    margin: 0 0 7px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    text-align: center;
}

.footer-company-info strong {
    color: #fff;
    font-weight: 600;
}

.footer-disclaimer {
    max-width: 920px;
    margin: 0 auto 14px;
    text-align: center;
}

.footer-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

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

.footer-legal a {
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    transition: color 0.25s ease;
}

.footer-legal a:hover {
    color: #fff;
}

.footer-separator {
    display: inline-block;
    margin: 0 8px;
    color: rgba(255, 255, 255, 0.25);
}

/* Tablet */
@media (max-width: 991px) {
    .footer-cta {
        padding: 55px 0;
    }

    .footer-main {
        padding: 55px 0 45px;
    }

    .footer-brand-description {
        margin-right: auto;
        margin-left: auto;
    }

    .footer-bottom-row {
        flex-direction: column;
        justify-content: center;
        gap: 6px;
        text-align: center;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .footer-cta {
        padding: 45px 0;
    }

    .footer-cta-actions {
        flex-direction: column;
        align-items: center;
    }

    .footer-cta-actions .btn {
        width: 100%;
        max-width: 280px;
    }

    .footer-main {
        padding: 45px 0 40px;
    }

    .footer-menu-title {
        margin-bottom: 12px;
        font-size: 15px;
    }

    .footer-menu a {
        font-size: 13px;
    }

    .footer-legal {
        padding: 24px 15px;
    }

    .footer-company-info > span:not(.footer-separator) {
        display: block;
    }

    .footer-company-info .footer-separator {
        display: none;
    }

    .footer-disclaimer {
        font-size: 11px;
        line-height: 1.65;
    }
}

/* ==========================================
   CUSTOM GAP UTILITIES
   Matches the theme's existing *-5px spacing
   utility naming convention.
========================================== */
.gap-5px  { gap: 5px !important; }
.gap-10px { gap: 10px !important; }
.gap-15px { gap: 15px !important; }
.gap-20px { gap: 20px !important; }
.gap-25px { gap: 25px !important; }
.gap-30px { gap: 30px !important; }
.gap-35px { gap: 35px !important; }
.gap-40px { gap: 40px !important; }
.gap-45px { gap: 45px !important; }
.gap-50px { gap: 50px !important; }
.gap-55px { gap: 55px !important; }
.gap-60px { gap: 60px !important; }
.gap-65px { gap: 65px !important; }
.gap-70px { gap: 70px !important; }

.row-gap-5px  { row-gap: 5px !important; }
.row-gap-10px { row-gap: 10px !important; }
.row-gap-15px { row-gap: 15px !important; }
.row-gap-20px { row-gap: 20px !important; }
.row-gap-25px { row-gap: 25px !important; }
.row-gap-30px { row-gap: 30px !important; }
.row-gap-35px { row-gap: 35px !important; }
.row-gap-40px { row-gap: 40px !important; }

.column-gap-5px  { column-gap: 5px !important; }
.column-gap-10px { column-gap: 10px !important; }
.column-gap-15px { column-gap: 15px !important; }
.column-gap-20px { column-gap: 20px !important; }
.column-gap-25px { column-gap: 25px !important; }
.column-gap-30px { column-gap: 30px !important; }
.column-gap-35px { column-gap: 35px !important; }
.column-gap-40px { column-gap: 40px !important; }

/* ==========================================
   PRIMARY NAV — SIMPLE CRAFTO-STYLE MEGA MENU
   Refined: Crafto-like hover + better dividers
========================================== */

/* Top-level item must allow the dropdown to span the menu area. */
.navbar .navbar-nav .mpf-mega-menu {
    position: static;
}

/* Main mega-menu panel */
.navbar .navbar-nav .mpf-mega-menu > .mpf-mega-menu__dropdown {
    right: 0;
    left: 0;
    width: 100%;
    max-width: 1180px;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 28, 70, 0.10);
}

/* Crafto may apply its own fixed width to .mega-menu.
   Keep the inner wrapper aligned with the dropdown. */
.navbar .navbar-nav .mpf-mega-menu > .mpf-mega-menu__dropdown .mpf-mega-menu__grid {
    display: flex !important;
    column-gap: 48px;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 35px 40px;

    /* Reliable column dividers.
       Draw them on the mega-menu wrapper itself instead of on
       individual <ul> columns so Crafto list/pseudo-element rules
       cannot suppress the last divider. */
    background-image:
        linear-gradient(var(--mortgage-border), var(--mortgage-border)),
        linear-gradient(var(--mortgage-border), var(--mortgage-border)),
        linear-gradient(var(--mortgage-border), var(--mortgage-border));
    background-repeat: no-repeat;
    background-size:
        1px calc(100% - 70px),
        1px calc(100% - 70px),
        1px calc(100% - 70px);
    background-position:
        25% center,
        50% center,
        75% center;
}

/* Mega-menu columns */
.navbar .navbar-nav .mpf-mega-menu__column {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Inset divider: gives the menu items breathing room. */

/* Column headings */
.navbar .navbar-nav .mpf-mega-menu__heading {
    margin: 0 0 15px;
    padding: 0;
    list-style: none;
}

.navbar .navbar-nav .mpf-mega-menu__heading > span {
    display: block;
    color: var(--mortgage-blue);
    font-family: "cerebri-sans-bold" !important;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

/* Menu links */
.navbar .navbar-nav .mpf-mega-menu__item {
    margin: 0;
    padding: 0;
    list-style: none;
}

.navbar .navbar-nav .mpf-mega-menu__item > a {
    display: inline-block;
    padding: 6px 0;
    /* color: var(--mortgage-heading) !important; */
    /* font-family: "cerebri-sans-regular" !important; */
    font-size: 15px;
    line-height: 22px;
    white-space: normal !important;
    /* transform: translateX(0); */
		-webkit-transition:.3s;
		transition:.3s;
}

/* Match Crafto's simple dropdown feel: subtle smooth shift to the right. */
.navbar .navbar-nav .mpf-mega-menu__item > a:hover,
.navbar .navbar-nav .mpf-mega-menu__item.active > a {
    /* color: var(--mortgage-blue) !important; var(--dark-gray)*/
    /* transform: translateX(6px); */
		color:var(--base-color);
		padding-left: 3px;
}

/* Desktop only */
@media (min-width: 992px) {
    .navbar .navbar-nav .mpf-mega-menu > .mpf-mega-menu__dropdown {
        top: 100%;
    }
}

/* Tablet / mobile: stack like a normal Crafto dropdown */
@media (max-width: 991px) {
    .navbar .navbar-nav .mpf-mega-menu {
        position: relative;
    }

    .navbar .navbar-nav .mpf-mega-menu > .mpf-mega-menu__dropdown {
        width: 100%;
        max-width: none;
        margin: 0;
        box-shadow: none;
				padding: 0 15px 15px;
    }

    .navbar .navbar-nav .mpf-mega-menu > .mpf-mega-menu__dropdown .mpf-mega-menu__grid {
        display: block !important;
        column-gap: 0;
        padding: 10px 0 15px;
        background-image: none;
    }

    .navbar .navbar-nav .mpf-mega-menu__column,
    .navbar .navbar-nav .mpf-mega-menu__column:first-child,
    .navbar .navbar-nav .mpf-mega-menu__column:last-child {
        width: 100%;
        margin: 0;
        padding: 8px 0 8px 18px;
    }

    

    .navbar .navbar-nav .mpf-mega-menu__heading {
        margin-bottom: 4px;
    }

    .navbar .navbar-nav .mpf-mega-menu__heading > span {
        font-size: 10px;
        line-height: 16px;
    }

    .navbar .navbar-nav .mpf-mega-menu__item > a {
        padding: 7px 0;
        font-size: 14px;
        line-height: 20px;
    }

    .navbar .navbar-nav .mpf-mega-menu__item > a:hover,
    .navbar .navbar-nav .mpf-mega-menu__item.active > a {
        transform: translateX(5px);
    }
}

.mpf__hero-link{display:inline-flex;align-items:center;color:#fff;font-size:.9rem;font-weight:700}
.mpf__hero-link:hover{color:var(--mortgage-gold)}
/* =========================================================
   v16.1 — Authenticated Loan Officer utility top bar
   Reuses the site's existing fixed 45px header-top-bar layer.
   ========================================================= */
.header-top-bar--portal{
  height:45px;
  background:#10214f!important;
  color:#fff;
}
.header-top-bar--portal .container-fluid{height:100%}
.header-top-bar--portal .mpf-portal-nav{
  width:100%;height:45px;display:flex;align-items:stretch;justify-content:space-between;gap:20px;
  color:#fff;background:transparent;border:0;line-height:1.2;
}
.header-top-bar--portal .mpf-portal-nav__primary,
.header-top-bar--portal .mpf-portal-nav__links,
.header-top-bar--portal .mpf-portal-nav__account{display:flex;align-items:stretch}
.header-top-bar--portal .mpf-portal-nav__primary{min-width:0;gap:10px}
.header-top-bar--portal .mpf-portal-nav__home,
.header-top-bar--portal .mpf-portal-nav__links>a,
.header-top-bar--portal .mpf-portal-nav__logout{
  position:relative;display:flex;align-items:center;gap:6px;height:45px;padding:0 12px;
  color:rgba(255,255,255,.82);font-size:12px;font-weight:700;white-space:nowrap;
}
.header-top-bar--portal .mpf-portal-nav__home{color:#fff;font-weight:800}
.header-top-bar--portal .mpf-portal-nav__home i{color:#efbd46;font-size:13px}
.header-top-bar--portal .mpf-portal-nav__links>a:after,
.header-top-bar--portal .mpf-portal-nav__home:after{
  content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;background:transparent;
}
.header-top-bar--portal .mpf-portal-nav__home:after{left:0}
.header-top-bar--portal .mpf-portal-nav__home:hover,
.header-top-bar--portal .mpf-portal-nav__links>a:hover,
.header-top-bar--portal .mpf-portal-nav__logout:hover{color:#fff;background:rgba(255,255,255,.055)}
.header-top-bar--portal .mpf-portal-nav__home.is-active:after,
.header-top-bar--portal .mpf-portal-nav__links>a.is-active:after{background:#efbd46}
.header-top-bar--portal .mpf-portal-nav__links>a i{font-size:9px;opacity:.7;margin-left:1px}
.header-top-bar--portal .mpf-portal-nav__account{align-items:center;flex:0 0 auto;gap:2px}
.header-top-bar--portal .mpf-portal-nav__user{
  display:flex;align-items:center;gap:7px;padding:0 10px;color:rgba(255,255,255,.72);font-size:12px;font-weight:600;white-space:nowrap;
}
.header-top-bar--portal .mpf-portal-nav__user i{font-size:14px;color:rgba(255,255,255,.9)}
.header-top-bar--portal .mpf-portal-nav__logout{color:#fff}

@media (max-width:991px){
  .header-top-bar--portal .mpf-portal-nav{gap:8px}
  .header-top-bar--portal .mpf-portal-nav__home span{display:none}
  .header-top-bar--portal .mpf-portal-nav__home{width:34px;justify-content:center;padding:0}
  .header-top-bar--portal .mpf-portal-nav__home:after{left:6px;right:6px}
  .header-top-bar--portal .mpf-portal-nav__links{min-width:0;overflow-x:auto;scrollbar-width:none}
  .header-top-bar--portal .mpf-portal-nav__links::-webkit-scrollbar{display:none}
  .header-top-bar--portal .mpf-portal-nav__links>a{padding:0 9px;font-size:11px}
  .header-top-bar--portal .mpf-portal-nav__user{display:none}
  .header-top-bar--portal .mpf-portal-nav__logout{padding:0 0 0 10px;font-size:11px}
}
@media (max-width:575px){
  .header-top-bar--portal .container-fluid{padding-left:12px;padding-right:12px}
  .header-top-bar--portal .mpf-portal-nav__links>a{padding:0 8px}
  .header-top-bar--portal .mpf-portal-nav__links>a:nth-child(3){padding-right:10px}
}

/* =========================================================
   v16.2 — Portal top bar active state refinement
   ========================================================= */
.header-top-bar--portal .mpf-portal-nav__home.is-active,
.header-top-bar--portal .mpf-portal-nav__links>a.is-active{
  color:#efbd46!important;
  background:rgba(239,189,70,.075)!important;
  box-shadow:inset 0 -3px 0 #efbd46;
}
.header-top-bar--portal .mpf-portal-nav__home.is-active:after,
.header-top-bar--portal .mpf-portal-nav__links>a.is-active:after{background:transparent!important}
.header-top-bar--portal .mpf-portal-nav__home.is-active i{color:#efbd46}

/* v16.14 — Public LO login utility + mobile LO portal navigation */
.mpf-public-utility .mpf-public-lo-login{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:18px;
  padding-left:18px;
  border-left:1px solid rgba(15,33,79,.18);
  color:#0f214f;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  transition:color .18s ease;
}
.mpf-public-utility .mpf-public-lo-login:hover,
.mpf-public-utility .mpf-public-lo-login:focus-visible{color:#b88412}
.mpf-public-utility .mpf-public-lo-login i{font-size:13px}

.mpf-mobile-lo-menu{display:none}
@media (max-width:767px){
  .navbar-collapse.show .mpf-mobile-lo-menu,
  .navbar-collapse.collapsing .mpf-mobile-lo-menu{display:block}
  .mpf-mobile-lo-menu{
    margin:0 0 14px;
    padding:14px 18px 16px;
    border-bottom:1px solid #e6ebf2;
    background:#f8fafc;
  }
  .mpf-mobile-lo-menu__heading{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:9px;
    color:#0f214f;
    font-size:11px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  .mpf-mobile-lo-menu__heading i{color:#d89f22}
  .mpf-mobile-lo-menu__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .mpf-mobile-lo-menu__links a,
  .mpf-mobile-lo-menu__login{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:9px 11px;
    border:1px solid #dce4ee;
    border-radius:8px;
    background:#fff;
    color:#0f214f;
    font-size:13px;
    font-weight:700;
    line-height:1.25;
  }
  .mpf-mobile-lo-menu__links a:hover,
  .mpf-mobile-lo-menu__links a:focus-visible,
  .mpf-mobile-lo-menu__login:hover,
  .mpf-mobile-lo-menu__login:focus-visible{
    border-color:#c9d5e5;
    background:#fff9ea;
    color:#8d650c;
  }
  .mpf-mobile-lo-menu__links a>i:first-child,
  .mpf-mobile-lo-menu__login>i:first-child{width:16px;flex:0 0 16px;text-align:center;color:#1a3f91}
  .mpf-mobile-lo-menu__external{margin-left:auto;font-size:9px;opacity:.65}
  .mpf-mobile-lo-menu__links .mpf-mobile-lo-menu__logout{grid-column:1/-1;color:#6a2730}
  .mpf-mobile-lo-menu__links .mpf-mobile-lo-menu__logout>i:first-child{color:#9b3541}
}
@media (max-width:575px){
  .mpf-mobile-lo-menu{padding:12px 14px 14px}
  .mpf-mobile-lo-menu__links{grid-template-columns:1fr}
  .mpf-mobile-lo-menu__links .mpf-mobile-lo-menu__logout{grid-column:auto}
}

/* MPF v16.15 - public utility top bar refinement */
@media (min-width:768px){
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-row{
    display:flex;
    flex-wrap:nowrap;
    width:100%;
  }
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-tagline{
    flex:1 1 auto;
    width:auto;
    max-width:none;
    min-width:0;
  }
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-actions{
    flex:0 0 auto;
    width:auto;
    max-width:none;
    min-width:max-content;
    white-space:nowrap;
  }
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-utility .widget{
    display:flex;
    align-items:center;
    white-space:nowrap;
    line-height:1;
  }
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-utility .widget a{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
  }
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-utility .widget i{
    flex:0 0 auto;
  }
}
@media (min-width:992px) and (max-width:1199px){
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-tagline .fs-15{font-size:13px!important}
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-utility{font-size:13px!important}
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-utility .widget{margin-right:12px!important}
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-lo-login{margin-left:12px;padding-left:12px}
}
@media (min-width:1200px){
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-tagline{padding-right:24px}
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-utility .widget{margin-right:24px!important}
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-lo-login{margin-left:0;padding-left:18px}
}

/* ===================================
   Contact Us — CF7 form refinement
   v18.2
====================================== */
.mpf-contact-form .theme-form-style-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
}

.mpf-contact-form .theme-form-style-2 > .input-wrapper {
    position: relative;
    min-width: 0;
    margin: 0;
}

.mpf-contact-form .theme-form-style-2 > .textarea-wrapper,
.mpf-contact-form .theme-form-style-2 > .theme-button-wrapper,
.mpf-contact-form .theme-form-style-2 > .mpf-contact-consent,
.mpf-contact-form .theme-form-style-2 > .mpf-contact-turnstile,
.mpf-contact-form .theme-form-style-2 > .wpcf7-form-control-wrap,
.mpf-contact-form .theme-form-style-2 > p {
    grid-column: 1 / -1;
}

.mpf-contact-form .input-wrapper > i {
    position: absolute;
    top: 18px;
    left: 16px;
    z-index: 2;
    width: 18px;
    color: #71828f;
    font-size: 16px;
    line-height: 1;
    pointer-events: none;
}

.mpf-contact-form .input-wrapper.textarea-wrapper > i {
    top: 17px;
}

.mpf-contact-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.mpf-contact-form .input-wrapper input[type="text"],
.mpf-contact-form .input-wrapper input[type="email"],
.mpf-contact-form .input-wrapper input[type="tel"],
.mpf-contact-form .input-wrapper textarea {
    width: 100%;
    margin: 0;
    padding-left: 46px;
    border: 1px solid #cbd7de;
    border-radius: 7px;
    background: #fff;
    color: var(--mortgage-navy);
    font-size: 15px;
    box-shadow: 0 1px 0 rgba(12, 40, 66, 0.015);
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.mpf-contact-form .input-wrapper input[type="text"],
.mpf-contact-form .input-wrapper input[type="email"],
.mpf-contact-form .input-wrapper input[type="tel"] {
    height: 54px;
    padding-right: 15px;
}

.mpf-contact-form .input-wrapper textarea {
    min-height: 138px;
    padding-top: 15px;
    padding-right: 15px;
    resize: vertical;
}

.mpf-contact-form .input-wrapper input:hover,
.mpf-contact-form .input-wrapper textarea:hover {
    border-color: #aebfc9;
}

.mpf-contact-form .input-wrapper input:focus,
.mpf-contact-form .input-wrapper textarea:focus {
    outline: 0;
    border-color: var(--mortgage-blue);
    box-shadow: 0 0 0 3px rgba(33, 56, 138, .09);
}

.mpf-contact-form .input-wrapper.has-error input,
.mpf-contact-form .input-wrapper.has-error textarea,
.mpf-contact-form .wpcf7-not-valid {
    border-color: #c74449 !important;
    background-color: #fffafa;
    box-shadow: 0 0 0 3px rgba(161, 44, 49, .07);
}

.mpf-contact-form .input-wrapper.has-error > i {
    color: #a12c31;
}

.mpf-contact-form .wpcf7-not-valid-tip {
    display: block;
    margin: 6px 0 0;
    color: #a12c31;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.mpf-contact-form .mpf-contact-consent {
    margin-top: 2px;
}

.mpf-contact-form .mpf-contact-consent .wpcf7-list-item,
.mpf-contact-form .mpf-contact-consent .wpcf7-list-item label {
    margin: 0;
}

.mpf-contact-form .mpf-contact-consent .wpcf7-list-item label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    color: #53636e;
    font-size: 13px;
    line-height: 1.55;
}

.mpf-contact-form .mpf-contact-consent input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: var(--mortgage-blue);
}

.mpf-contact-form .mpf-contact-consent a {
    color: var(--mortgage-blue) !important;
}

.mpf-contact-form .mpf-contact-turnstile {
    min-height: 1px;
}

.mpf-contact-form .theme-button-wrapper.contact-modern {
    margin-top: 2px !important;
}

.mpf-contact-form .theme-button-wrapper.contact-modern .contact-wpcf7-spinner,
.mpf-contact-form .theme-button-wrapper.contact-modern p {
    width: 100%;
    margin: 0;
}

.mpf-contact-form .wpcf7-submit {
    width: 100%;
    min-height: 54px;
    margin: 0;
    border-radius: 7px !important;
    box-shadow: 0 10px 22px rgba(33, 56, 138, .16);
}

.mpf-contact-form .wpcf7-submit.is-submitting,
.mpf-contact-form form.submitting .wpcf7-submit {
    cursor: wait;
    opacity: .82;
    transform: none !important;
}

.mpf-contact-form .wpcf7-spinner {
    position: absolute;
    right: 18px;
    bottom: 17px;
    margin: 0;
}

.mpf-contact-form .wpcf7-response-output.mpf-cf7-notice {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    grid-column: 1 / -1;
    margin: 4px 0 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #efc5c7 !important;
    border-radius: 9px;
    background: #fff3f3;
    color: #8b2b31;
}

.mpf-contact-form form.sent .wpcf7-response-output.mpf-cf7-notice {
    border-color: #bfe2ca !important;
    background: #edf8f1;
    color: #175c32;
}

.mpf-cf7-notice__icon {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f9dddd;
    color: #a12c31;
}

.mpf-contact-form form.sent .mpf-cf7-notice__icon {
    background: #d9f0e1;
    color: #15713a;
}

.mpf-cf7-notice__content {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.mpf-cf7-notice__title {
    color: inherit;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.mpf-cf7-notice__message {
    color: inherit;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    opacity: .88;
}

@media (max-width: 767px) {
    .mpf-contact-form .theme-form-style-2 {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .mpf-contact-form .theme-form-style-2 > * {
        grid-column: 1 !important;
    }
}

@media (max-width: 420px) {
    .mpf-contact-form .input-wrapper input[type="text"],
    .mpf-contact-form .input-wrapper input[type="email"],
    .mpf-contact-form .input-wrapper input[type="tel"],
    .mpf-contact-form .input-wrapper textarea {
        font-size: 16px;
    }
}


/* ===================================
   Contact Us — Loan Explorer-style form
   v18.2.1
====================================== */

/* Visible labels replace decorative field icons. */
.mpf-contact-form .mpf-contact-fields > .input-wrapper {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.mpf-contact-form .mpf-contact-fields > .input-wrapper > i {
    display: none !important;
}

.mpf-contact-form .mpf-contact-fields > .input-wrapper > label {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    width: max-content;
    max-width: 100%;
    margin: 0;
    color: #50616d;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.mpf-contact-form .mpf-contact-fields .mpf-required {
    color: #a12c31;
}

.mpf-contact-form .mpf-contact-fields .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.mpf-contact-form .mpf-contact-fields .input-wrapper input[type="text"],
.mpf-contact-form .mpf-contact-fields .input-wrapper input[type="email"],
.mpf-contact-form .mpf-contact-fields .input-wrapper input[type="tel"],
.mpf-contact-form .mpf-contact-fields .input-wrapper textarea {
    width: 100%;
    margin: 0;
    padding-left: 14px;
    padding-right: 14px;
    border: 1px solid #cbd7de;
    border-radius: 7px;
    background: #fff;
    color: var(--mortgage-navy);
    font-size: 15px;
    font-weight: 500;
    box-shadow: 0 1px 0 rgba(12,40,66,.015);
}

.mpf-contact-form .mpf-contact-fields .input-wrapper input[type="text"],
.mpf-contact-form .mpf-contact-fields .input-wrapper input[type="email"],
.mpf-contact-form .mpf-contact-fields .input-wrapper input[type="tel"] {
    height: 50px;
}

.mpf-contact-form .mpf-contact-fields .input-wrapper textarea {
    min-height: 126px;
    padding-top: 12px;
    line-height: 1.5;
}

/* Message and all lower actions span the full form width. */
.mpf-contact-form .mpf-contact-fields > .textarea-wrapper,
.mpf-contact-form .mpf-contact-fields > .mpf-contact-consent,
.mpf-contact-form .mpf-contact-fields > .mpf-contact-turnstile,
.mpf-contact-form .mpf-contact-fields > .theme-button-wrapper {
    grid-column: 1 / -1;
}

/* Match Loan Explorer inline validation behavior. */
.mpf-contact-form .mpf-contact-fields .wpcf7-not-valid-tip {
    margin-top: 5px;
    color: #a12c31;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.mpf-contact-form .mpf-contact-fields .wpcf7-not-valid {
    border-color: #c74449 !important;
    background: #fffafa !important;
    box-shadow: 0 0 0 3px rgba(161,44,49,.08) !important;
}

/* Consent follows the Loan Explorer compact pattern. */
.mpf-contact-form .mpf-contact-consent {
    margin-top: 2px;
}

.mpf-contact-form .mpf-contact-consent .wpcf7-list-item {
    margin: 0;
}

.mpf-contact-form .mpf-contact-consent .wpcf7-list-item label {
    display: grid;
    grid-template-columns: 18px minmax(0,1fr);
    align-items: start;
    gap: 10px;
    margin: 0;
    color: #53636e;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
}

/* Turnstile: keep it compact and prevent plugin messages from collapsing into narrow columns. */
.mpf-contact-form .mpf-contact-turnstile,
.mpf-contact-form .mpf-contact-turnstile > *,
.mpf-contact-form .mpf-contact-turnstile p,
.mpf-contact-form .mpf-contact-turnstile div {
    max-width: 100%;
}

.mpf-contact-form .mpf-contact-turnstile .wpcf7-not-valid-tip,
.mpf-contact-form .mpf-contact-turnstile [role="alert"] {
    width: auto;
    max-width: 100%;
    white-space: normal;
}

/* Any CF7 response is styled like the Loan Explorer status notice,
   even before JS upgrades its markup. */
.mpf-contact-form .wpcf7-response-output {
    width: 100% !important;
    max-width: 100%;
    grid-column: 1 / -1;
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border: 1px solid #efc5c7 !important;
    border-radius: 10px !important;
    background: #fff3f3 !important;
    color: #8b2b31 !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.mpf-contact-form form.sent .wpcf7-response-output {
    border-color: #bfe2ca !important;
    background: #edf8f1 !important;
    color: #175c32 !important;
}

.mpf-contact-form .wpcf7-response-output.mpf-cf7-notice {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    align-items: start;
    gap: 12px;
}

.mpf-contact-form .mpf-cf7-notice__content {
    min-width: 0;
}

.mpf-contact-form .mpf-cf7-notice__message {
    overflow-wrap: anywhere;
}

/* Place status notices immediately above the field grid. */
.mpf-contact-form .mpf-contact-status-slot {
    margin: 0 0 18px;
}

.mpf-contact-form .mpf-contact-status-slot:empty {
    display: none;
}

@media (max-width: 767px) {
    .mpf-contact-form .mpf-contact-fields {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .mpf-contact-form .mpf-contact-fields > * {
        grid-column: 1 !important;
    }

    .mpf-contact-form .wpcf7-response-output.mpf-cf7-notice {
        grid-template-columns: 34px minmax(0,1fr);
        gap: 11px;
        padding: 14px !important;
    }
}

@media (max-width: 420px) {
    .mpf-contact-form .mpf-contact-fields .input-wrapper input[type="text"],
    .mpf-contact-form .mpf-contact-fields .input-wrapper input[type="email"],
    .mpf-contact-form .mpf-contact-fields .input-wrapper input[type="tel"],
    .mpf-contact-form .mpf-contact-fields .input-wrapper textarea {
        font-size: 16px;
    }
}


/* ===================================
   Contact Us — single-column + response fix
   v18.2.2
====================================== */

/* Keep the Contact Us form single-column at every viewport size. */
.mpf-contact-form .theme-form-style-2,
.mpf-contact-form .mpf-contact-fields {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 15px !important;
}

.mpf-contact-form .theme-form-style-2 > *,
.mpf-contact-form .mpf-contact-fields > * {
    grid-column: 1 !important;
    min-width: 0;
}

/* Make the Turnstile container and any plugin-generated status/error
   consume the full available width. */
.mpf-contact-form .mpf-contact-turnstile,
.mpf-contact-form .mpf-contact-turnstile > *,
.mpf-contact-form .mpf-contact-turnstile .wpcf7-form-control-wrap,
.mpf-contact-form .mpf-contact-turnstile [role="alert"],
.mpf-contact-form .mpf-contact-turnstile .wpcf7-not-valid-tip {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

/* CF7 can replace only the response text while leaving our class behind.
   Until JS rebuilds the structured notice, ensure raw response text still
   occupies the full row rather than the 38px icon column. */
.mpf-contact-form .wpcf7-response-output.mpf-cf7-notice:not(:has(.mpf-cf7-notice__content)) {
    display: block !important;
    width: 100% !important;
}

/* Always keep a normal fallback response readable. */
.mpf-contact-form .wpcf7-response-output {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* Slightly tighter field rhythm now that everything is one column. */
.mpf-contact-form .mpf-contact-fields > .input-wrapper {
    gap: 6px;
}

.mpf-contact-form .mpf-contact-fields .input-wrapper textarea {
    min-height: 136px;
}

/* =========================================================
   v19.7.17 — LO Portal topbar scale
   Actual portal navigation selectors.
   ========================================================= */
@media (min-width:992px){
  .header-top-bar--portal{
    height:66px;
  }

  .header-top-bar--portal .mpf-portal-nav{
    height:66px;
  }

  .header-top-bar--portal .mpf-portal-nav__home,
  .header-top-bar--portal .mpf-portal-nav__links>a,
  .header-top-bar--portal .mpf-portal-nav__logout{
    height:66px;
    padding-left:20px;
    padding-right:20px;
    font-size:16px;
  }

  .header-top-bar--portal .mpf-portal-nav__primary{
    gap:4px;
  }

  .header-top-bar--portal .mpf-portal-nav__home{
    padding-left:16px;
    padding-right:16px;
  }

  .header-top-bar--portal .mpf-portal-nav__home i{
    font-size:16px;
  }

  .header-top-bar--portal .mpf-portal-nav__links>a i{
    font-size:11px;
  }

  .header-top-bar--portal .mpf-portal-nav__user{
    padding-left:14px;
    padding-right:14px;
    font-size:14px;
  }

  .header-top-bar--portal .mpf-portal-nav__user i{
    font-size:17px;
  }

  .header-top-bar--portal .mpf-portal-nav__logout{
    padding-left:16px;
    padding-right:16px;
    font-size:14px;
  }

  .header-top-bar--portal .mpf-portal-nav__links>a:after,
  .header-top-bar--portal .mpf-portal-nav__home:after{
    height:3px;
  }
}

/* Tablet: increase readability without affecting phone/mobile navigation. */
@media (min-width:768px) and (max-width:991px){
  .header-top-bar--portal{
    height:58px;
  }

  .header-top-bar--portal .mpf-portal-nav{
    height:58px;
  }

  .header-top-bar--portal .mpf-portal-nav__home,
  .header-top-bar--portal .mpf-portal-nav__links>a,
  .header-top-bar--portal .mpf-portal-nav__logout{
    height:58px;
  }

  .header-top-bar--portal .mpf-portal-nav__links>a{
    padding-left:12px;
    padding-right:12px;
    font-size:13px;
  }

  .header-top-bar--portal .mpf-portal-nav__home{
    width:42px;
  }

  .header-top-bar--portal .mpf-portal-nav__home i{
    font-size:15px;
  }

  .header-top-bar--portal .mpf-portal-nav__logout{
    padding-left:12px;
    font-size:12px;
  }
}

/* =========================================================
   v19.7.25 — LO Portal tablet-landscape navigation
   Prevent menu/account overlap between 992px and 1199px.
   ========================================================= */
/* @media (min-width:992px) and (max-width:1199px){ */
@media (min-width:992px) and (max-width:1300px){
	.header-top-bar--portal{
		height:58px;
	}

	.header-top-bar--portal .mpf-portal-nav{
		height:58px;
		gap:6px;
	}

	.header-top-bar--portal .mpf-portal-nav__primary{
		flex:1 1 auto;
		min-width:0;
		gap:2px;
	}

	.header-top-bar--portal .mpf-portal-nav__home,
	.header-top-bar--portal .mpf-portal-nav__links>a,
	.header-top-bar--portal .mpf-portal-nav__logout{
		height:58px;
		padding-left:10px;
		padding-right:10px;
		font-size:13px;
	}

	.header-top-bar--portal .mpf-portal-nav__home{
		padding-left:10px;
		padding-right:10px;
	}

	.header-top-bar--portal .mpf-portal-nav__home i{
		font-size:14px;
	}

	.header-top-bar--portal .mpf-portal-nav__links{
		min-width:0;
	}

	.header-top-bar--portal .mpf-portal-nav__links>a{
		gap:4px;
	}

	.header-top-bar--portal .mpf-portal-nav__links>a i{
		font-size:9px;
	}

	/* Username is secondary information at tablet-landscape width. */
	.header-top-bar--portal .mpf-portal-nav__user{
		display:none;
	}

	.header-top-bar--portal .mpf-portal-nav__account{
		flex:0 0 auto;
	}

	.header-top-bar--portal .mpf-portal-nav__logout{
		padding-left:10px;
		padding-right:10px;
		font-size:12px;
	}
}


/* v19.7.50 public/internal header refinements */
@media(max-width:767px){
  .header-top-bar:not(.header-top-bar--portal){display:none;}
}


/* v19.7.50 approved states */
.mpf-approved-states__map-wrap{display:inline-block;max-width:560px;padding:18px;border:1px solid #dbe3ed;border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(15,33,79,.07)}
.mpf-approved-states__map-wrap img{display:block;width:100%;height:auto}
.mpf-approved-states__list{display:flex;flex-wrap:wrap;gap:10px}
.mpf-approved-states__list span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #dbe3ed;border-radius:8px;background:#f7f9fc;color:#314057;font-size:.86rem;font-weight:600}
.mpf-approved-states__list strong{color:#163d8c}

/* =========================================================
   v19.7.52 — Portal public-site logo link
   ========================================================= */
.header-top-bar--portal .mpf-portal-nav__brand{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	height:100%;
	padding:0 16px 0 6px;
	border-right:1px solid rgba(255,255,255,.14);
}

.header-top-bar--portal .mpf-portal-nav__brand img{
	display:block;
	width:auto;
	max-width:118px;
	max-height:42px;
	object-fit:contain;
}

.header-top-bar--portal .mpf-portal-nav__brand:hover,
.header-top-bar--portal .mpf-portal-nav__brand:focus-visible{
	background:rgba(255,255,255,.055);
}

.header-top-bar--portal .mpf-portal-nav__brand:focus-visible{
	outline:2px solid #efbd46;
	outline-offset:-3px;
}

@media (min-width:992px) and (max-width:1199px){
	.header-top-bar--portal .mpf-portal-nav__brand{
		padding-left:4px;
		padding-right:10px;
	}

	.header-top-bar--portal .mpf-portal-nav__brand img{
		max-width:92px;
		max-height:34px;
	}
}

@media (min-width:768px) and (max-width:991px){
	.header-top-bar--portal .mpf-portal-nav__brand{
		padding-left:3px;
		padding-right:8px;
	}

	.header-top-bar--portal .mpf-portal-nav__brand img{
		max-width:78px;
		max-height:31px;
	}
}

@media (max-width:767px){
	.header-top-bar--portal .mpf-portal-nav__brand{
		padding-left:2px;
		padding-right:7px;
	}

	.header-top-bar--portal .mpf-portal-nav__brand img{
		max-width:68px;
		max-height:28px;
	}
}

/* =========================================================
   v19.7.53 — LO Portal mobile top bar + hamburger
   ========================================================= */
.header-top-bar--portal .mpf-portal-nav__toggle {
	display:none;
}

.header-top-bar--portal a.mpf-portal-nav__mobile-dashboard{
	display:none;
}

/* Keep internal portal navigation visible on phone widths even though
   the public navbar is intentionally hidden in authenticated portal views. */
@media (max-width:767px){
	
	.header-top-bar--portal{
		display:block!important;
		height:58px !important;
		position:relative;
		z-index:1005;
	}

	.header-top-bar--portal .container-fluid{
		height:58px;
		padding-left:10px;
		padding-right:10px;
	}

	.header-top-bar--portal .mpf-portal-nav{
		position:relative;
		height:58px;
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:8px;
		overflow:visible;
	}

	.header-top-bar--portal .mpf-portal-nav__primary{
		display:flex;
		align-items:center;
		flex:1 1 auto;
		min-width:0;
		height:58px;
		gap:7px;
	}

	.header-top-bar--portal .mpf-portal-nav__brand{
		display:flex;
		flex:0 0 auto;
		height:58px;
		padding:0 8px 0 0;
		border-right:1px solid rgba(255,255,255,.14);
	}

	.header-top-bar--portal .mpf-portal-nav__brand img{
		max-width:72px;
		max-height:30px;
	}

	.header-top-bar--portal .mpf-portal-nav__toggle{
		display:inline-flex;
		flex:0 0 40px;
		width:40px;
		height:40px;
		padding:0;
		border:0;
		border-radius:7px;
		background:transparent;
		align-items:center;
		justify-content:center;
		flex-direction:column;
		gap:4px;
		cursor:pointer;
	}

	.header-top-bar--portal .mpf-portal-nav__toggle span{
		display:block;
		width:20px;
		height:2px;
		border-radius:2px;
		background:#fff;
		transition:transform .18s ease,opacity .18s ease;
	}

	.header-top-bar--portal .mpf-portal-nav__toggle:hover,
	.header-top-bar--portal .mpf-portal-nav__toggle:focus-visible{
		background:rgba(255,255,255,.08);
	}

	.header-top-bar--portal .mpf-portal-nav__toggle:focus-visible{
		outline:2px solid #efbd46;
		outline-offset:1px;
	}

	.header-top-bar--portal .mpf-portal-nav.is-mobile-menu-open .mpf-portal-nav__toggle span:nth-child(1){
		transform:translateY(6px) rotate(45deg);
	}

	.header-top-bar--portal .mpf-portal-nav.is-mobile-menu-open .mpf-portal-nav__toggle span:nth-child(2){
		opacity:0;
	}

	.header-top-bar--portal .mpf-portal-nav.is-mobile-menu-open .mpf-portal-nav__toggle span:nth-child(3){
		transform:translateY(-6px) rotate(-45deg);
	}

	/* Dashboard moves into the dropdown on mobile. */
	.header-top-bar--portal .mpf-portal-nav__home{
		display:none;
	}

	.header-top-bar--portal .mpf-portal-nav__links{
		position:absolute;
		top:58px;
		left:0;
		right:auto;
		z-index:1008;
		display:none;
		width:min(340px,calc(100vw - 20px));
		min-width:0;
		padding:8px;
		border:1px solid rgba(255,255,255,.12);
		border-top:0;
		border-radius:0 0 10px 10px;
		background:#10214f;
		box-shadow:0 16px 32px rgba(8,20,52,.24);
		overflow:visible;
		flex-direction:column;
		align-items:stretch;
	}

	.header-top-bar--portal .mpf-portal-nav.is-mobile-menu-open .mpf-portal-nav__links{
		display:flex;
	}

	/* Add Dashboard as the first dropdown item via the existing hidden home link clone effect:
	   show the home link inside dropdown using positioning. */
	.header-top-bar--portal .mpf-portal-nav__links::before{
		content:"";
		display:none;
	}

	.header-top-bar--portal .mpf-portal-nav__links>a{
		display:flex;
		align-items:center;
		justify-content:flex-start;
		min-height:44px;
		height:auto;
		padding:0 12px;
		border-radius:7px;
		color:rgba(255,255,255,.86);
		font-size:13px;
		font-weight:700;
		white-space:nowrap;
	}

	.header-top-bar--portal .mpf-portal-nav__links>a:hover,
	.header-top-bar--portal .mpf-portal-nav__links>a.is-active{
		background:rgba(255,255,255,.08);
		color:#fff;
	}

	.header-top-bar--portal .mpf-portal-nav__account{
		display:flex;
		align-items:center;
		flex:0 0 auto;
		height:58px;
		margin-left:auto;
	}

	.header-top-bar--portal .mpf-portal-nav__user{
		display:none!important;
	}

	.header-top-bar--portal .mpf-portal-nav__logout{
		display:flex;
		align-items:center;
		height:40px;
		padding:0 8px;
		border-radius:7px;
		font-size:12px;
		font-weight:800;
	}

	.header-top-bar--portal .mpf-portal-nav__logout:hover{
		background:rgba(255,255,255,.08);
	}

	/* Public navbar remains hidden in portal views. */
	.header-with-topbar > .navbar.mpf-public-nav-hidden,
	.mpf-hide-public-nav .header-with-topbar > .navbar{
		display:none!important;
	}

	.header-top-bar--portal .mpf-portal-nav__mobile-dashboard{
		display:flex;
	}
}

/* =========================================================
   v19.7.54 — Public utility account state + resilient CTA nav
   ========================================================= */
.header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-row{
  width:100%;
  margin:0;
  padding:0;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-contact,
.header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-account{
  display:flex;
  align-items:center;
  min-width:0;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-contact{
  justify-content:flex-start;
  gap:24px;
  color:#273651;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-contact__item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#273651;
  font-size:13px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}

.header-top-bar:not(.header-top-bar--portal) a.mpf-public-topbar-contact__item:hover,
.header-top-bar:not(.header-top-bar--portal) a.mpf-public-topbar-contact__item:focus-visible{
  color:var(--mortgage-blue);
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-contact__item i{
  flex:0 0 auto;
  color:#173c83;
  font-size:13px;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-account{
  justify-content:flex-end;
  gap:12px;
  margin-left:auto;
  padding-left:24px;
  color:#0f214f;
  font-size:13px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-account-user{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:170px;
  color:#0f214f;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-account-user span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-account-user i,
.header-top-bar:not(.header-top-bar--portal) .mpf-public-lo-login i{
  color:#173c83;
  font-size:13px;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-account-link,
.header-top-bar:not(.header-top-bar--portal) .mpf-public-lo-login{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
  border:0;
  color:#0f214f;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  transition:color .18s ease;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-account-link:hover,
.header-top-bar:not(.header-top-bar--portal) .mpf-public-account-link:focus-visible,
.header-top-bar:not(.header-top-bar--portal) .mpf-public-lo-login:hover,
.header-top-bar:not(.header-top-bar--portal) .mpf-public-lo-login:focus-visible{
  color:#b88412;
}

.header-top-bar:not(.header-top-bar--portal) .mpf-public-account-divider{
  display:block;
  width:1px;
  height:20px;
  margin:0 2px;
  background:rgba(15,33,79,.18);
}

@media (min-width:768px) and (max-width:991px){
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-contact{gap:14px;}
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-topbar-account{padding-left:14px;gap:9px;}
  .header-top-bar:not(.header-top-bar--portal) .mpf-public-account-user{max-width:120px;}
}

@media (max-width: 1280px) { 
	.mpf-public-navbar .navbar-nav .nav-link { 
		padding-left: 12px; 
		padding-right: 12px; 
		font-size: 14px; 
	} 
}