@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


/*------------------------------------------------*/
/* Variable STYLES */
/*------------------------------------------------*/

:root {

    /* Color Palette */
    --fvm-navy: #24364f;
    --fvm-navy-dark: #182638;

    --fvm-gold: #a87921;
    --fvm-gold-light: #c2a064;

    --fvm-cream: #f7f3eb;
    --fvm-dropdown: #fbf9f5;

    --fvm-nav-text: #2d3540;
    --fvm-nav-muted: #727272;

    --color-h1: #111;  
    --color-h2: #333;  
    --color-h3: #182638;
    --color-text: #111;
    
    --color-link: #666; 
    --color-hover: #00a9e1;  
    
    --color-hr-border: #00a9e1;  
    
    --button-bg-link:#00a9e1;  
    --button-bg-hover: #FFF;
    
    /* Typography */
    --font-family-base: "montserrat", sans-serif;
    --font-family-heading: "Roboto Slab", serif;
    --font-size-normal: 1rem;

    /* Top Level Menu */
    --color-topmenu-link: #111;
    --color-topmenu-hover:#;
    --color-topmenu-border-link: 2px solid transparent;
    --color-topmenu-border-hover: 2px solid #00a9e1;

    --font-size-topmenu: 20px;
    --background-color-up: transparent;
    --background-color-down: transparent;
    --font-weight-topmenu: 400;
    }


/*------------------------------------------------*/
/* Global STYLES */
/*------------------------------------------------*/

a, a:link, a:visited, a:active {
    color:var(--color-link);
    text-decoration: none; 
	-webkit-transition:all ease .3s; 
	transition:all ease .3s;

}

a:hover {
        color:var(--color-hover); 
        text-decoration: none;
		-webkit-transition:all ease .3s; 
		transition:all ease .3s;
}

body {

}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    margin: 0 0 10px 0;
}

h1 {
    font-size: 34px;
	color:var(--color-h1);
	font-family: var(--font-family-heading);	
	font-weight:800;
}

h2 {
    font-size: 24px;
	color:var(--color-h2);
	font-weight:600;
	font-family: var(--font-family-base);
}

h3 {
    font-size: 20px;
    color:var(--color-h3);
	font-weight:400;
}

h4 {
    font-size: 18px;
    color: #111;
}

h5  {
    font-size: 14px;
    color: #111;
}

h6  {
    font-size: 13px;
    color: #666;
}

p {
    margin: 0 0 25px 0;
}

hr {
    clear: both;
    height: 0;
    border: var(--color-hr-border);
    border-width: 1px 0 0;
    margin: 20px 0 20px 0;
}

div, p {line-height:24px; font-size:16px;}

td {color:var(--color-text);padding:5px;line-height:18px; font-size:var(--font-size-normal);font-family: var(--font-family-base);}

ul li {
    font-size:var(--font-size-normal); 
	color:#222;
	margin-bottom: 8px;
	}

ol li {
    list-style-type: decimal;
    margin-bottom: 8px;
	font-size:var(--font-size-normal); 
}

ol ol {
    margin-top: 8px;
    margin-left: 30px;
}

    ol ol li {
        list-style-type: lower-roman;
    }

    ol ol ol li {
        list-style-type: lower-alpha;
    }

ol ul li {
    list-style-type: lower-roman;
}


/*------------------------------------------------*/
/* Responsive Video and Image STYLE */
/*------------------------------------------------*/

img {
	max-width: 100%;
	height:auto;
}

.video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.video iframe,
.video object,
.video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-responsive{
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}
.video-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}




.imglg{ transition: all .2s ease-in-out; }
.imglg:hover { transform: scale(1.02); }


.page-break-section {box-shadow:none !important;}


/* =========================================================
   FLATHEAD VALLEY MORTGAGE
   COMPLETE DNN / BOOTSTRAP 5 NAVIGATION
   Desktop + Mobile | Consolidated
   ========================================================= */


/* =========================================================
   1. BASE MENU STRUCTURE
   ========================================================= */

#dnnMenu {
    width: 100%;
}

#dnnMenu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#dnnMenu li {
    position: relative;
    list-style: none;
}

#dnnMenu .topLevel {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    gap: 0;
}

#dnnMenu .topLevel > li {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
    padding: 0;
}


/* =========================================================
   2. TOP LEVEL LINKS
   ========================================================= */

#dnnMenu .topLevel > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 1 auto;

    margin: 0;
    padding: 13px 15px;

    background: transparent;
    border: 0;

    color: var(--fvm-nav-text);
    font-family: var(--font-family-base);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .8px;

    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;

    transition:
        color .25s ease,
        transform .25s ease;
}

/* Leave space for separate dropdown button */
#dnnMenu .topLevel > li.dropdown > a {
    padding-right: 4px;
}

/* Animated gold underline */
#dnnMenu .topLevel > li > a::after {
    content: "";
    position: absolute;

    left: 15px;
    right: 15px;
    bottom: 4px;

    height: 2px;
    background: var(--fvm-gold);

    transform: scaleX(0);
    transform-origin: center;

    transition: transform .25s ease;
}

/* Hover, focus, active */
#dnnMenu .topLevel > li:hover > a,
#dnnMenu .topLevel > li.active > a,
#dnnMenu .topLevel > li > a:focus-visible {
    color: var(--fvm-navy);
    transform: translateY(-2px);
}

#dnnMenu .topLevel > li:hover > a::after,
#dnnMenu .topLevel > li.active > a::after,
#dnnMenu .topLevel > li > a:focus-visible::after {
    transform: scaleX(1);
}

/* Keyboard accessibility */
#dnnMenu a:focus-visible {
    outline: 2px solid var(--fvm-gold);
    outline-offset: 2px;
}


/* =========================================================
   3. DROPDOWN TOGGLE BUTTONS
   Separate from parent page links
   ========================================================= */

#dnnMenu .fvm-submenu-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 25px;
    width: 25px;
    height: 35px;

    margin: 0 7px 0 0;
    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;

    color: var(--fvm-nav-text);
    cursor: pointer;

    box-shadow: none;
    transition: color .25s ease;
}

/* Replace Bootstrap's default triangle */
#dnnMenu .fvm-submenu-toggle::after {
    content: "";
    display: block;

    width: 7px;
    height: 7px;
    margin: -4px 0 0;

    border: 0;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg);
    transform-origin: center;

    transition: transform .25s ease;
}

/* Chevron hover / expanded */
#dnnMenu .fvm-submenu-toggle:hover,
#dnnMenu .fvm-submenu-toggle:focus-visible,
#dnnMenu .fvm-submenu-toggle[aria-expanded="true"] {
    color: var(--fvm-gold);
}

#dnnMenu .fvm-submenu-toggle[aria-expanded="true"]::after {
    transform: translateY(4px) rotate(225deg);
}

#dnnMenu .fvm-submenu-toggle:focus {
    box-shadow: none;
}

#dnnMenu .fvm-submenu-toggle:focus-visible {
    outline: 2px solid var(--fvm-gold);
    outline-offset: 2px;
}


/* =========================================================
   4. DESKTOP NAVIGATION
   Bootstrap LG: 992px and wider
   ========================================================= */

@media (min-width: 992px) {

    /* Dropdown parent is the positioning anchor */
    #dnnMenu li.dropdown {
        position: relative;
    }

    /* First-level dropdown */
    #dnnMenu .topLevel > li.dropdown > .dropdown-menu {
        position: absolute;
        inset: 100% auto auto 0;
        top: 100%;
        left: 0;
        right: auto;

        display: none;
        min-width: 235px;

        margin: 0;
        padding: 8px 0;

        background: var(--fvm-dropdown);
        border: 1px solid rgba(36,54,79,.08);
        border-radius: 3px;

        box-shadow: 0 16px 35px rgba(20,30,45,.10);

        transform: none;
        z-index: 1000;
    }

    /* Bootstrap open state + desktop hover */
    #dnnMenu .topLevel > li.dropdown:hover > .dropdown-menu,
    #dnnMenu .topLevel > li.dropdown:focus-within > .dropdown-menu,
    #dnnMenu .topLevel > li.dropdown > .dropdown-menu.show {
        display: block;
    }

    /* Dropdown list items */
    #dnnMenu .dropdown-menu li {
        display: flex;
        align-items: center;
        position: relative;

        margin: 0;
        padding: 0;

        border-bottom: 1px solid rgba(36,54,79,.07);
    }

    #dnnMenu .dropdown-menu li:last-child {
        border-bottom: 0;
    }

    /* Dropdown links */
    #dnnMenu .dropdown-menu li > a {
        display: block;
        flex: 1;
        min-width: 0;

        margin: 0;
        padding: 11px 18px;

        background: transparent;
        border: 0;

        color: #394452;
        font-family: var(--font-family-base);
        font-size: 18px;
        font-weight: 400;
        line-height: 1.4;
        letter-spacing: .15px;

        text-align: left;
        text-decoration: none;
        white-space: normal;

        transition:
            color .2s ease,
            background-color .2s ease,
            padding-left .2s ease;
    }

    /* Dropdown link hover */
    #dnnMenu .dropdown-menu li > a:hover,
    #dnnMenu .dropdown-menu li > a:focus-visible {
        padding-left: 23px;
        background: rgba(168,121,33,.07);
        color: var(--fvm-gold);
    }

    /* Active dropdown page */
    #dnnMenu .dropdown-menu li.active > a {
        color: var(--fvm-gold);
        background: rgba(168,121,33,.045);
    }

    /* Nested flyout positioning */
    #dnnMenu .dropdown-menu li.dropdown > .dropdown-menu {
        position: absolute;
        inset: 0 auto auto 100%;
        top: 0;
        left: 100%;

        display: none;
        min-width: 235px;

        margin: 0;
        padding: 8px 0;

        background: var(--fvm-dropdown);
        border: 1px solid rgba(36,54,79,.08);
        border-radius: 3px;

        box-shadow: 0 16px 35px rgba(20,30,45,.10);

        transform: none;
        z-index: 1010;
    }

    /* Nested flyout open state */
    #dnnMenu .dropdown-menu li.dropdown:hover > .dropdown-menu,
    #dnnMenu .dropdown-menu li.dropdown:focus-within > .dropdown-menu,
    #dnnMenu .dropdown-menu li.dropdown > .dropdown-menu.show {
        display: block;
    }

    /* Nested toggle buttons */
    #dnnMenu .dropdown-menu .fvm-submenu-toggle {
        flex-basis: 30px;
        width: 30px;
        margin: 0 5px 0 0;
    }

    /* Point nested chevrons right */
    #dnnMenu .dropdown-menu .fvm-submenu-toggle::after {
        transform: rotate(-45deg);
    }

    #dnnMenu .dropdown-menu .fvm-submenu-toggle[aria-expanded="true"]::after {
        transform: rotate(135deg);
    }
}


/* =========================================================
   5. MOBILE HAMBURGER
   ========================================================= */

.navbar-toggler {
    margin: 0 0 4px auto;
    padding: 8px 10px;
    border: 1px solid rgba(36,54,79,.20);
    border-radius: 3px;
    background: transparent;
    transition:
        background-color .2s ease,
        border-color .2s ease;
}

.navbar-toggler:hover {
    border-color: var(--fvm-gold);
    background: rgba(168,121,33,.06);
}

.navbar-toggler:focus {
    box-shadow: none;
}

.navbar-toggler:focus-visible {
    outline: 2px solid var(--fvm-gold);
    outline-offset: 3px;
}

/* Custom navy hamburger on light background */
.navbar-toggler-icon {
    width: 24px;
    height: 24px;

    background-image: linear-gradient(
        to bottom,
        transparent 18%,
        var(--fvm-navy) 18%,
        var(--fvm-navy) 26%,
        transparent 26%,
        transparent 46%,
        var(--fvm-navy) 46%,
        var(--fvm-navy) 54%,
        transparent 54%,
        transparent 74%,
        var(--fvm-navy) 74%,
        var(--fvm-navy) 82%,
        transparent 82%
    );

    background-position: center;
    background-size: 100% 100%;
}


/* =========================================================
   6. MOBILE / TABLET NAVIGATION
   Below Bootstrap LG: 992px
   ========================================================= */

@media (max-width: 991.98px) {

    /* Full-width navigation */
    #dnnMenu {
        width: 100%;
    }

    #dnnMenu .topLevel {
        display: block;
        width: 100%;
        margin: 12px 0 0;
        padding: 0;
        text-align: center;
    }

    /* Every top-level item uses the same layout */
    #dnnMenu .topLevel > li {
        position: relative;
        display: block;
        width: 100%;

        margin: 0;
        padding: 0;

        border-top: 1px solid rgba(36,54,79,.08);
    }

    /* All top-level links centered consistently */
    #dnnMenu .topLevel > li > a,
    #dnnMenu .topLevel > li.dropdown > a {
        display: block;
        width: 100%;

        margin: 0;
        padding: 15px 48px;

        color: var(--fvm-nav-text);
        background: transparent;

        font-size: 15px;
        line-height: 1.2;
        text-align: center;

        transform: none;
    }

    /* Disable desktop underline */
    #dnnMenu .topLevel > li > a::after {
        display: none;
    }

    /* Full-width hover / focus / active */
    #dnnMenu .topLevel > li:hover > a,
    #dnnMenu .topLevel > li > a:hover,
    #dnnMenu .topLevel > li > a:focus-visible,
    #dnnMenu .topLevel > li.active > a {
        margin: 0;
        padding-left: 48px;
        padding-right: 48px;

        color: var(--fvm-gold);
        background: rgba(168,121,33,.055);

        transform: none;
    }

    /* Independent chevron on right */
    #dnnMenu .topLevel > li.dropdown > .fvm-submenu-toggle {
        position: absolute;
        top: 0;
        right: 0;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 44px;
        height: 100%;
        max-height: 48px;

        margin: 0;
        padding: 0;

        background: transparent;
        border: 0;

        z-index: 2;
    }

    /* Chevron remains centered */
    #dnnMenu .fvm-submenu-toggle::after {
        margin: -4px 0 0;
    }

    /* Keep toggle hover subtle */
    #dnnMenu .fvm-submenu-toggle:hover {
        background: rgba(168,121,33,.04);
    }

    /* Mobile submenu: closed by default */
    #dnnMenu .dropdown-menu {
        position: static !important;
        inset: auto !important;

        display: none;
        width: 100%;
        min-width: 0;

        margin: 0;
        padding: 4px 0;

        background: #f1ede6;
        border: 0;
        border-top: 1px solid rgba(36,54,79,.06);
        border-radius: 0;

        box-shadow: none;
        transform: none !important;
    }

    /* Bootstrap toggles this class */
    #dnnMenu .dropdown-menu.show {
        display: block;
    }

    /* Mobile submenu rows */
    #dnnMenu .dropdown-menu li {
        position: relative;
        display: block;

        margin: 0;
        padding: 0;

        border-bottom: 1px solid rgba(36,54,79,.05);
    }

    #dnnMenu .dropdown-menu li:last-child {
        border-bottom: 0;
    }

    /* Mobile submenu links */
    #dnnMenu .dropdown-menu li > a {
        display: block;
        width: 100%;

        margin: 0;
        padding: 11px 48px;

        color: #53606c;
        background: transparent;

        font-size: 14px;
        line-height: 1.35;
        text-align: center;
        text-decoration: none;

        transition:
            color .2s ease,
            background-color .2s ease;
    }

    #dnnMenu .dropdown-menu li > a:hover,
    #dnnMenu .dropdown-menu li > a:focus-visible {
        color: var(--fvm-gold);
        background: rgba(168,121,33,.07);
    }

    /* Nested submenu background */
    #dnnMenu .dropdown-menu .dropdown-menu {
        background: #eae5dc;
    }

    /* Nested submenu buttons */
    #dnnMenu .dropdown-menu li.dropdown > .fvm-submenu-toggle {
        position: absolute;
        top: 0;
        right: 0;

        width: 44px;
        height: 42px;

        margin: 0;
        padding: 0;

        z-index: 2;
    }
}


/* =========================================================
   7. SMALL PHONES
   ========================================================= */

@media (max-width: 575.98px) {

    #dnnMenu .topLevel > li > a,
    #dnnMenu .topLevel > li.dropdown > a {
        padding-top: 13px;
        padding-bottom: 13px;
        font-size: 14px;
    }

    #dnnMenu .topLevel > li.dropdown > .fvm-submenu-toggle {
        max-height: 44px;
    }
}


/* =========================================================
   8. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    #dnnMenu a,
    #dnnMenu a::after,
    #dnnMenu .fvm-submenu-toggle,
    #dnnMenu .fvm-submenu-toggle::after,
    .navbar-toggler {
        transition: none;
    }

    #dnnMenu .topLevel > li:hover > a {
        transform: none;
    }
}


/*------------------------------------------------*/
/* Global Button Styles */
/*------------------------------------------------*/


.MoreButton a:link, .MoreButton a:visited {
  padding: 16px 25px;
  text-align: center;
  color: #FFF;
  font-size:20px;
  display: inline-block;  border-radius:40px;
  border:1px solid var(--button-bg-link);
  background:var(--button-bg-link);
  font-family: var(--font-family-base);
  margin:3px 0 3px 0;
  -webkit-transition:all ease .5s; transition:all ease .5s;
}

