/* Please remove variable if you are happy with the default value */

@import url('https://fonts.googleapis.com/css2?family=Afacad+Flux:wght@100..1000&family=Instrument+Serif:ital@0;1&display=swap');

:root {
  /* Main colors */
  --card-background: hsl(0, 0%, 100%, .8);
  --card-text-color: #1c1c1c;
  --background-color: #fff;
  --foreground-color: #1c1c1c;
  --theme-color: #435886;
  --theme-color-2: hsl(10, 33%, 39%);
  --theme-color-3: hsl(60, 33%, 39%);
  --theme-color-4: hsl(100, 33%, 39%);
  --theme-color-5: hsl(160, 33%, 39%);
  --theme-color-6: hsl(255, 33%, 39%);
  --btn-foreground: #000;
  --btn-background: linear-gradient(125deg, #bfa76f, #b38600);
  --btn-border-color: #d6be85;
  --overlay: #353535;
  --navigation-logo-width: 400px;

  /* Text Elements */
  --body-font: "Afacad Flux", sans-serif;
  /* --body-font-size: 16px; */
  --body-letter-spacing: unset;
  --body-line-height: 1.6;
  --body-font-weight: 400;
  /* --text-shadow: 1px 1px 3px hsla(0, 0%, 0%, .6); */

  /* --paragraph-margin-block-end: .72em; This is for lists and paragraphs  */

  --h1-font: "Instrument Serif", serif;
  /* --h1-font-size: 2em; */
  --h1-font-weight: 400;
  --h1-font-letter-spacing: -1px;
  /* --h1-margin-block-end: .5rem; */

  --h2-font: "Instrument Serif", serif;
  /* --h2-font-size: 1.5em; */
  --h2-font-weight: 400;
  --h2-font-letter-spacing: .5px;
  /* --h2-margin-block-end: .5rem; */

  --h3-font: "Instrument Serif", serif;
  /* --h3-font-size: 1.17em; */
  --h3-font-weight: 400;
  --h3-font-letter-spacing: 0;
  /* --h3-margin-block-end: .5rem; */

  --h4-font: "Instrument Serif", serif;
  /* --h4-font-size: inherit; */
  --h4-font-weight: 400;
  --h4-font-letter-spacing: 0;
  /* --h4-margin-block-end: .5rem; */

  --title-font: "Instrument Serif", serif;
  --title-font-size: clamp(3em, 6vw, 6em);
  --title-font-weight: 400;
  --title-font-letter-spacing: -1px;
  --title-font-transform: capitalize;
  --title-margin-block-end: .1em;

  --subtitle-font: "Instrument Serif", serif;
  --subtitle-font-weight: 400;
  /* --subtitle-font-size: 1.125em; */
  /* --subtitle-font-letter-spacing: .02em; */
  --subtitle-font-transform: capitalize;
  --subtitle-margin-block-end: 0;

  /* events, bio, teams, carousel do you want this as a class? */
  /* --secondary-header-font-size: 0.875em; */
  /* --secondary-header-font-weight: 300 */
  /* --secondary-font-letter-spacing: .1em; */
  /* --secondary-header-transform: uppercase; */

  /* Links */
  /* --link-icon-dimension: 1em; */

  /* buttons */
  /* --btn-icon-dimension: .95em */

  /* Social Media Icons */
  /* --social-icon-padding-Y: .5em; */
  /* --social-icon-padding-X: .5em; */
  /* --social-icon-border-width: 1px; */
  /* --social-icon-border-radius: 0;

    /* Media */
  /* --iframe-aspect-ratio: 16 / 9; */

  /* A11y Focus Outline */
  /* --outline-style: solid; */
  /* --outline-width: 2px; */
  /* --outline-color: currentColor; */

  /* Section padding */
  /* --content-width: 1100px; */
  --section-block-padding: clamp(40px, 10vw, 65px) clamp(40px, 10vw, 100px);

  /* Grid */
  --grid-gap-block: 2em;
  --grid-gap-inline: 2em;

  /* Disclaimer class="container--disclaimer" */
  /* --disclaimer-font-size: .875rem; */
  /* --disclaimer-top-padding: 2.8em; */

  /* Form Elements */
  /* --input-font-size: 1em; */
  /* --input-padding-inline: .9em; */
  /* --input-padding-block: .9em; */
  --input-border-radius: 0;
  /* --input-border-width: 2px; */
  /* --input-border-style: solid; */

  /* Card Style */
  --card-padding-block: 32px;
  /* --card-padding-block: 16px; Desktop Padding */
  /* --card-border-style: unset; */
  /* --card-border-width: unset; */
  /* --card-border-radius: unset; */
  /* --global-box-shadow-x: 0; */
  /* --global-box-shadow-y: 10px; */
  /* --global-box-shadow-blur: 30px; */
  /* --global-box-shadow-spread: -10px; */
  /* --global-box-shadow-color-percent: 30%;  */

  /* Navigation */
  /* --header-block-padding: 14px; */
  /* --header-inline-padding: 25px; */
  /* --navigation-logo-width: 245px; */
  /* --navigation-toggle-width: 2em; */
  /* --navigation-toggle-height: 1.5em; */
  /* --navigation-toggle-line-height: 4px; */
  /* --navigation-toggle-line-radius: 4px; */
  /* --navigation-dropdown-icon-width: .6em; */
  /* --navigation-dropdown-icon-height: .6em; */
  /* --navigation-font-size: inherit; */

  @media (width <=768px) {
    --body-font-size: 14px;
  }
}

section,
footer,
header {
  /* --h1-color: var(--foreground-color, #000); */
  /* --h2-color: var(--foreground-color, #000); */
  /* --h3-color: var(--foreground-color, #000); */
  /* --h4-color: var(--foreground-color, #000); */

  /* --title-color: var(--foreground-color, #000); */
  --subtitle-color: #000;

  /* Links */
  /* --link-color: var(--theme-color, #000); */

  /* --social-icon-border-color: color-mix(in srgb, var(--theme-color, #000) 20%, transparent); */
  /* --social-icon-background: transparent; */

  /* Media */
  /* --icon-color: var(--foreground-color, #000); */

  /* Disclaimer class="container--disclaimer" */
  /* --disclaimer-color: color-mix(in srgb, var(--foreground-color, #000) 80%, var(--background-color, #fff)); */

  /* Form Elements */
  --input-border-color: color-mix(in srgb, var(--foreground-color, #000) 60%, transparent);
  --input-background-color: transparent;
  /* --input-color: var(--foreground-color, #000); */

  /* Card Style */
  /* --card-border-color: unset; */
  /* --global-box-shadow-color: #212326 */
}

.mode--dark {
  --background-color: #f7f7f7;
}

.mode--color {
  --foreground-color: #fff;
  --background-color: #435886;
  --theme-color: #fff;
  --error: #ffcfcf;

  [data-col-style="card"] .col,
  .content--card {
    --background-color: #fff;
    --foreground-color: #1c1c1c;
    --theme-color: #435886;
    --btn-foreground: #000;
    --input-border-color: color-mix(in srgb, var(--foreground-color, #000) 60%, transparent);
  }

  summary {
    --btn-foreground: # fff;
  }
}

h1,
h2 {
  line-height: 1.2;

  @media (width <=500px) {
    line-height: 1;
  }
}

strong {
  font-weight: 700;
}

.container--title,
.section--hero {

  .subtitle {
    display: inline-block;
    color: var(--background-color);
    background: var(--theme-color);
    padding: 2px 16px;

    @media (width <=500px) {
      margin-block-end: .3em;
    }
  }
}

.container--title {
  +* {
    margin-block-start: 1.6em;
  }
}

.container--lead {
  max-width: 80ch;
  font-size: 1.34em;
  font-weight: 300;

  *:first-child {
    @media (width <=500px) {
      margin-block-start: .5em;
    }
  }
}

/* .btn {
    font-family: inherit;
    font-weight: 300;
    word-spacing: inherit;
    letter-spacing: .02em;
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding-block: .4em;
    padding-inline: 2em;
    border-style: solid;
    border-width: 2px;
    text-transform: capitalize;
    border-color: var(--btn-border-color, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--btn-foreground) 10%, transparent);
    background: unset;
    background-image: linear-gradient(125deg, #bfa76f, #b38600) !important;
    background-size: 200% 100%;
    background-position: 0% 0%;
    transition: all 400ms ease-in;

    &:hover,
    &:focus {
        box-shadow: inset 0 0 0 1px var(--btn-foreground);
        border-color: color-mix(in srgb, var(--btn-border-color) 75%, white);
        background-position: 100% 0%;
        transition: all 400ms ease-in;
    }
} */

.btn {
  font-family: inherit;
  font-weight: 500;
  word-spacing: inherit;
  letter-spacing: .02em;
  text-decoration: none;
  position: relative;
  display: inline-block;
  padding-block: .4em;
  padding-inline: 2em;
  border-style: solid;
  border-width: 2px;
  text-transform: capitalize;
  border-color: var(--btn-border-color, transparent);
  background: transparent;
  transition: all 400ms ease-in;

  &:hover,
  &:focus {
    border-color: color-mix(in srgb, var(--btn-border-color) 75%, white);
    background: #bfa76f;
    color: #323232 !important;
  }

  .mode--color &,
  .overlay-navigation:not(.fixed) #page--header & {
    color: var(--foreground-color);
  }
}

.col:has(>.corner-link) {
  background-color: color-mix(in srgb, var(--theme-color) 4%, white);

  .corner-link {
    display: flex;
    gap: .3em;
    text-decoration: none;
    padding: 2px 6px;
    cursor: pointer;
    color: var(--btn-foreground);
    border: 2px solid;
    border-color: var(--btn-border-color, transparent);
    /* box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--btn-foreground) 10%, transparent); */
    background: transparent;
    /* background-image: linear-gradient(125deg, #bfa76f, #b38600) !important; */
    /* background-size: 200% 100%; */
    /* background-position: 0% 0%; */
    transition: all 400ms ease-in;

    .container--text.visible {
      position: unset;
      width: unset;
      height: unset;
      padding: unset;
      margin: unset;
      overflow: unset;
      clip: unset;
      white-space: unset;
      border: unset;
    }
  }
}

[data-col-style="1"] .col,
.col-style-1 {
  position: relative;
  padding: 1em 2em;
}

.col:has(blockquote) {
  --header-font-weight: 300;
  --quote-font-size: 1.25em;
  --quote-icon-dimensions: 40px;
  --card-padding-inline: 0;
  --card-padding-block: 0;

  blockquote {
    margin: 0;
    padding: calc(45px + 1em) 1em 1em;

    p {
      margin-block-start: 0;
    }

    .container--icon {
      top: 1em;
      left: 1em;
      translate: 0;
    }

    footer {
      font-size: 1em;
    }
  }
}

.header--connect-bar {
  --link-gap: 1em;
  padding-block-end: 2px;
  grid-template-columns: 1fr auto;

  .btn {
    padding-block: .1em;
    padding-inline: 1.6em;

    &:hover,
    &:focus {
      text-shadow: unset !important;
    }
  }

  .container--links {
    position: relative;
  }

  .dropdown {
    --link-icon-dimension: .65em;

    .container--icon {
      position: relative;
      display: block;
      top: -6px;

      svg {
        rotate: -90deg;
        fill: var(--foreground-color);
        filter: drop-shadow(1px 0 2px hsla(0, 0%, 0%, .34)) !important;
      }
    }

    &[aria-expanded="false"] {

      .container--icon {

        svg {
          rotate: 90deg;
        }
      }

      +ul {
        display: none;
      }
    }

    +ul {
      margin-block: 0;
      position: absolute;
      top: 100%;
      left: -10px;
      background-color: #fff;
      display: flex;
      flex-direction: column;
      gap: .8em;
      padding-block: 6px;
      padding-inline: 10px;
      list-style: none;
      z-index: 999999999;
      width: 200px;

      li:not(:last-child) {
        position: relative;

        &::after {
          content: "";
          position: absolute;
          height: 1px;
          background-color: #b7b7b7;
          width: calc(100% + 20px);
          bottom: -.4em;
          left: -10px;
        }
      }

      * {
        text-shadow: none !important;
      }
    }
  }
}

.navigation--connect-bar {

  .dropdown {
    --link-icon-dimension: .65em;

    .container--icon {
      position: relative;
      display: block;
      top: -5px;

      svg {
        rotate: -90deg;
        fill: var(--foreground-color);
      }
    }

    &[aria-expanded="false"] {

      .container--icon {

        svg {
          rotate: 90deg;
        }
      }

      +ul {
        display: none;
      }
    }

    +ul {
      margin-block: 0;
      display: flex;
      flex-direction: column;
      gap: .8em;
      padding-block: 6px !important;
      padding-inline: 10px;
      list-style: none;
      margin-block-start: -10px !important;
      border: 1px solid #b7b7b7;

      li:not(:last-child) {
        position: relative;

        &::after {
          content: "";
          position: absolute;
          height: 1px;
          background-color: #b7b7b7;
          width: 100%;
          bottom: -.4em;
          left: 0;
        }
      }

      * {
        text-shadow: none !important;
      }
    }
  }
}

.navigation--menu {

  .active {
    --navigation-text-decoration: underline;
  }
}

body {

  &:is(.index, .customsection2, .customsection3, .customsection7, .customsection8) {

    &:not(.fixed) {

      .branding {

        @media (width <768px) {
          display: none;
        }
      }

      .branding_m {
        position: relative;
        top: 4px;
        padding-inline-end: 20px;

        @media (width >=768px) {
          display: none;
        }
      }
    }

    .section--hero {
      @media (width <=880px) {
        height: unset !important;
      }
    }
  }

  &:not(.index, .customsection2, .customsection3, .customsection7, .customsection8) {

    .branding {
      display: none;
    }
  }

  &.fixed {

    .branding,
    .branding_m {
      display: none;
    }
  }

  &:not(.fixed) {

    .branding-sticky {
      display: none;
    }

    .fixed_only {
      display: none;
    }
  }
}

hr {
  height: 1px;
  border: none;
  background-color: #212326;

  .mode--color & {
    background-color: #fff;
  }
}

section:has(hr:last-of-type) {
  padding-block-end: 0;

  hr {
    margin-block-start: clamp(40px, 10vw, 100px);
    margin-block-end: 0;
  }
}

/* Slick Carousel Buttons */

.container--carousel {

  .slick-prev,
  .slick-next {
    width: 2em;
    height: 2em;
    background-color: var(--theme-color);
    border-radius: 50%;

    &.slick-disabled {
      opacity: .3;
    }

    .container--icon {
      height: 1em;
      width: 1em;

      svg {
        fill: var(--btn-foreground);
        width: 1em;
        height: 1em;
      }
    }
  }
}

[data-design="tabs"] {

  a,
  [tabindex="0"] {

    &:focus {
      outline-offset: -6px;
    }
  }

  .slick-prev,
  .slick-next {
    height: 100%;
    border-radius: 0;
  }

  .slide-list {
    .slick-list {
      margin-inline-start: 33px;
      margin-inline-end: 33px;
      background-color: var(--card-background);
      box-shadow: var(--global-box-shadow-x, 0) var(--global-box-shadow-y, 10px) var(--global-box-shadow-blur, 30px) var(--global-box-shadow-spread, -10px) color-mix(in srgb, var(--global-box-shadow-color, #212326) var(--global-box-shadow-color-percent, 30%), transparent);
    }
  }

  .slide-content {
    max-width: 250px;
    padding: 1em 2em;
    color: var(--foreground-color);
    background-color: var(--card-background);
    border-right: 1px solid color-mix(in srgb, var(--foreground-color) 25%, transparent);
  }

  .slick-current .slide-content {
    color: var(--btn-foreground);
    background-color: var(--btn-background);
  }
}

[data-design="carousel--links"],
[data-design="carousel--tabs"] {

  .slide-list {
    padding-block-start: 3em;
  }

  .slick-prev,
  .slick-next {
    top: 0;
  }

  .slick-prev {
    right: 48px;
  }
}

/* accordion */

details {
  border-bottom: 1px solid color-mix(in srgb, var(--foreground-color) 25%, transparent);
  padding-block: .6em;

  &[open] {

    summary::after {
      rotate: 0deg;
      content: "-";
      font-size: 1em;
      font-weight: 800;
    }
  }
}

summary {
  font-weight: 600;
  font-size: 1.25em;
  padding-block-end: .6em;
  padding-inline-end: 55px;

  &::after {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    color: var(--btn-foreground);
    background-color: var(--btn-background);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    translate: 3px;
  }
}

/* Custom some Sections */

.section--hero {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;

  .container {
    width: 100%;
  }

  .bg_media {
    position: absolute;
    left: -12%;
    top: 25%;
    transform: scale(-1, 1);
    z-index: 0;
    opacity: .2;
    max-height: 200%;

    @media (width <=500px) {
      opacity: .3;
    }
  }

  .hero-content {
    position: relative;
    z-index: 1;
    align-content: center;
    padding-block: 4em;
  }

  .container--col {
    --grid-gap-inline: 4em;
  }

  .title {
    text-align: center;
    font-size: clamp(3.6em, 10vw, 7em);
    max-width: 780px;
    margin-inline: auto;

    @media (width >=768px) {
      line-height: 1.4;
    }
  }

  strong {
    font-weight: 400;
    color: var(--background-color);
    background-color: var(--theme-color);
    padding-inline: .1em;

    .mode--color & {
      background-color: var(--foreground-color);
    }
  }

  .btn {
    font-size: 1.24em;
  }
}

#resources {
  div.col .container--col {
    &[data-col-count="1/2"] {
      @container (width >=650px) {
        grid-template-columns: 25% minmax(0, 1fr);
        align-items: center;
      }
    }
  }
}

.custom_stats {

  .container {
    position: relative;
  }

  .col {
    border: 1px solid var(--theme-color);

    &:nth-child(2) {

      @media (width >=768px) {
        border-left: 0;
        border-right: 0;
      }
    }
  }
}

.statistic--title {

  .count,
  .match-count {
    font-size: clamp(1.25em, 4vw, 3em);
  }
}

.team .container--content {
  --foreground-color: #2c2c2c;
  background-color: #fff;
  padding-inline: 1em 0;
  padding-block-end: .6em;
}

[data-design="associates-list"] {
  & .associate-name {

    .name-data {
      font-weight: 600;

      @media (width <=500px) {
        font-size: 1.1rem;
      }
    }

    .associate-title {
      @media (width <=500px) {
        font-size: 1rem;
      }
    }

    button,
    a {
      width: 100%;
    }

    & .container--icon {
      svg {
        width: 100%;
        height: 100%;
        fill: var(--foreground-color);
      }
    }
  }
}

[data-design="associate"] {
  & .container--header-v2 {

    & .associate-name {
      font-size: clamp(1.6em, 2vw, 2em);
      max-width: 25ch;
    }
  }
}

.modal.associate {

  .container--header {
    padding-inline-start: 24px;
    margin-block-end: 24px;

    .container--content {
      display: grid;
      gap: 0 2em;
      grid-template-columns: auto 34px 1fr;
    }

    .associate-name {
      margin-block-end: 0;
    }

    .associate-title {
      grid-column: 1;
    }

    .container--link-icon {
      grid-row: 1;
      grid-column-start: 2;
    }

    p {
      margin-block: 0;
    }
  }
}

.custom-sequential {

  & .col:has(.col--flex) {

    &:nth-child(4) {

      &::after {
        height: calc(var(--grid-gap-inline, 1em) + 100%);
      }
    }

    &:nth-child(5) {

      &::before {
        position: absolute;
        top: calc(var(--grid-gap-block, 1em) / -2 - 1px);
        right: calc(var(--grid-gap-inline, 1em) / -2 - 1px);
        height: 2px;
        width: 100%;

        @container (width >=650px) {
          content: "";
          background-color: var(--theme-color);
        }
      }

      &::after {
        position: absolute;
        top: calc(var(--grid-gap-block, 1em) / -2 - 1px);
        right: calc(var(--grid-gap-inline, 1em) / -2 - 1px);
        height: 100%;
        width: 2px;
      }
    }

    &:nth-child(4) {
      &::before {
        position: absolute;
        bottom: calc(var(--grid-gap-block, 1em) / -2 - 1px);
        left: calc(var(--grid-gap-inline, 1em) / -2 - 1px);
        height: 2px;
        width: 100%;

        @container (width >=650px) {
          content: "";
          background-color: var(--theme-color);
        }
      }
    }
  }
}

section.blog {

  .content--card {
    padding: 0;

    >*:not(.container--media) {
      padding-inline: .8em;
    }
  }

  .event--date {
    display: block;
    padding-block-start: .6em;
  }

  .col--title {
    padding-block-start: .6em;
    margin-block-end: 0;
    font-size: 1.2em;
  }
}

.blog--filter-close:not(.btn),
.blog--category-clear {
  color: var(--foreground-color);
}

.bg_media_2 {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  object-fit: cover;
  filter: grayscale(1);
  width: 100%;
  height: 100%;
  opacity: .1;

  @media (width <=500px) {
    opacity: .3;
  }
}

#footer {
  background-image: url('/files/1273/race_horse_w~001.svg');
  background-repeat: no-repeat;
  background-position: bottom 2% right 15%;
  background-size: 400px;

  #footer--top {
    border-bottom: 1px solid #fff;
    padding-block-end: 1.6em;
    margin-block-end: 2em;
  }

  .container--footer {
    display: grid;
    gap: 1.24em;

    @media (width >=768px) {
      grid-template-columns: auto 400px;
    }

    >div {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: flex-end;
    }

    nav {
      display: flex;
      flex-wrap: wrap;
      gap: 5em;
    }

    h2 {
      font-family: "Afacad Flux", sans-serif;
    }

    ul {
      padding-inline: 0;
      list-style: none;

      li:not(:last-child) {
        padding-block-end: .6em;
      }
    }
  }
}

.footer-widgets-wrap {
  line-height: 1.2;
  max-width: 980px;
}

.one_column_group h2,
.two_column_group h2,
.three_column_group h2 {
  font-size: 24px;
  margin: 1em 0 .75em 0;
  border-bottom: 1px solid #000;
  padding: 0 0 .25em 0;
}

.one_column_group h3,
.two_column_group h3,
.three_column_group h3 {
  font-size: 18px;
  margin: 0;
  letter-spacing: 0;
}

.videos #content li.video h3 {
  font-size: 18px;
  letter-spacing: 0;
}

.one_column_group p,
.two_column_group p,
.three_column_group p {
  font-size: 16px;
}

#advisor_stream_signup_embed {
  max-width: 550px;
  margin-inline: auto;
}

.form-group {
  padding-block-end: 1em;
}

.navigation--page {
  & .container--navigation {
    & .navigation--toggle {
      &[aria-expanded="true"] {
        &::before {
          rotate: -45deg;
          translate: 0 7px;
        }
      }
    }
  }
}

@media (width <=500px) {

  .container:not(.container--fluid) {
    padding-inline: 24px;
  }

  .navigation--page .container--logo {
    max-width: 280px;
  }

  [data-design="associates-list"] {
    --grid-gap-mobile: 3em;

    .col {
      max-width: 280px;
      margin-inline: auto;

      .place_headshot img {
        aspect-ratio: 1 / 1;
        object-fit: cover;
        object-position: top;
      }
    }
  }

  [data-col-style="1"] .col:has(.container--form),
  .col-style-1:has(.container--form) {
    padding: 1em 0;
  }

  #contact .container--lead {
    padding-block-end: 1em;
  }

  .container--title {
    padding-block-end: 1em;
  }
}

@container (width <650px) {

  [data-col-style="1"] .col:has(.container--form),
  .col-style-1:has(.container--form) {
    order: -1;
  }
}

.customsection9 .container--col .col {
  @container (width <650px) {
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}

@supports (hanging-punctuation: first) {

  /* CSS specific to recent Safari versions (16+) */
  .count {
    transition: unset;
  }
}