/******************
    SPIREPOINT
******************/

$imgw! {
    if (css.vars.w()>1600) "1920";
    else if (css.vars.w()>1280) "1600";
    else if (css.vars.w()>1024) "1280";
    else if (css.vars.w()>980) "1024";
    else if (css.vars.w()>767) "980";
    else "767";
}
$usel(none){-moz-user-select:&a;-ms-user-select:&a;-webkit-user-select:&a;user-select: &a;}
/***** FONTS *****/
/*100,300,400,700*/
$primaryFont(300){font-family: "Brandon Grotesque", sans-serif;font-weight:&a;} 

/*100,200,300,400,500,700,900*/
$secondaryFont(300){font-family: "BW Vivant", sans-serif,Arial;font-weight:&a;}


/********** COLORS **********/
$base{#434343}
$gold{#B49039}
$darkGold{#8c7832}
$gray{#434343}
$accent{#716E6E}

$offWhite{#F3F2F3}
$offBlack{#191919}

/*******FONT SIZES********/
$bfont! { css.vars.w()>767 ? "20px" : "16px"; }

/**** FLEX *****/
$order(1){order:&a;-webkit-order:&a;}
$flex {display: -webkit-flexbox;display: -ms-flexbox;display: flex;}
$flexCenter {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}
$flexContentEnd {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}
$flexContentStart {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;}
$flexContentCenter {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
$flexItemCenter {-webkit-box-align: center;-ms-flex-align: center;align-items: center;}
$flexItemStart {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start}
$flexItemEnd {-webkit-box-align: end;-ms-flex-align: end;align-items: flex-end;}
$flexItemStretch {-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}
$flexColumn {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}
$flexColumnR {-webkit-box-orient: vertical;-webkit-box-direction: reverse;-ms-flex-direction: column-reverse;flex-direction: column-reverse;}
$flexRow {-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;}
$flexRowR{-webkit-box-orient: horizontal;-webkit-box-direction: reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse;}
$flexContentSpaceBetween {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}
$flexContentSpaceEvenly {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-evenly;}
$flexContentSpaceAround {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-around;}
$flexW(1) {-webkit-box-flex:&a;-ms-flex:&a;flex:&a;}
$flexWrap {-ms-flex-wrap: wrap;flex-wrap: wrap;}
$vcenter{display:flex;flex-direction:column;justify-content:center;}

/****** ABSOLUTE POSITIONING *********/
$xCenter{left: 50%; transform: translateX(-50%);}
$yCenter{top: 50%; transform: translateY(-50%);}
$allCenter{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}

/****** PSEUDO ELEMENTS ********/
$psDefault {content: '';position: absolute;display: block;}
$bgDefault {center/cover no-repeat;}

/***** TRANSITIONS *****/
$bezier {cubic-bezier(.435,.01,.135,1)}
$boxShadow {box-shadow: rgba(0, 0, 0, 0.25) 0px 5px 12px;}

/***** CONTENT WIDTH *****/
/* options: min, max, fit */
$contentWidth(max) {width: -webkit-&a-content;width: -moz-&a-content;width: &a-content;}

/***** FONTFACES ******/
@font-face {font-family: "Brandon Grotesque"; src: url(/assets/legacy/BrandonGrotesque-Thin.ttf) format('truetype'); font-weight: 100;}
@font-face {font-family: "Brandon Grotesque"; src: url(/assets/legacy/BrandonGrotesque-Light.ttf) format('truetype'); font-weight: 300;}
@font-face {font-family: "Brandon Grotesque"; src: url(/assets/legacy/BrandonGrotesque-Regular.ttf) format('truetype'); font-weight: 400;}
@font-face {font-family: "Brandon Grotesque"; src: url(/assets/legacy/BrandonGrotesque-Medium.ttf) format('truetype'); font-weight: 500;}
@font-face {font-family: "Brandon Grotesque"; src: url(/assets/legacy/BrandonGrotesque-Bold.ttf) format('truetype'); font-weight: 700;}
@font-face {font-family: "Brandon Grotesque"; src: url(/assets/legacy/BrandonGrotesque-Black.ttf) format('truetype'); font-weight: 900;}

@font-face {font-family: "BW Vivant";src: url(/assets/legacy/BwVivant-Skinny.ttf);font-weight: 100;}
@font-face {font-family: "BW Vivant";src: url(/assets/legacy/bw-vivant-thin.ttf);font-weight: 200;}
@font-face {font-family: "BW Vivant";src: url(/assets/legacy/bw-vivant-light.ttf);font-weight: 300;}
@font-face {font-family: "BW Vivant";src: url(/assets/legacy/bw-vivant-regular.ttf);font-weight: 400;}
@font-face {font-family: "BW Vivant";src: url(/assets/legacy/bw-vivant-medium.ttf);font-weight: 500;}
@font-face {font-family: "BW Vivant";src: url(/assets/legacy/bw-vivant-bold.ttf);font-weight: 700;}
@font-face {font-family: "BW Vivant";src: url(/assets/legacy/bw-vivant-black.ttf);font-weight: 900;}

/***** GLOBAL *****/
*{margin:0;padding:0;}
body,html {font-size:$bfont!;$primaryFont;}
a,div {-webkit-tap-highlight-color: transparent;}
a {text-decoration: none;cursor:pointer;}
p {$primaryFont; font-size: 1.1rem; line-height: 1.5; color: $base; text-align: left;}
.contain{margin:0 3%;max-width:1280px;position:relative;text-align:left;}

/***SHARED CLASSES***/
.flex_wrapper {$flex; $flexItemCenter; $flexContentSpaceBetween;}

h1.hr {$secondaryFont; font-size: 5rem; line-height: 1.2; letter-spacing:.25rem; text-transform: uppercase;}
h2.sh,h1.sh {$secondaryFont; font-size: 2.05rem; line-height: 1.24; letter-spacing: .2rem; text-transform: uppercase;}
h2.lg {$secondaryFont; font-size: 3.05rem; line-height: 1.21; letter-spacing: .15rem; text-transform: uppercase;}
h3.sh {$secondaryFont; font-size:1.1rem;line-height: 1.2; letter-spacing:.11rem; text-transform: uppercase;}
h4.sh {$secondaryFont(500); font-size: 2.55rem; line-height: 1.22; letter-spacing: .11rem; text-transform: uppercase;}
h5.sh {$secondaryFont; font-size: 1.25rem; line-height: 1.6; letter-spacing: .0625rem; text-transform: uppercase;}
p.cal {font-size: 2.05rem; line-height: 1.3;}
p.xlg {font-size: 1.60rem; line-height: 1.3;}
p.lrg {font-size: 1.35rem; line-height: 1.3;}
p.hro {font-size: 1.21rem; line-height: 1.7;}
.split{opacity:0;}
.split.on{opacity:1;}
.link-off_btn
{
    &{padding: 1.3rem; width: 100%; max-width: 15rem; position: relative; border: 1px solid #8c79337e; text-align: center;box-sizing: border-box;}
    .link-off_wrapper {position: relative; z-index: 3;}
    .corner_brdr {position: absolute; border: 2px solid $darkGold; width: 1rem; height: 1rem; z-index: 1; transition: all .6s $bezier;}
    .t-left {border-width: 2px 0 0 2px; top: -2px; left: -2px;}
    .b-left {border-width: 0 0 2px 2px; bottom: -2px; left: -2px;}
    .t-right{border-width: 2px 2px 0 0; top: -2px; right: -2px;}
    .b-right{border-width: 0 2px 2px 0; bottom: -2px; right: -2px;}
    p {$secondaryFont; letter-spacing: .05rem; line-height: 1.2; color: #fff; text-transform: uppercase; text-align: center;}
}

.link-off_btn:hover
{
    .corner_brdr {width: calc(50% + 2px); height: calc(50% + 2px);}
}

.link-back_btn
{
    & {$flex;$flexItemCenter; gap: 4px; $contentWidth;}
    svg {width: 12px; height: 10px;}
    .st0{fill: $darkGold;transition: fill .3s ease;}
    p {margin-bottom: 0; transition: color .3s ease; color: $darkGold; font-weight: 500; font-size: .75rem;}
}
.link-back_btn:hover
{
    .st0 {fill: $gray;}
    p {color: $gray;}
}

section.pad {padding: 7rem 0;}

.inner 
{
    *{box-sizing: border-box;}
    .s1
    {
        &{height: 100vh; max-height: 900px; background: url(/util/serve-image?i=resource-center_hero.jpg&d=spirepoint&c=webp&q=90) center/cover no-repeat;}
        .hero_text {width: 92%; height: 100%; $flex; $flexCenter; $flexColumn; gap: 1.7rem; margin: 0 auto; padding: 250px 0;}
        h1,p {color: #fff;text-align: center;}
        h1 {max-width: 1060px;}
        p {max-width: 845px; font-weight: 300; font-size: 1.25rem;}
    }
}

#resource-center.inner .s1 {
	&{max-height: 600px; }
	.hero_text { padding:250px 0 0 0; }
}

#who-we-are .s1 {background-image: url(/util/serve-image?i=whoweare-hero.jpg&d=spirepoint&c=webp&q=85);}
#what-we-do .s1 {background-image: url(/util/serve-image?i=whatwedo-hero.jpg&d=spirepoint&c=webp&q=85);}
#contact .s1 {background-image: url(/util/serve-image?i=contact-hero.jpg&d=spirepoint&c=webp&q=90);}
#faq .s1 {background: url(/util/serve-image?i=faq-hero.jpg&d=spirepoint&c=webp&q=95) 60% center/cover no-repeat;}

header
{
	&{position:fixed;transition:background 0.5s ease;width:100%;left:0;top:0; z-index: 100;}
	.banner
	{
		&{background:#756444; height: 48px; transition: height .3s ease; overflow: hidden;}
		.contain{$flex; $flexContentEnd; $flexItemCenter; gap: 1rem;}
        a {$flex; $flexCenter; gap: .5rem; $flexW;}
		a, span {color:#fff; $primaryFont; font-size: .9rem; line-height: 1.2em; text-align: center;}
        span {transition: opacity .3s ease;}
        a:hover span {opacity: .7;}
        img {width: 16px; height: 10px; object-fit: contain;}
		button{width:.8rem;height:.8rem;outline:none;border:none;background: url(/assets/legacy/plus-icon-wh.svg) center/contain no-repeat;cursor: pointer;transform: rotate(45deg);}
	}	
	nav{padding: 0;}
	.contain {gap: 2.2rem; position: relative;padding: .66rem 0;}
	.nav_links {$flexW; max-width: 840px; min-width: 700px; gap: .5rem; padding: 14px 0; border-top: 1px solid #ffffff65; transition: border .35s $bezier;}
	.logo{z-index: 102; width: 270px; transition: all .35s $bezier;}
    .logo svg
    {
        &{display: block; width: 100%; height: auto !important;}
        .cls-1, .cls-2 {fill: #fff; transition: fill .35s $bezier;}
    }
	#menu_container, #full_nav {display: none;}
	#menu_btn
	{
		&{background: none;border: none;outline: none;cursor: pointer;position: relative;top: 0;width: 60px;height: 15px;z-index: 102;}
		i{transition: all 0.2s ease-out;height: 1px;width: 60px;background-color: #fff;position: absolute;border-radius: 2px;}
		i:nth-child(1) {right: 0;top: 0;}
		i:nth-child(2) {right: 0;top: 10px;width: 45px;}
	}
	#full_nav
	{
		&{position: fixed; height: 100vh; width: 100vw; top: 0; left: 0; z-index: 90; background: $offWhite;}
		.mobile_nav {height: 100%;$flex; padding: 12rem 2rem 2rem;}
		.mobile_nav, .mobile_nav > div {$flexColumn; $flexItemCenter;}
		.main_nav-mobile {$flex;}
        .mobile_nav img {display: none;}
		a {margin-bottom: calc(1rem + 1.5vh); transform: translateY(10px); opacity: 0;}
		a.fade {transform: translateY(0); opacity: 1; transition: all .5s ease, color .3s ease;}
		a p {padding: 6px 0; font-size: 1.2rem; letter-spacing: .1rem; font-weight: 500; color: $darkGold;}
	}
	a p {font-size: .7rem; letter-spacing: .035rem; $primaryFont(400); color: #fff; line-height: 1.2; text-transform: uppercase;white-space: nowrap; position: relative;}
    a p::after {$psDefault; top: -16px; left: 0; width: 100%; height: 3px; background: $darkGold; opacity: 0; border-radius: 4px;}
    a.current p::after {opacity: 1;}
	a:hover p {color: $darkGold;transition: color .3s ease;}
}
.new header
{
	#main_nav .nav_links{position:relative;margin-top:.66rem}
	#main_nav .nav_links .login-anchor{position:absolute;right:0;top:-37px;}
	#main_nav .nav_links .login-anchor p{padding-right:30px;background:url(/assets/legacy/lock.svg) no-repeat right center/19px auto;line-height:22px;}
}
header.scroll, #article header.scroll, #bio header.scroll
{
	&{background:rgb(255 255 255 / 99%); $boxShadow;}
    .nav_links {border-top-color: #00000026;}
	#main_nav
	{
		a p{color: $gray;}
		a:hover p {color: $darkGold;}
	}
	#menu_btn i {background-color: $gray;}
    .logo {width: 120px;}
    .logo svg
    {
        .cls-1 {fill: #000;}
        .cls-2 {fill: $darkGold;}
    }
}

header.active, #article header.active, #bio header.active
{
	#menu_btn
	{
		i {background-color: $darkGold; width: 45px !important; top: 5px !important;}
		i:nth-child(1) {transform: rotate(45deg);}
		i:nth-child(2) {transform: rotate(-45deg);}
	}
    .logo {width: 120px;}
    .logo svg
    {
        .cls-1 {fill: #000;}
        .cls-2 {fill: $darkGold;}
    }
}

#bio header, #article header
{
    .nav_links {border-top-color: #00000026;}
	#main_nav
	{
		a p{color: $gray;}
		a:hover p {color: $darkGold;}
	}
	#menu_btn i {background-color: $gray;}
    .logo svg
    {
        .cls-1 {fill: #000;}
        .cls-2 {fill: $darkGold;}
    }
}

footer
{
    &{background-color: $offBlack;padding:2.5rem 0;}
    .contain {$flex;$flexColumn; $flexItemCenter;}
    .logo{$flexW; max-width: 148px;margin-bottom: 1.5rem;}
    .logo svg
    {
        &{display: block; width: 100%; height: auto !important; aspect-ratio: 14.8/11;}
        .cls-1 {fill: #fff;}
        .cls-2 {fill: $darkGold;}
    }
    .nav_links {max-width: 990px; gap: 1rem; $flexItemStart; width: 100%;}
    .nav_links a {padding-bottom: 14px; border-bottom: 2px solid transparent; transition: border-color .3s ease; border-radius: 1px;}
    .nav_links a:hover {border-bottom-color: #fff;}
    .h_line {width: 100%; height: 0; border-top: 1px solid #fff; opacity: .3; transform: translateY(-1px); margin-bottom: 16px;}
    .legal {width: 100%; max-width: 990px; gap: 2rem;}
    .disclaimer_links {$flexW; max-width: 27rem; gap: .6rem; $flexItemStart;}
    .disclaimer_links a {$primaryFont; font-size: .7rem; line-height: 1.5;}
    .disclaimer_links a:hover {text-decoration: underline;}
    .copy {font-size: .8rem; $contentWidth(max);}
    a p{font-size: .6rem; letter-spacing: .035rem; $primaryFont(400); color: #fff; line-height: 1.2; text-transform: uppercase;white-space: nowrap;}
    .disclaimer_links a, p {color: #fff; white-space: nowrap;}
    p.disclaimer {font-size: .7rem; white-space: normal; max-width: 990px; margin-top: 1.2rem;}
}
#container .s1, #family-office #container .s1
{
	.subnav-links1
	{
		&{transition:opacity 0.75s ease;opacity:0;visibility:hidden;z-index:-2;padding:50px;box-sizing:border-box;display:flex;flex-direction:row;justify-content:space-between;align-items:center;background:#fff;border-radius:20px;position:absolute;bottom:50px;width:1580px;max-width:94%;left:50%;transform:translateX(-50%);}
		> div:nth-child(3){width:370px;height:315px;}
		> div:nth-child(2){width:calc(100% - 845px);}
		> div:nth-child(1){align-self:flex-start;padding-top:45px;width:475px;}
		.fx-slides > div > div{max-width:370px;} 
		h2{$secondaryFont(200);color:#756444;font-size:2.8em;line-height:1.14em;padding-top:0;text-align:left;text-transform:uppercase;}
		ul{display:flex;flex-direction:row;flex-wrap:wrap}
		li{width:50%;text-align:left;padding:20px 0;}
		li a{$primaryFont(300);color:#5d646a;font-size:0.95em;}
		li a.on{color:#101e29;font-weight:500;}
		.fx-list{display:none;}
		img{border-radius:10px;}
		li a::before {content: attr(data-text);display:block;font-weight:500;$primaryFont(300);font-size:0.95rem;visibility: hidden;height: 0;overflow: hidden;}
	}
	.subnav-links2
	{
		&{transition:opacity 0.75s ease;opacity:0;visibility:hidden;z-index:-2;padding:50px;box-sizing:border-box;display:flex;flex-direction:row;justify-content:space-between;align-items:center;background:#fff;border-radius:20px;position:absolute;bottom:50px;width:1170px;max-width:94%;left:calc(50% - 640px);}
		> div:nth-child(2){width:calc(100% - 500px);}
		> div:nth-child(1){align-self:flex-start;padding-top:25px;width:500px;}
		h2{$secondaryFont(200);color:#756444;font-size:2.8em;line-height:1.14em;padding-top:0;text-align:left;text-transform:uppercase;}
		ul{display:flex;flex-direction:row;flex-wrap:wrap}
		li{width:50%;text-align:left;padding:20px 0;}
		li a{$primaryFont(300);color:#5d646a;font-size:0.95em;}
		li a.on{color:#101e29;font-weight:500;}
		li a::before {content: attr(data-text);display:block;font-weight:500;$primaryFont(300);font-size:0.95rem;visibility: hidden;height: 0;overflow: hidden;}
	}
	.subnav-links1.on,.subnav-links2.on{opacity:1;z-index:2;visibility:visible;}
}
#home #container
{
	#scrollSlider
	{
		&{background:#fff;}
		> .fx-list{display:none;}	
		> .fx-slides > div{height:100vh;}
		> .fx-slides > div > section{transform:scale(0.8);transition:transform 1s cubic-bezier(.435,.01,.135,1),top 1s cubic-bezier(.435,.01,.135,1);}
		> .fx-slides > div > section.fx-active{transform:scale(1);}
		.topZero{top:0;transform:scale(1);}
		.top100{top:100vh}
		.topNegative{top:-100vh}
		.minus{top:-100vh}
		.plus{top:100vh}
	}
	.s1,.s2,.s3,.s4{height:100vh !important;}	
	.s1
	{
		&{position: relative; overflow: hidden;}
		.hero_text {$allCenter; width: 94%; max-width: 800px; z-index: 1;}
        #home-hero_video, .video_overlay {position: absolute; width: 101vw; height: 101vh; top: 0; left: 0; object-fit: cover;}
        #home-hero_video {z-index: -2;}
        .video_overlay {z-index: -1; background: url(/assets/legacy/video-overlay.png) $bgDefault;}
        h1,h4 {text-align: center; color: #fff;}
        h1 {$secondaryFont(100); font-size: 5rem; line-height: 1.2; letter-spacing: .25rem; text-transform: uppercase;}
        h4 {$primaryFont(100); font-size: 2rem; opacity: .75; line-height: 1.3; margin-top: 1rem;}
        h4 br {display: none;}
	}
	.s2
	{
        &{position: relative;}
        .contain {height: calc(100% - 230px);margin: 115px 3%;}
        .left {width: 47%;}
        .left > div {max-width: 520px;}
        .right {position: absolute; top: 0; right: 0;width: 50%; height: 100%; background: url(/util/serve-image?i=home-s2.jpg&d=spirepoint&c=webp&q=90) 20% center/cover no-repeat;}
        h3 {color: $gold;}
        p.cal {margin: calc(1.5rem + 2.5vh) 0;}
        p:last-of-type {max-width: 420px;}
        h3, p {opacity: 0;}
	}

    .s2.fx-active
    {
        h3, p {opacity: 1;transition: opacity 1s $bezier .4s;}
        p.cal {transition-delay: .7s}
        p:last-of-type {transition-delay: 1s;}
    }
	.s3
	{
		&{position: relative;}
        .bg_image_slides, .image_slide, .overlay {position: absolute; z-index: 1; width: 100%; height: calc(100% - 100px); left: 0; top: 100px;}
        .image_slide {opacity: 0; height: 100%; top: 0; z-index: 2; background-color: $offBlack; transition: opacity .1s ease .8s;}
        .image_slide.active {opacity: 1; z-index: 3; transition: opacity .7s $bezier;}
        .image_slide img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 80% center;}
        .image_slide:nth-child(2) img {object-position: left center;}
        .image_slide:nth-child(3) img {object-position: 20% center;}
        .image_slide:nth-child(4) img {object-position: left center;}
        .overlay {z-index: 4; background-color: #000; opacity: .33;}
        .slide_wrap {overflow: hidden;}
        .contain {height: calc(100% - 230px);margin: 115px 3%; position: relative; z-index: 5;}
        .acc_wrapper {display: none;}
        h3, h4, p {color:#fff;}
        .fx-slider {$flex;}
        .fx-list {width: 200px !important;padding-top: 2rem;}
        .fx-list > div {width: 100%; $flex; $flexColumn; gap: 2rem;}
        .fx-nav {width: 100% !important; transition: opacity .3s ease; opacity: .5;}
        .fx-nav.fx-on {opacity: 1;}
        .slider_wrapper {position: relative;top: calc(40vh - 110px);}
        .slide_content {max-width: 540px; $flex; $flexColumn; gap: 2.2rem;}	
	}
    .s4
    {
        & {position: relative;}
        .video_wrapper {width: calc(100% - 160px); height: calc(100% - 275px); margin: 195px auto 80px;position: relative; cursor: pointer;}
        .play_btn {$allCenter; border-width: 1.8rem 0 1.8rem 2.2rem; width: 0; height: 0; border-color: transparent transparent transparent #fff;border-style: solid;}
        img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0;}
    }
}
#team #container
{
	.s1new
	{
		&{background:#17232D;position:relative;height:100vh;max-height:1000px;}
		.contain{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
		h1{color:#fff;font-size:5.3em;$secondaryFont(200);line-height:1.02em;text-transform:uppercase;text-align:left;margin-top:1em;position:relative;}
		ul{list-style:none;}
		#draw1{width:100%;height:100%;position:absolute;top:0;left:0;}
		#draw1 > svg{width:100%;height:100%;}
		p{color:#d3b374;font-size:1.3em;line-height:1.5em;max-width:500px;margin-top:1em;text-align:left;}
	}
	.s4
  {
      &{background-color: rgb(113 111 111 / 10%);}
      .intro_text
      {
          & {$flex; $flexContentSpaceBetween; gap: 1rem;}
          h2 {color: $base;}
          p {line-height: 1.55; $flexW;max-width:735px;}
      }
      .team_wrapper
      {
          &{margin-top: 4rem; $flex; $flexWrap; gap: 2.5rem 1%;}
          .person {width: 32.667%;}
          .img_wrap {width: 100%; margin-bottom: 1rem; position: relative;}
          /* .img_wrap::after {$psDefault; width:100%; height:10px; left: 0; bottom: 0; background-color: $darkGold; opacity: 0; transition: opacity .3s ease;} */
          .img_wrap img {display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: center top; transition: all .35s $bezier; filter: grayscale(1);}
          .name {$secondaryFont; font-size: 1.25rem; letter-spacing:.125rem; line-height: 1.2; transition: color .35s $bezier; margin-bottom: .25rem; text-transform: uppercase;}
          .person:hover
          {
              p.name {color: $darkGold;}
              /* .img_wrap::after {opacity: 1;} */
              .img_wrap img {filter: grayscale(0);}
          }
          p.title {font-size: 1rem;}
      }
  }
}
#request #container, #login #container
{
	.s2
	{
		&{position: relative;padding: 9rem 0;}
		form {
                & {width: 100%;}
                input, textarea {
                    font-family: brandon-grotesque, sans-serif;
                    font-weight: 300;
                    display: block;
                    width: 100%;
                    font-size: 1rem;
                    line-height: 1.5rem;
                    background: transparent;
                    border: none;
                    border-bottom: solid 1px #00000066;
                    border-radius: 0;
                    -webkit-appearance: none;
                    margin-bottom: 1.2rem;
                    padding: 10px 0;
                    color: #434343;
                }
                textarea {
                    height: 51px; 
                    resize: none;
                }
                ::placeholder {
                    font-family: brandon-grotesque, sans-serif;
                    font-weight: 300;
                    color: #00000066;
                    font-size: 1.1rem;
                    line-height: 1.5rem;
                }
                input:focus, select:focus, textarea:focus, button:focus {outline: none;}
                input:-webkit-autofill,
                input:-webkit-autofill:hover,
                input:-webkit-autofill:focus,
                textarea:-webkit-autofill,
                textarea:-webkit-autofill:hover,
                textarea:-webkit-autofill:focus {
                    -webkit-text-fill-color: #434343;
                    transition: background-color 5000s ease-in-out 0s;
                }
                .link-off_btn {
                & {
                    background-color: transparent;
                    cursor: pointer;
                    margin-top: 2rem;
                }
                .link-off_wrapper p {
                    color: #8C7833; 
                    margin-bottom: 0;
                    font-size: 0.8rem;
                }
            		}
            }
	}
}
#contact #container
{
    .s1new
		{
			&{background:#17232D;position:relative;height:100vh;max-height:700px;}
			.contain{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
			h1{color:#fff;font-size:5.3em;$secondaryFont(200);line-height:1.02em;text-transform:uppercase;text-align:left;margin-top:1em;position:relative;}
			h1::after{content:"";width:100px;height:10px;background:#756444;display:block;position:absolute;bottom:-30px;left:0;}
			ul{list-style:none;}
			#draw1{width:100%;height:100%;position:absolute;top:0;left:0;}
			#draw1 > svg{width:100%;height:100%;}
			p{color:#d3b374;font-size:1.3em;line-height:1.5em;max-width:475px;margin-top:1em;text-align:left;}
		}
    .s2
    {
        &{position: relative;padding: 9rem 0;}
        .contain {$flex;position: static;}
        .left {width: 47%; max-width: 520px;}
        .right {display: block; position: absolute; height: 100%; width: 50%; top: 0; right: 0;}
        .right img {display: block; width: 100%; height: 100%; object-fit: cover;}
        p.address {margin: 1.6rem 0 3rem;}
        p, a {font-size: 1.6rem; line-height: 1.7;}
        h2, a {color: $darkGold; transition: color .25s ease;}
        a:hover {color: $gray;} 
    }
    .s3 {
        & {$flex;}
        .left {
            & {
                width: 50%;
                position: relative;
                padding: 5.8rem 0 5rem 1rem;
            }
            > div {
                max-width: 520px;
                text-align: left;
                margin: 0 6.5rem 0 auto;
            }
            h2 {
                margin-bottom: 1rem;
                color: $darkGold;;
            }
            p {font-size: 1.6rem; line-height: 1.7; margin-bottom: 1rem;}
            button{outline:none;border:none;border-top:1px solid #8C7833;border-bottom:1px solid #D3D1D1;color:#434343;display:block;width:100%;text-align:left;font-weight:400;font-family:inherit;font-size:33px;padding:60px 0;background:transparent url(/assets/legacy/accordion-plus.svg) no-repeat right center/54px auto;}
            button.fx-on{background-image:url(/assets/legacy/minus2.svg);}
            form {
                & {width: 100%;}
                input, textarea {
                    font-family: brandon-grotesque, sans-serif;
                    font-weight: 300;
                    display: block;
                    width: 100%;
                    font-size: 1rem;
                    line-height: 1.5rem;
                    background: transparent;
                    border: none;
                    border-bottom: solid 1px #00000066;
                    border-radius: 0;
                    -webkit-appearance: none;
                    margin-bottom: 1.2rem;
                    padding: 10px 0;
                    color: #434343;
                }
                textarea {
                    height: 51px; 
                    resize: none;
                }
                ::placeholder {
                    font-family: brandon-grotesque, sans-serif;
                    font-weight: 300;
                    color: #00000066;
                    font-size: 1.1rem;
                    line-height: 1.5rem;
                }
                input:focus, select:focus, textarea:focus, button:focus {outline: none;}
                input:-webkit-autofill,
                input:-webkit-autofill:hover,
                input:-webkit-autofill:focus,
                textarea:-webkit-autofill,
                textarea:-webkit-autofill:hover,
                textarea:-webkit-autofill:focus {
                    -webkit-text-fill-color: #434343;
                    transition: background-color 5000s ease-in-out 0s;
                }
            }
            .response {
                font-size: 1rem;
                line-height: 1.5rem;
                color: #434343;
                position: relative;
                top: 2rem;
            }
            .link-off_btn {
                & {
                    background-color: transparent;
                    cursor: pointer;
                    margin-top: 2rem;
                }
                .link-off_wrapper p {
                    color: #8C7833; 
                    margin-bottom: 0;
                    font-size: 0.8rem;
                }
            }
        }
        .right {
            display: block;
            width: 50%;
            background: url(/assets/legacy/contact-map.jpg) no-repeat center/cover;
        }
    }
    .s3.new
    {
    	&{min-height:980px;}
    	.left{display:flex;flex-direction:column;justify-content:center;padding:3rem 0 3rem 1rem;}
    	.fx-accordion{margin-top:60px;}
    	p.address{font-size:24px;font-weight:400;line-height:35px;margin:0;padding:40px 0;}
    	p.address a{color:inherit;text-decoration:underline;}
    	.fx-slide:last-child{border-bottom:1px solid #8C7833}
    }
    .s3.new.f
    {
    	&{min-height:980px;}
    	.left{padding:3rem 0;}
    	.left > div{max-width:calc(100% - 12rem);margin:0 6rem;}
 			.fx-slide{display:flex;flex-direction:row;justify-content:flex-end;gap:30px;align-items:flex-end;}  
 			.fx-slide > *{flex:1;width:calc(50% - 15px);} 	
 			.fx-slide > img{margin:20px 0;}
    	.fx-slide:last-child{border-bottom:1px solid #8C7833}
    	/* p.address{font-size:20px;line-height:30px} */
    }
    .s4
    {
    	&{padding:5rem 0;position:relative;}
    	.wrap{position:absolute;width:100%;height:100%;clip-path:polygon(0 0, 100% 0, 100% 100%, 0% 100%);top:0;left:0;}
		  .bg{z-index:-1;position:fixed;background-image:url(/assets/legacy/contact-parallax.jpg);background-repeat:no-repeat;background-position:center;background-size:cover;left:0;top:0;height:100vh;width:100%;}
    	form {
                & {width: 100%;}
                input, textarea {
                    font-family: inherit;
                    font-weight: 300;
                    display: block;
                    width: 100%;
                    font-size: 1rem;
                    line-height: 1.5rem;
                    background: transparent;
                    border: none;
                    border-bottom: solid 1px #768D9C;
                    border-radius: 0;
                    -webkit-appearance: none;
                    margin-bottom: 1.2rem;
                    padding: 10px 0;
                    color: #fff;
                }
                textarea {
                    height: 150px; 
                    resize: none;
                }
                ::placeholder {
                    font-family: inherit;
                    font-weight: 300;
                    color: #fff;
                    font-size: 1.1rem;
                    line-height: 1.5rem;
                }
                input:focus, select:focus, textarea:focus, button:focus {outline: none;}
                input:-webkit-autofill,
                input:-webkit-autofill:hover,
                input:-webkit-autofill:focus,
                textarea:-webkit-autofill,
                textarea:-webkit-autofill:hover,
                textarea:-webkit-autofill:focus {
                    -webkit-text-fill-color: #fff;
                    transition: background-color 5000s ease-in-out 0s;
                }
                .cols{display:flex;flex-direction:row;gap:40px;justify-content:space-between;}
                .cols2{display:flex;flex-direction:row;gap:40px;justify-content:flex-start;margin-top:50px;}
            }
            .response {
                font-size: 1rem;
                line-height: 1.5rem;
                color: #434343;
                position: relative;
                top: 2rem;
            }
            .link-off_btn {
                & {
                    background-color: transparent;
                    cursor: pointer;
                    margin-top: 0;
                }
                .link-off_wrapper p {
                    color: #fff; 
                    margin-bottom: 0;
                    font-size: 0.8rem;
                }
            }
            
    }
}

#resource-center #container
{
    .s1new
		{
			&{background:#17232D;position:relative;height:100vh;max-height:700px;}
			.contain{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
			h1{color:#fff;font-size:5.3em;$secondaryFont(200);line-height:1.02em;text-transform:uppercase;text-align:left;margin-top:1em;position:relative;max-width:500px}
			h1::after{content:"";width:100px;height:10px;background:#756444;display:block;position:absolute;bottom:-30px;left:0;}
			ul{list-style:none;}
			#draw1{width:100%;height:100%;position:absolute;top:0;left:0;}
			#draw1 > svg{width:100%;height:100%;}
			p{color:#d3b374;font-size:1.3em;line-height:1.5em;max-width:475px;margin-top:1em;text-align:left;}
		}
    .s2
    {
        .fx-list {width: 100%; border-bottom: 1px solid #716e6e80; margin-bottom: 4rem; overflow: unset !important;}
        .fx-list > div {width: 100% !important; max-width: 905px; margin: 0 auto; $flex;justify-content:center;}
        .fx-nav {margin-right:75px;padding: 0 0 1rem 0; transform: translateY(2px); $primaryFont(400); font-size: 1.1rem; color: #000000; opacity: .4; border-bottom: 3px solid transparent; transition: all .3s ease; text-align: center;}
        .fx-nav:last-child{margin-right:0}
        .fx-nav:hover {color: $darkGold;}
        .fx-on.fx-nav {opacity: 1; border-bottom-color: $darkGold; color: $darkGold;}

        .articles-wrapper {$flex; gap: 4.75rem 4%; $flexWrap; width: 100%;}
        .tablet_articles-wrapper, .mobile_articles-wrapper {display: none;}
        .tablet_articles-wrapper .articles_column {width: 48%;}
        .mobile_articles-wrapper .articles_column {width: 100%;}
        .article {width: 30.667%; padding-bottom: .8rem;border-bottom: 1px solid #716e6e80;display: flex; $flexColumn; $flexContentSpaceBetween;}
        
        .video-img_wrap {margin-top: .5rem; position: relative;}
        .video-img {display: block; width: 100%; height: auto; aspect-ratio: 3.5/2; object-fit: cover;}
        .tb_icon, .play-btn_icon {position: absolute; $allCenter;}
        .play-btn_icon {width:0; height: 0; border-width: 18px 0 18px 26px;border-color: transparent transparent transparent #fff;border-style: solid;}
        .type_label {position: absolute; bottom: 1rem; left: 1rem; padding: .4rem .8rem; border-radius: .8rem; background-color: #000000a6;}
        .type_label p {font-weight: 600; font-size: .7rem; letter-spacing: .07rem; line-height: 1; text-transform: uppercase; color: #fff;}
        
        p.date {font-weight: 500; font-size: .8rem; letter-spacing: .08rem; line-height: 1.45; color: $accent;text-transform: uppercase;}
        p.title{font-size: 1.21rem; line-height: 1.4; margin: 1rem 0 2rem;}
        p.learn{$secondaryFont; letter-spacing: .05rem; line-height: 1; color: $darkGold; text-transform: uppercase;}
        img {width: 100%; margin: 1rem 0;}
        .philanthropy-img-wrapper {
            & {background: url(/assets/legacy/spirpoint-bg-gradient.png) top/20px 100% repeat-x; margin: 1rem 0;height:212px;aspect-ratio:392 / 212;padding:10% 0;text-align:center}
            img {max-width:80%;width: 80%; margin: 0; max-height: 100%; object-fit: contain; object-position: center;display:inline-block;}
        }
        h5 {text-align: center; margin: auto;}
        .page
        {
        	&{display:flex;flex-direction:row;flex-wrap:wrap;gap:0 4%;}
        	> *{width:30.667%;}
        	.desc{display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;text-overflow: ellipsis;color:#434343;margin-bottom:1rem;}
					.featured
					{
						&{width:100% !important;margin-bottom:4.5rem}
						.article{width:100% !important;}
						a img{margin:0;display:block;}
                        .video-img_wrap {margin: 0;}
                        .philanthropy-img-wrapper {margin: 0;text-align:center;aspect-ratio:392 / 212;padding:10% 0;height:336px;}
                        .philanthropy-img-wrapper img {max-height: 100%;height:336px;display:inline-block;max-width:80%}
						a p.title{font-size:54px;font-weight:300;line-height:65px}
						a{display:flex;flex-direction:row;gap:34px;border:none;}
						a > div{width:calc(50% - 17px);position:relative;}
						a > div:nth-child(1) p.date{display:none;}
						.learn{border-bottom: 1px solid #716e6e80;padding-bottom:0.8rem;position:absolute;left:0;bottom:0;width:100%;}
					}
        }
        .page:nth-child(n+3){height: 0; overflow: hidden; transition: height .6s ease, opacity .3s ease .2s;opacity:0}
				.page.active:nth-child(n+3){opacity: 1;}
				.page.active{padding-bottom:4.5rem;}
				.page.active:last-of-type{padding-bottom:0;}
        .page.space2,.page.space1
        {
        	> *{width:48%;}
        }
        .subnav
        {
        	&{width: 100% !important; margin: 0 auto; $flex;justify-content:center;border-bottom: 1px solid #716e6e80;}
        	a{margin-right:75px;padding: 0 0 1rem 0; transform: translateY(2px); $primaryFont(400); font-size: 1.1rem; color: #000000; opacity: .4; border-bottom: 3px solid transparent; transition: all .3s ease; text-align: center;}
        	a:last-child{margin-right:0}
        	a:hover{opacity: 1; border-bottom-color: $darkGold; color: $darkGold;}
        }
        .link-off_btn{display:block;margin:0 auto 2px auto}
        .link-off_btn p{color:#7D6323}
        > .slide
        {
        	&{padding:150px 0;}
        	h2{color:#434343;font-weight:300;font-size:3em;$secondaryFont;margin-bottom:0.5em;}
        }	
        > .slide:nth-child(odd){background:#f0f0f0}
    }
    .s2.nobt{padding-bottom:0;}
}

#article  #container
{
    .s2
    {
        &{padding:16rem 0 10rem; min-height: calc(100vh - 250px);}
        .contain{text-align:left;max-width:950px;position:relative; margin: 0 3%;}
        #social
        {
            &{$flex; gap: 1rem; margin: 1.5rem 0 3rem; margin-top: 1.2rem;}
            a{display:block;width:30px;height:30px;}
            a:hover .st0 {fill: $gold;}
            .st0{fill:$gray; transition: fill .3s ease;}
        }
        .content_wrapper, .content_wrapper p {text-align: left; $primaryFont; color: $base; font-size: 1rem; line-height: 1.6;}
        .content_wrapper
        {
            &{margin-top: 2rem;}
            img {width: 100%;display: block; margin: 2rem auto;}
            h2 {color:$base;font-size:1.77rem;$primaryFont(400); line-height:1.3; text-align: left;}
            h3 {color:$base;font-size:1.55rem;$primaryFont(400); line-height:1.3; text-align: left;}
            h4 {color:$base;font-size:1.33rem;$primaryFont(400); line-height:1.3; text-align: left;}
            h5 {color:$base;font-size:1.11rem;$primaryFont(400); line-height:1.3; text-align: left;}
            ul {list-style-type: none;}
            li {position: relative; padding-left: 16px; text-align: left; $primaryFont; color: $base; font-size: 1rem; line-height: 1.6;}
            ul li::before {$psDefault; left: 4px; top: .667rem; width: 4px; height: 4px; border-radius: 2px; background: $base;}
            ol {list-style-position: inside;}
            strong {font-weight: 600;}
            a {color: $gold;}
        }
        img{margin:3rem 0 2rem 0;max-width:100%}
        h1{color:$gray;font-size:2rem;font-weight:400;line-height:1.3; text-align: left;}
        h1 a{color:$gold}
        p.date {font-weight: 500; font-size: .8rem; letter-spacing: .08rem; line-height: 1.45; text-transform: uppercase;}
    }
}

#who-we-are .s2, #what-we-do .s2, #wealth-management .s2
{
    &{position: relative; text-align: left; padding: 4rem;}
    .scroll_jack-container {width: 100%; min-height: calc(100vh - 275px); background: url(/util/serve-image?i=water-texture-bg.jpg&d=spirepoint&c=webp&q=90) $bgDefault; $flex; $flexCenter;}
    .text_container {width: 97%; padding: 150px 0; overflow: hidden;}
    .text_wrapper {position: relative;}
    .text_wrapper::before {$psDefault; width: 160px; height: 1px; background-color: $darkGold; left: -200px; top: 25px;}
    .link-off_btn {margin: 2rem auto 0 0; display: inline-block;}
    .line p:nth-child(n + 3) {display: none;}
    .text_wrapper
    {
        &{position: relative; max-width: 950px; margin: auto;}
        .line {position: relative;}
        .line p{color: #fff; $primaryFont; font-size: 2.5rem; line-height: 1.2; text-align: left; opacity: .4;}
        .line p:nth-child(2) {opacity: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%;clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);}
    }
}


#who-we-are #container
{
    .s1
    {
        .link-off_btn {border-color: #ffffff6e;}
        .link-off_btn * {border-color: #fff !important;} 
    }
    .s1new
		{
			&{background:#17232D;position:relative;height:100vh;max-height:1000px}
			.contain{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
			h1{color:#fff;font-size:5.3em;$secondaryFont(200);line-height:1.02em;text-transform:uppercase;text-align:left;max-width:400px}
			ul{list-style:none;}
			#draw1{width:100%;height:100%;position:absolute;top:0;left:0;}
			#draw1 > svg{width:100%;height:100%;}
			p{color:#d3b374;font-size:1.3em;line-height:1.5em;max-width:475px;margin-top:1em;text-align:left;}
			#subnav
			{
				&{z-index:1;position:absolute;left:0;bottom:50px;display:flex;flex-direction:row;justify-content:flex-start;}
				button{all:unset;appearance:none;outline:none;box-shadow:none;cursor:pointer;background:transparent url(/assets/legacy/playButton.svg) no-repeat left center/98px auto;$primaryFont(300);height:100px;line-height:100px;box-sizing:border-box;color:#d3b374;font-size:0.85em;padding-left:120px;text-align:left;text-transform:uppercase;letter-spacing:0.2em;}
				
			}
			
		}
		#home_video-prefooter
    {
        & {position: relative;}
        .video_wrapper {width: calc(100% - 160px); height: calc(100% - 275px); margin: 80px auto 80px;position: relative; cursor: pointer;}
        .play_btn {$allCenter; border-width: 1.8rem 0 1.8rem 2.2rem; width: 0; height: 0; border-color: transparent transparent transparent #fff;border-style: solid;}
        img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0;}
    }
    .s2pc
		{
	        &{position: relative;height:calc(100vh - 116px);background:#F0F0F0}
	        .contain {height: calc(100% - 115px);margin:0 3% 115px 3%;}
	        .left {width: 47%;}
	        .left > div {max-width: 520px;}
	        .right {position: absolute; top: 0; right: 0;width: 50%; height: 100%; background: url(/util/serve-image?i=home-s2.jpg&d=spirepoint&c=webp&q=90) 20% center/cover no-repeat;}
	        h3 {color: $gold;}
	        p.cal {margin: calc(1.5rem + 2.5vh) 0;}
	        p:last-of-type {max-width: 420px;}
	        h3, p {opacity: 1;}
		}
	
    .s2pc.fx-active
    {
        h3, p {opacity: 1;transition: opacity 1s $bezier .4s;}
        p.cal {transition-delay: .7s}
        p:last-of-type {transition-delay: 1s;}
    }
    .s3
    {
        &{position: relative; overflow: hidden;}
        * {color: #fff; text-align: center;}
        .contain {max-width: 1420px;}
        .intro_text {max-width: 740px; margin: 0 auto 4rem;}
        .intro_text p {margin-top: .7rem;}

        .info_boxes {$flex; $flexContentSpaceBetween; $flexItemCenter; min-height: 20rem;}
        .hover_box {width: 48%; padding: 7px; height: 170px; position: relative;transition: all .6s $bezier;}
        .text_box {background-color: rgb(0 0 0 / 17%); $flex; $flexCenter; $flexColumn; padding: 2.5rem 1rem; width: 100%; height: 100%; position: relative; z-index: 3;}
        .text_wrap {max-width: 21rem; margin: auto;}
        .content_parent {max-width: 18.5rem; margin: auto ; overflow: hidden; height: 0;transition: all .6s $bezier;}
        .content_wrap {opacity: 0;transition: all .3s $bezier; padding-top: 1rem;}

        .corner_brdr {position: absolute; border: 1px solid #ffffff74; width: .8rem; height: .8rem; z-index: 1;transition: all .6s $bezier;}
        .corner_brdr::after {$psDefault; width: 1rem; height: 1rem; z-index: 2;border: 2px solid #fff;}
        .t-left {border-width: 1px 0 0 1px; top: -1px; left: -1px;}
        .b-left {border-width: 0 0 1px 1px; bottom: -1px; left: -1px;}
        .t-right{border-width: 1px 1px 0 0; top: -1px; right: -1px;}
        .b-right{border-width: 0 1px 1px 0; bottom: -1px; right: -1px;}
        .t-left::after {border-width: 2px 0 0 2px; top: -2px; left: -2px;}
        .b-left::after {border-width: 0 0 2px 2px; bottom: -2px; left: -2px;}
        .t-right::after{border-width: 2px 2px 0 0; top: -2px; right: -2px;}
        .b-right::after{border-width: 0 2px 2px 0; bottom: -2px; right: -2px;}

        .plus_icon
        {
            &{position: absolute; width: 34px; height: 34px; $xCenter; top: -10px; z-index: 4;transition: all .3s $bezier;}
            > div {background-color: #fff; $allCenter; z-index: 5;}
            .h_line {width: 20px; height: 2px;}
            .v_line {width: 2px; height: 20px;transition: all .3s $bezier;}
        }
        .plus_icon::before {$psDefault;$allCenter;transform: translate(-50%, -50%) rotate(45deg);width: 100%; height: 100%; background: $darkGold; transition: all .3s $bezier;}

        .hover_box.active
        {
            &{height: 20rem;}
            .corner_brdr {width: calc(50% + 1px); height: calc(50% + 1px);}
            .content_wrap {opacity: 1;}
            .v_line {opacity: 0;}
            .plus_icon {top: -17px;}
            .plus_icon::before {$allCenter;}
        }
    }
    .s3::before {$psDefault; left: 0; top: 0; height: 100%; width: 100%; background: url(/util/serve-image?i=Who-we-are-img.jpeg&d=spirepoint&c=webp&q=90) $bgDefault; z-index: -1;}

    .s4
    {
        &{background-color: rgb(113 111 111 / 10%);}
        .intro_text
        {
            & {$flex; $flexContentSpaceBetween; gap: 1rem;}
            h2 {color: $base;}
            p {line-height: 1.55; $flexW;max-width:735px;}
        }
        .team_wrapper
        {
            &{margin-top: 4rem; $flex; $flexWrap; gap: 2.5rem 1%;}
            .person {width: 32.667%;}
            .img_wrap {width: 100%; margin-bottom: 1rem; position: relative;}
            /* .img_wrap::after {$psDefault; width:100%; height:10px; left: 0; bottom: 0; background-color: $darkGold; opacity: 0; transition: opacity .3s ease;} */
            .img_wrap img {display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: center top; transition: all .35s $bezier; filter: grayscale(1);}
            .name {$secondaryFont; font-size: 1.25rem; letter-spacing:.125rem; line-height: 1.2; transition: color .35s $bezier; margin-bottom: .25rem; text-transform: uppercase;}
            .person:hover
            {
                p.name {color: $darkGold;}
                /* .img_wrap::after {opacity: 1;} */
                .img_wrap img {filter: grayscale(0);}
            }
            p.title {font-size: 1rem;}
        }
    }
}
#wealth-management #container
{
	.s1
	{
		&{background:#17232D;position:relative;height:100vh;max-height:1000px}
		.contain{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
		h1{color:#fff;font-size:5.3em;$secondaryFont(200);line-height:1.02em;text-transform:uppercase;text-align:left;}
		ul{list-style:none;}
		#draw1{width:100%;height:100%;position:absolute;top:0;left:75px;}
		#draw1 > svg{width:100%;height:100%;}
		p{color:#d3b374;font-size:1.3em;line-height:1.5em;max-width:475px;margin-top:1em;text-align:left;}
		#subnav
		{
			&{z-index:1;position:absolute;left:0;bottom:50px;display:flex;flex-direction:row;justify-content:flex-start;}
			button{appearance:none;outline:none;cursor:pointer;$primaryFont(300);border:1px solid #fff;width:330px;box-sizing:border-box;color:#fff;font-size:0.85em;padding-top:20px;padding-bottom:20px;text-align:left;}
			button.fos{border-top-left-radius:30px;border-bottom-left-radius:30px;background:transparent url(/assets/legacy/plus.svg) no-repeat 93% center/30px auto;padding-left:50px;}
			button.wms{border-top-right-radius:30px;border-bottom-right-radius:30px;background:#756444 url(/assets/legacy/plus.svg) no-repeat 93% center/30px auto;padding-left:40px;}
		}
		
	}
	.s2 .scroll_jack-container{background-image: url(/util/serve-image?i=water-texture2-bg.jpg&d=spirepoint&c=webp&q=90);}
    .s3
    {
        &{height:100vh;overflow:hidden; position: relative;}
        .overlay {position: absolute; width: 100%; height: 100vh; left: 0; bottom: 0; z-index: 1; background-color: #000; opacity: 0; transition: opacity .3s ease;}
		.hboxes
		{
			&{width:100%;}
			.scroll_jack-container
			{
				&{$flex; width: 5000px;}
				.box_wrapper
                {
                    &{width:1000px; $flex; height:100vh; padding-top: 115px; position: relative;}
                    > div {width: 50%;}
                    .image_box {background-color: #101F29; $flex; $flexColumn;}
                    .image {width: 100%; height: 50%;}
                    .image img {display: block; width: 100%; height: 100%; object-fit: cover;}
                    .box_label {width: 100%; height: 50%; $flex; $flexItemEnd;padding: 2.5rem;}
                    .content_box {background:#F0F0F0; $flex; $flexCenter; $flexColumn; padding: 3rem 2.8rem; gap: 1.5rem;}
                    h3.sh {color: #fff; position: relative; font-size: 2rem; letter-spacing: .2rem; line-height: 1.25; text-align: left;}
                    .h_line {$psDefault; left: 0; top: -40px; height: 2px; max-width: 780px; background: $darkGold; width: 0;}
                    p {text-align: left;}
                }
                .box_wrapper:nth-of-type(even)
                {
                    .image_box {$flexColumnR;}
                    .box_label {$flexItemStart;}
                    .h_line {top: calc(100% + 40px);}
                }
                .box_wrapper.active
                {
                    h3.sh, p {opacity: 1;}
                }
            }
        }
		.hboxes::-webkit-scrollbar{display:none;}
    }
    .s4
    {
        &{position: relative; z-index: 2;}
        .card {$flex; position: sticky; position: -webkit-sticky; top: 100px;height: calc(100vh - 100px);}
        .card > div {width: 50%;}
        .content_half {background-color: #fff; $flex; $flexItemCenter;}
        .content_half > div {width: 90%; max-width: 532px; height: 100%; margin: 0 15% 0 auto; padding: 2rem 0 2rem 20px; $flex; $flexColumn; $flexContentCenter;}
        .card:nth-child(even)
        {
            &{$flexRowR;}
            .content_half{background-color: #F0F0F0;}
            .content_half > div {margin: 0 auto 0 10%; padding: 2rem 20px 2rem 0;}
        }
        img {display: block; width: 100%; height: 100%; object-fit: cover;}
        p.cal {margin-bottom: 1vh;}
        p.hro {line-height: 3.8vh;}
    }
}
#what-we-do #container
{
    .s2 .scroll_jack-container{background-image: url(/util/serve-image?i=water-texture2-bg.jpg&d=spirepoint&c=webp&q=90);}
    .s3
    {
        &{height:100vh;overflow:hidden; position: relative;}
        .overlay {position: absolute; width: 100%; height: 100vh; left: 0; bottom: 0; z-index: 1; background-color: #000; opacity: 0; transition: opacity .3s ease;}
		.hboxes
		{
			&{width:100%;}
			.scroll_jack-container
			{
				&{$flex; width: 5000px;}
				.box_wrapper
                {
                    &{width:1000px; $flex; height:100vh; padding-top: 115px; position: relative;}
                    > div {width: 50%;}
                    .image_box {background-color: #101F29; $flex; $flexColumn;}
                    .image {width: 100%; height: 50%;}
                    .image img {display: block; width: 100%; height: 100%; object-fit: cover;}
                    .box_label {width: 100%; height: 50%; $flex; $flexItemEnd;padding: 2.5rem;}
                    .content_box {background:#F0F0F0; $flex; $flexCenter; $flexColumn; padding: 3rem 2.8rem; gap: 1.5rem;}
                    h3.sh {color: #fff; position: relative; font-size: 2rem; letter-spacing: .2rem; line-height: 1.25; text-align: left;}
                    .h_line {$psDefault; left: 0; top: -40px; height: 2px; max-width: 780px; background: $darkGold; width: 0;}
                    p {text-align: left;}
                }
                .box_wrapper:nth-of-type(even)
                {
                    .image_box {$flexColumnR;}
                    .box_label {$flexItemStart;}
                    .h_line {top: calc(100% + 40px);}
                }
                .box_wrapper.active
                {
                    h3.sh, p {opacity: 1;}
                }
            }
        }
		.hboxes::-webkit-scrollbar{display:none;}
    }
    .s4
    {
        &{position: relative; z-index: 2;}
        .card {$flex; position: sticky; position: -webkit-sticky; top: 100px;height: calc(100vh - 100px);}
        .card > div {width: 50%;}
        .content_half {background-color: #fff; $flex; $flexItemCenter;}
        .content_half > div {width: 90%; max-width: 532px; height: 100%; margin: 0 15% 0 auto; padding: 2rem 0 2rem 20px; $flex; $flexColumn; $flexContentCenter;}
        .card:nth-child(even)
        {
            &{$flexRowR;}
            .content_half{background-color: #F0F0F0;}
            .content_half > div {margin: 0 auto 0 10%; padding: 2rem 20px 2rem 0;}
        }
        img {display: block; width: 100%; height: 100%; object-fit: cover;}
        p.cal {margin-bottom: 1vh;}
        p.hro {line-height: 3.8vh;}
    }
}

#bio #container
{
    .s2 {padding: 16rem 0 8rem;}
    .--mob {display: none;}
    .--desk{display: block;}
    .bio_wrapper
    {
        &{margin-top: 1.2rem; $flex; $flexContentSpaceBetween; gap: 2rem;}
        .right{$flexW; max-width: 845px;}
        .left {width: 35%; max-width: 415px; min-width: 315px;}
        .left p.name {$secondaryFont; font-size: 2.05rem; line-height: 1.24; letter-spacing: .2rem; text-transform: uppercase;}
        .img_wrapper {width: 100%; margin-bottom: 1.2rem;}
        .left img {display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover;}
        .left a:hover p {text-decoration: underline;}
        .right a {color: $darkGold; font-weight: 500;}
        .right a:hover {text-decoration: underline;}
        p.med {font-weight: 500; font-size: 1.2rem; line-height: 1.15; color: $darkGold;margin-bottom: 1.2rem;}
        p.title {font-size: 1.7rem; line-height: 1; margin: 6px 0 2.8rem;}
    }
    .link-back_btn.--desk{$flex;}
    .link-back_btn.--mob {margin-top: 1.5rem;}
    .link-back_btn.not_found {margin: 0 auto 1.2rem;}
    h3.not_found {text-align: center; color: $darkGold;}
}

#faq #container
{
    .s1new
		{
			&{background:#17232D;position:relative;height:100vh;max-height:700px;}
			.contain{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
			h1{color:#fff;font-size:5.3em;$secondaryFont(200);line-height:1.02em;text-transform:uppercase;text-align:left;margin-top:1em;position:relative;}
			h1::after{content:"";width:100px;height:10px;background:#756444;display:block;position:absolute;bottom:-30px;left:0;}
			ul{list-style:none;}
			#draw1{width:100%;height:100%;position:absolute;top:0;left:0;}
			#draw1 > svg{width:100%;height:100%;}
			p{color:#d3b374;font-size:1.3em;line-height:1.5em;max-width:475px;margin-top:1em;text-align:left;}
		}
    .s2
    {
        .contain {border-bottom: 1px solid #7070707a; max-width: 1060px;}
        .label {padding: 2.5rem 0;border-top: 1px solid #7070707a;}
        .label:first-of-type {border-top: 0;}
        .faq_label
        {
            & {padding: 2rem 0;$flex; $flexContentSpaceBetween; $flexItemCenter;gap: 1rem;border-top: 1px solid #7070707a;}
            p.number {width: 15%; text-align: left; $secondaryFont; font-size: 2.7rem; letter-spacing: .135rem; line-height: 1.2; color: $darkGold;}
            p.xlg {$flexW;}
            .carat {width: 2.2rem; height: 2.2rem; background: url(/assets/legacy/down-carat.png) center/cover no-repeat; transition: all .3s $bezier;}
        }
        .faq_label.fx-on .carat {background-image: url(/assets/legacy/up-carat.png);}
        .faq_content
        {
            &{$flex; $flexContentSpaceBetween; gap: 1rem;}
            .text_content {$flexW; padding-bottom: 2.5rem;}
            .empty.--left {width: 15%;}
            .empty.--right {width: 2.2rem;}
            span {font-weight: 400;}
            table {width: 100%; max-width: 700px;border: 1px solid #7070707a;border-collapse: collapse;}
            td {padding: 5px;border: 1px solid #7070707a; $primaryFont; font-size: .8rem; color: $base;}
            a {font-weight: 500; color: $darkGold;}
            a:hover {text-decoration: underline;}
        }
        h2 {text-align: center; margin-bottom: 3.5rem; color: $base;}
        h3 {$secondaryFont; font-size: .9rem; line-height: 1.2; letter-spacing: .09rem; color: $darkGold; text-transform: uppercase;}
    }
}
#faq.beta #container {
    .s2 h3 {font-size: 1.3rem;}
}
#sitemap .s2{padding:100px 0;}
#shade {display: none;background: #000;opacity: 0.7;position: fixed;left: 0;top: 0;width: 100%;height: 100%;z-index: 105;display: none;}
#videoPopUp
{
    &{display: none;$allCenter; position: fixed; z-index: 110;width: 80vw;height: 80vh;max-width: 1000px;max-height: 562.5px;}
    .btn-close {height: 25px;width: 25px;background: url(/assets/legacy/plus-icon-wh.svg) center/contain no-repeat;position: absolute;top: 0;right: -40px;cursor: pointer;transform: rotate(45deg);}
    video {width: 100%;height: 100%;position: relative;}
}
#login_modal
{
    &{display: none; $allCenter; position: fixed; background-color: #fff; width: 94%; max-width: 1000px; z-index: 110; box-sizing: border-box;}
    * {box-sizing: border-box;}
    .btn-close {height: 25px;width: 25px;background: url(/assets/legacy/plus-icon-wh.svg) center/contain no-repeat;position: absolute;top: 0;right: -40px;cursor: pointer;transform: rotate(45deg);}
    .contain {margin: 0;max-height: 90vh;padding: 1rem 2rem 3.5rem;}
    .top
    {
        & {border-bottom: 1px solid #00000022; text-align: center;}
        a {margin: 1.8rem auto 1.2rem; display: inline-block; max-width: 410px;}
        svg {display: block;max-width: 200px; max-height: 140px; object-fit:contain; margin: auto;}
        .cls-1 {fill: #000;}
        .cls-2 {fill: $darkGold;}
        a:hover p {color: $darkGold;}
    }
    .bot
    {
        & {$flex; $flexContentSpaceBetween; padding: 3rem 0 0; max-width: 750px; margin: auto; position: relative;}
        > div {width: 50%; position: relative; max-width: 375px; $flex; $flexColumn; $flexItemCenter;}
        > div > div {$flex; $flexContentSpaceBetween; $flexItemCenter; width: 100%; gap: 10px;}
        > div > div:not(:first-of-type) {margin-top: 3rem;}
        a {width: 130px; padding: .2rem 1rem;}
        p {font-size: 1rem;}
        .b_left {padding-right:1.5rem;}
        .b_right {padding-left:1.5rem;}
        .v_line {position: absolute; $yCenter; top: 65%; left: 50%; height: 50%; width: 1px; background: #00000022;}
        h6 {$primaryFont(500); font-size: .7rem; letter-spacing: .035rem; text-transform: uppercase; text-align: center; color: #000; margin-bottom: 1.75rem;}
        .corner_brdr {width: .65rem; height: .65rem;}
        a:hover .corner_brdr {width: calc(50% + 2px); height: calc(50% + 2px);}
        .schwab-login img {width: 50%; max-width: 173px;}
    }
    p {text-align: center; color: $darkGold; text-transform: none; $primaryFont(400); line-height: normal; letter-spacing: normal;transition: color .3s ease;}
}
.popup {
    & {
        display: none;
        height: 90%;
        max-height:550px;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        background-color: #fff;
        max-width: 500px;
        width: 90%;
        padding: 3rem;
        z-index: 1001;
        box-sizing:border-box;
    }
    .content{overflow-y: auto; overscroll-behavior-y: contain;height:calc(100% - 74px - 2rem);padding:10px 0;}
    h2 {margin-bottom: 2rem;}
    form {
                & {width: 100%;}
                input, textarea {
                    font-family: brandon-grotesque, sans-serif;
                    font-weight: 300;
                    display: block;
                    width: 100%;
                    font-size: 1rem;
                    line-height: 1.5rem;
                    background: transparent;
                    border: none;
                    border-bottom: solid 1px #00000066;
                    border-radius: 0;
                    -webkit-appearance: none;
                    margin-bottom: 1.2rem;
                    padding: 10px 0;
                    color: #434343;
                    
                }
                input:-webkit-autofill {
								    background-color: white !important; /* Set the desired background color */
								    -webkit-box-shadow: 0 0 0px 1000px white inset; /* Remove any shadow */
								    box-shadow: 0 0 0px 1000px white inset; /* Remove any shadow */
								    transition: background-color 5000s ease-in-out 0s; /* Prevents visual changes */
								}
								
								/* For Firefox */
								input:-moz-autofill {
								    background-color: white !important; /* Set the desired background color */
								}
								
								/* For Edge */
								input:-ms-autofill {
								    background-color: white !important; /* Set the desired background color */
								}
                .fx-field{margin-bottom:0}
                textarea {
                    height: 51px; 
                    resize: none;
                }
                ::placeholder {
                    font-family: brandon-grotesque, sans-serif;
                    font-weight: 300;
                    color: #00000066;
                    font-size: 1.1rem;
                    line-height: 1.5rem;
                }
                input:focus, select:focus, textarea:focus, button:focus {outline: none;}
                input:-webkit-autofill,
                input:-webkit-autofill:hover,
                input:-webkit-autofill:focus,
                textarea:-webkit-autofill,
                textarea:-webkit-autofill:hover,
                textarea:-webkit-autofill:focus {
                    -webkit-text-fill-color: #434343;
                    transition: background-color 5000s ease-in-out 0s;
                }
                .link-off_btn {
                & {
                    background-color: transparent;
                    cursor: pointer;
                    margin-top: 1rem;
                }
                .link-off_wrapper p {
                    color: #8C7833; 
                    margin-bottom: 0;
                    font-size: 0.8rem;
                }
            		}
            }
    .btn-close {
        font-size: 2rem;
        color: #969696;
        position: fixed;
        top: 1rem;
        right: 2rem;
        cursor: pointer;
        transition: color .3s ease;
    }
    .btn-close:hover {color:#000;}	
}
.alert-popup
{
	&{z-index:106;color:#fff;display:none;width:90%;max-width:860px;height:90%;max-height:580px;transform:translate(-50%,-50%);position:fixed;left:50%;top:50%;background:#7D6323;box-sizing:border-box;padding:4.5rem 2.75rem;}
	button{transform:rotate(45deg);width:16px;height:16px;position:absolute;top:20px;right:20px;outline:none;border:none;background:transparent url(/assets/legacy/plus-icon-wh.svg) no-repeat center/100% auto;cursor:pointer;}
	h3{$secondaryFont(300);font-size:1.9em;letter-spacing:3px;border-bottom:1px solid #fff;padding-bottom:30px;margin-bottom:40px;text-transform:uppercase;text-align:center;}
	.content{overflow-y:auto;height:100%;}
	.content > div{color:#fff;$primaryFont(300);font-size:1.95em;line-height:1.31em;text-align:center;}
	p{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;text-align:center;}
    a {color: inherit; text-decoration: underline;}
}
@media all and (max-width:767px)
{
	.alert-popup
	{
		&{padding:50px;max-height:500px;}
		.content{max-height:400px;}
		h3{font-size:1.75em;letter-spacing:2px;}
		.content > div{font-size:1.5em;}
	}	
}
.cookie-disclaimer
{
    p {color: #fff;}
    .btn-agree {background-color: $darkGold !important;}
    .btn-preferences, .btn-close-pref a {background-color: #101F29 !important;}
}

/******* UPDATE PSW *******/
#update_pw #logo,#reset_pw #logo {display: block; max-width: 265px;}
#update_pw header,#reset_pw header {background: #fff; margin-top: 0; padding: 20px 0;}
#update_pw header::after, #reset_pw header::after {display: none;}
#update_pw header .content,#reset_pw header .content {justify-content: center;}
#update_pw section h1,#reset_pw section h1 {$primaryFont; margin-bottom: 0.6em; font-size: 2rem;line-height: 1em; text-align: left; display: inline-block; color: #152c52;}
#update_pw section p,#reset_pw section p {$primaryFont; font-size: 1rem; line-height: 1.5rem;color: #152c52;}
#update_pw section .content,#reset_pw section .content {max-width:1100px; margin: 11rem 5% 0 5%;}
#update_pw section .form-buttons a,#reset_pw section .form-buttons a {$primaryFont; letter-spacing: 0.3em; cursor: pointer; transition: all 0.25s ease; display: inline-block; padding: 1em 2em; color: #152c52; border: 1px solid $gold; margin-right: 2em; font-weight: 400; text-transform: uppercase; font-size: 1rem; letter-spacing: 0.075em}
#update_pw section .form-buttons a:last-of-type,#reset_pw section .form-buttons a:last-of-type {margin-right: 0;}
#update_pw section .form-buttons a:hover,#reset_pw section .form-buttons a:hover {color:#fff; background: $gold; border: solid 1px $gold;}
#update_pw section .form-buttons,#reset_pw section .form-buttons {margin-top: 2rem;}
#update_pw section .fx-field input,#reset_pw section .fx-field input,#update_pw section .fx-field textarea,#reset_pw section .fx-field textarea {border: 1px solid #404445; font-size: 1rem; padding: 0.5em; width:100%; color: #404445;}
#update_pw section .fx-field,#reset_pw section .fx-field {margin-right: 5%; margin-bottom: 1.5rem;}
#update_pw section label,#reset_pw section label {font-size: 1rem; color:#abb7c4; background:#fff; left: 0.5em; padding: 0 0.25em;}
#update_pw section textarea,#reset_pw section textarea {resize:none; height: 10em;}
#update_pw section .fx-msg,#reset_pw section .fx-msg {left: 0 !important; top: 100% !important; color:#ff0000; font-size: 0.875em;}
#update_pw section .fx-input:focus ~ label,#reset_pw section .fx-input:focus ~ label,#update_pw section .fx-input.hasData ~ label,#reset_pw section .fx-input.hasData ~ label {left: 0.75em;}
#update_pw section,#reset_pw section {padding: 3em 0;}
#update_pw,#reset_pw {background:#fff;}
@media screen and (max-height:800px)
{
	#who-we-are #container
	{
	    .s1new
			{
				#subnav
				{
					&{bottom:15px}
					button{all:unset;appearance:none;outline:none;box-shadow:none;cursor:pointer;background:transparent url(/assets/legacy/playButton.svg) no-repeat left center/48px auto;$primaryFont(300);height:50px;line-height:50px;box-sizing:border-box;color:#d3b374;font-size:0.85em;padding-left:70px;text-align:left;text-transform:uppercase;letter-spacing:0.2em;}
				}
				
			}
	}		
}
@media screen and (max-height:700px)
{
	#who-we-are #container
	{
	    .s1new
			{
				h1{margin-top:50px !important;}
			}
	}		
}
@media screen and (max-height:670px)
{
	#who-we-are #container
	{
	    .s1new
			{
				#subnav
				{
					button{all:unset;appearance:none;outline:none;box-shadow:none;cursor:pointer;background:transparent url(/assets/legacy/playButton.svg) no-repeat left center/48px auto;$primaryFont(300);height:50px;line-height:50px;box-sizing:border-box;color:#d3b374;font-size:0.85em;padding-left:70px;text-align:left;text-transform:uppercase;letter-spacing:0.2em;}
				}
				
			}
	}		
}
@media screen and (max-height:570px)
{
	#who-we-are #container
	{
	    .s1new
			{
				#subnav
				{
					button{display:none;}
				}
				
			}
	}		
}
@media screen and (max-width: 1270px)
{
	header
	{
		.logo {width: 120px !important; height: auto !important;}
		.nav_links, .nav_redirect {display: none; visibility: hidden;}
		#menu_container {display: block; visibility: visible;}
		#full_nav a {display: block;}
        a p::after {width: 4px; height: 4px; border-radius: 2px; top: -6px;$xCenter;}
	}
}
@media screen and (max-width: 1150px)
{
    #who-we-are #container .s2, #what-we-do #container .s2, #wealth-management #container .s2
    {
        & {padding: 4rem 2rem;}
        .text_container {width: auto;}
        .text_wrapper {padding: 0 10px;}
        .text_wrapper .line p {font-size: 2.1rem;}
    }
		#resource-center #container
		{
			.s2 
			{
				.page
				{
					&{flex-direction:column;gap:50px;}
					.featured
					{
						&{margin-bottom:0}
						a{flex-direction:column;}
						a > div{width:100%}
						a > div:nth-child(1) p.date{display:block;}
						a > div:nth-child(2) p.date{display:none;}
						.learn{position:relative;}
						a p.title{font-size:30px;line-height:36px}
					}	
					a.article{max-width:600px;margin:0 auto;width:100% !important;}
				}
			}
		}
    #contact #container {
        .s3 {
            & {$flexColumn;}
            .left, .right {
                width: 100%;
                height: auto;
            }
            .left {
                & {padding: 5rem 1rem 4rem 1rem;}
                > div {
                    max-width: none;
                    position: relative;
                    transform: none;
                    top: auto;
                    left: auto;
                    margin-left: 0;
                    margin-right: 0;
                    right: auto;
                }
            }
            .right {height: 550px;}
        }
        .s3.new
        {
        	&{min-height:100px}
        	.left{padding:5rem 1rem 0 1rem;}
        	.fx-slide:last-child{border-bottom:none;}
        }
    }
}

@media screen and (max-width: 980px)
{
    .inner .s1
    {
        &{max-height: 700px;}
        .hero_text {padding: 160px 0;}
        h1.hr {font-size: 4.2rem; letter-spacing: .21rem;}
        p.hro {font-size: 1rem; line-height: 1.45;}
    }
    
    footer .disclaimer_links {$flexWrap; $flexContentCenter;column-gap: 2rem;}

    #who-we-are #container .s2 ,#what-we-do #container .s2, #wealth-management #container .s2
    {
        &{padding: 3rem 1rem;}
        .scroll_jack-container {min-height: auto;}
        .text_wrapper .bg_text p {font-size: 1.8rem;}
    }

    #who-we-are #container
    {
        .s3
        {
            .contain {margin: 0 5%;}
            .info_boxes {$flexColumn; gap: 3rem; min-height: unset;}
            .hover_box {width: 100%; max-width: 500px;}
        }
        .s3::before {min-height: 60rem;}

        .s4
        {
            .team_wrapper {gap: 2.5rem 1rem;}
            .team_wrapper .person {width: calc(50% - .5rem);}
            .intro_text {$flexColumn; gap: 2rem;}
        }
    }
    #team #container
    {
    	.s4
        {
            .team_wrapper {gap: 2.5rem 1rem;}
            .team_wrapper .person {width: calc(50% - .5rem);}
            .intro_text {$flexColumn; gap: 2rem;}
        }
    }
    #contact #container
    {
        .s2
        {
            & {padding: 6rem 0 0;}
            .contain {$flexColumn; gap: 4rem; margin: 0;}
            .left, .right {width: 100%;}
            .left {padding: 0 3%;}
            .right {position: static; height: auto;}
            .right img {height: auto; max-height: 600px;aspect-ratio: 4/3.8;}
        }
    }
    #resource-center #container .s2
    {
        .article {width: 48%;}
    }
    #resource-center #container
		{
			.s2
			{
				> .slide{padding:75px 0;}
				.subnav{flex-direction:column;} 
				.subnav a{margin-right:0}
				.subnav a:hover{opacity: 1; border-bottom-color: transparent; color: $darkGold;}
			}
		}
    #article #container .s2
    {
        & {padding: 12rem 0 6rem;}
        a.back {margin-left: 0;}
    }
}
@media screen and (max-height:750px)
{
	header .logo{width:210px}
	#who-we-are,#family-office,#wealth-management,#team,#resource-center,#faq,#contact
	{
		.s1new .contain{padding-top:150px}
		#container 
		{
			.s1new,.s1
			{
				h1{font-size:3.4rem;}
			}	
		}	
	}
	#family-office #container .s1 p {max-width:430px;}
	
}
@media screen and (max-height: 699px), screen and (max-width: 979px) 
{
    #home #container
    {
  	    #scrollSlider
		{
            > .fx-slides, > .fx-slides > div {width: 100% !important;}
			> .fx-slides > div 
			{
				&{width:100% !important;height:auto !important;}
				> section{float:none !important;transform:scale(1);transition:transform 1s $bezier,top 1s $bezier; width: 100% !important;}
				.topZero{top:0;transform:scale(1);}
				.top100{top:0}
				.topNegative{top:0}
				.minus{top:0}
				.plus{top:0}
			}
			.s1,.s2,.s3,.s4
			{
				&{height:auto !important;min-height:0;position:relative;float:none;margin-top:0 !important;box-sizing:border-box}
				h3,h4,p,a{opacity:1;}
			}
            .s1
            {
                &{height: 100vh !important; max-height: 800px;}
                .hero_text {position: static; height: 100%; transform: none; $flex; $flexColumn; padding: 225px 0; box-sizing: border-box;}
                h1 {font-size: 4rem;letter-spacing: .2rem;}
                h4 {font-size: 1.75rem;}
            }
            .s2
            {
                &{padding: 7rem 0;}
                .contain {margin: 0 3%;}
                .left {width: 62%;}
                .right {width: 35%;}
            }
            .s3
            {
                &{padding: 12rem 0 10rem;}
                .contain {margin: 0 3%;}
                .bg_image_slides, .image_slide, .overlay {height: 100%; top: 0;}
                .slider_wrapper {top: auto;}
            }
            .s4
            {
                &{padding: 4rem;}
                .video_wrapper {width: 100%; height: 100%; margin: 0;}
            }
        }
    }
    #who-we-are #container
    {
    	.s2pc
      {
          &{padding: 7rem 0;}
          .contain {margin: 0 3%;}
          .left {width: 62%;}
          .right {width: 35%;}
      }
      #home_video-prefooter
      {
      	&{height:auto !important;min-height:0;position:relative;float:none;margin-top:0 !important;box-sizing:border-box;padding: 4rem;}
				h3,h4,p,a{opacity:1;}
				.video_wrapper {width: 100%; height: 100%; margin: 0;}
      }
    }
}
@media screen and (max-height: 699px), screen and (max-width: 849px) 
{
    #what-we-do #container, #wealth-management #container 
    {
        .s3
        {
            &{height: auto;}
            .hboxes .scroll_jack-container
            {
                &{width: 100%; transform: none !important; $flexColumn;}
                .box_wrapper
                {
                    &{width: 100%; height: auto; padding-top: 0;}
                    .image_box {flex-direction: column-reverse !important;}
                    .box_label {align-items: center !important; justify-content: center !important; padding: 2.5rem 1rem;}
                    .h_line {display: none;}
                    h3, p {opacity: 1 !important;}
                }
                .box_wrapper:nth-of-type(even)
                {
                    & {$flexRowR;}
                }
            }
        }
        .s4
        {
            .card
            {
                &{position: static; height: auto; flex-direction: column !important;}
                > div {width: 100%;}
                .content_half > div {width: 100%; max-width: 100%; $flexItemStart; padding: 7rem 1rem 4rem !important; margin: auto !important;}
                img {height: 300px;}
                p {width: 100%;}
                p.hro {line-height: 1.7;}
            }
            .card:nth-child(-n + 2) img {object-position: center 20%;}
        }
    }
    #login_modal 
    {
        & {width: calc(100vw - 60px); max-width: 500px;}
        .contain {overflow: hidden scroll;}
        .bot {$flexColumn; $flexCenter;}
        .bot > div {padding-left: 0 !important; padding-right: 0 !important; max-width: 100%; width: 100%;}
        .bot > div > div {max-width: 300px; margin: auto;}
        .b_left {padding-bottom: 2.5rem; border-bottom: 1px solid #00000022;}
        .b_right {padding-top: 2.5rem;}
        .v_line {display: none;}

    }
}
@media screen and (max-width: 767px){
    p {font-size: 18px;}
    p.xlg {font-size: 1.4rem;}
    section.pad {padding: 5rem 0;}

    .inner .s1
    {
        &{max-height: 100vh; height: auto;}
        .hero_text {padding: 175px 0 160px;}
        h1.hr {font-size: 3.5rem; letter-spacing: .17rem;}
        p {font-weight: 300;}
    }
    footer 
    {
        .nav_links
        {
            & {$flexColumn; $flexItemCenter; gap: 8px;}
            a {padding-bottom: 0; border-bottom: 0 !important;}
            p {text-align: center;}
        }
        .h_line {transform: none; margin: 20px 0;}
        .legal {$flexColumn; $flexItemCenter; gap: 10px;}
    }
    #home #container #scrollSlider
    {
        .s1 h4 br {display: block;}
        .s2
        {
            &{padding: 6rem 0;}
            .left {width: 100%;}
            .right {display: none;}
        }
        .s4 {padding: 5rem 2rem;}
    }
    #who-we-are #container .s2 ,#what-we-do #container .s2, #wealth-management #container .s2
    {
        .text_container {padding: 120px 0;}
        .text_wrapper .bg_text p {font-size: 1.5rem;}
        .link-off_btn {padding: .9rem; max-width: 10rem;}
        .link-off_btn p {font-size: 10px;}
    }
    #who-we-are #container
    {
       .s2pc
       {
       	&{height:auto;padding:1px 0;}
       	.contain{display:block;}
       	.left{width:100%;padding-bottom:50px;}
       	.left > div{max-width:100%;}
       	.right{position:relative;width:100%;left:0;height:300px;}
       }	
        .s3::before {background-image: url(/util/serve-image?i=Who-we-are-mobile.jpeg&d=spirepoint&c=webp&q=90);}
       #home_video-prefooter{padding: 5rem 2rem;} 
    }
    #bio #container
    {
        .s2
        {
            &{padding: 10rem 0 6rem;}
            .bio_wrapper
            {
                &{$flexColumn; gap: .5rem;}
                .left, .right {width: 100%;}
            }
            .contact_info {display: inline-block;}
            .--mob {display: block;}
            .--desk{display: none;}
            p.title {margin-bottom: 1.4rem;}
        }
    }
    #faq #container .s2
    {
        .faq_label
        {
            p.number {width: 57px; font-size: 2.2rem; letter-spacing: .11rem;}
            p.xlg {font-size: 26px;}
        }
        .faq_content
        {
            .empty.--left, .empty.--right {display: none;}
        }
    }
    
    #login_modal .btn-close, #videoPopUp .btn-close {right: -25px;}

    #contact #container {
        .s3 {
            .right {height: 400px;}
            .left button{font-size:30px;padding:40px 0;}
        }
        .s4
        {
        	form .cols,form .cols2{display:block;}
        	form .link-off_btn{margin-top:30px;}
        }
    }
		
}
@media screen and (max-width: 600px){
    #home #container
    {
        .s3
        {
            &{padding: 6rem 0 8rem; overflow: hidden;}

            .slider_wrapper {display: none;}
            .acc_wrapper {display: block;}
            .link-off_btn {display: block;}
            .fx-nav {margin-top: 2rem;}
            h4.sh {margin-top: 1.22rem;}
            .link-off_btn {margin: 2.22rem 0 2.5rem;}
            .image_slide, .image_slides {min-height: 790px;}
        }
    }
    #resource-center #container .s2
    {
        .fx-list {margin: 0 auto 3.5rem; padding-bottom: 2rem;}
        .fx-list > div {$flexColumn; $flexItemStart; gap: 4px;}
        .fx-nav {padding: 0; border: 0; width: 100% !important; font-size: 22px; text-align: left;}
        .article {width: 100%;}
    }
    #what-we-do #container, #wealth-management #container
    {
        .s3
        {
            .hboxes .scroll_jack-container
            {
                .box_wrapper
                {
                    &{width: 100%; $flexColumn !important;}
                    > div {width: 100%;}
                    .image_box > div {height: 175px;}
                    .content_box {padding: 4rem 1rem; $flexItemStart;}
                    .box_label {$flexContentStart !important;}
                    .image img {object-position: center 16%;}
                }
            }
        }
    }
}

@media screen and (max-width: 540px){
    .inner .s1
    {
        h1.hr {font-size: 3rem; letter-spacing: .15rem;}
        p {font-size: 1rem; line-height: 1.55;}
    }
    #home #container
    {
        .s1 h1 {font-size: 3.5rem; letter-spacing: .175rem;}
        .s1 h4 {font-size: 1.5rem;}
    }
    #who-we-are #container
    {
        .s4 .team_wrapper {$flexContentCenter;}
        .s4 .team_wrapper .person {width: 100%; max-width: 415px;}
    }
    #team #container
    {
    	.s4 .team_wrapper {$flexContentCenter;}
      .s4 .team_wrapper .person {width: 100%; max-width: 415px;}
    }
    #who-we-are #container .s2 ,#what-we-do #container .s2, #wealth-management #container .s2
    {
        .text_wrapper .bg_text p {font-size: 1.1rem;}
    }
    #faq #container
    {
        .s4 .faq_content td {font-size: .65rem;}
    }
}


@media screen and (max-width: 425px){
    #who-we-are #container .s2 ,#what-we-do #container .s2, #wealth-management #container .s2
    {
        .text_wrapper .bg_text p {font-size: 16px;}
    }
}
@media all and (max-width:1600px)
{
	#contact #container .s3.new.f 
	{
		.left > div{max-width: calc(100% - 6rem);margin: 0 3rem;}
	}	
}
@media all and (max-width:1480px)
{
	#contact #container .s3.new.f 
	{
		.left > div{max-width:88%;margin: 0 6%;}
	}	
	#wealth-management #container .s1
	{
		.subnav-links1
		{
			h2{font-size:2em;}
			> div:nth-child(1){padding-top:25px;width:320px;}
			> div:nth-child(2){width:calc(100% - 320px)}
			> div:nth-child(3){display:none;}
		}
		.subnav-links2 
		{
			&{left:3%;}
			h2{font-size:2em;}
			> div:nth-child(1){padding-top:25px;width:320px;}
		}	
	}
	#container .s1 .subnav-links2 > div:nth-child(2){width:calc(100% - 320px);}
}
@media all and (max-width:1124px)
{
	#wealth-management #container
	{
		.s1
		{
			&{overflow:hidden}
			#draw1,svg{height:50%;width:230%;left:-115%;top:30px;}
			#draw1 > svg{width:100%;height:100%;left:0;top:0;}
			h1{font-size:2.2em;letter-spacing:0.025em;margin-top:calc(100px + 2em);}
			h1 br{display:none;}
		}
	}	
	#who-we-are #container
	{
		.s1new
		{
			&{overflow:hidden}
			#draw1,svg{height:50%;width:200%;left:-86%;top:30px;}
			#draw1 > svg{width:100%;height:100%;left:0;top:0;}
			h1{font-size:2.2em;letter-spacing:0.025em;margin-top:calc(100px + 2em);}
			h1 br{display:none;}
		}
	}
	#team #container
	{
		.s1new
		{
			&{overflow:hidden}
			#draw1,svg{height:50%;width:200%;left:-86%;top:30px;}
			#draw1 > svg{width:100%;height:100%;left:0;top:0;}
			h1{font-size:2.2em;letter-spacing:0.025em;margin-top:calc(100px + 2em);}
			h1 br{display:none;}
		}
	}	
	#resource-center #container
	{
		.s1new
		{
			&{overflow:hidden}
			#draw1,svg{height:50%;width:200%;left:-86%;top:30px;}
			#draw1 > svg{width:100%;height:100%;left:0;top:0;}
			h1{font-size:2.2em;letter-spacing:0.025em;margin-top:calc(100px + 2em);}
			h1::after{height:5px;width:70px;}
			h1 br{display:none;}
		}
	}
	#faq #container
	{
		.s1new
		{
			&{overflow:hidden}
			#draw1,svg{height:50%;width:200%;left:-86%;top:30px;}
			#draw1 > svg{width:100%;height:100%;left:0;top:0;}
			h1{font-size:2.2em;letter-spacing:0.025em;margin-top:calc(100px + 2em);}
			h1::after{height:5px;width:70px;}
			h1 br{display:none;}
		}
	}
	#contact #container
	{
		.s1new
		{
			&{overflow:hidden}
			#draw1,svg{height:50%;width:200%;left:-86%;top:30px;}
			#draw1 > svg{width:100%;height:100%;left:0;top:0;}
			h1{font-size:2.2em;letter-spacing:0.025em;margin-top:calc(100px + 2em);}
			h1::after{height:5px;width:70px;}
			h1 br{display:none;}
		}
	}
}
@media all and (max-width:767px)
{
	#wealth-management #container
	{
		#subnav{display:block;width:100%}
		.s1 #subnav button.fos{display:none;}
		.s1 #subnav button.wms{border-top-left-radius:30px;border-bottom-left-radius:30px;font-size:1.1em;width:100%}
	}
	#container .s1 
	{
		.subnav-links1,.subnav-links2
		{
			&{flex-direction:column;}
			h2{font-size:2em;}
			> div{width:100% !important;}
			> div:nth-child(1){padding-top:0}
			ul{flex-direction:column;}
			li{padding-bottom:0;width:100%}
			
		}
	}
	#resource-center,#faq,#contact
	{
		#container 
		{
			.s1new
			{
				&{height:500px;}	
				h1{margin-top:calc(2em + 130px);}
				#draw1{top:80px;}
			}	
		}	
	}
	#contact #container .s3.new.f 
	{
		.fx-slide{flex-direction:column;gap:0}
		.fx-slide > *{width:100% !important;}
		.fx-slide > img{order:2;margin-top:0;display:block;}
		.fx-slide > p{order:1}
	}		
}	
@media all and (max-height:860px)
{
	.s1,.s1new
	{
		.contain{padding-top:100px;box-sizing:border-box}	
	}
}	