.MoreButton a:hover, .MoreButton a:active {
  padding: 16px 25px;
  text-align: center;
  color: var(--button-bg-link);
  font-size:20px;
  display: inline-block;
  border:1px solid var(--button-bg-link);
  border-radius:40px;
  background:var(--button-bg-hover);
  font-family: var(--font-family-base);
  margin:3px 0 3px 0; 
  -webkit-transition:all ease .5s; transition:all ease .5s;
}

/*------------------------------------------------*/
/* Header STYLES */
/*------------------------------------------------*/


.headerwrap {background:#f9f6f0;padding: 10px 5%;}


/* ==========================================
   FLATHEAD VALLEY MORTGAGE
   HEADER CONTACT / UTILITY BAR
   ========================================== */

.fvm-header-contact {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;

    width: 100%;
    padding: 8px 0 4px;

    font-family: var(--font-family-base);
    line-height: 1;
}


/* ==========================================
   HELP / PHONE
   ========================================== */

.fvm-header-help {
    display: flex;
    align-items: center;
    gap: 8px;

    flex: 0 0 auto;
    white-space: nowrap;
}

.fvm-header-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 45px;

    width: 45px;
    height: 45px;

    border-radius: 50%;
    background: #eee9e0;

    color: #b89a61;
    font-size: 16px;
    line-height: 1;
}

.fvm-header-help-label {
    color: #9b742f;

    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .5px;

    text-transform: uppercase;
}

.fvm-header-phone {
    display: inline-flex;
    align-items: center;

    color: #444 !important;

    font-size: 16px;
    font-weight: 400;
    line-height: 1;

    text-decoration: none !important;

    transition: color .2s ease;
}

.fvm-header-phone:hover,
.fvm-header-phone:focus {
    color: #9b742f !important;
}


/* ==========================================
   APPLY BUTTON
   ========================================== */

.fvm-header-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    flex: 0 0 auto;

    min-height: 45px;
    padding: 0 22px;

    box-sizing: border-box;

    border: 1px solid #a87921;
    border-radius: 999px;

    background: #a87921;
    color: #fff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;

    letter-spacing: .2px;
    white-space: nowrap;
    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        color .2s ease;
}

.fvm-header-apply i {
    flex: 0 0 auto;

    font-size: 14px;
    line-height: 1;
}

.fvm-header-apply span {
    line-height: 1;
}

.fvm-header-apply:hover,
.fvm-header-apply:focus {
    border-color: #8d651d;
    background: #8d651d;

    color: #fff !important;

    /*
      Use shadow instead of physically moving
      the button. This prevents hover jitter.
    */
    box-shadow: 0 5px 12px rgba(91, 65, 20, .18);

    transform: none;
}

.fvm-header-apply:focus-visible {
    outline: 2px solid rgba(168, 121, 33, .35);
    outline-offset: 3px;
}


/* ==========================================
   SOCIAL ICONS
   ========================================== */

.fvm-header-social {
    display: flex;
    align-items: center;
    gap: 7px;

    flex: 0 0 auto;
}

.fvm-header-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 45px;

    width: 45px;
    height: 45px;

    box-sizing: border-box;

    border-radius: 50%;
    background: #eee9e0;

    color: #bdb6aa !important;

    font-size: 16px;
    line-height: 1;

    text-decoration: none !important;

    transition:
        background-color .2s ease,
        color .2s ease,
        box-shadow .2s ease;
}

.fvm-header-social a:hover,
.fvm-header-social a:focus {
    background: #a87921;
    color: #fff !important;

    box-shadow: 0 4px 10px rgba(91, 65, 20, .14);

    transform: none;
}

.fvm-header-social a:focus-visible {
    outline: 2px solid rgba(168, 121, 33, .35);
    outline-offset: 2px;
}


/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 991.98px) {

    .fvm-header-contact {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px 14px;
        padding: 12px 0;
    }
}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 575.98px) {

    .fvm-header-contact {
        gap: 10px;
    }

    .fvm-header-help {
        justify-content: center;
        width: 100%;
    }

    .fvm-header-help-icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        font-size: 14px;
    }

    .fvm-header-help-label,
    .fvm-header-phone {
        font-size: 12px;
    }

    .fvm-header-apply {
        min-height: 40px;
        padding: 0 17px;
        font-size: 13px;
    }

    .fvm-header-social a {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
        font-size: 14px;
    }
}

.logo {text-align:center;margin:0 auto;text-align:center;}

.menupad {padding-top:10px;}


/*------------------------------------------------*/
/* Main Content STYLES */
/*------------------------------------------------*/


.showcasewrap {background:#f9f6f0;padding: 0 5% 25px 5%;}
.welcomewrap {background:#f7f3eb;}




/* ==========================================
   FLATHEAD VALLEY MORTGAGE HERO
   ========================================== */

.fvm-hero {
    position: relative;
    margin: 0;
    padding: 0;
}

.fvm-hero-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 620px;
    padding: 60px 70px;
    background-image: url('images/showcase-responsive_bg.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
     box-shadow:
        0 6px 14px rgba(20, 30, 45, 0.08),
        0 18px 38px rgba(20, 30, 45, 0.10);
    overflow: hidden;
}

/* Optional extra subtle darkening for text area */
.fvm-hero-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(14, 23, 40, 0.05) 0%,
            rgba(17, 26, 44, 0.10) 35%,
            rgba(20, 29, 48, 0.34) 58%,
            rgba(24, 34, 56, 0.62) 78%,
            rgba(26, 37, 61, 0.80) 100%
        );
    pointer-events: none;
}

.fvm-hero-content {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 540px;
    margin-left: auto;

    text-align: left;
    color: #fff;
}

.fvm-hero-eyebrow {
    display: inline-block;
    margin-bottom: 18px;

    color: #c39a56;
    font-family: var(--font-family-base);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    line-height: 1.2;
}

.fvm-hero-title {
    margin: 0 0 4px 0;

    color: #ffffff;
    font-family: var(--font-family-base);
    font-size: 82px;
    font-weight: 800;
    line-height: .95;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.fvm-hero-subtitle {
    margin-bottom: 26px;

    color: rgba(255,255,255,.92);
    font-family: var(--font-family-base);
    font-size: 34px;
    font-weight: 300;
    line-height: 1.15;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.fvm-hero-quote-wrap {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 28px;
}

.fvm-hero-quote-mark {
    display: inline-block;
    color: rgba(255,255,255,.28);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 96px;
    line-height: .7;
    transform: translateY(8px);
}

.fvm-hero-quote-text {
    padding-top: 10px;

    color: #ffffff;
    font-family: var(--font-family-heading);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.35;
    text-transform: uppercase;
}

.fvm-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    color: #9fc34d !important;
    font-family: var(--font-family-base);
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none !important;

    transition: color .25s ease, gap .25s ease;
}

.fvm-hero-cta i {
    font-size: 24px;
    line-height: 1;
}

.fvm-hero-cta:hover,
.fvm-hero-cta:focus {
    color: #b8da67 !important;
    gap: 18px;
}


/* ==========================================
   LARGE TABLET
   ========================================== */

@media (max-width: 1199.98px) {
    .fvm-hero-inner {
        min-height: 560px;
        padding: 50px 50px;
    }

    .fvm-hero-content {
        max-width: 470px;
    }

    .fvm-hero-title {
        font-size: 68px;
    }

    .fvm-hero-subtitle {
        font-size: 29px;
    }

    .fvm-hero-cta {
        font-size: 24px;
    }
}


/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 991.98px) {
    .fvm-hero-inner {
        min-height: 520px;
        padding: 45px 35px;
        justify-content: center;
    }

    .fvm-hero-inner::before {
        background:
            linear-gradient(
                180deg,
                rgba(19, 30, 48, 0.20) 0%,
                rgba(21, 31, 50, 0.45) 40%,
                rgba(23, 33, 53, 0.76) 100%
            );
    }

    .fvm-hero-content {
        max-width: 100%;
        text-align: center;
        margin-left: 0;
    }

    .fvm-hero-quote-wrap {
        justify-content: center;
    }

    .fvm-hero-title {
        font-size: 58px;
    }

    .fvm-hero-subtitle {
        font-size: 24px;
        letter-spacing: 1.5px;
    }

    .fvm-hero-quote-text {
        font-size: 20px;
    }

    .fvm-hero-cta {
        font-size: 22px;
        letter-spacing: 2px;
    }
}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 767.98px) {
    .fvm-hero-inner {
        min-height: 480px;
        padding: 40px 24px;
        background-position: 32% center;
    }

    .fvm-hero-eyebrow {
        font-size: 13px;
        letter-spacing: 1.6px;
    }

    .fvm-hero-title {
        font-size: 44px;
    }

    .fvm-hero-subtitle {
        margin-bottom: 20px;
        font-size: 19px;
    }

    .fvm-hero-quote-wrap {
        gap: 8px;
        margin-bottom: 22px;
    }

    .fvm-hero-quote-mark {
        font-size: 62px;
        transform: translateY(5px);
    }

    .fvm-hero-quote-text {
        padding-top: 6px;
        font-size: 17px;
    }

    .fvm-hero-cta {
        font-size: 18px;
        letter-spacing: 1.5px;
    }

    .fvm-hero-cta i {
        font-size: 18px;
    }
}


/* =========================================================
   FLATHEAD VALLEY MORTGAGE
   TRUST / CREDIBILITY SECTION
   ========================================================= */

.fvm-trust-section {
    position: relative;
    z-index: 3;
    padding: 65px 0 65px;
    background: #f7f3eb;
    overflow: visible;
}



.fvm-trust-content {
    position: relative;
    z-index: 2;
    width: calc(100% - 350px);
}


/* =========================================================
   INTRO
   ========================================================= */

.fvm-trust-intro {
    max-width: 900px;

    margin: 0 auto 30px;
}


/* eyebrow */
.fvm-section-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin-bottom: 10px;

    color: #a87921;

    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 2.4px;

    text-transform: uppercase;
}

.fvm-section-eyebrow span {
    display: block;

    width: 48px;
    height: 1px;

    background: rgba(168,121,33,.55);
}


/* main heading */
.fvm-trust-intro h2 {
    margin: 0 0 10px;

    color: #24364f;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 3.5vw, 50px);
    font-weight: 600;
    line-height: 1.08;
}


/* lead */
.fvm-trust-intro p {
    max-width: 760px;

    margin: 0 auto;

    color: #62666b;

    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   TRUST CARDS
   ========================================================= */

.fvm-trust-row {
    position: relative;
    z-index: 2;
}


.fvm-trust-card {
    position: relative;

    height: 100%;

    padding: 26px 20px 24px;

    border: 1px solid rgba(36,54,79,.10);
    border-radius: 4px;

    background: rgba(255,255,255,.65);

    text-align: center;

    box-shadow:
        0 2px 4px rgba(20,30,45,.025),
        0 10px 28px rgba(20,30,45,.045);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.fvm-trust-card:hover {
    border-color: rgba(168,121,33,.26);

    box-shadow:
        0 3px 6px rgba(20,30,45,.04),
        0 16px 34px rgba(20,30,45,.075);

    transform: translateY(-4px);
}


/* icon circle */
.fvm-trust-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 12px;

    border-radius: 50%;

    background: #efe9df;

    color: #a87921;

    font-size: 19px;
}


/* stat */
.fvm-trust-stat {
    margin-bottom: 3px;

    color: #24364f;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 2.4vw, 39px);
    font-weight: 600;
    line-height: 1.1;

    white-space: nowrap;
}


/* label */
.fvm-trust-label {
    color: #9a742e;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.5px;

    text-transform: uppercase;
}


/* little green line from comp */
.fvm-trust-accent {
    display: block;

    width: 38px;
    height: 2px;

    margin: 14px auto;

    background: #738645;
}


.fvm-trust-card p {
    max-width: 280px;

    margin: 0 auto;

    color: #58606a;

    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   TRUST CONTENT - DESKTOP
   Reserve more room for Keith
   ========================================================= */

.fvm-trust-content {
    position: relative;
    z-index: 2;

    width: calc(100% - 350px);
}


/* =========================================================
   FVM TRUST / KEITH RESPONSIVE TUNING
   ========================================================= */


/* =========================================================
   XXL — 1400px+
   Full desktop treatment
   ========================================================= */

@media (min-width: 1400px) {

    .fvm-trust-content {
        width: calc(100% - 375px);
    }

    .fvm-keith-wrap {
        position: absolute;
        top: auto;
        bottom: -65px;
        right: -110px;

        width: 455px;
        height: auto;

        margin: 0;
        border: 0;
        border-radius: 0;

        overflow: visible;
    }

    .fvm-keith-img {
        width: 100%;
        height: auto;

        object-fit: initial;

        transform: none;

        filter:
            drop-shadow(0 8px 7px rgba(20,30,45,.09))
            drop-shadow(0 20px 24px rgba(20,30,45,.15));
    }

}


/* =========================================================
   XL — 1200px–1399px

   Screenshot #2:
   Keith is still full body, but give the content a little
   more room and reduce him slightly.
   ========================================================= */

@media (min-width: 1200px) and (max-width: 1399.98px) {

    .fvm-trust-content {
        width: calc(100% - 315px);
    }

    .fvm-keith-wrap {
        position: absolute;
        top: auto;
        bottom: -60px;
        right: -80px;

        width: 380px;
        height: auto;

        margin: 0;
        border: 0;
        border-radius: 0;

        overflow: visible;
    }

    .fvm-keith-img {
        width: 100%;
        height: auto;

        transform: none;

        filter:
            drop-shadow(0 7px 6px rgba(20,30,45,.08))
            drop-shadow(0 18px 20px rgba(20,30,45,.14));
    }

    .fvm-trust-intro h2 {
        font-size: 42px;
    }

}


/* =========================================================
   LG — 992px–1199px

   Screenshot #3:
   Keep full-body Keith, but make him clearly secondary
   so he doesn't squeeze the heading/cards.
   ========================================================= */

@media (min-width: 992px) and (max-width: 1199.98px) {

    .fvm-trust-section {
        padding: 55px 0;
    }

    .fvm-trust-content {
        width: calc(100% - 250px);
    }

    .fvm-keith-wrap {
        position: absolute;
        top: auto;
        bottom: -55px;
        right: -55px;

        width: 310px;
        height: auto;

        margin: 0;
        border: 0;
        border-radius: 0;

        overflow: visible;
    }

    .fvm-keith-img {
        width: 100%;
        height: auto;

        transform: none;

        filter:
            drop-shadow(0 7px 6px rgba(20,30,45,.08))
            drop-shadow(0 16px 20px rgba(20,30,45,.13));
    }

    .fvm-trust-intro {
        margin-bottom: 24px;
    }

    .fvm-trust-intro h2 {
        font-size: 37px;
    }

    .fvm-trust-intro p {
        max-width: 650px;
        font-size: 14px;
    }

    .fvm-trust-card {
        padding: 24px 14px 22px;
    }

    .fvm-trust-stat {
        font-size: 29px;
    }

    .fvm-trust-label {
        font-size: 10px;
        letter-spacing: 1.1px;
    }

    .fvm-trust-card p {
        font-size: 12px;
    }

}

/* =========================================================
   MD / TABLET — 768px–991.98px
   Switch Keith to circular portrait
   ========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .fvm-trust-section {
        position: relative;
        padding: 0 0 48px;
        overflow: visible;
    }

    .fvm-trust-content {
        position: relative;
        z-index: 2;

        width: 100%;
        max-width: none;
    }


    /* =====================================================
       INTRO
       ===================================================== */

    .fvm-trust-intro {
        width: 100%;
        max-width: 760px;

        margin: 0 auto 28px;
        padding: 0 24px;

        text-align: center;
    }


    .fvm-trust-intro h2 {
        font-size: 34px;
    }


    .fvm-trust-intro p {
        max-width: 650px;

        margin-right: auto;
        margin-left: auto;

        font-size: 14px;
    }


    /* =====================================================
       THREE CARDS ACROSS ON TABLET
       ===================================================== */

    .fvm-trust-card {
        padding: 22px 12px;
    }


    .fvm-trust-stat {
        font-size: 27px;
        white-space: normal;
    }


    .fvm-trust-label {
        font-size: 9px;
        letter-spacing: .9px;
    }


    .fvm-trust-card p {
        font-size: 11px;
        line-height: 1.5;
    }

}


/* =========================================================
   MOBILE — BELOW 768px
   Full reset from desktop / tablet behavior
   ========================================================= */

@media (max-width: 767.98px) {

    .fvm-trust-section {
        position: relative;
        padding: 0 0 42px;
        overflow: visible;
    }


    /* CRITICAL:
       reset desktop width calculation */
    .fvm-trust-content {
        position: relative;
        z-index: 2;

        width: 100%;
        max-width: none;
    }


    

    /* =====================================================
       INTRO
       ===================================================== */

    .fvm-trust-intro {
        width: 100%;
        max-width: 650px;

        margin: 0 auto 28px;
        padding: 0 20px;

        text-align: center;
    }


    .fvm-section-eyebrow {
        display: flex;
        align-items: center;
        justify-content: center;

        gap: 8px;

        margin-bottom: 10px;

        font-size: 9px;
        letter-spacing: 1.5px;
    }


    .fvm-section-eyebrow span {
        width: 25px;
    }


    .fvm-trust-intro h2 {
        margin-bottom: 12px;

        font-size: clamp(28px, 8vw, 34px);
        line-height: 1.08;
    }


    .fvm-trust-intro p {
        max-width: 560px;

        margin-right: auto;
        margin-left: auto;

        font-size: 14px;
        line-height: 1.6;
    }


    /* =====================================================
       CARDS
       ===================================================== */

    .fvm-trust-row {
        width: 100%;

        margin-right: auto;
        margin-left: auto;
    }


    .fvm-trust-row > div {
        width: 100%;
    }


    .fvm-trust-card {
        width: 100%;
        max-width: 480px;

        margin: 0 auto;

        padding: 26px 24px;

        box-sizing: border-box;
    }


    .fvm-trust-icon {
        width: 50px;
        height: 50px;

        margin-bottom: 12px;
    }


    .fvm-trust-stat {
        font-size: 32px;
        white-space: normal;
    }


    .fvm-trust-label {
        font-size: 10px;
        letter-spacing: 1.1px;
    }


    .fvm-trust-card p {
        max-width: 340px;

        margin-right: auto;
        margin-left: auto;

        font-size: 13px;
        line-height: 1.6;
    }

}


/* =========================================================
   SMALL PHONES — BELOW 576px
   ========================================================= */

@media (max-width: 575.98px) {

    .fvm-trust-section {
        padding-bottom: 36px;
    }




    .fvm-trust-intro {
        padding-right: 16px;
        padding-left: 16px;
    }


    .fvm-trust-intro h2 {
        font-size: 28px;
    }


    .fvm-trust-intro p {
        font-size: 13px;
    }


    .fvm-trust-card {
        max-width: calc(100% - 28px);

        padding: 24px 20px;
    }


    .fvm-trust-stat {
        font-size: 30px;
    }

}




/* =========================================================
   FVM TRUST SECTION
   KEITH + ADELINA COMBINED PORTRAIT
   TABLET / MOBILE RESPONSIVE FIX
   ========================================================= */

/* ---------------------------------------------------------
   TABLET — 768px to 991.98px
   --------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 991.98px) {

    .fvm-keith-wrap {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;

        z-index: 6;
        display: block;

        width: 180px;
        height: 180px;

        margin: 0 auto -52px;

        border: 6px solid #f7f3eb;
        border-radius: 50%;

        background: #eae5dc;

        box-shadow:
            0 5px 12px rgba(20,30,45,.08),
            0 14px 28px rgba(20,30,45,.15);

        overflow: hidden;

        transform: translateY(-50%);
        pointer-events: none;
    }

    .fvm-keith-img {
        position: absolute;
        top: -12%;
        left: 50%;

        display: block;

        width: 125%;
        height: auto;
        max-width: none;

        object-fit: contain;

        transform: translateX(-50%);
        transform-origin: center top;

        filter: none;
    }

}


/* ---------------------------------------------------------
   MOBILE — BELOW 768px
   --------------------------------------------------------- */

@media (max-width: 767.98px) {

    .fvm-trust-section {
        position: relative;
        padding: 0 0 42px;
        overflow: visible;
    }

    .fvm-trust-content {
        position: relative;
        z-index: 2;
        width: 100%;
        max-width: none;
    }

    .fvm-keith-wrap {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;

        z-index: 6;
        display: block;

        width: 170px;
        height: 170px;

        margin: -48px auto 22px;

        border: 6px solid #f7f3eb;
        border-radius: 50%;

        background: #eae5dc;

        box-shadow:
            0 5px 12px rgba(20,30,45,.08),
            0 14px 28px rgba(20,30,45,.15);

        overflow: hidden;
        pointer-events: none;
    }

    .fvm-keith-img {
        position: absolute;
        top: -12%;
        left: 50%;

        display: block;

        width: 125%;
        height: auto;
        max-width: none;

        object-fit: contain;

        transform: translateX(-50%);
        transform-origin: center top;

        filter: none;
    }

    /* INTRO */
    .fvm-trust-intro {
        width: 100%;
        max-width: 650px;
        margin: 0 auto 28px;
        padding: 0 20px;
        text-align: center;
        box-sizing: border-box;
    }

    .fvm-trust-intro h2 {
        max-width: 100%;
        margin: 0 0 12px;

        font-size: clamp(26px, 6.2vw, 34px);
        line-height: 1.12;

        white-space: normal;
        overflow-wrap: normal;
        text-wrap: balance;
    }

    .fvm-trust-intro p {
        max-width: 560px;
        margin: 0 auto;
        font-size: 14px;
        line-height: 1.6;
    }

    /* TRUST CARDS */
    .fvm-trust-row {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }

    .fvm-trust-row > div {
        width: 100%;
    }

    .fvm-trust-card {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
        padding: 26px 24px;
        box-sizing: border-box;
    }

}


/* ---------------------------------------------------------
   SMALL PHONES — BELOW 576px
   --------------------------------------------------------- */

@media (max-width: 575.98px) {

    .fvm-trust-section {
        padding-bottom: 36px;
    }

    .fvm-keith-wrap {
        width: 155px;
        height: 155px;

        margin: -42px auto 20px;

        border-width: 5px;
    }

    .fvm-keith-img {
        width: 125%;
        top: -12%;
    }

    .fvm-trust-intro {
        padding-right: 16px;
        padding-left: 16px;
    }

    .fvm-trust-intro h2 {
        font-size: 28px;
    }

    .fvm-trust-intro p {
        font-size: 13px;
    }

    .fvm-trust-card {
        max-width: calc(100% - 28px);
        padding: 24px 20px;
    }

    .fvm-trust-stat {
        font-size: 30px;
    }

}

/* =========================================================
   FLATHEAD VALLEY MORTGAGE
   LOAN PROGRAMS
   ========================================================= */

.fvm-programs {
    position: relative;
    padding: 85px 0;
    background-color: #173f32;
    background-image: url('images/topography-repeat_bg.webp');
    background-repeat: repeat;
    background-position: center;
    overflow: hidden;
}


/* subtle overlay so pattern never overwhelms cards */
.fvm-programs::before {
    content: "";

    position: absolute;
    inset: 0;

    background: rgba(13, 49, 38, .25);

    pointer-events: none;
}


.fvm-programs .container {
    position: relative;
    z-index: 2;
}


/* =========================================================
   INTRO
   ========================================================= */

.fvm-programs-intro {
    max-width: 950px;

    margin: 0 auto 42px;
}


.fvm-programs-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin-bottom: 14px;

    color: #d2aa62;

    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 2.5px;

    text-transform: uppercase;
}


.fvm-programs-eyebrow span {
    display: block;

    width: 52px;
    height: 1px;

    background: rgba(210,170,98,.75);
}


.fvm-programs-intro h2 {
    margin: 0 0 15px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 600;
    line-height: 1.1;
}


.fvm-programs-intro p {
    max-width: 780px;

    margin: 0 auto;

    color: rgba(255,255,255,.82);

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   PROGRAM CARDS
   ========================================================= */

.fvm-program-card {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;

    height: 100%;

    padding: 28px 24px 26px;

    border: 1px solid rgba(168,121,33,.15);
    border-radius: 5px;

    background: #f8f5ef;

    text-align: center;

    box-shadow:
        0 5px 12px rgba(0,0,0,.06),
        0 16px 30px rgba(0,0,0,.08);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.fvm-program-card:hover {
    border-color: rgba(168,121,33,.40);

    box-shadow:
        0 7px 16px rgba(0,0,0,.08),
        0 20px 38px rgba(0,0,0,.12);

    transform: translateY(-6px);
}


/* slightly more substantial top row */
.fvm-program-card-lg {
    padding-top: 30px;
    padding-bottom: 30px;
}


/* =========================================================
   PROGRAM ICON + DECORATIVE LINES
   ========================================================= */

.fvm-program-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    width: 100%;
    height: 90px;

    margin: 0 auto 14px;
}


/* LEFT + RIGHT LINES */
.fvm-program-icon::before,
.fvm-program-icon::after {
    content: "";
    display: block;

    width: 58px;
    height: 1px;

    flex: 0 0 58px;
}


.fvm-program-icon::before {
    background: linear-gradient(
        90deg,
        transparent,
        rgba(168,121,33,.70)
    );
}


.fvm-program-icon::after {
    background: linear-gradient(
        90deg,
        rgba(168,121,33,.70),
        transparent
    );
}


/* PERFECTLY ROUND ICON */
.fvm-program-icon img {
    display: block;

    width: 70px !important;
    height: 70px !important;

    min-width: 70px;
    min-height: 70px;

    flex: 0 0 70px;

    aspect-ratio: 1 / 1;

    border-radius: 50%;

    object-fit: cover;
}


/* MOBILE */
@media (max-width: 767.98px) {

    .fvm-program-icon {
        width: 100%;
        height: 82px;
        gap: 12px;
    }

    .fvm-program-icon::before,
    .fvm-program-icon::after {
        width: 38px;
        flex: 0 0 38px;
    }

    .fvm-program-icon img {
        width: 70px !important;
        height: 70px !important;

        min-width: 70px;
        min-height: 70px;

        flex: 0 0 70px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .fvm-program-icon {
        gap: 12px;
    }

    .fvm-program-icon::before,
    .fvm-program-icon::after {
        width: 38px;
        flex-basis: 38px;
    }

}
/* =========================================================
   CARD TYPE
   ========================================================= */

.fvm-program-card h3 {
    margin: 0 0 10px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: 25px;
    font-weight: 600;
    line-height: 1.2;
}


.fvm-program-accent {
    display: block;

    width: 34px;
    height: 2px;

    margin: 0 auto 14px;

    background: #738645;
}


.fvm-program-card p {
    max-width: 310px;

    margin: 0 auto 18px;

    color: #4f5963;

    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   CARD LINK
   ========================================================= */

.fvm-program-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-top: auto;

    color: #a87921 !important;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;

    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        gap .2s ease,
        color .2s ease;
}


.fvm-program-link i {
    font-size: 10px;
}


.fvm-program-link:hover,
.fvm-program-link:focus {
    gap: 11px;

    color: #805c19 !important;
}


/* =========================================================
   OPTIONAL FEATURED CONSTRUCTION CARD
   ========================================================= */

.fvm-program-featured {
    border-color: rgba(168,121,33,.32);

    box-shadow:
        0 7px 18px rgba(0,0,0,.08),
        0 20px 40px rgba(0,0,0,.11);
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.fvm-programs-cta {
    margin-top: 38px;
}


.fvm-programs-question {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin-bottom: 14px;

    color: rgba(255,255,255,.88);

    font-family: var(--font-family-heading);
    font-size: 15px;
}


.fvm-programs-question span {
    display: block;

    width: 65px;
    height: 1px;

    background: rgba(210,170,98,.65);
}


.fvm-programs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 44px;

    padding: 0 26px;

    border: 1px solid #b68732;
    border-radius: 5px;

    background: #b68732;

    color: #fff !important;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.3px;

    text-transform: uppercase;
    text-decoration: none !important;

    box-shadow: 0 8px 18px rgba(0,0,0,.10);

    transition:
        background-color .2s ease,
        border-color .2s ease,
        gap .2s ease;
}


.fvm-programs-btn:hover,
.fvm-programs-btn:focus {
    gap: 14px;

    border-color: #9b7229;
    background: #9b7229;

    color: #fff !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .fvm-programs {
        padding: 70px 0;
    }

    .fvm-programs-intro {
        margin-bottom: 35px;
    }

    .fvm-program-card h3 {
        font-size: 23px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .fvm-programs {
        padding: 58px 0;
    }

    .fvm-programs-intro {
        padding: 0 14px;
    }

    .fvm-programs-intro h2 {
        font-size: 34px;
    }

    .fvm-programs-intro p {
        font-size: 14px;
    }

    .fvm-program-card {
        max-width: 500px;

        margin: 0 auto;

        padding: 26px 22px;
    }

    .fvm-program-icon {
        width: 82px;
        height: 82px;
    }

    .fvm-program-icon img {
        width: 82px;
        height: 82px;
    }

    .fvm-programs-question span {
        width: 35px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    .fvm-programs-eyebrow {
        gap: 9px;

        font-size: 10px;
        letter-spacing: 1.8px;
    }

    .fvm-programs-eyebrow span {
        width: 30px;
    }

    .fvm-programs-intro h2 {
        font-size: 30px;
    }

    .fvm-programs-question {
        gap: 8px;

        font-size: 13px;
    }

    .fvm-programs-question span {
        width: 20px;
    }

}

.reviewswrap {padding:15% 0;background:transparent;}
.applywrap {padding:50px 0;background:#f4f3ee;}
.mainwrap {padding:0;}

/*------------------------------------------------*/
/* Footer Content STYLES */
/*------------------------------------------------*/

.fvm-footer {
    position: relative;

    color: #fff;

    font-family: var(--font-family-base);
}


/* =========================================================
   MAIN FOOTER
   ========================================================= */

.fvm-footer-main {
    position: relative;

    padding: 80px 0 65px;

    background-color: #182638;
    background-image:
        linear-gradient(
            180deg,
            rgba(18, 30, 47, .90),
            rgba(13, 24, 38, .96)
        ),
        url('images/footer-mountain-bg.webp');

    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;

    overflow: hidden;
}


/* =========================================================
   BRAND AREA
   ========================================================= */

.fvm-footer-brand {
    padding-right: 35px;
}


.fvm-footer-logo {
    display: inline-block;

    margin-bottom: 26px;
}


.fvm-footer-logo img {
    display: block;

    width: 100%;
    max-width: 390px;
    height: auto;
}


.fvm-footer-lead {
    max-width: 470px;

    margin-bottom: 26px;

    color: rgba(255,255,255,.88);

    font-family: var(--font-family-heading);
    font-size: 19px;
    line-height: 1.6;
}


/* APPLY CTA */
.fvm-footer-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    min-height: 58px;

    padding: 0 34px;

    border: 1px solid rgba(221,178,91,.95);
    border-radius: 6px;

    background:
        linear-gradient(
            180deg,
            #b9914a,
            #97722d
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.28),
        0 10px 22px rgba(0,0,0,.14);

    color: #fff !important;

    font-family: var(--font-family-heading);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 2px;

    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        gap .2s ease;
}


.fvm-footer-apply:hover,
.fvm-footer-apply:focus {
    gap: 19px;

    color: #fff !important;

    transform: translateY(-2px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.28),
        0 14px 28px rgba(0,0,0,.20);
}


/* TAGLINE */
.fvm-footer-tagline {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-top: 28px;

    color: #d3aa61;

    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;

    text-transform: uppercase;
}


.fvm-footer-tagline span {
    display: block;

    width: 56px;
    height: 1px;

    background: #c49b50;
}


/* =========================================================
   FOOTER COLUMNS
   ========================================================= */

.fvm-footer-column {
    position: relative;

    min-height: 100%;

    padding-left: 28px;

    border-left: 1px solid rgba(196,155,80,.55);
}


.fvm-footer-column h3 {
    margin: 0 0 25px;

    color: #d3aa61;

    font-family: var(--font-family-base);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 2.5px;

    text-transform: uppercase;
}


.fvm-footer-column ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.fvm-footer-column ul li {
    margin: 0 0 11px;
    padding: 0;

    list-style: none;
}


.fvm-footer-column ul li a {
    color: rgba(255,255,255,.92) !important;

    font-family: var(--font-family-heading);
    font-size: 16px;
    line-height: 1.45;

    text-decoration: none !important;

    transition:
        color .2s ease,
        padding-left .2s ease;
}


.fvm-footer-column ul li a:hover,
.fvm-footer-column ul li a:focus {
    padding-left: 4px;

    color: #d3aa61 !important;
}


/* =========================================================
   CONTACT
   ========================================================= */

.fvm-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;

    margin-bottom: 16px !important;

    color: rgba(255,255,255,.92);
}


.fvm-contact-list i {
    width: 22px;

    margin-top: 2px;

    color: #d8b56f;

    font-size: 20px;
    text-align: center;
}


.fvm-contact-list span,
.fvm-contact-list a {
    color: rgba(255,255,255,.92) !important;

    font-family: var(--font-family-heading);
    font-size: 15px !important;
    line-height: 1.5;
}


.fvm-contact-list a:hover {
    color: #d3aa61 !important;
}


/* SOCIAL */
.fvm-footer-social {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-top: 28px;
    padding-top: 24px;

    border-top: 1px solid rgba(196,155,80,.60);
}


.fvm-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid #caa45d;
    border-radius: 50%;

    color: #d8b56f !important;

    font-size: 16px;

    text-decoration: none !important;

    transition:
        background-color .2s ease,
        color .2s ease,
        transform .2s ease;
}


.fvm-footer-social a:hover,
.fvm-footer-social a:focus {
    background: #b68732;

    color: #fff !important;

    transform: translateY(-2px);
}


/* SIGN-OFF */
.fvm-footer-quote {
    margin: 26px 0 0;

    color: rgba(255,255,255,.55);

    font-size: 11px;
    font-style: italic;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 2.5px;

    text-transform: uppercase;
}


/* =========================================================
   PAGE HERO
   ========================================================= */

.fvm-page-hero {
    position: relative;

    padding: 85px 0 90px;

    background-color: #173f32;
    background-image:
        linear-gradient(
            90deg,
            rgba(17,54,42,.96),
            rgba(23,63,50,.88)
        ),
        url('images/fvm-topography-pattern.webp');

    background-repeat: repeat;
    background-position: center;

    color: #fff;

    overflow: hidden;
}


.fvm-page-hero::after {
    content: "";

    position: absolute;
    top: -160px;
    right: -130px;

    width: 500px;
    height: 500px;

    border: 1px solid rgba(210,170,98,.09);
    border-radius: 50%;

    pointer-events: none;
}


.fvm-page-hero .container {
    position: relative;
    z-index: 2;
}


/* breadcrumb */
.fvm-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 24px;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;

    text-transform: uppercase;
}


.fvm-breadcrumb a {
    color: rgba(255,255,255,.65) !important;
}


.fvm-breadcrumb a:hover {
    color: #d2aa62 !important;
}


.fvm-breadcrumb span {
    color: rgba(255,255,255,.45);
}


/* eyebrow */
.fvm-page-eyebrow,
.fvm-section-kicker {
    margin-bottom: 12px;

    color: #d2aa62;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2.2px;

    text-transform: uppercase;
}


/* hero H1 */
.fvm-page-hero h1 {
    max-width: 800px;

    margin: 0 0 22px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 600;
    line-height: 1.02;
}


.fvm-page-hero h1 span {
    display: block;

    color: rgba(255,255,255,.78);

    font-size: .62em;
    font-weight: 400;
}


/* hero lead */
.fvm-page-lead {
    max-width: 760px;

    margin: 0;

    color: rgba(255,255,255,.82);

    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
   HERO CALLOUT
   ========================================================= */

.fvm-page-hero-callout {
    position: relative;

    padding: 34px 32px;

    border: 1px solid rgba(210,170,98,.28);
    border-radius: 5px;

    background: rgba(13,35,29,.55);

    box-shadow: 0 18px 40px rgba(0,0,0,.14);

    backdrop-filter: blur(4px);
}


.fvm-page-callout-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 18px;

    border-radius: 50%;

    background: rgba(210,170,98,.13);

    color: #d2aa62;

    font-size: 18px;
}


.fvm-page-callout-label {
    display: block;

    margin-bottom: 7px;

    color: #d2aa62;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;

    text-transform: uppercase;
}


.fvm-page-hero-callout h2 {
    margin-bottom: 12px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: 28px;
    font-weight: 600;
}


.fvm-page-hero-callout p {
    margin-bottom: 22px;

    color: rgba(255,255,255,.75);

    font-size: 14px;
    line-height: 1.65;
}

/* =========================================================
   LOAN PROGRAMS IMAGE HERO
   ========================================================= */

.fvm-page-hero--loans {
    display: flex;
    align-items: center;

    min-height: 570px;
    padding: 80px 0;

    background-color: #182638;

    background-image:
        linear-gradient(
            90deg,
            rgba(17, 29, 44, .94) 0%,
            rgba(17, 29, 44, .82) 38%,
            rgba(17, 29, 44, .52) 65%,
            rgba(17, 29, 44, .28) 100%
        ),
        url('/Portals/220/content/images/loan-programs_mortgage-broker_flathead-valley-mortgage.webp');

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}


/* remove standard decorative circle */
.fvm-page-hero--loans::after {
    display: none;
}


/* =========================================================
   LEFT CONTENT
   ========================================================= */

.fvm-page-hero--loans .fvm-page-lead {
    max-width: 720px;

    color: rgba(255,255,255,.88);
}


.fvm-page-hero-btn {
    margin-top: 25px;
}


/* =========================================================
   RIGHT HERO CARD
   ========================================================= */

.fvm-page-hero--loans .fvm-page-hero-callout {
    position: relative;

    padding: 34px 30px;

    border: 1px solid rgba(210,170,98,.38);
    border-radius: 6px;

    background: rgba(18, 34, 46, .78);

    box-shadow:
        0 8px 18px rgba(0,0,0,.10),
        0 22px 45px rgba(0,0,0,.20);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}


/* subtle gold top accent */
.fvm-page-hero--loans .fvm-page-hero-callout::before {
    content: "";

    position: absolute;
    top: 0;
    left: 30px;

    width: 55px;
    height: 3px;

    background: #b68732;
}


/* ICON */
.fvm-page-hero--loans .fvm-page-callout-icon {
    width: 54px;
    height: 54px;

    margin-bottom: 18px;

    background: rgba(210,170,98,.12);

    color: #d2aa62;
}


/* LABEL */
.fvm-page-hero--loans .fvm-page-callout-label {
    color: #d2aa62;
}


/* TITLE */
.fvm-page-hero--loans .fvm-page-hero-callout h2 {
    color: #fff;

    font-size: 28px;
    line-height: 1.15;
}


/* BODY */
.fvm-page-hero--loans .fvm-page-hero-callout p {
    color: rgba(255,255,255,.78);

    line-height: 1.65;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .fvm-page-hero--loans {
        min-height: auto;

        padding: 65px 0;

        background-position: 58% center;

        background-image:
            linear-gradient(
                90deg,
                rgba(17, 29, 44, .94) 0%,
                rgba(17, 29, 44, .84) 55%,
                rgba(17, 29, 44, .55) 100%
            ),
            url('/Portals/220/content/images/loan-programs_mortgage-broker_flathead-valley-mortgage.webp');
    }


    .fvm-page-hero--loans .fvm-page-hero-callout {
        max-width: 620px;

        margin-top: 10px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .fvm-page-hero--loans {
        padding: 52px 0;

        background-position: 62% center;

        background-image:
            linear-gradient(
                rgba(17, 29, 44, .88),
                rgba(17, 29, 44, .84)
            ),
            url('/Portals/220/content/images/loan-programs_mortgage-broker_flathead-valley-mortgage.webp');
    }


    .fvm-page-hero--loans .fvm-page-hero-callout {
        padding: 28px 24px;
    }


    .fvm-page-hero--loans .fvm-page-hero-callout h2 {
        font-size: 25px;
    }

}


/* =========================================================
   GOLD BUTTON
   ========================================================= */

.fvm-gold-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 46px;

    padding: 0 25px;

    border: 1px solid #b68732;
    border-radius: 4px;

    background: #b68732;

    color: #fff !important;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;

    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        gap .2s ease;
}


.fvm-gold-btn:hover,
.fvm-gold-btn:focus {
    gap: 14px;

    border-color: #987027;
    background: #987027;

    color: #fff !important;
}


/* =========================================================
   INTRO
   ========================================================= */

.fvm-page-intro {
    padding: 80px 0;

    background: #f7f3eb;
}


.fvm-page-intro h2 {
    max-width: 520px;

    margin: 0;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 600;
    line-height: 1.12;
}


.fvm-page-intro-copy {
    padding-left: 35px;

    border-left: 1px solid rgba(168,121,33,.30);
}


.fvm-page-intro-copy p {
    color: #55606a;

    font-size: 15px;
    line-height: 1.75;
}


.fvm-page-intro-copy p:last-child {
    margin-bottom: 0;
}


.fvm-page-intro-copy .lead {
    color: #344252;

    font-family: var(--font-family-heading);
    font-size: 18px;
}


/* =========================================================
   LOAN GRID SECTION
   ========================================================= */

.fvm-loan-grid-section {
    padding: 85px 0;

    background: #fff;
}


/* reusable centered section heading */
.fvm-section-heading {
    max-width: 850px;

    margin: 0 auto 48px;
}


.fvm-section-heading h2 {
    margin: 0 0 14px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 600;
}


.fvm-section-heading > p {
    max-width: 700px;

    margin: 0 auto;

    color: #626b74;

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   LOAN CARDS
   ========================================================= */

.fvm-loan-card {
    position: relative;

    display: flex;

    height: 100%;

    padding: 28px;

    border: 1px solid rgba(36,54,79,.10);
    border-radius: 5px;

    background: #fbf9f5;

    box-shadow:
        0 3px 7px rgba(20,30,45,.035),
        0 12px 28px rgba(20,30,45,.055);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.fvm-loan-card:hover {
    border-color: rgba(168,121,33,.28);

    box-shadow:
        0 5px 10px rgba(20,30,45,.05),
        0 18px 38px rgba(20,30,45,.09);

    transform: translateY(-5px);
}


/* icon */
.fvm-loan-card-icon {
    flex: 0 0 90px;

    width: 90px;
    height: 90px;

    margin-right: 22px;
}


.fvm-loan-card-icon img {
    display: block;

    width: 90px !important;
    height: 90px !important;

    border-radius: 50%;

    object-fit: cover;
}


/* content */
.fvm-loan-card-body {
    display: flex;
    flex-direction: column;

    min-width: 0;
}


.fvm-loan-number {
    margin-bottom: 6px;

    color: #a87921;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.7px;
}


.fvm-loan-card h3 {
    margin: 0 0 10px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: 25px;
    font-weight: 600;
}


.fvm-loan-card p {
    margin-bottom: 14px;

    color: #59636d;

    font-size: 13px;
    line-height: 1.6;
}


/* optional bullet details */
.fvm-loan-card ul {
    margin: 0 0 18px;
    padding: 0;

    list-style: none;
}


.fvm-loan-card ul li {
    position: relative;

    margin-bottom: 5px;
    padding-left: 15px;

    color: #667079;

    font-size: 12px;
}


.fvm-loan-card ul li::before {
    content: "";

    position: absolute;
    top: 9px;
    left: 0;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #738645;
}


/* card CTA */
.fvm-loan-card-body > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-top: auto;

    color: #a87921 !important;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .9px;

    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        color .2s ease,
        gap .2s ease;
}


.fvm-loan-card-body > a:hover {
    gap: 11px;

    color: #805c19 !important;
}


/* construction emphasis */
.fvm-loan-card-featured {
    border-color: rgba(168,121,33,.25);

    background:
        linear-gradient(
            145deg,
            #fbf9f5,
            #f6efe3
        );
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.fvm-page-cta {
    padding: 70px 0;

    background: #f7f3eb;
}


.fvm-page-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;

    padding: 45px 50px;

    border-left: 4px solid #a87921;

    background: var(--fvm-navy);

    box-shadow: 0 14px 32px rgba(20,30,45,.12);
}


.fvm-page-cta-inner h2 {
    margin-bottom: 8px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: 34px;
    font-weight: 600;
}


.fvm-page-cta-inner p {
    max-width: 650px;

    margin: 0;

    color: rgba(255,255,255,.72);

    font-size: 14px;
    line-height: 1.65;
}


.fvm-page-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;

    flex: 0 0 auto;
}


.fvm-text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: rgba(255,255,255,.78) !important;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .7px;

    text-transform: uppercase;

    transition:
        color .2s ease,
        gap .2s ease;
}


.fvm-text-link:hover {
    gap: 11px;

    color: #d2aa62 !important;
}



/* =========================================================
   FVM TEAM PAGE
   ========================================================= */


/* =========================================================
   SLIM HERO
   ========================================================= */

.fvm-team-hero {
    position: relative;

    padding: 75px 0 80px;

    background-color: #182638;
    background-image:
        linear-gradient(
            90deg,
            rgba(17,29,44,.94) 0%,
            rgba(17,29,44,.78) 50%,
            rgba(17,29,44,.46) 100%
        ),
        url('/Portals/216/content/images/team-hero-montana.webp');

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    color: #fff;

    overflow: hidden;
}


.fvm-team-hero .container {
    position: relative;
    z-index: 2;
}


.fvm-team-hero h1 {
    max-width: 780px;

    margin: 0 0 18px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 600;
    line-height: 1.03;
}


.fvm-team-hero h1 span {
    display: block;

    color: rgba(255,255,255,.76);

    font-size: .60em;
    font-weight: 400;
}


.fvm-team-hero > .container > p {
    max-width: 700px;

    margin: 0;

    color: rgba(255,255,255,.82);

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   TEAM INTRO
   ========================================================= */

.fvm-team-intro {
    padding: 75px 0;

    background: #f7f3eb;
}


.fvm-team-intro h2 {
    margin: 0 0 14px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 600;
}


.fvm-team-intro p {
    max-width: 800px;

    margin: 0 auto;

    color: #59636d;

    font-size: 15px;
    line-height: 1.75;
}


/* =========================================================
   ADVISOR SECTION
   ========================================================= */

.fvm-advisor-section {
    padding: 90px 0;

    background: #fff;
}


.fvm-advisor-section-alt {
    background: #f7f3eb;
}


/* =========================================================
   ADVISOR PHOTO - CLEAN VERSION
   ========================================================= */

.fvm-advisor-photo {
    position: relative;

    max-width: 440px;
    margin: 0 auto;

    padding: 0;

    border-radius: 5px;

    background: transparent;

    box-shadow:
        0 6px 14px rgba(20,30,45,.06),
        0 20px 40px rgba(20,30,45,.10);
}


/* REMOVE OLD CREAM BACKING PANEL */
.fvm-advisor-photo-bg {
    display: none;
}


/* SINGLE GOLD ACCENT */
.fvm-advisor-photo::before {
    content: "";

    position: absolute;
    top: -8px;
    left: 0;

    z-index: 3;

    width: 72%;
    height: 1px;

    background: rgba(168,121,33,.65);

    pointer-events: none;
}


/* PORTRAIT */
.fvm-advisor-photo img {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: auto;

    margin: 0;

    border: 0;
    border-radius: 4px;

    box-shadow: none;
    filter: none;
}


/* NMLS BADGE */
.fvm-advisor-nmls {
    position: absolute;
    right: -8px;
    bottom: 18px;

    z-index: 4;

    padding: 8px 13px;

    border-radius: 3px;

    background: var(--fvm-navy);

    color: #fff;

    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1px;

    text-transform: uppercase;

    box-shadow: 0 5px 12px rgba(20,30,45,.12);
}

/* =========================================================
   ADVISOR CONTENT
   ========================================================= */

.fvm-advisor-content {
    max-width: 720px;
}


.fvm-advisor-content h2 {
    margin: 0 0 14px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: clamp(38px, 4vw, 52px);
    font-weight: 600;
    line-height: 1.08;
}


.fvm-advisor-lead {
    margin-bottom: 22px !important;

    color: #36475b !important;

    font-family: var(--font-family-heading);
    font-size: 20px !important;
    line-height: 1.55 !important;
}


.fvm-advisor-content p {
    max-width: 680px;

    margin-bottom: 18px;

    color: #59636d;

    font-size: 15px;
    line-height: 1.75;
}


/* =========================================================
   ADVISOR ACTIONS
   ========================================================= */

.fvm-advisor-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;

    margin-top: 30px;
}


.fvm-advisor-phone {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: var(--fvm-navy) !important;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none !important;
}


.fvm-advisor-phone i {
    color: #a87921;
}


.fvm-advisor-phone:hover {
    color: #a87921 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .fvm-team-hero {
        padding: 65px 0;
    }

    .fvm-team-intro {
        padding: 60px 0;
    }

    .fvm-advisor-section {
        padding: 70px 0;
    }

    .fvm-advisor-content {
        max-width: 720px;

        margin-right: auto;
        margin-left: auto;
    }

    .fvm-advisor-photo {
        max-width: 390px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .fvm-team-hero {
        padding: 52px 0;

        text-align: center;
    }

    .fvm-team-hero .fvm-breadcrumb {
        justify-content: center;
    }

    .fvm-team-hero h1 {
        font-size: 42px;
    }

    .fvm-team-hero > .container > p {
        font-size: 14px;
    }


    .fvm-team-intro {
        padding: 50px 0;
    }


    .fvm-advisor-section {
        padding: 55px 0;

        text-align: center;
    }


    .fvm-advisor-photo {
        max-width: 320px;
    }


    .fvm-advisor-content h2 {
        font-size: 36px;
    }


    .fvm-advisor-lead {
        font-size: 18px !important;
    }


    .fvm-advisor-content p {
        font-size: 14px;
    }


    .fvm-advisor-actions {
        justify-content: center;

        gap: 18px;
    }

}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199.98px) {

    .fvm-page-hero {
        padding: 75px 0;
    }

    .fvm-loan-card {
        padding: 24px;
    }

}


@media (max-width: 991.98px) {

    .fvm-page-hero {
        padding: 65px 0;
    }

    .fvm-page-hero-callout {
        max-width: 600px;
    }

    .fvm-page-intro {
        padding: 65px 0;
    }

    .fvm-page-intro-copy {
        padding-left: 0;

        border-left: 0;
    }

    .fvm-page-cta-inner {
        display: block;
    }

    .fvm-page-cta-actions {
        margin-top: 28px;
    }

}


@media (max-width: 767.98px) {

    .fvm-page-hero {
        padding: 55px 0;
    }

    .fvm-page-hero h1 {
        font-size: 44px;
    }

    .fvm-page-lead {
        font-size: 15px;
    }

    .fvm-page-intro,
    .fvm-loan-grid-section {
        padding: 55px 0;
    }

    .fvm-loan-card {
        display: block;

        max-width: 520px;

        margin-right: auto;
        margin-left: auto;

        text-align: center;
    }

    .fvm-loan-card-icon {
        margin: 0 auto 18px;
    }

    .fvm-loan-card ul {
        display: inline-block;

        text-align: left;
    }

    .fvm-loan-card-body > a {
        justify-content: center;
    }

    .fvm-page-cta {
        padding: 50px 0;
    }

    .fvm-page-cta-inner {
        padding: 35px 28px;

        text-align: center;
    }

    .fvm-page-cta-actions {
        align-items: center;
    }

}

/* =========================================================
   FLATHEAD VALLEY MORTGAGE
   LOAN DETAIL PAGE SYSTEM
   ========================================================= */


/* =========================================================
   DETAIL HERO
   ========================================================= */

.fvm-loan-detail-hero {
    position: relative;

    padding: 72px 0 76px;

    background-color: #182638;

    background-image:
        linear-gradient(
            90deg,
            rgba(17,29,44,.94) 0%,
            rgba(17,29,44,.82) 42%,
            rgba(17,29,44,.42) 72%,
            rgba(17,29,44,.18) 100%
        ),
        var(--fvm-loan-hero-image);

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    color: #fff;
}


.fvm-loan-detail-hero .container {
    position: relative;
    z-index: 2;
}


.fvm-loan-detail-hero h1 {
    max-width: 820px;

    margin: 0 0 18px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 600;
    line-height: 1.04;
}


.fvm-loan-detail-hero h1 span {
    display: block;

    margin-top: 7px;

    color: rgba(255,255,255,.76);

    font-size: .56em;
    font-weight: 400;
}


.fvm-loan-detail-hero .fvm-page-lead {
    max-width: 710px;

    color: rgba(255,255,255,.87);
}


/* =========================================================
   MAIN DETAIL AREA
   ========================================================= */

.fvm-loan-detail-main {
    padding: 80px 0;

    background: #fff;
}


/* =========================================================
   SIDEBAR PROGRAM NAV
   ========================================================= */

.fvm-loan-sidebar {
    position: sticky;
    top: 30px;

    overflow: hidden;

    border-radius: 5px;

    background: var(--fvm-navy-dark);

    box-shadow:
        0 5px 12px rgba(20,30,45,.06),
        0 16px 30px rgba(20,30,45,.08);
}


.fvm-loan-sidebar-title {
    padding: 24px 24px 18px;

    border-bottom: 1px solid rgba(255,255,255,.08);
}


.fvm-loan-sidebar-title span {
    display: block;

    margin-bottom: 5px;

    color: #d2aa62;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;

    text-transform: uppercase;
}


.fvm-loan-sidebar-title h2 {
    margin: 0;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: 21px;
    font-weight: 600;
}


.fvm-loan-nav {
    margin: 0;
    padding: 8px 0;

    list-style: none;
}


.fvm-loan-nav li {
    margin: 0;
    padding: 0;

    list-style: none;
}


.fvm-loan-nav a {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 12px 22px;

    color: rgba(255,255,255,.82) !important;

    font-family: var(--font-family-heading);
    font-size: 15px;

    text-decoration: none !important;

    transition:
        color .2s ease,
        background-color .2s ease,
        padding-left .2s ease;
}


.fvm-loan-nav a::after {
    content: "\f061";

    opacity: 0;

    color: #d2aa62;

    font-family: "Font Awesome 6 Free";
    font-size: 10px;
    font-weight: 900;

    transition: opacity .2s ease;
}


.fvm-loan-nav a:hover {
    padding-left: 27px;

    background: rgba(255,255,255,.04);

    color: #d2aa62 !important;
}


.fvm-loan-nav a:hover::after {
    opacity: 1;
}


/* ACTIVE LOAN */
.fvm-loan-nav li.active > a {
    background: rgba(168,121,33,.18);

    color: #fff !important;

    box-shadow: inset 3px 0 0 #d2aa62;
}


.fvm-loan-nav li.active > a::after {
    opacity: 1;
}


/* SIDEBAR CTA */
.fvm-loan-sidebar-cta {
    padding: 22px;

    border-top: 1px solid rgba(255,255,255,.08);

    background: rgba(255,255,255,.03);
}


.fvm-loan-sidebar-cta p {
    margin-bottom: 14px;

    color: rgba(255,255,255,.72);

    font-size: 12px;
    line-height: 1.55;
}


/* =========================================================
   DETAIL CONTENT
   ========================================================= */

.fvm-loan-content {
    max-width: 850px;
}


.fvm-loan-content > .fvm-page-eyebrow {
    margin-bottom: 9px;
}


.fvm-loan-content h2 {
    margin: 0 0 18px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: clamp(32px, 3.6vw, 46px);
    font-weight: 600;
    line-height: 1.12;
}


.fvm-loan-content h3 {
    margin: 34px 0 12px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: 25px;
    font-weight: 600;
}


.fvm-loan-content p {
    color: #59636d;

    font-size: 15px;
    line-height: 1.75;
}


.fvm-loan-content .lead {
    color: #344252;

    font-family: var(--font-family-heading);
    font-size: 19px;
    line-height: 1.6;
}


/* =========================================================
   KEY POINTS / BENEFITS
   ========================================================= */

.fvm-loan-highlights {
    margin: 38px 0;
}


.fvm-loan-highlight {
    height: 100%;

    padding: 25px 22px;

    border: 1px solid rgba(36,54,79,.10);
    border-radius: 5px;

    background: #fbf9f5;

    text-align: center;
}


.fvm-loan-highlight-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 14px;

    border-radius: 50%;

    background: #efe9df;

    color: #a87921;

    font-size: 17px;
}


.fvm-loan-highlight h3 {
    margin: 0 0 8px;

    font-size: 19px;
}


.fvm-loan-highlight p {
    margin: 0;

    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   CHECK LIST
   ========================================================= */

.fvm-loan-checklist {
    margin: 25px 0 35px;
    padding: 0;

    list-style: none;
}


.fvm-loan-checklist li {
    position: relative;

    margin-bottom: 12px;
    padding-left: 31px;

    color: #53606b;

    font-size: 14px;
    line-height: 1.6;
}


.fvm-loan-checklist li::before {
    content: "\f00c";

    position: absolute;
    top: 1px;
    left: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    border-radius: 50%;

    background: rgba(115,134,69,.12);

    color: #738645;

    font-family: "Font Awesome 6 Free";
    font-size: 9px;
    font-weight: 900;
}


/* =========================================================
   HOW IT WORKS
   ========================================================= */

.fvm-loan-process {
    margin-top: 45px;
    padding: 38px;

    border-radius: 5px;

    background: #f7f3eb;
}


.fvm-loan-process-heading {
    margin-bottom: 25px;
}


.fvm-loan-process-step {
    position: relative;

    padding-left: 62px;
}


.fvm-loan-process-step + .fvm-loan-process-step {
    margin-top: 26px;
}


.fvm-loan-step-number {
    position: absolute;
    top: 0;
    left: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: var(--fvm-navy);

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: 15px;
    font-weight: 700;
}


.fvm-loan-process-step h3 {
    margin: 0 0 5px;

    font-size: 19px;
}


.fvm-loan-process-step p {
    margin: 0;

    font-size: 13px;
}


/* =========================================================
   SMALL DISCLAIMER / NOTE
   ========================================================= */

.fvm-loan-note {
    margin-top: 35px;
    padding: 18px 20px;

    border-left: 3px solid #a87921;

    background: #fbf9f5;
}


.fvm-loan-note p {
    margin: 0;

    color: #69727a;

    font-size: 12px;
    line-height: 1.6;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .fvm-loan-detail-main {
        padding: 65px 0;
    }

    .fvm-loan-sidebar {
        position: relative;
        top: auto;

        margin-bottom: 35px;
    }

    .fvm-loan-nav {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .fvm-loan-nav a {
        border-bottom: 1px solid rgba(255,255,255,.06);
    }

}


@media (max-width: 767.98px) {

    .fvm-loan-detail-hero {
        padding: 55px 0;

        text-align: center;

        background-image:
            linear-gradient(
                rgba(17,29,44,.82),
                rgba(17,29,44,.82)
            ),
            var(--fvm-loan-hero-image);
    }

    .fvm-loan-detail-hero .fvm-breadcrumb {
        justify-content: center;
    }

    .fvm-loan-detail-hero h1 {
        font-size: 42px;
    }

    .fvm-loan-nav {
        grid-template-columns: 1fr;
    }

    .fvm-loan-process {
        padding: 28px 22px;
    }

}

/* =========================================================
   WHY US PAGE
   ========================================================= */


/* =========================================================
   HERO
   ========================================================= */

.fvm-page-hero--why {
    padding: 75px 0 80px;

    background-color: #182638;

    background-image:
        linear-gradient(
            90deg,
            rgba(17,29,44,.95) 0%,
            rgba(17,29,44,.84) 45%,
            rgba(17,29,44,.48) 75%,
            rgba(17,29,44,.20) 100%
        ),
        url('/Portals/220/content/images/why-us_mortgage-broker_flathead-valley-mortgage.webp');

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.fvm-page-hero--why::after {
    display: none;
}


/* =========================================================
   INTRO
   ========================================================= */

.fvm-why-intro {
    padding: 75px 0;

    background: #f7f3eb;
}


.fvm-why-intro h2 {
    margin: 0;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: clamp(36px, 4vw, 50px);
    font-weight: 600;
    line-height: 1.08;
}


/* =========================================================
   TRUST NUMBERS
   ========================================================= */

.fvm-why-trust {
    padding: 0 0 80px;

    background: #f7f3eb;
}


.fvm-why-trust .fvm-trust-card {
    background: #fff;
}

/* =========================================================
   WHY US HERO
   Image already contains navy negative space + team
   ========================================================= */

.fvm-page-hero--why-team {
    position: relative;

    min-height: 500px;
    padding: 70px 0;

    display: flex;
    align-items: center;

    background-color: #132235;

    background-image:
        url('/Portals/220/content/images/why-us_mortgage-broker_flathead-valley-mortgage.webp');

    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;

    overflow: hidden;
}


/* IMPORTANT:
   Kill the decorative circle / old image layers
*/
.fvm-page-hero--why-team::before,
.fvm-page-hero--why-team::after {
    display: none;
}


/* CONTENT */
.fvm-page-hero--why-team .container {
    position: relative;
    z-index: 2;
}


.fvm-page-hero--why-team .row {
    position: relative;
    z-index: 2;
}


.fvm-page-hero--why-team h1 {
    max-width: 760px;
}


.fvm-page-hero--why-team .fvm-page-lead {
    max-width: 760px;

    color: rgba(255,255,255,.88);
}
.fvm-why-reasons {
    padding: 85px 0;

    background: #fff;
}


.fvm-why-card {
    display: flex;
    align-items: flex-start;
    gap: 22px;

    height: 100%;

    padding: 30px;

    border: 1px solid rgba(36,54,79,.10);
    border-radius: 5px;

    background: #fbf9f5;

    box-shadow:
        0 3px 7px rgba(20,30,45,.03),
        0 14px 28px rgba(20,30,45,.05);

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}


.fvm-why-card:hover {
    transform: translateY(-4px);

    border-color: rgba(168,121,33,.25);

    box-shadow:
        0 5px 10px rgba(20,30,45,.04),
        0 18px 34px rgba(20,30,45,.08);
}


.fvm-why-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    border-radius: 50%;

    background: #efe9df;

    color: #a87921;

    font-size: 19px;
}


.fvm-why-card h3 {
    margin: 2px 0 8px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: 23px;
    font-weight: 600;
}


.fvm-why-card p {
    margin: 0;

    color: #59636d;

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .fvm-why-intro {
        padding: 65px 0;
    }

    .fvm-why-trust {
        padding-bottom: 65px;
    }

    .fvm-why-reasons {
        padding: 65px 0;
    }

}


@media (max-width: 767.98px) {

    .fvm-page-hero--why {
        padding: 52px 0;

        text-align: center;

        background-image:
            linear-gradient(
                rgba(17,29,44,.80),
                rgba(17,29,44,.80)
            ),
            url('/Portals/220/content/images/why-us_mortgage-broker_flathead-valley-mortgage.webp');
    }

    .fvm-page-hero--why .fvm-breadcrumb {
        justify-content: center;
    }

    .fvm-why-intro {
        padding: 50px 0;

        text-align: center;
    }

    .fvm-why-card {
        display: block;

        max-width: 520px;

        margin: 0 auto;

        text-align: center;
    }

    .fvm-why-icon {
        margin: 0 auto 15px;
    }

}


/* =========================================================
   MORTGAGE CALCULATOR HERO
   ========================================================= */

.fvm-page-hero--calculator {
    position: relative;

    min-height: 400px;
    padding: 65px 0;

    display: flex;
    align-items: center;

    text-align: center;

    background-color: #083d17;

    background-image:
        linear-gradient(
            rgba(17, 29, 44, .66),
            rgba(17, 29, 44, .72)
        ),
        url('/Portals/220/content/images/calculator_mortgage-broker_flathead-valley-mortgage.webp');

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;

    overflow: hidden;
}


/* REMOVE GENERIC BACK-PAGE DECORATIVE CIRCLE */
.fvm-page-hero.fvm-page-hero--calculator::after {
    display: none !important;
}


/* MAKE SURE NO OTHER PSEUDO LAYER IS INTERFERING */
.fvm-page-hero.fvm-page-hero--calculator::before {
    display: none;
}


/* KEEP CONTENT ABOVE BACKGROUND */
.fvm-page-hero--calculator .container {
    position: relative;
    z-index: 2;
}


/* CENTER BREADCRUMB FOR THIS PAGE */
.fvm-page-hero--calculator .fvm-breadcrumb {
    justify-content: center;
}


/* CONTROL TEXT WIDTH */
.fvm-page-hero--calculator h1 {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
}


.fvm-page-hero--calculator .fvm-page-lead {
    max-width: 800px;

    margin-right: auto;
    margin-left: auto;

    color: rgba(255,255,255,.90);
}

/* =========================================================
   CALCULATOR AREA
   ========================================================= */

.fvm-calculator-section {
    padding: 80px 0;

    background: #f7f3eb;
}


.fvm-calculator-card {
    padding: 38px;

    border: 1px solid rgba(36,54,79,.10);
    border-radius: 6px;

    background: #fff;

    box-shadow:
        0 5px 12px rgba(20,30,45,.04),
        0 18px 38px rgba(20,30,45,.07);
}


.fvm-calculator-card h2 {
    margin: 0 0 12px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 600;
}


.fvm-calculator-card > p {
    max-width: 680px;

    margin-bottom: 28px;

    color: #59636d;

    font-size: 14px;
    line-height: 1.7;
}


.fvm-calculator-embed {
    width: 100%;
}


/* =========================================================
   SIDE PANEL
   ========================================================= */

.fvm-calculator-help {
    padding: 32px;

    border-top: 3px solid #a87921;
    border-radius: 5px;

    background: var(--fvm-navy);

    box-shadow: 0 16px 35px rgba(20,30,45,.10);
}


.fvm-calculator-help-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    margin-bottom: 22px;

    border-radius: 50%;

    background: rgba(210,170,98,.12);

    color: #d2aa62;

    font-size: 19px;
}


.fvm-calculator-help h2 {
    margin: 0 0 15px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
}


.fvm-calculator-help p {
    color: rgba(255,255,255,.76);

    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   FACTORS
   ========================================================= */

.fvm-calculator-factors {
    padding: 80px 0;

    background: #fff;
}


.fvm-factor-card {
    height: 100%;

    padding: 28px 24px;

    border: 1px solid rgba(36,54,79,.10);
    border-radius: 5px;

    background: #fbf9f5;

    text-align: center;
}


.fvm-factor-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    margin-bottom: 15px;

    border-radius: 50%;

    background: #efe9df;

    color: #a87921;

    font-size: 18px;
}


.fvm-factor-card h3 {
    margin: 0 0 9px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: 21px;
    font-weight: 600;
}


.fvm-factor-card p {
    margin: 0;

    color: #59636d;

    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   CALCULATOR DISCLAIMER
   ========================================================= */

.fvm-calculator-note-section {
    padding: 0 0 70px;

    background: #fff;
}


.fvm-calculator-note {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    padding: 20px 22px;

    border-left: 3px solid #a87921;

    background: #f7f3eb;
}


.fvm-calculator-note i {
    margin-top: 3px;

    color: #a87921;
}


.fvm-calculator-note p {
    margin: 0;

    color: #69727a;

    font-size: 11px;
    line-height: 1.65;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .fvm-calculator-section,
    .fvm-calculator-factors {
        padding: 55px 0;
    }

    .fvm-calculator-card {
        padding: 26px 20px;
    }

    .fvm-calculator-help {
        padding: 28px 24px;
    }

    .fvm-calculator-note {
        display: block;

        text-align: center;
    }

    .fvm-calculator-note i {
        margin: 0 0 10px;
    }

}

/* =========================================================
   CONTACT PAGE
   ========================================================= */


/* =========================================================
   HERO
   ========================================================= */

.fvm-contact-hero {
    padding: 70px 0;

    background: #f7f3eb;
}


.fvm-contact-hero .row {
    overflow: hidden;

    border-radius: 6px;

    box-shadow:
        0 8px 18px rgba(20,30,45,.06),
        0 24px 48px rgba(20,30,45,.10);
}


/* LEFT */
.fvm-contact-hero-content {
    height: 100%;

    padding: 55px 55px 50px;

    background: var(--fvm-navy);
}


.fvm-contact-hero-content h1 {
    margin: 0 0 20px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: clamp(46px, 5vw, 68px);
    font-weight: 600;
    line-height: 1.03;
}


.fvm-contact-hero-content h1 span {
    display: block;

    margin-top: 6px;

    color: rgba(255,255,255,.72);

    font-size: .58em;
    font-weight: 400;
}


.fvm-contact-hero-content .fvm-page-lead {
    max-width: 650px;

    color: rgba(255,255,255,.80);

    font-size: 15px;
    line-height: 1.75;
}


/* =========================================================
   QUICK CONTACT
   ========================================================= */

.fvm-contact-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;

    margin-top: 35px;
    padding-top: 28px;

    border-top: 1px solid rgba(255,255,255,.12);
}


.fvm-contact-quick-item {
    display: flex;
    align-items: center;
    gap: 13px;
}


.fvm-contact-quick-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    border-radius: 50%;

    background: rgba(210,170,98,.12);

    color: #d2aa62;
}


.fvm-contact-quick-item span {
    display: block;

    margin-bottom: 3px;

    color: #d2aa62;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.3px;

    text-transform: uppercase;
}


.fvm-contact-quick-item strong,
.fvm-contact-quick-item a {
    color: #fff !important;

    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;

    text-decoration: none !important;
}


/* =========================================================
   MAP
   ========================================================= */

.fvm-contact-map {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: 480px;

    background: #ddd;
}


.fvm-contact-map iframe {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;
}


.fvm-map-directions {
    position: absolute;
    right: 22px;
    bottom: 22px;

    z-index: 3;

    display: inline-flex;
    align-items: center;
    gap: 9px;

    min-height: 42px;

    padding: 0 18px;

    border-radius: 4px;

    background: #b68732;

    color: #fff !important;

    box-shadow: 0 8px 18px rgba(0,0,0,.16);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .9px;

    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        background-color .2s ease,
        transform .2s ease;
}


.fvm-map-directions:hover {
    background: #987027;

    transform: translateY(-2px);
}


/* =========================================================
   MAIN CONTACT
   ========================================================= */

.fvm-contact-main {
    padding: 85px 0;

    background: #fff;
}


.fvm-contact-info h2,
.fvm-contact-form-card h2 {
    margin: 0 0 15px;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 600;
    line-height: 1.12;
}


.fvm-contact-info p,
.fvm-contact-form-card p {
    color: #59636d;

    font-size: 14px;
    line-height: 1.7;
}


.fvm-contact-info .lead {
    color: #344252;

    font-family: var(--font-family-heading);
    font-size: 18px;
}


/* =========================================================
   CONTACT OPTION LINKS
   ========================================================= */

.fvm-contact-options {
    margin-top: 28px;
}


.fvm-contact-option {
    display: flex;
    align-items: center;
    gap: 15px;

    padding: 17px 0;

    border-bottom: 1px solid rgba(36,54,79,.10);

    color: inherit !important;

    text-decoration: none !important;

    transition: padding-left .2s ease;
}


.fvm-contact-option:first-child {
    border-top: 1px solid rgba(36,54,79,.10);
}


.fvm-contact-option:hover {
    padding-left: 6px;
}


.fvm-contact-option > i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    border-radius: 50%;

    background: #efe9df;

    color: #a87921;
}


.fvm-contact-option span {
    display: block;

    color: #a87921;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;

    text-transform: uppercase;
}


.fvm-contact-option strong {
    display: block;

    color: var(--fvm-navy);

    font-family: var(--font-family-heading);
    font-size: 17px;
    font-weight: 600;
}


/* =========================================================
   FORM CARD
   ========================================================= */

.fvm-contact-form-card {
    padding: 38px;

    border: 1px solid rgba(36,54,79,.10);
    border-radius: 6px;

    background: #fbf9f5;

    box-shadow:
        0 5px 12px rgba(20,30,45,.035),
        0 18px 36px rgba(20,30,45,.06);
}


.fvm-contact-form-embed {
    margin-top: 25px;
}


/* =========================================================
   OFFICE STRIP
   ========================================================= */

.fvm-contact-office {
    padding: 55px 0;

    background: #f7f3eb;
}


.fvm-contact-office-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    padding: 35px 40px;

    border-left: 4px solid #a87921;

    background: var(--fvm-navy);
}


.fvm-contact-office-inner h2 {
    margin: 0;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: 27px;
    font-weight: 600;
}


.fvm-contact-office-address {
    display: flex;
    align-items: center;
    gap: 12px;

    flex: 0 0 auto;

    color: #fff;
}


.fvm-contact-office-address > i {
    color: #d2aa62;

    font-size: 22px;
}


.fvm-contact-office-address strong,
.fvm-contact-office-address span {
    display: block;
}


.fvm-contact-office-address strong {
    font-size: 13px;
}


.fvm-contact-office-address span {
    margin-top: 2px;

    color: rgba(255,255,255,.65);

    font-size: 12px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .fvm-contact-map {
        min-height: 400px;
    }

    .fvm-contact-main {
        padding: 65px 0;
    }

    .fvm-contact-office-inner {
        flex-wrap: wrap;
    }

}


@media (max-width: 767.98px) {

    .fvm-contact-hero {
        padding: 45px 0;
    }

    .fvm-contact-hero-content {
        padding: 38px 25px;

        text-align: center;
    }

    .fvm-contact-hero-content .fvm-breadcrumb {
        justify-content: center;
    }

    .fvm-contact-quick {
        justify-content: center;
    }

    .fvm-contact-map {
        min-height: 350px;
    }

    .fvm-contact-main {
        padding: 55px 0;
    }

    .fvm-contact-form-card {
        padding: 28px 22px;
    }

    .fvm-contact-office {
        padding: 45px 0;
    }

    .fvm-contact-office-inner {
        display: block;

        padding: 30px 24px;

        text-align: center;
    }

    .fvm-contact-office-address {
        justify-content: center;

        margin: 24px 0;
    }

}

/* =========================================================
   TEAM PAGE HERO
   ========================================================= */

.fvm-team-hero {
    position: relative;

    padding: 75px 0 80px;

    background-color: #182638;

    background-image:
        linear-gradient(
            90deg,
            rgba(17, 29, 44, .94) 0%,
            rgba(17, 29, 44, .82) 38%,
            rgba(17, 29, 44, .52) 65%,
            rgba(17, 29, 44, .18) 100%
        ),
        url('/Portals/220/content/images/team_mortgage-broker_flathead-valley-mortgage.webp');

    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;

    color: #fff;

    overflow: hidden;
}


.fvm-team-hero .container {
    position: relative;
    z-index: 2;
}


.fvm-team-hero h1 {
    max-width: 780px;

    margin: 0 0 18px;

    color: #fff;

    font-family: var(--font-family-heading);
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 600;
    line-height: 1.03;
}


.fvm-team-hero h1 span {
    display: block;

    color: rgba(255,255,255,.78);

    font-size: .60em;
    font-weight: 400;
}


.fvm-team-hero > .container > p {
    max-width: 690px;

    margin: 0;

    color: rgba(255,255,255,.86);

    font-size: 16px;
    line-height: 1.7;
}

/* =========================================================
   BOTTOM LEGAL BAR
   ========================================================= */

.fvm-footer-bottom {
    padding: 20px 0;

    border-top: 1px solid rgba(196,155,80,.70);

    background: #111d2d;
}


.fvm-footer-legal {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;

    color: rgba(255,255,255,.68);

    font-family: var(--font-family-heading);
    font-size: 12px;
}


.fvm-footer-legal span,
.fvm-footer-legal a {
    color: rgba(255,255,255,.68) !important;

    text-decoration: none !important;
}


.fvm-footer-legal a {
    position: relative;

    margin-left: 18px;
    padding-left: 18px;
}


.fvm-footer-legal a::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 1px;
    height: 14px;

    background: rgba(196,155,80,.65);

    transform: translateY(-50%);
}


.fvm-footer-legal a:hover {
    color: #d3aa61 !important;
}


/* EQUAL HOUSING */
.fvm-footer-housing {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;

    color: rgba(255,255,255,.72);

    font-family: var(--font-family-heading);
    font-size: 12px;
}


.fvm-footer-housing i {
    color: #fff0c8;

    font-size: 22px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199.98px) {

    .fvm-footer-main {
        padding: 70px 0 55px;
    }

    .fvm-footer-brand {
        padding-right: 10px;
    }

    .fvm-footer-column {
        padding-left: 22px;
    }

}


@media (max-width: 991.98px) {

    .fvm-footer-brand {
        margin-bottom: 15px;
        padding-right: 0;
    }

    .fvm-footer-logo img {
        max-width: 330px;
    }

}


@media (max-width: 767.98px) {

    .fvm-footer-main {
        padding: 55px 0 45px;

        text-align: center;
    }

    .fvm-footer-brand {
        text-align: center;
    }

    .fvm-footer-logo img {
        margin: 0 auto;

        max-width: 285px;
    }

    .fvm-footer-lead {
        margin-right: auto;
        margin-left: auto;

        font-size: 17px;
    }

    .fvm-footer-tagline {
        justify-content: center;
    }

    .fvm-footer-column {
        min-height: auto;

        padding: 28px 0 0;
        margin-top: 10px;

        border-left: 0;
        border-top: 1px solid rgba(196,155,80,.35);
    }

    .fvm-footer-column ul li a {
        font-size: 15px;
    }

    .fvm-contact-list li {
        justify-content: center;
    }

    .fvm-footer-social {
        justify-content: center;

        max-width: 280px;

        margin-right: auto;
        margin-left: auto;
    }

    .fvm-footer-legal {
        justify-content: center;

        line-height: 2;
    }

    .fvm-footer-housing {
        justify-content: center;
    }

}


@media (max-width: 575.98px) {

    .fvm-footer-tagline {
        gap: 8px;

        font-size: 9px;
        letter-spacing: 2px;
    }

    .fvm-footer-tagline span {
        width: 28px;
    }

    .fvm-footer-legal {
        display: block;

        text-align: center;
    }

    .fvm-footer-legal a {
        display: inline-block;

        margin: 6px 7px;
        padding: 0;
    }

    .fvm-footer-legal a::before {
        display: none;
    }

}




.footertopwrap {
    border-top:solid 15px #a87921;
}

.footerwrap {
    padding:25px 0;
	background:#111d2d;
}

.footerlinks {padding-top:10px;font-size:18px;color:#DDD;text-align:center;}
.footerlinks h3 {font-size:20px;color:#DDD;text-align:left;font-weight:600;}
.footerlinks p {font-size:16px;color:#DDD;text-align:left;}

.footerlinks ul {
	list-style:none;
	margin:0;
	padding:10px 0 0 0;
    border-left:1px solid #00a9e1;
}

.footerlinks ul li {
	list-style:none;
	margin:0;
}


.footerlinks li { text-align:left;font-size:18px;padding-bottom:10px;}

.footerlinks li a:link, .footerlinks li a:visited {padding-left:7px;color:#DDD;font-size:18px;-webkit-transition:all ease .5s; transition:all ease .5s;}
.footerlinks li a:hover, .footerlinks li a:active{padding-left:10px;color:#00a9e1;font-size:18px;-webkit-transition:all ease .5s; transition:all ease .5s;}

.footerlinks a:link, .footerlinks a:visited {color:#DDD;font-size:22px;}
.footerlinks a:hover, .footerlinks a:active{color:#00a9e1;font-size:22px;}

.login {color:#666;font-size:12px;}
.login li {color:#00a9e1;font-size:12px;}


a.login:link {color:#666; font-size:12px; text-decoration:none;}
a.login:visited {color:#666; font-size:12px; text-decoration:none;}
a.login:active {color:#ad9669; font-size:12px; text-decoration:none;}
a.login:hover {color:##00a9e1; font-size:12px; text-decoration:underline;}

.copyright {font-size: 12px;color: #666;text-align:center;}

a.copyright:visited {color: #666; font-size:12px; text-decoration:none;}
a.copyright:active {color: #666; font-size:12px; text-decoration:none;}
a.copyright:link {color: #666; font-size:12px; text-decoration:none;}
a.copyright:hover {color: #00a9e1; font-size:12px; text-decoration:underline;}

.wecontrol {
    text-align: center;
    font-size: 11px;
    padding-top: 10px; 
	color: #666;

}

.wecontrol ul { 

  margin:0;
  padding:0;
}

.wecontrol ul li { 
  display: inline; 
  color: #666; 
  margin:0;
  padding:0;
}

.wecontrol ul li a
{
   text-decoration: none;
   padding: 3px;
   color: #666;
}

.wecontrol ul li a:hover {
    color:#ad9669;
    text-decoration:underline;
}

/*------------------------------------------------*/
/* @media Display STYLES */
/*------------------------------------------------*/


/* Large Devices, Wide Screens */
@media only screen and (max-width : 1200px) {

}

/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {
    .testimonialtext {text-align:center; margin-top:0;}
}

/* Small Devices, Tablets */

@media only screen and (max-width : 768px) {
   .showcasetext h2 {font-weight:600;font-size:40px;color:#111;line-height:1.1;font-weight:400;} 

}

/* Extra Small Devices, Phones */
@media only screen and (max-width : 480px) {
  
}


/* Custom, iPhone Retina */ 
@media only screen and (max-width : 320px) {

}



/* =========================================================
   MOTION VARIABLES
   ========================================================= */

:root {
    --fvm-motion-fast: 180ms;
    --fvm-motion-normal: 280ms;
    --fvm-motion-slow: 650ms;

    --fvm-motion-ease:
        cubic-bezier(.22, .61, .36, 1);

    --fvm-motion-ease-out:
        cubic-bezier(.16, 1, .3, 1);
}


/* =========================================================
   KEYFRAMES
   ========================================================= */

@keyframes fvmFadeUp {

    from {
        opacity: 0;
        transform: translate3d(0, 22px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

}


@keyframes fvmFadeLeft {

    from {
        opacity: 0;
        transform: translate3d(-24px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

}


@keyframes fvmFadeRight {

    from {
        opacity: 0;
        transform: translate3d(24px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

}


@keyframes fvmHeroReveal {

    from {
        opacity: 0;
        transform: translate3d(0, 14px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

}


@keyframes fvmSoftScale {

    from {
        opacity: 0;
        transform: scale(.975);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}


/* =========================================================
   These happen once on initial page load.
   ========================================================= */


/* breadcrumb */
.fvm-page-hero .fvm-breadcrumb,
.fvm-loan-detail-hero .fvm-breadcrumb,
.fvm-team-hero .fvm-breadcrumb,
.fvm-contact-hero-content .fvm-breadcrumb {

    animation:
        fvmHeroReveal
        var(--fvm-motion-slow)
        var(--fvm-motion-ease-out)
        both;

    animation-delay: 40ms;
}


/* eyebrow */
.fvm-page-hero .fvm-page-eyebrow,
.fvm-loan-detail-hero .fvm-page-eyebrow,
.fvm-team-hero .fvm-page-eyebrow,
.fvm-contact-hero-content .fvm-page-eyebrow,
.fvm-hero-eyebrow {

    animation:
        fvmHeroReveal
        var(--fvm-motion-slow)
        var(--fvm-motion-ease-out)
        both;

    animation-delay: 110ms;
}


/* hero titles */
.fvm-page-hero h1,
.fvm-loan-detail-hero h1,
.fvm-team-hero h1,
.fvm-contact-hero-content h1,
.fvm-hero-title {

    animation:
        fvmHeroReveal
        720ms
        var(--fvm-motion-ease-out)
        both;

    animation-delay: 180ms;
}


/* hero supporting text */
.fvm-page-hero .fvm-page-lead,
.fvm-loan-detail-hero .fvm-page-lead,
.fvm-team-hero > .container > p,
.fvm-contact-hero-content .fvm-page-lead,
.fvm-hero-subtitle,
.fvm-hero-quote-wrap {

    animation:
        fvmHeroReveal
        720ms
        var(--fvm-motion-ease-out)
        both;

    animation-delay: 270ms;
}


/* hero CTA / conversion card */
.fvm-page-hero-btn,
.fvm-page-hero-callout,
.fvm-hero-cta,
.fvm-contact-quick {

    animation:
        fvmHeroReveal
        760ms
        var(--fvm-motion-ease-out)
        both;

    animation-delay: 350ms;
}


/* =========================================================
   SCROLL REVEALS
   ---------------------------------------------------------
   Progressive enhancement:
   browsers supporting view timelines get scroll entry
   animations. Browsers without support simply display
   everything normally.
   ========================================================= */

@supports (animation-timeline: view()) {

    /* -----------------------------
       STANDARD FADE UP
       ----------------------------- */

    .fvm-trust-card,
    .fvm-program-card,
    .fvm-loan-card,
    .fvm-loan-highlight,
    .fvm-factor-card,
    .fvm-why-card,
    .fvm-calculator-card,
    .fvm-calculator-help,
    .fvm-contact-form-card,
    .fvm-contact-option,
    .fvm-loan-process,
    .fvm-loan-process-step,
    .fvm-page-cta-inner,
    .fvm-contact-office-inner,
    .fvm-advisor-photo,
    .fvm-advisor-content,
    .fvm-footer-brand,
    .fvm-footer-column,
    .fvm-reveal {

        animation-name: fvmFadeUp;
        animation-duration: 1s;
        animation-timing-function: linear;
        animation-fill-mode: both;

        animation-timeline: view();

        animation-range:
            entry 5%
            cover 28%;
    }


    /* -----------------------------
       LEFT ENTRY UTILITY
       ----------------------------- */

    .fvm-reveal-left {

        animation-name: fvmFadeLeft;
        animation-duration: 1s;
        animation-timing-function: linear;
        animation-fill-mode: both;

        animation-timeline: view();

        animation-range:
            entry 5%
            cover 30%;
    }


    /* -----------------------------
       RIGHT ENTRY UTILITY
       ----------------------------- */

    .fvm-reveal-right {

        animation-name: fvmFadeRight;
        animation-duration: 1s;
        animation-timing-function: linear;
        animation-fill-mode: both;

        animation-timeline: view();

        animation-range:
            entry 5%
            cover 30%;
    }


    /* -----------------------------
       SOFT SCALE UTILITY
       ----------------------------- */

    .fvm-reveal-scale {

        animation-name: fvmSoftScale;
        animation-duration: 1s;
        animation-timing-function: linear;
        animation-fill-mode: both;

        animation-timeline: view();

        animation-range:
            entry 8%
            cover 30%;
    }


    /* -----------------------------
       CARD STAGGER
       Makes rows feel less mechanical
       ----------------------------- */

    .fvm-trust-row > div:nth-child(2) .fvm-trust-card,
    .fvm-loan-highlights > div:nth-child(2) .fvm-loan-highlight {

        animation-range:
            entry 7%
            cover 31%;
    }


    .fvm-trust-row > div:nth-child(3) .fvm-trust-card,
    .fvm-loan-highlights > div:nth-child(3) .fvm-loan-highlight {

        animation-range:
            entry 9%
            cover 34%;
    }

}


/* =========================================================
   CARD MICRO-INTERACTIONS
   ========================================================= */


/* Cards that already lift keep their existing treatment.
   Add movement to card types that were mostly static. */

.fvm-loan-highlight,
.fvm-factor-card {

    transition:
        transform var(--fvm-motion-normal) var(--fvm-motion-ease),
        box-shadow var(--fvm-motion-normal) ease,
        border-color var(--fvm-motion-normal) ease;
}


.fvm-loan-highlight:hover,
.fvm-factor-card:hover {

    transform: translateY(-4px);

    border-color: rgba(168,121,33,.22);

    box-shadow:
        0 5px 10px rgba(20,30,45,.04),
        0 16px 32px rgba(20,30,45,.07);
}


/* =========================================================
   ICON MOTION
   ========================================================= */

.fvm-trust-icon,
.fvm-program-icon img,
.fvm-loan-card-icon img,
.fvm-loan-highlight-icon,
.fvm-factor-icon,
.fvm-why-icon,
.fvm-calculator-help-icon,
.fvm-contact-option > i,
.fvm-contact-quick-icon {

    transition:
        transform var(--fvm-motion-normal) var(--fvm-motion-ease-out),
        box-shadow var(--fvm-motion-normal) ease;
}


/* trust */
.fvm-trust-card:hover .fvm-trust-icon {

    transform:
        translateY(-3px)
        scale(1.04);
}


/* programs */
.fvm-program-card:hover .fvm-program-icon img {

    transform:
        translateY(-3px)
        scale(1.035);
}


/* loan landing cards */
.fvm-loan-card:hover .fvm-loan-card-icon img {

    transform:
        translateY(-3px)
        scale(1.035);
}


/* loan detail highlight */
.fvm-loan-highlight:hover .fvm-loan-highlight-icon {

    transform:
        translateY(-3px)
        scale(1.045);
}


/* calculator */
.fvm-factor-card:hover .fvm-factor-icon {

    transform:
        translateY(-3px)
        scale(1.045);
}


/* why us */
.fvm-why-card:hover .fvm-why-icon {

    transform:
        translateY(-3px)
        scale(1.04);
}


/* contact */
.fvm-contact-option:hover > i {

    transform:
        translateX(2px)
        scale(1.04);
}


/* =========================================================
   ACCENT LINE MOTION
   ========================================================= */

.fvm-trust-accent,
.fvm-program-accent {

    transition:
        width var(--fvm-motion-normal) var(--fvm-motion-ease),
        background-color var(--fvm-motion-normal) ease;
}


.fvm-trust-card:hover .fvm-trust-accent {

    width: 50px;
}


.fvm-program-card:hover .fvm-program-accent {

    width: 46px;
}


/* =========================================================
   PROGRAM ICON DECORATIVE LINES
   ========================================================= */

.fvm-program-icon::before,
.fvm-program-icon::after {

    transition:
        flex-basis var(--fvm-motion-normal) var(--fvm-motion-ease),
        width var(--fvm-motion-normal) var(--fvm-motion-ease),
        opacity var(--fvm-motion-normal) ease;
}


.fvm-program-card:hover .fvm-program-icon::before,
.fvm-program-card:hover .fvm-program-icon::after {

    width: 64px;
    flex-basis: 64px;

    opacity: .90;
}


/* =========================================================
   CONVERSION / CALLOUT PANELS
   ========================================================= */

.fvm-page-hero-callout,
.fvm-calculator-help,
.fvm-contact-form-card {

    transition:
        transform var(--fvm-motion-normal) var(--fvm-motion-ease-out),
        box-shadow var(--fvm-motion-normal) ease,
        border-color var(--fvm-motion-normal) ease;
}


.fvm-page-hero-callout:hover {

    transform: translateY(-4px);

    border-color: rgba(210,170,98,.48);

    box-shadow:
        0 10px 22px rgba(0,0,0,.12),
        0 25px 50px rgba(0,0,0,.22);
}


.fvm-calculator-help:hover {

    transform: translateY(-3px);

    box-shadow:
        0 20px 42px rgba(20,30,45,.14);
}


.fvm-contact-form-card:hover {

    transform: translateY(-3px);

    border-color: rgba(168,121,33,.18);

    box-shadow:
        0 7px 15px rgba(20,30,45,.04),
        0 22px 42px rgba(20,30,45,.08);
}


/* =========================================================
   GOLD BUTTON POLISH
   ---------------------------------------------------------
   Header Apply intentionally excluded.
   We previously removed movement there to prevent jitter.
   ========================================================= */

.fvm-gold-btn {

    transition:
        background-color var(--fvm-motion-fast) ease,
        border-color var(--fvm-motion-fast) ease,
        color var(--fvm-motion-fast) ease,
        gap var(--fvm-motion-fast) ease,
        transform var(--fvm-motion-fast) var(--fvm-motion-ease),
        box-shadow var(--fvm-motion-fast) ease;
}


.fvm-gold-btn:hover,
.fvm-gold-btn:focus {

    transform: translateY(-2px);

    box-shadow:
        0 7px 16px rgba(80,57,17,.14);
}


/* =========================================================
   ARROW NUDGES
   ========================================================= */

.fvm-program-link i,
.fvm-programs-btn i,
.fvm-footer-apply i,
.fvm-text-link i,
.fvm-loan-card-body > a i {

    transition:
        transform var(--fvm-motion-fast) var(--fvm-motion-ease);
}


.fvm-program-link:hover i,
.fvm-programs-btn:hover i,
.fvm-footer-apply:hover i,
.fvm-text-link:hover i,
.fvm-loan-card-body > a:hover i {

    transform: translateX(3px);
}


/* =========================================================
   PROCESS STEPS
   ========================================================= */

.fvm-loan-step-number {

    transition:
        transform var(--fvm-motion-normal) var(--fvm-motion-ease-out),
        background-color var(--fvm-motion-normal) ease,
        box-shadow var(--fvm-motion-normal) ease;
}


.fvm-loan-process-step:hover .fvm-loan-step-number {

    transform: scale(1.07);

    background: #a87921;

    box-shadow:
        0 5px 12px rgba(80,57,17,.14);
}


/* =========================================================
   ADVISOR PHOTO
   ========================================================= */

.fvm-advisor-photo {

    transition:
        transform var(--fvm-motion-normal) var(--fvm-motion-ease-out),
        box-shadow var(--fvm-motion-normal) ease;
}


.fvm-advisor-photo:hover {

    transform: translateY(-3px);

    box-shadow:
        0 8px 18px rgba(20,30,45,.07),
        0 24px 46px rgba(20,30,45,.12);
}


/* =========================================================
   SIDEBAR LOAN NAV
   ========================================================= */

.fvm-loan-nav a::after {

    transition:
        opacity var(--fvm-motion-fast) ease,
        transform var(--fvm-motion-fast) var(--fvm-motion-ease);
}


.fvm-loan-nav a:hover::after {

    opacity: 1;
    transform: translateX(3px);
}


/* =========================================================
   CONTACT MAP BUTTON
   ========================================================= */

.fvm-map-directions {

    transition:
        background-color var(--fvm-motion-fast) ease,
        transform var(--fvm-motion-fast) var(--fvm-motion-ease),
        box-shadow var(--fvm-motion-fast) ease;
}


.fvm-map-directions:hover {

    transform: translateY(-2px);

    box-shadow:
        0 11px 22px rgba(0,0,0,.20);
}


/* =========================================================
   MOBILE PROGRAM ICON CASCADE FIX
   ---------------------------------------------------------
   Your stylesheet has a later mobile rule resetting the
   entire icon wrapper to 82px wide. That defeats the
   decorative left/right lines.

   Keep wrapper full-width and image circular.
   ========================================================= */

@media (max-width: 767.98px) {

    .fvm-program-icon {

        width: 100%;
        height: 82px;

        gap: 12px;
    }


    .fvm-program-icon img {

        width: 70px !important;
        height: 70px !important;

        min-width: 70px;
        min-height: 70px;

        flex: 0 0 70px;
    }


    .fvm-program-icon::before,
    .fvm-program-icon::after {

        width: 38px;
        flex: 0 0 38px;
    }


    /* no hover choreography needed on touch screens */
    .fvm-program-card:hover .fvm-program-icon::before,
    .fvm-program-card:hover .fvm-program-icon::after {

        width: 38px;
        flex-basis: 38px;
    }

}



/* =========================================================
   ACCESSIBILITY: REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .fvm-page-hero .fvm-breadcrumb,
    .fvm-loan-detail-hero .fvm-breadcrumb,
    .fvm-team-hero .fvm-breadcrumb,
    .fvm-contact-hero-content .fvm-breadcrumb,

    .fvm-page-hero .fvm-page-eyebrow,
    .fvm-loan-detail-hero .fvm-page-eyebrow,
    .fvm-team-hero .fvm-page-eyebrow,
    .fvm-contact-hero-content .fvm-page-eyebrow,
    .fvm-hero-eyebrow,

    .fvm-page-hero h1,
    .fvm-loan-detail-hero h1,
    .fvm-team-hero h1,
    .fvm-contact-hero-content h1,
    .fvm-hero-title,

    .fvm-page-hero .fvm-page-lead,
    .fvm-loan-detail-hero .fvm-page-lead,
    .fvm-team-hero > .container > p,
    .fvm-contact-hero-content .fvm-page-lead,
    .fvm-hero-subtitle,
    .fvm-hero-quote-wrap,

    .fvm-page-hero-btn,
    .fvm-page-hero-callout,
    .fvm-hero-cta,
    .fvm-contact-quick,

    .fvm-reveal,
    .fvm-reveal-left,
    .fvm-reveal-right,
    .fvm-reveal-scale {

        animation: none !important;

        opacity: 1 !important;
        transform: none !important;
    }


    .fvm-trust-card:hover,
    .fvm-program-card:hover,
    .fvm-loan-card:hover,
    .fvm-loan-highlight:hover,
    .fvm-factor-card:hover,
    .fvm-why-card:hover,
    .fvm-page-hero-callout:hover,
    .fvm-calculator-help:hover,
    .fvm-contact-form-card:hover,
    .fvm-advisor-photo:hover,
    .fvm-gold-btn:hover {

        transform: none !important;
    }

}


/* ==========================================
   FVM - LOAN OFFICER REVIEW SECTION
   Bootstrap 3 compatible
   ========================================== */

.fvm-officer-reviews {
    padding: 75px 0;
    background: transparent;
}

/* Section heading */

.fvm-officer-reviews-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #d2aa62;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.fvm-officer-reviews-title {
    margin: 0 0 18px;
    color: #FFF;
    font-size: clamp(30px, 3.5vw, 44px);
    font-weight: 800;
    line-height: 1.2;
}

.fvm-officer-reviews-intro {
    max-width: 700px;
    margin: 0 auto 45px;
    color: #FFF;
    font-size: 16px;
    line-height: 1.75;
}

/* Two-column grid */

.fvm-officer-reviews-grid {
    display: flex;
    flex-wrap: wrap;
}

.fvm-officer-reviews-grid > [class*="col-"] {
    display: flex;
    margin-bottom: 30px;
}

/* Individual cards */

.fvm-officer-review-card {
    width: 100%;
    min-width: 0;
    padding: 35px 30px;
    background: #fff;
    border: 1px solid #e4eae5;
    border-radius: 14px;
    box-shadow: 0 10px 35px rgba(25, 50, 35, .055);
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.fvm-officer-review-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(25, 50, 35, .09);
}

/* Officer profile */

.fvm-officer-review-profile {
    text-align: center;
    margin-bottom: 30px;
}

/* Circular headshots */

.fvm-officer-review-photo {
    width: 145px;
    height: 145px;
    margin: 0 auto 20px;
    border-radius: 50%;
    overflow: hidden;
    background: #e7ede8;
    border: 5px solid #fff;
    box-shadow:
        0 0 0 1px #d7e1d9,
        0 8px 22px rgba(0, 0, 0, .10);
}

.fvm-officer-review-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
}

/* Name */

.fvm-officer-review-profile h3 {
    margin: 0 0 7px;
    color: #FFF;
    font-size: 25px;
    font-weight: 800;
}

/* Role */

.fvm-officer-review-role {
    display: block;
    color: #7b8d80;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Vendasta widget container */

.fvm-officer-review-widget {
    width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    border-top: 1px solid #edf0ed;
    padding-top: 25px;
}

/* Prevent embeds from exceeding card width */

.fvm-officer-review-widget iframe {
    max-width: 100%;
}

/* Responsive */

@media (max-width: 767px) {

    .fvm-officer-reviews {
        padding: 55px 0;
    }

    .fvm-officer-review-card {
        padding: 30px 20px;
    }

    .fvm-officer-review-photo {
        width: 130px;
        height: 130px;
    }

    .fvm-officer-review-profile h3 {
        font-size: 23px;
    }

    .fvm-officer-reviews-intro {
        margin-bottom: 35px;
    }

}

@media (prefers-reduced-motion: reduce) {

    .fvm-officer-review-card {
        transition: none;
    }

    .fvm-officer-review-card:hover {
        transform: none;
    }

}


/* ==========================================
   FVM - LEAD FORM INTRO
   ========================================== */

.fvm-form-intro {
    margin-bottom: 28px;
    padding: 0 4px;
}

.fvm-form-intro-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #64836e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.fvm-form-intro h2 {
    margin: 0 0 15px;
    color: #20372e;
    font-size: clamp(26px, 2.7vw, 36px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.7px;
}

.fvm-form-intro h2 span {
    display: block;
    color: #64836e;
}

.fvm-form-intro p {
    margin: 0 0 17px;
    color: #66736c;
    font-size: 15px;
    line-height: 1.75;
}

.fvm-form-intro-note {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #3e6250;
    font-size: 13px;
    font-weight: 600;
}

.fvm-form-intro-note i {
    color: #64836e;
    font-size: 17px;
    flex-shrink: 0;
}

@media (max-width: 767px) {
    .fvm-form-intro {
        margin-bottom: 22px;
    }

    .fvm-form-intro h2 {
        font-size: 28px;
    }
}


/* ==========================================
   FVM LOCATION LANDING PAGES
   Shared extensions to existing FVM system
   ========================================== */

.fvm-location-page .fvm-location-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    margin-top: 30px;
}

.fvm-location-hero-link {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.fvm-location-hero-link:hover {
    color: #e6c57b;
    text-decoration: none;
}

.fvm-location-hero-link i,
.fvm-location-program-card span i {
    margin-left: 7px;
    font-size: .85em;
}

.fvm-location-contact-card,
.fvm-location-tip-card {
    background: #f4f6f2;
    padding: 32px;
    border-radius: 12px;
    border: 1px solid rgba(20, 50, 39, .09);
    height: 100%;
}

.fvm-location-contact-card h2 {
    font-size: clamp(24px, 2.4vw, 32px);
    line-height: 1.2;
}

.fvm-location-contact-card .fvm-gold-btn {
    margin-top: 12px;
}

.fvm-location-contact-small {
    font-size: 13px;
    opacity: .7;
    margin-top: 20px;
    margin-bottom: 0;
}

.fvm-location-highlights {
    margin-top: 48px;
}

/* Shared location section spacing */
.fvm-location-programs,
.fvm-location-team,
.fvm-location-faq {
    padding: 80px 0;
}

.fvm-location-programs,
.fvm-location-faq {
    background: #f7f8f6;
}

.fvm-location-section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.fvm-location-section-heading h2 {
    margin-bottom: 16px;
}

.fvm-location-section-heading > p {
    font-size: 17px;
    line-height: 1.75;
    color: #58625d;
}

/* Loan program cards */
.fvm-location-program-grid > div {
    margin-bottom: 24px;
}

.fvm-location-program-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 30px;
    background: #fff;
    border: 1px solid #e4e9e4;
    border-radius: 12px;
    text-decoration: none;
    color: #25372e;
    box-shadow: 0 8px 25px rgba(20, 35, 25, .035);
    transition: transform .25s ease,
                box-shadow .25s ease,
                border-color .25s ease;
}

.fvm-location-program-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 35px rgba(20, 35, 25, .10);
    border-color: #aabbb0;
    text-decoration: none;
    color: #25372e;
}

.fvm-location-program-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 12px;
    background: #eaf0eb;
    color: #315b43;
    font-size: 23px;
    margin-bottom: 24px;
}

.fvm-location-program-card h3 {
    font-size: 22px;
    margin-bottom: 12px;
    color:var(--color-h3);}

.fvm-location-program-card p {
    font-size: 15px;
    line-height: 1.7;
    color: #68736c;
    flex: 1;
}

.fvm-location-program-card span {
    display: inline-block;
    margin-top: 16px;
    font-size: 14px;
    font-weight: 700;
    color: #315b43;
}

/* Local guidance */
.fvm-location-guidance .fvm-location-tip-card {
    height: auto;
}

.fvm-location-tip-card h3 {
    font-size: 26px;
}

.fvm-location-tip-card p {
    line-height: 1.7;
}

/* Team cards */
.fvm-location-team-grid > div {
    margin-bottom: 24px;
}

.fvm-location-team-card {
    display: flex;
    gap: 22px;
    height: 100%;
    padding: 30px;
    border: 1px solid #e5eae5;
    border-radius: 12px;
    background: #fff;
}

.fvm-location-team-icon {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eaf0eb;
    color: #315b43;
    font-size: 23px;
}

.fvm-location-team-card h3 {
    margin: 0 0 5px;
    font-size: 23px;
    color:var(--color-h3);
}

.fvm-location-team-role {
    font-size: 13px;
    font-weight: 700;
    color: #65746a;
    margin-bottom: 16px;
}

.fvm-location-team-card p {
    line-height: 1.7;
}

/* FAQ */
.fvm-location-faq-list {
    max-width: 900px;
    margin: 0 auto;
}

.fvm-location-faq-item {
    padding: 26px 0;
    border-bottom: 1px solid #dce3dc;
}

.fvm-location-faq-item:first-child {
    border-top: 1px solid #dce3dc;
}

.fvm-location-faq-item h3 {
    font-size: 21px;
    margin: 0 0 12px;
    color:var(--color-h3);
}

.fvm-location-faq-item p {
    line-height: 1.75;
    color: #59645e;
    margin-bottom: 0;
}

/* Compliance */
.fvm-location-disclosure {
    padding: 25px 0;
    background: #f7f8f6;
}

.fvm-location-disclosure p {
    font-size: 12px;
    line-height: 1.7;
    color: #707a73;
    margin: 0;
}

/* Responsive */
@media (max-width: 991px) {
    .fvm-location-contact-card {
        margin-top: 35px;
        height: auto;
    }
}

@media (max-width: 767px) {
    .fvm-location-programs,
    .fvm-location-team,
    .fvm-location-faq {
        padding: 55px 0;
    }

    .fvm-location-program-card {
        padding: 25px;
    }

    .fvm-location-team-card {
        padding: 24px;
        gap: 16px;
    }

    .fvm-location-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fvm-location-program-card {
        transition: none;
    }

    .fvm-location-program-card:hover {
        transform: none;
    }
}


/* HERO ENTRANCE ANIMATION */
@keyframes fvmLocationHeroReveal {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fvm-location-page .fvm-location-hero .fvm-page-eyebrow,
.fvm-location-page .fvm-location-hero h1,
.fvm-location-page .fvm-location-hero .fvm-page-lead,
.fvm-location-page .fvm-location-hero .fvm-location-hero-actions {
    animation: fvmLocationHeroReveal .8s ease both;
}

.fvm-location-page .fvm-location-hero .fvm-page-eyebrow {
    animation-delay: .12s;
}

.fvm-location-page .fvm-location-hero h1 {
    animation-delay: .25s;
}

.fvm-location-page .fvm-location-hero .fvm-page-lead {
    animation-delay: .42s;
}

.fvm-location-page .fvm-location-hero .fvm-location-hero-actions {
    animation-delay: .58s;
}

/* HERO BUTTON GROUP */
.fvm-location-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    margin-top: 30px;
}

.fvm-location-hero-link,
.fvm-location-hero-link:visited {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.fvm-location-hero-link:hover {
    color: #e6c57b;
    text-decoration: none;
}

/* TEAM CARDS */
.fvm-location-team-card {
    display: flex;
    gap: 22px;
    height: 100%;
    padding: 32px;
    border: 1px solid #e5eae5;
    border-radius: 12px;
    background: #fff;
}

.fvm-location-team-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.fvm-location-team-card h3 {
    color:var(--color-h3);
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 6px;
}

.fvm-location-team-role {
    color: #68776b;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px;
}

.fvm-location-team-content > p {
    color: #465149;
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 20px;
}

/* PHONE LINKS */
.fvm-location-team-contact {
    margin-top: auto;
    margin-bottom: 22px;
}

.fvm-location-team-contact a,
.fvm-location-team-contact a:link,
.fvm-location-team-contact a:visited {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #315b43 !important;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    opacity: 1;
    visibility: visible;
}

.fvm-location-team-contact a:hover,
.fvm-location-team-contact a:focus {
    color: #1e3829 !important;
    text-decoration: underline;
}

.fvm-location-team-contact i {
    color: #c59d51;
    font-size: 13px;
}

/* APPLICATION BUTTONS */
.fvm-location-team-actions {
    margin-top: 0;
}

.fvm-location-team-actions .fvm-gold-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    max-width: 100%;
    text-align: center;
    text-decoration: none;
}

/* RESPONSIVE */
@media (max-width: 767px) {
    .fvm-location-hero-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .fvm-location-team-card {
        padding: 25px;
        gap: 18px;
    }

    .fvm-location-team-card h3 {
        font-size: 21px;
        color:var(--color-h3);
    }

    .fvm-location-team-actions .fvm-gold-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .fvm-location-team-icon {
        flex: 0 0 45px;
        width: 45px;
        height: 45px;
        font-size: 18px;
    }
}

/* ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
    .fvm-location-page .fvm-location-hero .fvm-page-eyebrow,
    .fvm-location-page .fvm-location-hero h1,
    .fvm-location-page .fvm-location-hero .fvm-page-lead,
    .fvm-location-page .fvm-location-hero .fvm-location-hero-actions {
        animation: none;
    }
}


/* ==========================================
   FVM LOCATION HUB - DNN SAFE CARDS
   ========================================== */

.fvm-valley-location-card {
    display: flex;
    align-items: flex-start;
    gap: 24px;

    height: 100%;
    padding: 36px;

    background: #fff;
    border: 1px solid #e4eae3;
    border-radius: 14px;

    color: inherit;
    text-decoration: none;

    box-shadow: 0 8px 28px rgba(25,48,33,.035);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.fvm-valley-location-card:hover {
    transform: translateY(-5px);
    border-color: #d7c19a;
    box-shadow: 0 18px 40px rgba(25,48,33,.10);
}

/* Make sure inner text remains correctly colored */
.fvm-valley-location-content h3 {
    color: #283b30;
}

.fvm-valley-location-content p {
    color: #59665c;
}

/* Only the actual CTA is a link */
.fvm-valley-location-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: #315b43 !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;

    transition: color .2s ease, gap .2s ease;
}

.fvm-valley-location-link:hover {
    color: #a87921 !important;
    gap: 14px;
}

@media (max-width: 767.98px) {
    .fvm-valley-location-card {
        padding: 26px;
        gap: 18px;
    }
}

@media (max-width: 480px) {
    .fvm-valley-location-card {
        flex-direction: column;
    }
}

/* ==========================================
   FVM - ADDITIONAL SERVICE AREAS CALLOUT
   ========================================== */

.fvm-valley-other-areas {
    display: flex;
    align-items: center;
    gap: 20px;

    margin: 35px 0;
    padding: 25px 30px;

    background: #eaf0e9;
    border: 1px solid rgba(49,91,67,.10);
    border-left: 3px solid #a87921;
    border-radius: 6px;

    box-shadow: 0 5px 18px rgba(25,48,33,.035);
}

/* LOCATION ICON */

.fvm-valley-other-areas > i {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 46px;

    width: 46px;
    height: 46px;

    border-radius: 50%;
    background: #fff;

    color: #a87921;
    font-size: 19px;
}

/* CALLOUT TEXT */

.fvm-valley-other-areas p {
    flex: 1;
    margin: 0;

    color: #536458;
    font-size: 14px;
    line-height: 1.75;
}

.fvm-valley-other-areas strong {
    color: #283b30;
    font-weight: 800;
}

/* CONTACT LINK */

.fvm-valley-other-areas p a {
    display: inline-block;

    margin-left: 4px;

    color: #315b43 !important;
    font-weight: 700;
    text-decoration: none;

    transition: color .2s ease;
}

.fvm-valley-other-areas p a:hover {
    color: #a87921 !important;
    text-decoration: underline;
}

/* TABLET */

@media (max-width: 767.98px) {

    .fvm-valley-other-areas {
        gap: 15px;
        padding: 22px;
        margin-top: 28px;
    }

    .fvm-valley-other-areas p {
        font-size: 13px;
    }

}

/* MOBILE */

@media (max-width: 480px) {

    .fvm-valley-other-areas {
        align-items: flex-start;
        gap: 13px;
        padding: 20px;
    }

    .fvm-valley-other-areas > i {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        font-size: 16px;
    }

}

/* =========================================================
   FVM CAPTCHA badge above the chat launcher
   ========================================================= */

/* Google reCAPTCHA badge */
.grecaptcha-badge {
    bottom: 105px !important;
    z-index: 9999;
}

/* Smaller mobile screens */
@media (max-width: 767.98px) {
    .grecaptcha-badge {
        bottom: 95px !important;
    }
}



/* =========================================================
   FVM HOMEPAGE - LOCATION SERVICE AREAS
   ========================================================= */

.fvm-home-locations {
    padding: 70px 0 65px;
    background: #f7f5f0;
}

/* SECTION HEADING */

.fvm-home-locations-heading {
    max-width: 760px;
    margin: 0 auto 35px;
}

.fvm-home-locations-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: var(--fvm-gold, #ad7f25);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.fvm-home-locations-heading h2 {
    margin: 0 0 15px;
    color: var(--fvm-navy, #172638);
    font-size: clamp(28px, 3vw, 39px);
    font-weight: 700;
    line-height: 1.2;
}

.fvm-home-locations-heading h2 span {
    display: block;
    color: #315b43;
}

.fvm-home-locations-heading p {
    max-width: 650px;
    margin: 0 auto;
    color: #68727c;
    font-size: 15px;
    line-height: 1.8;
}

/* LOCATION CARDS */

.fvm-home-location-card {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;

    min-height: 155px;
    padding: 25px 15px;

    background: #fff;
    border: 1px solid rgba(36,54,79,.08);
    border-radius: 5px;

    color: var(--fvm-navy, #172638);
    text-align: center;
    text-decoration: none;

    box-shadow: 0 6px 22px rgba(20,35,45,.035);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.fvm-home-location-card:hover,
.fvm-home-location-card:focus-visible {
    transform: translateY(-5px);
    border-color: rgba(173,127,37,.35);
    box-shadow: 0 15px 35px rgba(20,35,45,.10);
    color: var(--fvm-navy, #172638);
    text-decoration: none;
}

.fvm-home-location-card:focus-visible {
    outline: 2px solid var(--fvm-gold, #ad7f25);
    outline-offset: 3px;
}

/* ICON */

.fvm-home-location-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 35px;
    height: 35px;
    margin-bottom: 12px;

    background: rgba(173,127,37,.09);
    border-radius: 50%;

    color: var(--fvm-gold, #ad7f25);
    font-size: 14px;
}

/* LOCATION NAME */

.fvm-home-location-name {
    display: block;
    color: var(--fvm-navy, #172638);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.fvm-home-location-sub {
    display: block;
    margin-top: 4px;
    color: #889099;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* GOLD ARROW */

.fvm-home-location-arrow {
    position: absolute;
    right: 15px;
    bottom: 15px;

    color: var(--fvm-gold, #ad7f25);
    font-size: 12px;

    transition: transform .25s ease;
}

.fvm-home-location-card:hover .fvm-home-location-arrow {
    transform: translateX(4px);
}

/* FOOTER */

.fvm-home-locations-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 18px;

    margin-top: 30px;
    font-size: 13px;
}

.fvm-home-locations-footer > span {
    color: #7c858e;
    font-style: italic;
}

.fvm-home-locations-footer a {
    color: #315b43;
    font-weight: 700;
    text-decoration: none;
    transition: color .2s ease;
}

.fvm-home-locations-footer a:hover {
    color: var(--fvm-gold, #ad7f25);
}

.fvm-home-locations-footer a i {
    margin-left: 6px;
    font-size: 11px;
}

/* RESPONSIVE */

@media (max-width: 767.98px) {

    .fvm-home-locations {
        padding: 48px 0;
    }

    .fvm-home-locations-heading {
        margin-bottom: 26px;
    }

    .fvm-home-locations-heading p {
        font-size: 14px;
    }

    .fvm-home-location-card {
        min-height: 135px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .fvm-home-location-card,
    .fvm-home-location-arrow {
        transition: none;
    }

    .fvm-home-location-card:hover {
        transform: none;
    }
}

/* ==========================================
   FVM LOCATION PROGRAM CARDS
   DNN-SAFE STRUCTURE
   ========================================== */

.fvm-location-program-grid > [class*="col-"] {
    display: flex;
}

.fvm-location-program-card {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;
    height: 100%;
    min-width: 0;

    padding: 30px 25px 26px;

    background: #fbf9f5;
    border: 1px solid rgba(36,54,79,.10);
    border-radius: 5px;

    text-align: center;

    box-shadow:
        0 3px 7px rgba(20,30,45,.035),
        0 12px 28px rgba(20,30,45,.055);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.fvm-location-program-card:hover {
    border-color: rgba(168,121,33,.28);

    box-shadow:
        0 5px 10px rgba(20,30,45,.05),
        0 18px 38px rgba(20,30,45,.09);

    transform: translateY(-4px);
}

/* ICON */
.fvm-location-program-card .fvm-location-program-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin: 0 auto 18px;

    border-radius: 50%;
    background: #efe9df;

    color: #a87921;
    font-size: 21px;
}

/* TITLE */
.fvm-location-program-card h3 {
    margin: 0 0 12px;

    color: var(--fvm-navy);
    font-family: var(--font-family-heading);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.2;
}

/* DESCRIPTION */
.fvm-location-program-card p {
    margin: 0 0 22px;

    color: #59636d;
    font-size: 13px;
    line-height: 1.65;
}

/* SINGLE CTA LINK */
.fvm-location-program-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin-top: auto;

    color: #a87921 !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;

    text-transform: uppercase;
    text-decoration: none !important;

    transition: gap .2s ease, color .2s ease;
}

.fvm-location-program-link:hover {
    gap: 12px;
    color: #805c19 !important;
}

.fvm-location-program-link i {
    font-size: 10px;
    transition: transform .2s ease;
}

.fvm-location-program-link:hover i {
    transform: translateX(3px);
}

/* RESPONSIVE */
@media (max-width: 767.98px) {
    .fvm-location-program-card {
        max-width: 500px;
        margin: 0 auto;
        padding: 27px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fvm-location-program-card,
    .fvm-location-program-link,
    .fvm-location-program-link i {
        transition: none;
    }

    .fvm-location-program-card:hover {
        transform: none;
    }
}
