/*
Theme Name: Filion Theme
Author: You
Version: 1.0
*/

/* variables */
:root {

  /* width of vertical scrollbar (0 on Mac w/ overlay scrollbars) */
  --sbw: 17px;


  --color-dark-blue: #0450bc;
  --color-lasso-blue: #2B74FF;
  --color-secondary: #f0f0f0;
  --color-text: #333;
  --color-background: #ffffff;
  --color-filion-black: #252525;
  --color-filion-grey: #777e7f; /*  #969EA0; */
  --color-filion-grey-blue: #CDD7D9;


  --font-family-base: 'Canada Type Gibson', sans-serif;
  --font-header-base: 'philosopher', serif;

  --letter-spacing-sm: .03em;
  --letter-spacing-md: .05em;


  /*-- wrappers */
  --container: var(--medium-container-width);
  --gutter: clamp(16px, 3vw, 48px);


  --inner-wrapper-max-width: 1200px;

  --content-wrapper-top-margin-sm: 3em;
  --content-wrapper-top-margin-md: 4em;
  --content-wrapper-top-margin-lg: 6em;
  --content-wrapper-top-margin-xl: 8em;

   --content-wrapper-bottom-margin-sm: 3em;
  --content-wrapper-bottom-margin-md: 4em;
  --content-wrapper-bottom-margin-lg: 6em;
  --content-wrapper-bottom-margin-xl: 8em;

  --content-wrapper-sm: 90%;
  --content-wrapper-md: 900px;
  --content-wrapper-lg: 1300px;
  --content-wrapper-xl: 1440px;

  /* margins and paddings */
  --spacing-small: 0.5rem;
  --spacing-medium: 1rem;
  --spacing-large: 2rem;
  --spacing-xlarge: 3rem;

  --page-margin-small: 2rem;


  /* text-sizes-----------*/
  --headline-lg: 48px;
  --headline-md: 32px;
  --headline-sm: 28px;
  --headline-xs: 24px;
  --headline-xxs: 20px;

  /*-- container widths */
  --container-width: 1200px;
  --small-container-width: 768px;
  --medium-container-width: 1124px; /* for 1440 wide */
  --large-container-width: 1280px;
  --xlarge-container-width: 1440px;

}

/*
.heading-lg{ font-size: var(--headline-lg);}
.heading-md{ font-size: var(--headline-md); line-height:1.025;}
.heading-sm{ font-size: var(--headline-sm);}
.heading-xs{ font-size: var(--headline-xs);}
.heading-xxs{ font-size: var(--headline-xxs);}
*/



/* small resets */
/* 1. Use a more-intuitive box-sizing model */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 2. Remove default margin */
* {
  margin: 0;
}


/* #region Page skeleton */
html, body { 
  height: 100%; 

  /* overflow-x: hidden; */
  /*  width:100vw; */

}

body {
  min-height: 100svh;       /* full viewport height (accounts for mobile UI) */
  display: flex;
  flex-direction: column;
  margin: 0;
  transition:.3s;

  /* 4. Add accessible line-height */
  line-height: 1.625;
  /* 5. Improve text rendering */
  -webkit-font-smoothing: antialiased;

  font-size:17px;
  font-family: canada-type-gibson, sans-serif;
  font-weight: 300;
  font-style: normal;

  letter-spacing:.04em /* added with Rose */
}

#page, .site {
  isolation: isolate;
}

/* 6. Improve media defaults */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;

}

/* 7. Inherit fonts for form controls */
input, button, textarea, select {
  font: inherit;
}

/* 9. Improve line wrapping */
p {
  text-wrap: pretty;
  margin-bottom:1em;

  line-height: 1.625; /* or just 1.625 */
  letter-spacing:.04em;
}

.is-style-indent-paragraph{
  margin-left: 2em;
}

.is-style-alpha-list{
  list-style-type: lower-alpha;
  margin-left: 2em;
}

.is-style-roman-list{
  list-style-type: lower-roman;
}

p.small-para, p.is-style-paragraph-small{
  /* ----- added with rosie ------*/
  font-size: 14px;
  letter-spacing: .03em;
  line-height: 22px;
}

/* 8. Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {
  /* line-height: 1.1; */
  letter-spacing:0;
}

/* styles sizes for headings
MOBILE
large mobile 48px on 47px line-height weight 700
medium mobile 32px on 33px line-height weight 700
small mobile 28px on 28px line-height weight 100

news / events titles 32px on 36px line-height weight 700

DESKTOP
large desktop 68px on 67px line-height weight 700
medium desktop 48px on 47px line-height weight 700
small desktop 32px on 34px line-height weight 100

news / events titles 32px on 36px line-height

*/


.divider-line {
    height: 1px;
    background-color: #fff;
}


 /*
h2.wp-block-heading {
    font-size: var(--headline-md);
    margin-bottom: .8em;
    margin-top:.5em;
    line-height:1.2;
   
}
*/



.is-style-large-heading{
  /* font-size: 48px; */
  font-size: clamp(48px, 4vw + 1rem, 68px);  /* 600→1440 fluid */
  font-family: var(--font-header-base);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing:0;
  /* margin-bottom: 1em; */
  margin-bottom:.8em;
}



.is-style-medium-heading{
  font-family: var(--font-header-base);
  /* font-size: 32px; */
  font-size: clamp(32px, 4vw + 1rem, 48px);  /* 600→1440 fluid */
  font-weight: 700;
  line-height: 1.05;
  margin-bottom:1em;
}

.is-style-medium-heading.lg-heading-mb{
  font-size:48px;
  margin-top:0;
}

.single-event-wrapper.entry-content h2{
  /* margin-top:1em; */
  margin-bottom:.5em;
  line-height:1.1;
  margin-top:1em;
}

.single-event-wrapper.entry-content h2:first-child{
  margin-top:0;
}

.presenter-photo img{
  /* turn to black and white */
  filter: grayscale(100%);
}

.splide__slide a .title-accent, .news-list .title-accent, .additional-info-item a .title-accent{
   color: inherit; /* match the parent link color */
}


/* add media for mobile */
@media (max-width: 600px){
  .splide__slide .is-style-medium-heading{
    font-family: var(--font-header-base);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.05;

  }
    
  }

.is-style-small-heading{
  font-family: var(--font-header-base);
  font-size: 28px;
  font-weight: 100;
  line-height: 1.0;
}

.is-style-small-heading.eyebrow{
  font-weight:700;
}


.theme-dark #breadcrumbs a{
  color:#fff;

}

.theme-dark .breadcrumb_last{
  color: #fff;
  font-weight:100 !important;
}

.breadcrumb_last{
 text-transform: capitalize;
 color:var(--color-dark-blue);
}

.post-type-archive-team-member #breadcrumbs a{
  color:#fff;

}

.post-type-archive-team-member .breadcrumb_last{
  color: var(--color-lasso-blue);
}



ol, ul {
    margin-top: 1em;
    margin-bottom: 1em;
}

/* #endregion Page skeleton */

.entry-content a{
  color:var(--color-dark-blue);
}

.theme-dark .entry-content a, .is-style-theme-dark a {
  /* color:var(--color-lasso-blue) !important; */
  color:#fff;
  border-bottom: solid 1px #fff;
  padding-bottom:.03em;
}

.wp-block-image a{
  border-bottom:0 !important;
}

.theme-dark .entry-content a:hover{
  color:var(--color-lasso-blue);
}




.page-indicator{
  letter-spacing:var(--letter-spacing-md);
  /* font-size:.9rem; */
  font-size:12px;
  margin-top: 1em;
}

.home .page-indicator{
  display:none;
}

/* #region Utilities */

.display-none{
  display:none;
}

.print-only{
  display:none;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.border-top{
  border-top:solid 1px var(--color-filion-grey);
}

.border-bottom{
  border-bottom:solid 1px var(--color-filion-grey);
}

.border-bottom-white{
  border-bottom:solid 1px #fff;
}

.border-left{
  border-left:solid 1px var(--color-filion-black);
}

.no-list-marker{
  list-style: none;
  padding: 0;
  margin: 0;
}

.no-list-style{
  list-style: none;
  padding: 0;
  margin: 0;
}

.students-hero {
  min-height:60vh;
}

ul.wp-block-list {
    margin-bottom: 2em;
}



/* #endregion Utilities */


/* #region themes ------*/


.bg-white{
  background-color:#fff;
}

.theme-white, .is-style-theme-white{
  background-color:#fff;
  color:var(--color-filion-black);
}

.theme-dark, .post-type-archive-team-member, .is-style-theme-dark {
  background-color: var(--color-filion-black);
  color:#fff;
}

.post-type-archive-team-member .site-branding path, .theme-dark .site-branding path{
  fill: var(--color-lasso-blue);
}

.theme-dark .menu-icon .bar, .post-type-archive-team-member .menu-icon .bar {
  background-color: #fff;
}

.theme-dark .btn-lasso path, .post-type-archive-team-member .btn-lasso path {
  stroke: #fff !important;
}

.theme-dark .pill-btn {
    color: #fff;
}

/*
.theme-dark a{
  color: #fff;
  border-bottom:solid 1px #fff;
  padding-bottom:.05em;
}

.theme-dark a:hover{
  color: var(--color-filion-grey-blue);
}
  */

/* #endregion themes */


/* #region text settings */

.text-blue{
  color: var(--color-dark-blue);
}

.text-regular{
  font-weight:100 !important;
}

.text-blue-light{
  color: var(--color-lasso-blue);
}

.text-grey{
  color: var(--color-filion-grey);
}


.text-centered {
  text-align: center;
}

.text-medium{
  font-weight: 500;
}

.base-size{
  font-size: 1rem;
}

.text-bold {
  font-weight: 700 !important;
}
/* #endregion text settings */






/* Enable keyword animations */
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}





/* #region links */

a{
  text-decoration:none;
  color:var(--color-filion-black);
  transition:.3s;
}

a:hover{
  color:var(--color-dark-blue);
  transition:.3s;
}

a.blue-alink{
  color:var(--color-dark-blue);
}

.ae-logo a{
  border-bottom:0;
  display: block;
}

/* #endregion links */

/* #region typography */

/* 
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}
  */

h1, h4, h5, h6 {
  font-family: var(--font-header-base);
}

h1, .like-h1, .large-text {
  font-family: var(--font-header-base);
  font-weight:700;
  line-height:.98;
  letter-spacing:0;

  font-size:var(--headline-lg);

    margin-bottom:1em;
}

h1.team-member-name{
  font-family: var(--font-header-base);
  font-size:var(--headline-md);
   font-weight:700;
  margin-bottom:.1em;
  margin-top: .8em;
}

.is-style-large-white-heading{
  font-family:var(--font-header-base);
  font-size:48px;
  font-weight:700;

    margin-bottom:1em;
}

/*
.is-style-medium-heading{
  font-family:var(--font-header-base);
  font-size:48px;

  margin-bottom:1em;
}
  */



.upcomming-event .event-date{
  font-family:var(--font-header-base);
  font-size:48px;
  font-weight:100;
}

.is-style-small-heading{
  font-family:var(--font-header-base);
  font-size:32px;
  font-weight:100; /* need to check for consistency */

  margin-bottom:.8em;
}

p.team-member-title{
  font-family: var(--font-header-base);
  font-size:var(--headline-xs);
  font-weight:100;
  margin-bottom: 1.3em;
  line-height: 1.1;
}

.team-member-info h2{
  font-size:var(--headline-xxs);
  margin-bottom:.7em;
}

h3{
  font-weight:400;
  font-size:20px;
  letter-spacing:.03em;
}

.large-text{
  margin-bottom:1rem;
}

h2{
  /* letter-spacing:var(--letter-spacing-sm); */
  font-weight:500;
}

  /*
h2.wp-block-heading{

  font-family: var(--font-header-base);
  font-size:var(--headline-md);
  
  line-height:1.125;
  margin-bottom:.7em;
  margin-top:1em;
}
  */

.home h1.wp-block-heading {
    margin-bottom: 3rem;
    margin-bottom:43px !important; /* added with rosie */
   /*  max-width: 90%; */
}



/*
h2.wp-block-heading:first-child {
  margin-top: 0; 
}
*/

.eyebrow{
  font-size:1rem;
  font-size:32px; /* convert to em --------------------------------------- */
  font-family:var(--font-header-base);
  color:var(--color-dark-blue)
}

.pill-title{
  border:solid .75px var(--color-filion-black);
  padding-top:1em;
  padding-bottom:1em;
  padding-left:3em;
  padding-right:2em;
  margin-left:-3em;
  border-radius: 9999px;
  display: inline-block;
  margin-bottom: 1em;
  margin-top:2em;
}

.overlay-content h2{
  font-size: 18px;
  line-height:1.1;
}
.overlay-content h3{
  font-size:12px;
  font-weight:100;
}

/* #endregion typography */

/* #region wrappers */

.full-width-wrapper {
  margin-left:var(--page-margin-small);
  width:100vw;
}

.content-wrapper{
  margin:var(--page-margin-small);
  margin-bottom:0;

  flex: 1 0 auto;           /* this is the spacer that pushes pre-footer/footer down */
  min-height: 0;            /* avoid overflow issues with Barba containers */

}

/* #endregion wrappers */

/* #region flex / grid ---------*/
.sm-flex {display: flex;}

.mobile-flex-column-reverse{
  flex-direction: column-reverse;
  margin-bottom:0;
  width:100%;
  margin-left:-1em;
}

@media screen and (min-width: 1024px){
  .mobile-flex-column-reverse{
    flex-direction: row;
    margin-left:0;
  }
}

.gap-1{ gap: 1rem; }
.gap-2{ gap: 2rem; }
.gap-3{ gap: 3rem; }
.gap-4{ gap: 4rem; }
.gap-5{ gap: 5rem; }

.grid { display: grid; }

.flex-end{ justify-content: flex-end; }

.flex-column { flex-direction: column;}

.align-vert{ align-items: center; }

.align-flex-end{ align-items: flex-end; }

.align-baseline{ align-items: baseline; }

.align-stretch{align-items:stretch;}

.justify-between {justify-content: space-between;}

.justify-center {justify-content: center;}

@media (min-width:1024px){
  .scale-pic img {
      transform: scale(1.48);
      transform-origin: bottom right;
  }
}


/* #endregion flex / grid */

/* #region colors */
.color-dark-blue{
  color: var(--color-dark-blue);
}

/* #endregion colors */

/* #region text styles ------*/
.uppercase{
  text-transform: uppercase;
}
.lowercase{
  text-transform: lowercase;
} 

.secondary-font, .is-style-secondary-font{
  font-family: var(--font-header-base);
}

.title-accent{
  color:var(--color-dark-blue);
}

.font-bold{
  font-weight: 700;
}

/* #endregion text styles */

/* #region padding ------*/
.pt-1{padding-top: 1rem;}
.pt-2{padding-top: 2rem;}
.pt-3{padding-top: 3rem;}
.pt-4{padding-top: 4rem;}
.pt-5{padding-top: 5rem;}
.pt-6{padding-top: 6rem;}


.pb-1{padding-bottom: 1rem;}
.pb-2{padding-bottom: 2rem;}
.pb-3{padding-bottom: 3rem;}
.pb-4{padding-bottom: 4rem;}
.pb-5{padding-bottom: 5rem;}
.pb-6{padding-bottom: 6rem;}

.pl-1{padding-left: 1rem;}

.pl-2{padding-left: 2rem;}
.pl-3{padding-left: 3rem;}
.pl-4{padding-left: 4rem;}
.pl-5{padding-left: 5rem;}
.pl-6{padding-left: 6rem;}



.section-padding{
  padding-top: var(--content-wrapper-top-margin-md);
  padding-bottom: var(--content-wrapper-top-margin-md);
}
  
.sm-section-padding-t{
  padding-top: var(--content-wrapper-top-margin-sm);
}

.sm-section-padding-b{
  padding-bottom: var(--content-wrapper-bottom-margin-sm);
}

.section-padding-t{
  padding-top: var(--content-wrapper-top-margin-md);
}
.section-padding-b{
  padding-bottom: var(--content-wrapper-bottom-margin-md);
}

/* #endregion padding */

/* #region carousel ------*/

.splide--slide {
    width: calc(100vw - 4em);
    padding-bottom:2em;
}

.splide__pagination__page {
    background: var(--color-filion-black) ;
    height: 11px ;
    width: 11px ;
}


.splide__pagination__page.is-active {
    background: transparent ;
    border:solid 1px var(--color-filion-black);
    transform: scale(1) ;
    z-index: 1;
}


.splide__pagination {
  padding:0;
  justify-content: flex-start ;   
  bottom:1em;
}

/* #endregion carousel */

/* #region margins ------*/

.mb-0{ margin-bottom: 0rem; }
.mb-1{ margin-bottom: 1rem; }
.mb-2{ margin-bottom: 2rem; }
.mb-3{ margin-bottom: 3rem; }
.mb-4{ margin-bottom: 4rem; }
.mb-5{ margin-bottom: 5rem; }
.mb-6{ margin-bottom: 6rem; }

.ml-1{margin-left: 1rem;}
.ml-2{margin-left: 2rem;}
.ml-3{margin-left: 3rem;}


.mr-1{margin-right: 1rem;}
.mr-2{margin-right: 2rem;}
.mr-3{margin-right: 3rem;}
.mr-4{margin-right: 4rem;}
.mr-5{margin-right: 5rem;}
.mr-6{margin-right: 6rem;}

.mt-1{margin-top: 1rem;}
.mt-2{margin-top: 2rem;}
.mt-3{margin-top: 3rem;}
.mt-4{margin-top: 4rem;}
.mt-5{margin-top: 5rem;}
.mt-6{margin-top: 6rem;}

.ml-m-1{margin-left: -1rem; }

.mt-1-1{margin-top: -1rem;}

.mobile-mt-4{
  margin-top: var(--content-wrapper-top-margin-sm);
}


/* #endregion margins */

.voice-print-icons{
  margin-bottom:1em;
}

.vert-divider{
  width:1px;
  background-color: var(--color-filion-black);
  margin-left:.7em;
  margin-right:.7em;
}



/*---- icons -----*/
.icon-print{
  cursor:pointer;
}

.pull-left-pic{
 /*  transform: translateX(calc((50% - 50vw) / 2)); */
 margin-left:-2rem !important;
}

.pull-right-pic{
  transform: translateX(calc((25% + 25vw) / 2));
}

/*---- gutenberg cover block -----*/
/* Cover: auto-height but still full-width */
.is-style-auto-height.wp-block-cover {
  min-height: unset;       /* remove hero min-height */
  height: auto;            /* collapse to image height */
  position: relative;      /* for overlay positioning */
  /* width: 100%;             /* respect alignments; core handles alignfull */
  padding:0;
}

/* Background image should behave like a normal <img> and fill width */
.is-style-auto-height .wp-block-cover__image-background {
  position: static;        /* participate in layout */
  display: block;
  width: 100%;             /* fill the block width */
  height: auto;            /* keep natural aspect ratio */
  object-fit: contain;     /* optional: no cropping; use 'cover' if you want it */
}

/* Keep the inner content overlayed (centered) on top of the image */
.is-style-auto-height .wp-block-cover__inner-container {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;   /* or start/end as needed */
  padding: var(--wp--style--block-gap, 1.5rem);
}





/* ------ gutenberg category list block -----*/
.wp-block-categories-list{
  list-style: none;
  margin:0;
  padding:0;
}

.wp-block-categories-list li{
  border-top:solid 1px var(--color-filion-black);
  padding: 0.8em 0;
  &:last-child {
    border-bottom: solid 1px var(--color-filion-black);
  }
}

.wp-block-categories-list li a{
  color: var(--color-dark-blue) !important;
  display: inline-flex;
  width: 100%;
  justify-content: space-between;
  font-weight:500;
}

.wp-block-categories-list li a:hover{
  color:var(--color-filion-black) !important;
  margin-left:.25em;
  transition:.3s;
}

.wp-block-categories-list li{
  display:flex;
  align-items: center;
  justify-content: space-between;
  width:100%;
}

.wp-block-categories-list li a:after{
  content: ">";
  transition:.3s
}

.wp-block-categories-list li a:hover:after{
  transform:translateX(-.25em);
  transition:.3s
}



/*------- gutenberg details blocks -------*/

details p{
  margin-top:1em;
}

details summary{
  font-weight:500;
  color:var(--color-dark-blue);
}

/*
.alignfull details{
  margin-left:1em;
  margin-right:1em;
}
  */

.wp-block-details{
  border-top:solid 1px var(--color-filion-black);
  padding-top:1em !important;
  padding-bottom:.8em !important;
}



/* 1) Remove the default triangle across browsers */
.wp-block-details > summary,
.wp-block-details .wp-block-details__summary{
  display: block;          /* <- kills the built-in marker */
  list-style: none;        /* FF */
  -webkit-appearance: none;
  appearance: none;
}

.wp-block-details > summary::marker,
.wp-block-details .wp-block-details__summary::marker{
  content: "";             /* FF */
  display: none;
}
.wp-block-details > summary::-webkit-details-marker,
.wp-block-details .wp-block-details__summary::-webkit-details-marker{
  display: none;           /* Chrome/Safari */
}

/* 2) Add a + on the right; switch to – when open */
.wp-block-details > summary,
.wp-block-details .wp-block-details__summary{
  cursor: pointer;
  position: relative;
  padding-right: 1.5rem;   /* room for the icon */
}

.wp-block-details > summary::after,
.wp-block-details .wp-block-details__summary::after{
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 100;
  line-height: 1;
}

.wp-block-details[open] > summary::after,
.wp-block-details[open] .wp-block-details__summary::after{
  content: "-";
  /*
  rotate: 45deg;
  transform-origin: center;
  */
}
  

/*
#recent-insights .flex{
  display:flex;
  flex-direction:column
}

#recent-insights .sm-order-1{
  order: 1;
}

#recent-insights .sm-order-2{
  order: 2;
}
  */


/*---- gutenberg navigation block styles ------*/

.wp-block-navigation{
  padding-top:var(--spacing-large);
}

.wp-block-navigation li{
  border-top:solid 1px var(--color-filion-black);
  width:100%;
  padding-top:1em !important;
  padding-bottom:.8em !important;
}

.wp-block-navigation li:last-child{
  border-bottom:solid 1px var(--color-filion-black);
}

.wp-block-navigation li a{
  color:var(--color-dark-blue) !important;
  font-weight:500;
  display:flex !important;
  justify-content:space-between;
  width:100%;
  line-height:1.2em;
}

.wp-block-navigation li a:hover{
  color: var(--color-filion-black) !important;
}

.wp-block-navigation li a:hover::after{
  transform: translateX(0.25em);
  transition:.3s;
}

.wp-block-navigation li a:after{
  content: '>';
  display: inline-flex;
  align-items: center;
  font-weight:100;
  transition:.3s;
}


.svg-filion-logo{
  width:148px;
  max-width:148px;
}

.no-scroll .svg-filion-logo path{
  fill:var(--color-lasso-blue);
  transition: fill 0.3s ease;
}

/* #region footer -------*/

.footer-tagline {
    padding-top: 2em;
}

@media (max-width: 900px) {
  a.pay-invoice {
   /*  margin-top: 3em; */
    margin-top: 1em;
  }
}


.footer-buttons a {
    margin-bottom: 0em;
    font-size:.9rem;
}

.btn-subscribe{
  margin-bottom:1.5em;
}

.btn-pay-invoice{
  margin-bottom:1em;
}

@media (min-width: 900px) {
  .footer-buttons a {
     margin-bottom: 1em;
  }

  .btn-subscribe{
      margin-bottom:0em;
  }

  .btn-pay-invoice{
    margin-bottom:0em;
  }
} 

.sm-only { display: inline; } /* forces the break on small screens */

.large-footer-statement {

  /* font-size:68px;  change to rem */
  font-size:4.25rem; /* change to rem */
  font-size:28px;
  font-weight: 700;
  margin-bottom: 1rem;
  padding-bottom:2rem;
  line-height:1.3;
}

.all-footer-logos{
  margin-top:0em;
}

@media (min-width: 900px){
  .all-footer-logos{
        margin-top: 1em;
  }
}

@media (max-width: 1023px){
  .copyright-and-logos{
    display:flex;
    flex-direction:column-reverse;
}
} 


.affiliate-logos, .social-logos{
  flex-wrap:wrap;
  justify-content: center;
  align-items: baseline;
  padding-bottom:2em;
}

@media (min-width: 900px){
  .affiliate-logos, .social-logos{
    align-items: unset;
  }
}

.affiliate-logos a, .social-logos a{
  transition:.5s;
}

.affiliate-logos a:hover, .social-logos a:hover{
  transform:scale(1.05);
  transform-origin:center;
}

/*
.social-logos{
  justify-content:right;
  margin-right:2em;
  }
  */


  /*
.affiliate-logos .social-icon:nth-child(1) { order: 3; }
.affiliate-logos .social-icon:nth-child(2) { order: 2; }
.affiliate-logos .social-icon:nth-child(3) { order: 1; }
*/


.footer-content .svg-filion-logo path{   
    fill: #fff;

  }

.footer-wrapper {
    position: relative;
}

.footer-navigation .menu{
  display:flex;
  margin:0;
  padding:0;
  justify-content: center;
}

.footer-navigation .menu li{
  list-style:none;
  margin-right:1em;
}

.pre-footer,
.site-footer { 
  flex: 0 0 auto;
}

.site-footer{
  background-color:var(--color-dark-blue);
  color:#fff;

  text-align:center;
}

.site-footer a{
  color: #fff;
  text-decoration: none;
}


:root { 
  --wave-overlap: 10em; 
}


.overlap-bottom{
  padding-bottom:calc(var(--wave-overlap) + 3em);
}

.home .overlap-bottom{
  padding-bottom:0
}

@media (min-width: 900px){


  .home .overlap-bottom{
    padding-bottom:calc(var(--wave-overlap) / 3);
  }
}

.home .footer-wrapper{
  margin-top:-2.5em;
}


.pre-footer{

  position:absolute;
  width:100%;
  top: calc(var(--wave-overlap) * -1);

  pointer-events:none;

}

/*=--- footer styles ---=*/
.social-icon img {
    height: 100% !important;
    width: auto !important;
}
.social-icon {
    height: 22px;
}

.social-icon.footer-logo{
  height:40px;
}
.social-icon img, .social-icon svg{
    height: 100%;
    width: auto;
}
/* #endregion footer */

/* #region overlaps */

/*
.overlap-bottom{

  margin-bottom: -15em;
  padding-bottom: 20em;
}

.overlap-bottom-only{
  margin-bottom:-5em;
}

@media (min-width: 900px){
  .overlap-bottom-only{
    margin-bottom:-7em;
  }
}

*/

/* #endregion overlaps */

/* #region naviagation */
#site-navigation {
  opacity: 0;
  transform: translateY(-2rem);
  transition: opacity 0.4s ease, transform 0.4s ease;
  pointer-events: none;
  display: block; /* ensure it's layout-ready after removing `hidden` */
}

#site-navigation.menu-overlay { z-index: 1000; }

#site-navigation.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.menu-icon{
  position:relative;
  width:80px;
  height:80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* #endregion navigation */

/* #region buttons and pills */
.pill-container{
  display: inline-flex;           /* shrink-wrap contents */
  flex-direction: column;         /* stack time + date */
  align-items: flex-start;            /* center text horizontally */
  justify-content: flex-start;
  
  margin-left:-3rem;
  margin-top:2rem;
  margin-bottom:2rem;
  padding-left:3rem;
  padding-right:2rem;
  padding-top:.75rem;
  padding-bottom:.75rem;
  border: 1px solid var(--color-filion-black);         /* subtle border */
  border-radius: 9999px;          /* makes the pill ends fully round */
  text-align:left;
  line-height: 1.3;
}



.pill-list {
  display: flex;
  flex-direction: column; /* stack */
  align-items: flex-start; /* hug left */
  gap: 1rem; /* spacing between pills */
  list-style: none;
  margin: 0;
  padding: 0;
  font-weight:500;
  margin-top:3rem;
  padding-bottom:3em;
}

.pill {
  display: inline-flex;       /* shrink to content */
  align-items: center;
  padding: 1rem 2rem 1rem 3rem;
  border: 1px solid var(--color-filion-black);
  border-radius: 9999px;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap; /* keeps text on one line */
  margin-left: -3rem;
}

.pill span{
  margin-right:.3em;
}


.anchor-target {
  scroll-margin-top: 100px; /* offset height in px */
}

/*====================================*/

.btn{
  background:transparent;
  border:none;
}

.btn-link{
  padding:0;
  margin:0;
}

.btn-lasso{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index: -1;

}

.btn-dark{
  stroke:var(--color-filion-black);
}

/*--- pill button */
.pill-btn{
  --gap-start: 11;      /* initial gap size (% of perimeter) */
  --gap-end: 10;         /* smallest gap before reset */
  --speed: 5s;        /* how fast the gap orbits */
  --tighten: 6s;      /* how quickly the gap shrinks (match speed to sync) */

  position: relative;
  display: inline-grid;
  place-items: center;
  border-radius: 9999px;
  background:transparent;
  text-decoration: none;
  text-align:center;
  margin-top:1em;


  transition:1s;
  transform-origin: center;
}

.pill-btn:hover{
  transform:scale(1.05);
}


.pill-stroke rect {
    stroke-width: 1px;
}
/* media query for mobile only */
@media (max-width: 900px){
  .pill-btn.directions{
    margin-top:3em;
  }
}



.post-item .pill-stroke rect {
    stroke: var(--color-filion-black);
}



.pill-btn:hover{
  transition:.7s;
  /* transform:translateX(-.25em); */
}

.pill-btn span{ 
  /*
  padding-top: .3em; 
  padding-bottom: .5em;
  padding-left: 1.3em; 
  padding-right: 1.3em; 
  */
  padding: 0.1em 1em 0.3em;
  position: relative; 
  z-index: 1;
  
}

.directions-wrap .pill-btn span{
    padding: 0.3em 1em 0.3em;
}

.pill-stroke{ 
  position:absolute; 
  inset:0; 
  width:100%; 
  height:100%; 
}

.pill-dark rect{
  stroke: var(--color-filion-black);

}

/*
.pill-stroke rect{

  stroke-dasharray: 100;   
  stroke-dashoffset: 0;
  
}


.pill-btn:hover .pill-stroke rect,
.pill-btn:focus-visible .pill-stroke rect{
  stroke-dasharray: calc(100 - var(--gap-start)) var(--gap-start);
  animation:
    chase var(--speed) ease-in-out infinite,
    closeGap var(--tighten) ease-in-out infinite alternate; 
}


@keyframes chase{
  to { stroke-dashoffset: -100; }   
}


@keyframes closeGap{
  0%   { stroke-dasharray: calc(100 - var(--gap-start)) var(--gap-start); }
  85%  { stroke-dasharray: calc(100 - var(--gap-end))   var(--gap-end);   }
  100% { stroke-dasharray: calc(100 - var(--gap-start)) var(--gap-start); } 
}


@media (prefers-reduced-motion: reduce){
  .pill-btn:hover .pill-stroke rect,
  .pill-btn:focus-visible .pill-stroke rect{
    animation: none;
    stroke-dasharray: 100 0;
    stroke-dashoffset: 0;
  }
}

*/



/* #endregion buttons and pills */


.site-header{
  margin:1em;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;

  padding-top: 1em;
}

.site-branding{
    z-index:10001;
}

/*
.site-main{
  padding-bottom:2em;
}
  */

/* #region menu styles */

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

.menu-overlay{
  /*
  position:absolute;
  top:0;
  left:0;
  */
  width:100%;
  /* min-height:100vh; */
 /*  background-color:var(--color-filion-black); 
  background-color:rgba(0,0,0,.9);
  background-color:rgba(66,66,66,.9); */
  background-color:rgba(26,26,26,.9);
  padding-top:1em;
  padding-left:1em;
  padding-right:1em;
  z-index:10;

  /* svg backround with curved bottom 
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
  */
  
}

#primary-menu a{
  color: #fff;
  text-decoration: none;
  font-weight: 500;

}

#menu-toggle {
  cursor: pointer;
  position: relative;
  background-color:transparent;
  border:none;
}

.menu-icon .bar{
  display: block;
  width: 22px;
  height: 1px;
  background-color: var(--color-filion-black);
  margin: 5px auto;
  transition: all 0.3s ease-in-out;
}

.no-scroll .menu-icon .bar {
  background-color: #fff;
}



/* adjust menu bars when menu is open */
.menu-is-open .menu-icon .bar:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
  transition-delay: 0.2s; /* delay to allow the first bar to animate */
}
.menu-is-open .menu-icon .bar:nth-child(2) {
  opacity: 0;
  transform: translateX(-100%);
  transition: opacity 0.1s ease-in-out, transform 0.2s ease-in-out;
 
}

.bars:hover .bar:nth-child(2){
  transform: translateX(-3px);
  transition: transform 0.2s ease-in-out;
}

.menu-is-open .menu-icon .bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
   transition-delay: 0.2s; /* delay to allow the first bar to animate */
} 

/* #endregion menu styles */

/* Let containers overlap during transitions */
[data-barba="wrapper"] { position: relative; }
[data-barba="container"] {
  /* don’t keep these permanent; we’ll set them temporarily from JS during transitions
     If you want a set-and-forget approach, you can keep them here. */
  will-change: opacity, transform;
}


/*----- blobs --------*/
.page-title-blob{
  position: absolute;
  z-index: -1;
  left: -6rem;
  top: -7rem;
  transform: scale(.7);

}

.blob-behind{
  position:absolute;
  top:-3rem;
  left:-4em;
  z-index:-1;
}

@media (max-width: 1024px){
  .blob-behind{
    top:-2rem;
    width: 50%;
  }

  .publications-blob .blob-behind{
  top:-2.5em !important;
  top:-5em;
  left:-3em;
}

}

.publications-blob .blob-behind{
  top:-3.5em;
  top:-5em;
  left:-3em;
}

.hide-me{
  display:none;
}




.blob-behind.grey-blob{
  top:-1rem;
}

@media (min-width: 1024px){
  .blob-behind.grey-blob{
    top:-2rem;
  }
}

.blob-behind-overview{
    position: absolute;
    top: 10rem;
    right: 2em;
    z-index: -1;
    transform: scale(1.15);
}



/* Team archive page styles 
.team-wrap::after { content:""; display:block; clear:both; }
*/

.title-card__inner{
  position:relative
}

.title-card__inner .background-blob{
  position:absolute;
  z-index: -1;
  left:-1em;
  top:-10em;

}

.title-card__inner .insert-with-blob-left  .background-blob{
  left:0em;
  top:-7em;
}


@media (min-width: 1024px){
  .title-card__inner .background-blob{
    z-index: -1;
    left:9em;
    top:-4em;
  }

  .title-card__inner .insert-with-blob-left  .background-blob{
    left:-4em;
    top:-6em;
  }
}


.title-card {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    font-size: var(--headline-lg);
    font-family: var(--font-header-base);
    font-weight: 700;
    line-height:1.025;
}

.title-card.title-card--narrow{
    font-size:var(--headline-md);
    text-align:left;
    justify-content: flex-start;
}

.team-wrapper {
    position: relative;
   
}



.blob-image-wrapper{
  max-width:200px;
}

.background-blob-wrap {
    position: absolute;
    z-index: -1;
    left: 17%;
   /*  top: -4%; */

   /*  transform: translate(-10%, 13%); */
}

.team-member-box {
  position: relative;
  display: inline-block;
  overflow: hidden;
  /* transition: transform .5s ease; */
}

.team-member-box:hover{
  transform: scale(1.015);
 
}

.team-member-contact-info{
  margin-bottom:2em;
}

.overlay-content{
  position: absolute;
  top: 50%;
  left: 20px;            /* offset from left edge */
  transform: translateY(-50%); /* vertical centering */
  z-index: 2;
  width:48%;
}

.overlay-content.name-on-right {
  right: 20px;
  left:unset;
  text-align:right;
}


/*----- team member bio settings ------*/
/* collapsed by JS via --summary-max */
/* Collapsed state uses an inline max-height set by JS */
/* Tweak this per your design/breakpoints */
:root {
  --summary-collapsed: 330px; /* collapsed height */
}

/* Example: a bit taller on large screens */
@media (min-width: 1024px) {
  :root { --summary-collapsed: 337px; }
}

.exec-summary__body {
  overflow: hidden;
  /* The collapsed height lives in the inline style (set by JS),
     we keep the transition here so all animations use the same timing */
  transition: max-height 0.65s ease;
  -webkit-mask-image: linear-gradient(to bottom, black 85%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 85%, transparent 100%);
  will-change: max-height;
}

/* Expanded removes the fade; the actual height is driven by JS to scrollHeight */
.exec-summary--expanded .exec-summary__body {
  -webkit-mask-image: none;
  mask-image: none;
}


.exec-summary__toggle {
  margin-top: .5rem;
  margin-left:0;
  font-weight:400 !important;
  background: none;
  color: var(--color-dark-blue);
  border: 0;
  cursor: pointer;
  font: inherit;
  padding-left:0;
  font-size:16px;
}

@media (prefers-reduced-motion: reduce) {
  .exec-summary__body { transition: none; }
}


/* #region accordions */

.awards-list.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20%, 1fr)); /* 4–6 per row depending on space */
  gap: 3rem;
  align-items:center;
}

.awards-list-text li {
    line-height: 1.1;
    margin-bottom: .8em;
}





.accordion-header {
  border-top:solid 1px var(--color-filion-black);
  font-weight:400;
  padding-top:1em;
  padding-bottom:1em;
  transition:.9s;

  font-size: 1em;
  line-height:1.1;
}

.accordion:last-of-type .accordion-header{
  border-bottom:solid 1px var(--color-filion-black);
}
/* if the accordion is open */
.accordion:last-of-type.is-open .accordion-header{
    border-bottom:0;
  }


.accordion .align-full{
  transition:.3s;
}

.accordion.is-open .align-full{
  background-color:#fff;
  transition:var(--acc-fade)
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--medium-container-width) !important;
}




.accordion-label{
  color:var(--color-dark-blue);
  letter-spacing: .03em;
}

.accordion-content{
  background-color:#fff;
  margin-left:-1em;
  width:100vw;
}

.accordion-content .align-full-inner{
  padding-top:1em;
  padding-bottom:1em;
}

/*--- accordions ---*/
:root {
  --acc-open: 9999px;    /* fixed open cap */
  --acc-pan: 420ms;     /* panel expand/collapse duration */
  --acc-fade: 180ms;    /* content fade duration */
}

/* Collapsed panel */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--acc-pan) ease;
  /* NOTE: opacity is handled on .inner-wrapper now */
}

/* Inner content: handles fade */
.accordion-content > .inner-wrapper { 
  padding: 1rem 0;
  padding-left: 1.5em;
  padding-right: 1.5em;

  opacity: 0;
  transition: opacity var(--acc-fade) ease;
}

/* OPEN TARGET: height first */
.accordion-content[aria-hidden="false"] {
  max-height: var(--acc-open);
  overflow: auto;
  -webkit-overflow-scrolling: touch;

}

.addcont-block{
  opacity:0;
  /*transition:var(--acc-fade); */
  transition:.5s;
}

.accordion.is-open .addcont-block{
  opacity:1;
  transition:opacity 1s ease-in;
  transition-delay: var(--acc-pan);
  transition-delay: 1s;
}

/* OPENING sequence: once .is-open is set, fade after panel expansion */
.accordion.is-open .accordion-content > .inner-wrapper {
  opacity: 1;
  transition-delay: var(--acc-pan); /* wait for height to finish, then fade in */
}

/* CLOSING sequence: fade out immediately, then collapse height */
.accordion.is-closing .accordion-content > .inner-wrapper {
  opacity: 0;
  transition-delay: 0s;             /* start fade now */
}
.accordion.is-closing .accordion-content {
  transition-delay: var(--acc-fade); /* wait for fade-out, then collapse */
}

@media (prefers-reduced-motion: reduce) {
  .accordion-content,
  .accordion-content > .inner-wrapper {
    transition: none !important;
  }
}


button.accordion-trigger {
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  width: 100%;

  display:flex;
  align-items:center;
  justify-content: space-between;
  padding-left:0;
  padding-right:0;
}

.accordion-trigger .accordion-icon{
  transition:cubic-bezier(0.23, 1, 0.320, 1).3s;
  font-weight:100;
}

/* when expanded */
.accordion-trigger[aria-expanded="true"] .accordion-icon {
  transform: rotate(45deg);
  transition:cubic-bezier(0.23, 1, 0.320, 1).3s;
}


/* #endregion accordions */

.contact-wrapper p{
  margin:0;
}

.post-item{
  text-align:center;
  border-bottom:solid 1px var(--color-filion-grey-blue);

  display: flex;
  flex-direction: column;        /* stack date, title, button */
  gap: 1rem;                     /* space between blocks */
  height: 100%;                  /* ensure full cell height */
}

.post-item .learn-more{
  margin-bottom:3em;

  margin-top: auto;              /* pushes button to the bottom */
  align-self: center;             /* or 'stretch' if you want full-width */
  display: inline-flex;          /* keeps your pill layout tidy */
  align-items: center;
}


/*--- contact page */
.locations-list{
  list-style: none;
  padding: 0;
  margin: 0;
  margin-bottom:1.5em;
}

.location-address { 
  font-style: normal; 
}

.location-item{
  text-align:center;
  padding-bottom:3em;
  margin-top:3em;
  border-bottom:solid 1px var(--color-filion-grey-blue);
}

 .address-wrap{
    font-size:24px;
    line-height:1.58em; /* 1.58em  38px*/
    line-height:36px;
    letter-spacing:0;
  }



 .location-item h3{
    font-size:32px;
    letter-spacing:0;
    line-height: 1.1;
  }

.directions-wrap {
  font-size:1rem;  
  font-family:var(--font-family-base);
  font-weight:400;
}

#upcomming-event .event-date{
  color:var(--color-dark-blue);
  font-family:var(--font-header-base)
}



/*===== page wipe ========*/
/* Full-screen overlay holder */
#page-wipe{
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  transform: translateY(100%); /* fallback if JS runs late */
  will-change: transform;
}
#page-wipe svg{ width:100%; height:100%; display:block; }


/*---- page alignments for full width sections ----*/
.alignfull, .align-full{
  width: auto;
  max-width: none;
  position: relative;

  /*
  margin-left:  calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
*/

  margin-left:  calc(50% - 50vw + var(--sbw)/2);
  margin-right: calc(50% - 50vw + var(--sbw)/2);
  

/*
  padding-left:2em;
  padding-right:2em;
  */
}


.home .alignfull, .home .align-full{
  padding-left:0;
  padding-right:0;
}

@media (max-width: 900px){
  body:not(.home) .alignfull,
  body:not(.home) .align-full{
    padding-left: var(--page-margin-small);
    padding-right: var(--page-margin-small);
  }

  /*
  .page-id-345 .alignfull{
    padding-left:0 !important;
    padding-right:0 !important;
  }
    */
}

.hero--bike .wp-block-media-text__media{
  height:100%;
}

@media (max-width:1024px){
.hero--bike .wp-block-media-text__media,
.hero--bike .wp-block-media-text__content{
  grid-column: 1 / -1 !important;
}
}

@media (max-width:1023px){
  .hero--bike .wp-block-spacer{
    height:0 !important;
  }
}

@media only screen and (max-width: 1023px) {
    .hero--bike .gb-layout-columns-2>.gb-layout-column-wrap.gb-is-responsive-column {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        grid-template-areas:
        "col1"
        "col2";
    }
}



.hero--bike .wp-block-media-text__media img{
  object-fit:contain;
  object-position:bottom;
  width: 100%;
  height: 100%;
}

/*------ partner settings on overview page*/
.p-name{
  font-size:20px;
  font-family: var(--font-header-base);
  line-height:18px;
  letter-spacing:.03em;
 margin-bottom:0;
}

.p-title{
  text-transform:uppercase;
  font-size:14px;
  font-weight:100;
  font-family:var(--font-family-base);

}

@media (min-width: 1024px){
    .p-name{
  font-size:24px;
  font-family: var(--font-header-base);
  line-height:18px;
  letter-spacing:.03em;
 margin-bottom:0;
}

.p-title{
  text-transform:uppercase;
  font-size:16px;
  font-weight:100;
  font-family:var(--font-family-base);

}
}



/*
.alignfull{
  padding-left:1em;
  padding-right:1em;
}
  */

.align-full-inner{
  max-width: var(--medium-container-width);
  margin: 0 auto;

  margin-left:2em; /* was 1em */
  margin-right:2em; /* was 1em */

}

.team-member-additional-content{
  padding-bottom:4em;
}

@media (max-width: 900px){
  .accordion .align-full-inner{
    margin-left:0;
    margin-right:0;
  }
}


/* ----- HUG RIGHT BAND ----- */
.wp-block-genesis-blocks-gb-columns.hug-right{
  position: relative;
}

/* Kill any centering/max-width the theme might add to the columns wrap */
.wp-block-genesis-blocks-gb-columns.hug-right > .gb-layout-column-wrap{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center;
  gap: var(--gutter);
  box-sizing: border-box;

  /* rebuild left container padding only */
  padding-left: calc(50vw - (var(--large-container-width) / 2) + var(--gutter)) !important;
  padding-right: 0 !important;
}

.content-col{
  width:90%
}

/* Left column behaves like it's inside the container */
.wp-block-genesis-blocks-gb-columns.hug-right .content-col{
  flex: 0 1 min(640px, var(--container));
  min-width: 0;
}

/* Right column fills remaining space & hugs the viewport edge */
.wp-block-genesis-blocks-gb-columns.hug-right .bleed-right{
  flex: 1 1 auto;
  margin-right: calc(50% - 50vw);   /* <-- fixed */
}

/* Media hygiene */
.wp-block-genesis-blocks-gb-columns.hug-right .bleed-right figure,
.wp-block-genesis-blocks-gb-columns.hug-right .bleed-right img{
  display:block; width:100%; height:auto; margin:0;
}

/* OPTIONAL: cap the image height so it doesn't feel "huge" visually */
.wp-block-genesis-blocks-gb-columns.hug-right .bleed-right img{
  max-height: 90vh;
  object-fit: cover;   /* switch to a Cover block if you need cropping control */
}

.gb-layout-columns-4, .gb-layout-columns-5, .gb-layout-columns-6 {
    overflow: visible !important;
}


/* Mobile: stack + remove bleed */
@media (max-width: 900px){
  .wp-block-genesis-blocks-gb-columns.hug-right > .gb-layout-column-wrap{
    padding-left: var(--gutter) !important;
    padding-right: var(--gutter) !important;
    flex-direction: column;
  }
  .wp-block-genesis-blocks-gb-columns.hug-right .bleed-right{
    margin-right: 0;
  }
  .wp-block-genesis-blocks-gb-columns.hug-right .content-col{
    flex-basis: auto;
  }
}


/*---- blobs ------*/
.presenter-wrap{
  margin-bottom:1em;
  max-width: 620px;
  position:relative;
}

.presenter-wrap .background-blob{
    position: absolute;
    top: -30px;
    left: 28px;
    right: 0px;
    bottom: 0;
    width: 72vw;
}

@media (min-width: 430px){
.presenter-wrap .background-blob{
  position: absolute;
        top: -26px;
        left: 45px;
        right: 0px;
        bottom: 0;
        width: 290px;
}
  }

.blob-presenter a{
  color:#fff;
}

.presenter{
  position:relative;
  margin-left: .5em;
}

.presenter-photo {
  width: 45%;
  max-width:155px;

}

.z-index-neg{
  z-index:-1;
}

.presenter img{ display:block; } /* avoid inline gap */

.blob-pic{
  width:100%; height:100%; object-fit:cover;

  /* use % coordinates  */
  clip-path: url(#blobMask);

  /*
  animation: blobMorph 9s ease-in-out infinite alternate;
  will-change: clip-path;
  */
  
}

/*----- practice areas -----*/
/*
.pa-hero h1{
  font-size:48px;
}
  */

.related-links li{
  margin-bottom:.8em;
  transition:.5s ease-out
}

.related-links a {
    color: var(--color-dark-blue);
}

.related-links li:hover{
  transform:translateX(5px) ;

}


/*------ events archive -----*/
.featured-event .event-date{
  color:#fff;
  font-family:var(--font-header-base);
  font-size:32px;
  margin-bottom: 1.2em;
}

/*
.featured-event{
  padding-bottom:2em; 
}
*/

@media (min-width: 901px){
  .featured-event .event-date{
    font-size:48px;
  }
}

.event-listing article{
  text-align:center;
  margin-bottom:2em;
  padding-bottom:2em;
  border-bottom:solid 1px var(--color-filion-grey-blue);
}

.event-listing p.event-type, .post-categories{
  margin-bottom:0;
}

.event-listing .event-date, .facetwp-template .post-date{
  font-family:var(--font-header-base);
  font-size:32px;
  color:var(--color-filion-grey);
  /* margin-bottom:1rem; */
  margin:0;

  line-height: 1.1;
  margin-bottom: .3em;
}

.post-date, .event-date{
  letter-spacing:0;
}

.event-listing .entry-title, .facetwp-template .entry-title{
  font-family:var(--font-header-base);
  font-size:32px;
  color:var(--color-filion-black);
  font-weight:700;
  line-height: 1.1;

  margin-bottom:2em;
}

.event-tools .pill-btn{
  margin-top:0;
}


@media (max-width: 900px){
  .upcoming-event-wrap {
    flex-direction: column-reverse;
    display: flex;
 
  }
}

@media (max-width: 1024px){
  .feature-lawyer-wrap{
   flex-direction: column-reverse;
        display: flex;
        text-align:right;

  }

  /*
   .feature-lawyer-wrap.overlap-bottom {
    margin-bottom: -13em;
    padding-bottom: 5em;
}
    */
}

/* add mobile media query if needed */
@media (max-width: 900px){
  #newsletter-signup .eye-brow{
  font-size:32px;
}

.news-list{
  margin-top:5em;
}



#upcomming-event .event-date{
  font-size:24px;
}
#upcomming-event .col-5 img{
  max-width:80%;
  margin-left:auto;
}

#featured-lawyer .is-style-medium-heading {
  font-size:24px;
  font-weight:100;
}

#featured-lawyer .like-h1{
  font-size:36px;
  font-weight:700;
}

}


/*------ single events ------*/
.single-event .entry-title, .single-post .entry-title {
  font-size:32px;
  line-height:36px
}

.presenter h2{
  font-size:24px;
  line-height: 1.1;
}



.wp-block-image {
    margin: 0 !important;
}

#in-the-news .news-item:nth-child(2){ text-align:right; }
#in-the-news .news-item:nth-child(2) .col-2{ display:flex; justify-content:flex-end; }


@media (max-width: 900px){
  #in-the-news h2{
  font-size:48px;
  text-align:right;
  font-weight:700;
  }

  .news-item:last-child{
    margin-bottom:0 !important;
  }
}




/* #region facet filters -------*/
.facetwp-facet-load_more{
  text-align:center;
}

button.facetwp-load-more{
  background-color:var(--color-dark-blue);
  border:solid 1px #fff;
  color: #fff;
  border:0;
  border-radius:9999px;
  padding-left:1.5em;
  padding-right:1.5em;
  padding-top:.2em;
  padding-bottom:.4em;
  margin-bottom:6em;
  margin-top:2em;
  cursor:pointer;
  transition:.3s;
  font-size:.9rem;
  margin-top:4em;
}

button.facetwp-load-more:hover{
  background-color:#fff;
  color: var(--color-filion-black);
  border:solid 1px var(--color-filion-black);
  transition:.3s;
}

.facetwp-autocomplete::placeholder{
  color: #fff;
  opacity: 1;
}

.facetwp-facet select {
  appearance: none;             /* reset arrow (all browsers) */
  -webkit-appearance: none;
  -moz-appearance: none;

  /* custom arrow */
  background-image: url("data:image/svg+xml;utf8,<svg width='1' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1 1.10645L8 9.10645L15 1.10645' stroke='white' stroke-width='0.5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 1em center;
  background-size: 1em auto;
}

.theme-white .facetwp-facet select {
  background-image: url("data:image/svg+xml;utf8,<svg width='1' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1 1.10645L8 9.10645L15 1.10645' stroke='black' stroke-width='0.5'/></svg>");
}

.facetwp-facet{
  margin-bottom:2em !important;
}

.facetwp-icon{
  right:10px !important; 
}


.facetwp-facet input, .facetwp-facet select {
  margin-right:.5em;
  border:solid 1px #fff !important;
  border-radius:9999px;
  background-color:transparent !important;
  color:#fff !important;
  padding:.25em;
  width: 277px;
  max-width:100%;
  padding-left:1em;
  font-weight:100;

}

.facetwp-facet select option {
    background-color: var(--color-dark-blue);  /* or your dark bg */
    color: #fff;             /* ensure visible text */
}

.facetwp-facet select option:checked,
.facetwp-facet select option:hover {
    background-color:var(--color-lasso-blue); /* highlight */
    color: #fff;
}



.ae-logo img{
  margin:auto;
  margin-bottom:2em;
  max-width:190px;
}



.no-list-m{
  margin:1em;
  padding:0;
}

.theme-white .facetwp-facet input, .theme-white .facetwp-facet select {
  color:var(--color-filion-black) !important;
  border:solid 1px var(--color-filion-black) !important;
}

.fs-label-wrap {
  margin-right:.5em;
  border:solid 1px #fff !important;
  border-radius:20px;
  background-color:transparent !important;
  color:#fff !important;
  padding:.5em;
  min-width:300px;
}

.fs-dropdown{
  background-color:var(--color-dark-blue) !important;
}

.fs-search input{
  border:none !important;
}


.filters-team input:focus{
  outline: none;
  border-color: 0;
  box-shadow: none;
}

.fcomplete-wrap, .fcomplete-result, .fcomplete-result:hover {
  background-color:var(--color-dark-blue) !important;
  border:0 !important;
}

.facetwp-autocomplete-update {
  display: none;
}

.title-card--wide{
  font-size:46px;
  padding-top: .7em;
  padding-bottom: .7em;
}

.title-card--narrow{
  font-size:48px;
  padding-top: .7em;
  padding-bottom: .7em;
}

 .partners-block {
    margin-top: 2em;
  }



  .showcase-block{
    margin-bottom:3em;
  }

  .showcase-block:last-child{
    margin-bottom:0;
  }

/* #endregion facet filters */

@keyframes blobMorph{
  33%{ clip-path: path("M9% 43% C12% 19% 34% 2% 57% 5% 78% 7% 93% 25% 95% 45% 97% 64% 86% 84% 67% 93% 45% 100% 18% 91% 9% 73% 0% 56% 5% 51% 9% 43% Z"); }
  66%{ clip-path: path("M13% 41% C21% 18% 42% 3% 62% 9% 81% 14% 98% 38% 94% 57% 90% 75% 71% 93% 50% 97% 31% 100% 10% 83% 7% 64% 4% 47% 5% 50% 13% 41% Z"); }
}

/* nice-to-have fallbacks */
@supports not (clip-path: path("M0 0")) {
  .blob-pic{ clip-path: ellipse(48% 44% at 50% 50%); }
}
@media (prefers-reduced-motion: reduce){
  .blob-pic{ animation:none; }
}




/*---- mobile hidden elements -----*/
#search-button, .page-indicator{
  display:none;
}




/* max width 768px = mobile and tablets */
@media (max-width: 1024px) {

  

  

  .wp-block-cover.is-style-stack-mobile {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0;
    padding-top:1em;
  }

  .alignfull.is-hero--cover{
    padding-left:2em !important;
    padding-right:2em !important;
  }

  .wp-block-cover.is-style-stack-mobile > .wp-block-cover__inner-container {
    order: 1;
    position: relative;
    z-index: 1;

    /* padding: var(--stack-mobile-padding, 1.25rem); */
  }

  .wp-block-cover.is-style-stack-mobile .wp-block-cover__image-background,
  .wp-block-cover.is-style-stack-mobile video.wp-block-cover__video-background {
    order: 2;
    position: static !important;
    display: block;
    width: 100vw;
    height: auto;
    grid-gap: 0;
  }

  .wp-block-cover.is-style-stack-mobile::before {
    content: none !important;
  }

  .is-hero--cover .gb-layout-columns-2>.gb-layout-column-wrap {
    grid-template-columns: unset !important;
    grid-gap:0 !important;
}

  /*
  .wp-block-cover.is-style-stack-mobile h1.wp-block-heading{
    margin-bottom:0;
  }
    */
}


/*=============== new homepage hero styles ===============*/

.hero--homepage .gb-2-col-wideright>.gb-layout-column-wrap {
    align-items:end;
}

.hero--homepage-content{
  padding-left:2em;
  padding-right:2em;
}

.hero--homepage .wp-block-spacer {
        height:0 !important;
    }

@media only screen and (max-width: 1023px) {
    .hero--homepage .gb-layout-columns-2>.gb-layout-column-wrap.gb-is-responsive-column {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        grid-template-areas:
        "col1"
        "col2";
    }


    
}

.hero--homepage { 
  overflow-x: clip; 
}


@media (min-width: 1024px){
  .hero--homepage img {
    transform:scale(1.3);
    transform-origin:left bottom;
    margin-left:-3em;
  }

  .hero--homepage{
      padding-top:5em;
    }

    .hero--homepage .wp-block-spacer {
        height:80px !important;
    }

  .hero--homepage .gb-2-col-wideright>.gb-layout-column-wrap {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1280px){
  .hero--homepage .gb-2-col-wideright>.gb-layout-column-wrap {
    -ms-grid-columns: 1fr 2fr;
    grid-template-columns: 1fr 2fr;
  }

  .hero--homepage-content{
  padding-left:0em;
  padding-right:0em;
}
}





/*=============== end new homepage hero styles ===============*/






@media screen and (min-width: 768px) {

  #homepage-banner .wp-block-heading {
    margin-top:3rem;
  }



  #search-button, .page-indicator{
  display:block;
  }

  .four-up-lg {
    grid-template-columns: repeat(3, 1fr);
  }

  .locations-list.four-up-lg {
    grid-template-columns: repeat(2, 1fr);
  }

}

/* Make Media & Text truly one-column under 1024px */
@media (max-width: 1024px) {
  #homepage-banner.wp-block-media-text {
    grid-template-columns: 1fr !important;  /* kill the inline auto 60% */
    grid-auto-flow: row;
  }
  #homepage-banner .wp-block-media-text__content,
  #homepage-banner .wp-block-media-text__media {
    grid-column: 1 / -1;  /* single column */
  }

  /* keep the visual order the same as "media on the right" */
  #homepage-banner.has-media-on-the-right .wp-block-media-text__media { order: 2; }
  #homepage-banner.has-media-on-the-right .wp-block-media-text__content { order: 1; }


 


}


@media (max-width:600px){
  .pull-left-pic-sm {
      margin-left: -2rem !important;
  }
}


@media screen and (min-width: 1024px) {


  .home .wp-block-media-text__content{
  margin-left:calc(10vw / 2) !important; /* calculate the width of the content container divide by half and offset margin left */
  margin-right:0!important;
}

.narrow-heading-dk{
  max-width: 30rem !important;
}

.dk-pt-4{
  padding-top:8em;
}



/*------- temp fix for image in the news section -----------------------------------------------*/
.pull-left-pic {
    transform: translateX(calc((50% - 50vw) / 2));
    /* think -margin should would better. 
   /* margin-left: calc(((100vw - var(--large-container-width, 1200px)) / 2) * -1) !important;  */
    position: absolute;
    bottom: 0px;
    top:0;
 
    left: 0;
    width: 49%;
}



.pull-left-pic img {
    object-fit: contain;
    object-position: bottom;
    width: 100%;
    height: 100%;
    transform: scale(1.1);
    transform-origin: left bottom;
}

.home-insights-padding {
    padding-top: 9em;
}

/* used on the global - national page */
.contained-header{
  max-width: 10.5em;
}

.is-type-video {
    max-width: 75%;
    margin : auto;
}








/*--------- heading sizeing   --------*/
.is-style-large-heading{
  max-width: 650px; /* constrain for readability */
}

.wp-block-media-text__content .is-style-large-heading{
 /*
  font-size: 68px;
  font-family: var(--font-header-base);
  font-weight: 700;
  line-height: 0.98;
  */
  max-width: 400px; /* constrain for readability */
}

.is-style-medium-heading {
  font-family: var(--font-header-base);
  font-size: 48px;
  line-height: 1;
}

#upcomming-event .event-date{
  font-family: var(--font-header-base);
  font-size: 48px;
  font-weight: 100;
  line-height: 1.05;
}

.single-event-wrapper{
  margin-top:2.5em;
}

.overlay-content {
    position: absolute;
    top: 45%;
    left: 20px;
    z-index: 2;
    width: 50%;
}

.overlay-content h2{
  font-size: 24px;
  line-height:1.1;
}

.overlay-content h3{
  font-size:14px;
  font-weight:100;
  line-height:1.2;
}

.title-card--wide{
  font-size:68px;
  font-size: clamp(40px, 5vw, 68px);
  padding:0;
}

.title-card--narrow{
  font-size:48px;
  padding:0;
}


.is-style-small-heading{
  font-family: var(--font-header-base);
  font-size: 32px;
  font-weight: 100;
  line-height: 1.0;
}

.text-regular{
  font-weight:100;
}

/* for the global national page */
.dt-mt-3{
  margin-top:-2em;
}


.desktop-heading-margin-r{
  max-width: 36rem !important;
}

.related-links {
    max-width: 22rem;
}


  .post-item{
    text-align:left;
  
  }

  .post-item .learn-more{
  align-self: start;             /* or 'stretch' if you want full-width */
}

  :root{
     /* text-sizes-----------*/
  --headline-lg: 68px; /* main headlines */
  --headline-md: 48px; /* subheadings, team name */
  --headline-sm: 32px; /* smaller title, team prof. title  */
  }

  .large-text{
        margin-right: 1em; /* rem used for newsletter section on landing page */
  }

  .site-header {
    padding-top: 3em;
}

.splide--slide {
    width: auto;
}

.wp-block-details:last-child {
  border-bottom: solid 1px var(--color-filion-black);
}

.is-style-large-white-heading{
  font-size:68px;
  list-style: 1;
}

.event-listing article{
  border-bottom:0;
}

.homepage-hero--content {
    padding-bottom: 2em ;
    padding-top: 1.7em ; 
}



.page-title-blob{
  top:-2rem;
  left:-1rem;
  transform:  scale(1);

}

.students-hero {
  min-height:32em;;
}

#newsletter-signup .eye-brow {
    font-size: 48px;
}

.showcase-block{
    margin-bottom:0em;
  }


/* ---- team member overlay names -----*/
.overlay-content{
  left: 2.65em;            /* offset from left edge */
}

.overlay-content.name-on-right {
  right: 2.65em;
}

@media (max-width:1023px){
  .overlay-content{
    left: 2em;            /* offset from left edge */
  }

  .overlay-content.name-on-right {
    right: 2em;
  }
}





/*----- practice areas -----*/
.pa-hero h1, .page-template-template-two-column h1{
  width:70%;
}

/* footer logo order */
.footer-tagline {
    padding-top: 0em;
}

a.pay-invoice {
   /*  margin-top: 0em; */
    margin-bottom: 0em;
}

.dk-pb-4{
  padding-bottom: 4em;
}


.affiliate-logos .social-icon:nth-child(1) { order: 1; }
.affiliate-logos .social-icon:nth-child(2) { order: 2; }
.affiliate-logos .social-icon:nth-child(3) { order: 3; }

.footer-buttons{
  margin-top: 0.95em;
 /*  margin-bottom: 2.5em; */
}

.footer-buttons a {
    margin-bottom: 0em;
}

/*
.footer-content .locations-list {
    margin-right: 8em;
}
    */

.social-logos {
  margin-left:3em;
  margin-right:0;
}

.event-listing article{
  text-align:left;
}

/*------ single events ------*/
.single-event .entry-title, .single-post .entry-title  {
  width:60%;
}

/* global national page */
.wp-block-cover.is-hero--cover {
    min-height: 649px;
}
 

.awards-list.grid {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); /* 4–6 per row depending on space */
}


.sm-section-padding-t{
  padding-top: 0;
}

.sm-section-padding-b{
  padding-bottom: 0;
}

a.email-link{
  color:var(--color-dark-blue);
}

  p.team-member-title{
    font-size:var(--headline-sm);
  }

  .section-padding{
    padding-top: 8em;
    padding-bottom: 8em;
  }

  /*
  .home .overlap-bottom{
      padding-bottom:0;
  }
      */

 
  .align-full-inner{
    margin: 0 auto;
    padding-inline:2em;
  }
 

  .content-wrapper {
    margin-top: var(--content-wrapper-top-margin-lg) !important;
  }

  .page-id-88 .content-wrapper,  .category .content-wrapper{
    margin-top: 0 !important;
    }


  
 

  .pull-left{
    /* hack used on the overview page*/
    margin-left:9em;
    margin-top:2.5em;
    margin-bottom:8em;
  }

  .col-6.img-wrap.not-full-body-pic {
    margin-bottom: 4em;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-top:4em;
  }

  

  .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--large-container-width) !important;
}

.alignfull {
    padding-left: 2em;
    padding-right: 2em;
}

  .home .content-wrapper {
    margin-top: 0 !important;
  }

  /*
  .presenter-photo {
    width: 25%;
  }
    */


  /*
  section{
    padding-top: var(--content-wrapper-top-margin-xl);
    padding-bottom: var(--content-wrapper-top-margin-xl);
  }
  */


  /*menu -------*/
  #primary-menu {
      list-style: none;
      margin: 0;
      padding: 0;
  
      display: flex;
      /* flex container */
      flex-direction: row;
      /* horizontal */
      align-items: flex-start;
      /* vertical alignment */
      gap: 2rem;
      /* spacing between items (modern way) */

      justify-content:space-between;
    }

    .sub-menu{
      margin-top:1em !important;
    }


  .site-header, .content-wrapper {
   /* width: 80%; */
    width:90%;
    margin: auto;
    
  }

  #in-the-news h2 {
    text-align: left;
}

.team-member-contact-info{
  margin-bottom:0em;
}

/*================= test stagger =================*/
/* Right side list occupies the second column */

/* Staggering amounts (tune to taste) */
#in-the-news .news-item:nth-child(1){ justify-content:flex-end}
#in-the-news .news-item:nth-child(2){ justify-content:flex-start; text-align:left; }
#in-the-news .news-item:nth-child(3){ justify-content: flex-end;}

.news-list {
    margin-top: -13em;
}







/*==================== end test stagger ====================*/

  .addcont-block{
    width:50%;
  }

  /*------ team archive pages with wrapping grids -------*/
aside.filters-team {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.team-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;  /* two equal 50% columns */
  grid-auto-rows: auto;
  gap: 24px;
}

/* Filters: left column, spanning the first two rows */
.team-wrapper > .filters-team {
  grid-column: 1;
  grid-row: 1 / span 2;
}

/* Flatten results wrapper */
.team-wrapper > .team-results-wrapper {
  display: contents;
}

/* Default articles just auto-flow into the grid */
.team-results-wrapper > article {
  grid-column: auto;
}

/* Force first two results to sit beside the filters */
.team-results-wrapper > article:nth-child(1) {
  grid-column: 2;
  grid-row: 1;
}
.team-results-wrapper > article:nth-child(2) {
  grid-column: 2;
  grid-row: 2;
}


.sm-only { display: none; }


.large-footer-statement {
  font-size:4.25rem; /* change to rem */
}


/* ---- starting point for the team blob ----*/




.background-blob-wrap {
    position: absolute;
    z-index: -1;
    left: 18em;
    top: -6em;
    /* transform: translate(-10%, 13%); */
    transform: scale(1.1);
}

/* Everything after that fills both columns 2-up below filters */




  /*bio pages */
  .accordion-header {
   /*  width:50%; */
    /* margin-left:50%; */
    margin-left: 59.8%;
  }

  .is-open .accordion-header{
    margin-left: 0%;

  }

 

  /*-------- flex and grids ------*/

  .two-up{
    grid-template-columns: max-content max-content; /* ← key change */
    column-gap: 2em;                                 /* your spacing */
    justify-content: start;                           /* keep left-aligned */
  }

  /* Keep each entry on one line so widths are stable */
.two-up > * { white-space: nowrap; }

  .four-up-lg{
    grid-template-columns: repeat(4, 1fr);
  }

 


  .flex {
   display: flex;
  } 

  .flex-wrap{
    flex-wrap: wrap;
  }

  
  .align-stretch {
    align-items: stretch;
  }

  .justify-between {
    justify-content: space-between;
  } 

  .justify-right {
    justify-content: flex-end;
  }

  /*-- columns ---*/

   .col-3{ width:25%; }
  .col-4{ width:33.3333%; }
  .col-5{ width:41.6667%; }
  .col-6{ width:50%; }
  .col-7{ width:58.3333%; }
  .col-8{ width:66.6667%; }
  .col-9{ width:75%; }  

  /*--- contact page ---*/

  .location-item {
     text-align:left;
  display: flex;
  flex-direction: column;   /* stack content vertically */
  justify-content: flex-start;
  height: 100%;             /* all cards equal height in a grid/flex context */
  border-bottom:0;
}

.location-address {
  display: flex;
  flex-direction: column;
  flex: 1;                  /* fill available space */
}

.location-address > div:last-child {
  margin-top: auto;         /* pushes the button container down */
}


  .svg-filion-logo{
    width:230px;
    max-width:230px;
  }


  /*---- footer ----*/

  .footer-navigation .menu {
    justify-content: flex-start;
}

  .site-footer{
    text-align: left;
  }

  /*
  .footer-location-item{
    margin-right:1em;
  }
    */

  .footer-menu a{
    position:relative;
  }

    .footer-location-item a{
      display:inline-block;
    }


  .footer-location-item a:after, #footer-menu a:after{
    content: '';
    height: 1px;
    width: 100%;
    background-color: #fff;
    display: block;
    transition: .5s ease-out;
    opacity:0;
  }

  .footer-location-item a:hover:after, #footer-menu a:hover:after{
   opacity:1
  }

  .site-footer{
    padding: 2rem;
  }

  .footer-content{
    max-width: var(--xlarge-container-width);
    margin: 0 auto;
  }

  .footer-content .svg-filion-logo{
    max-width: 180px;
  }


  /* adjustment for the featured lawyer if their pic is not full body */
  

  

}

@media (min-width: 1300px) {
   .locations-list.four-up-lg {
    grid-template-columns: repeat(4, 1fr);
    grid-gap:2em;
  }
}






@media screen and (min-width: 1440px) {

  

  /*----- practice areas -----*/
.pa-hero h1, .page-template-template-two-column h1{
  width:60%;
}

  /*====== media text block full width fix ======*/
.home .wp-block-media-text__content,
.page-id-345 .wp-block-media-text__content {
  margin-left:calc((100vw - var(--large-container-width, 1200px)) / 2) !important; /* calculate the width of the content container divide by half and offset margin left */
  margin-right:0!important;;
}

   .four-up-lg{
    grid-template-columns: repeat(4, 1fr);
  }

  .site-header, .content-wrapper {
    width: var(--large-container-width);
    margin: auto;
  }

  .footer-content{
    max-width: var(--large-container-width);
    margin: 0 auto;
  }

  .align-full-inner {
    max-width: var(--large-container-width);
  }
}




@media (min-width: 1800px) {

 /* global national page */
.wp-block-cover.is-hero--cover {
    min-height: 700px;
}
}

@media (min-width: 2200px) {

 /* global national page */
.wp-block-cover.is-hero--cover {
    min-height: 850px;
}
}



/* 5) Overlays: remove from layout so they don't become flex items */
#page-wipe,
#search-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;            /* or whatever you need */
  /* keep your existing transform/hidden styles */
}

#search-overlay {
  position: fixed;
  inset: 0; /* shorthand for top:0; right:0; bottom:0; left:0 */
  z-index: 9999; /* above everything else */
  /* background: var(--color-dark-blue); */
  background-color:rgba(4, 80, 188, 0.9);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;

  /* hidden by default, then shown via JS */
  visibility: hidden;
  opacity: 0;
  transform: translateY(-15em); /* slide down from above */
  transition: opacity 0.3s ease, transform 0.3s ease;
  height: 10em;
}

#search-overlay[aria-hidden="false"] {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
}

#search-overlay [role="document"] {
  background: #fff;
  padding: 2rem;
  border-radius: 0.5rem;
  max-width: 600px;
  width: 90%;
  box-shadow: 0 0.5rem 2rem rgba(0,0,0,0.4);
}

.searchform input{
  background-color:transparent !important;
  border-radius:9999px;
 padding-top: .3em;
 padding-bottom:.2em;
  padding-left:1em; 
  padding-right:1em;

  border:solid 1px var(--color-filion-black) !important;
  color: var(--color-filion-black) !important;
}

#search-overlay input{
  border:solid 1px #fff !important;
  color: #fff !important;
}

.overlay-close{
  font-family: var(--font-family-base);
  font-weight:100;
  position:absolute;
  top:1em;
  right:1em;
  background:transparent;
  border:0;
  font-size:1.5rem;
  color:#fff;

  cursor:pointer;
}
.searchform input[type="text"]{
  width:300px;
  max-width:65%;
  padding-top: 0.1em;
}

.searchform input[type="submit"]{
 margin-left:.5em;
  padding-top: 0.1em;
}


/* If you need the wipe to be click-through by default */
#page-wipe { pointer-events: none; }



/*=============*/
/* ----- MOBILE FIRST: stack, copy first, image second ----- */
.hero-swap > .gb-layout-column-wrap {
  display: grid;                          /* take control */
  grid-template-columns: 1fr;
  /* row-gap: clamp(16px, 5vw, 56px);        /* space between copy & image */
  row-gap:0;
}

/* neutralize Genesis order utilities inside this section */
.hero-swap > .gb-layout-column-wrap > .wp-block-genesis-blocks-gb-column {
  order: initial !important;
}

/* Your DOM = first column is IMAGE, second is COPY */
.hero-swap > .gb-layout-column-wrap > .wp-block-genesis-blocks-gb-column:first-child { 
  grid-row: 2;   /* image goes BELOW on mobile */
}
.hero-swap > .gb-layout-column-wrap > .wp-block-genesis-blocks-gb-column:last-child  { 
  grid-row: 1;   /* copy on top */
}

/*------- media and text blocks overrides -------*/

@media (max-width: 1023px) {


  /* set the order of the media and text blocks */
 .home .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content,
 .page-id-345 .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content
 {
    grid-row: 1;
}
 /* set the order of the media and text blocks */
.home .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media,
.page-id-345 .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media
{
  grid-row: 2;
}
 
} 

@media (min-width:700px) and (max-width: 1200px) {
    .gb-layout-columns-6>.gb-layout-column-wrap.gb-is-responsive-column {
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
        "col1 col2"
        "col3 col4"
        "col5 col6";
    }
}




.home .wp-block-media-text__content,
.page-id-345 .wp-block-media-text__content
{
  padding:0 !important;
  max-width: 500px;
  margin-left:2em;
  margin-right:2em;
}
/*
@media (max-width: 900px) {
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
    }
}
    */




/* ----- DESKTOP: two columns, image left, copy right ----- */
@media (min-width: 992px) {
  .hero-swap > .gb-layout-column-wrap {
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(24px, 4vw, 64px);
    align-items: center;
  }
  .hero-swap > .gb-layout-column-wrap > .wp-block-genesis-blocks-gb-column:first-child {
    grid-row: auto; grid-column: 1;       /* image left */
  }
  .hero-swap > .gb-layout-column-wrap > .wp-block-genesis-blocks-gb-column:last-child {
    grid-row: auto; grid-column: 2;       /* copy right */
  }
}





/*======= quick fix for full with hug images =======*/
/* Mobile: stack + edge-to-edge image */
@media (max-width: 900px){
  /* remove row padding so the image can bleed */
  .wp-block-genesis-blocks-gb-columns.hug-right > .gb-layout-column-wrap{
    flex-direction: column;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* keep the text with normal page padding */
  .wp-block-genesis-blocks-gb-columns.hug-right .content-col{
    width: 100%;
    padding-inline: var(--gutter) !important;
  }

  /* make the image span the viewport */
  .wp-block-genesis-blocks-gb-columns.hug-right .bleed-right{
    align-self: stretch;
    width: 100%;
    /* bleed both sides to the viewport edge */
    margin-left:  calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  /* nuke inner padding/margins Genesis adds */
  .wp-block-genesis-blocks-gb-columns.hug-right .bleed-right .gb-block-layout-column-inner,
  .wp-block-genesis-blocks-gb-columns.hug-right .bleed-right figure{
    padding: 0 !important;
    margin: 0 !important;
  }

  /* image hygiene */
  .wp-block-genesis-blocks-gb-columns.hug-right .bleed-right img{
    display: block;
    width: 100%;
    max-width: none;
    height: auto;           /* or set a fixed height + object-fit: cover */
    object-fit: cover;
  }
}

/* Optional: avoid a 1px horizontal scrollbar on iOS due to subpixel rounding */
.wp-block-genesis-blocks-gb-columns.hug-right{ overflow-x: clip; }






/*========== new page transitions ==========*/
/* Base wiper */
  #page-wipe{position:fixed;inset:0;z-index:9999;pointer-events:none}
  #page-wipe svg{width:100%;height:100%}

  /* Start fully covering (no transition yet) */
  #page-wipe{transform:translateY(-20%)}
  /* When JS marks ready, allow transitions */
  .js-ready #page-wipe{transition:transform .8s ease-in-out}
  .js-ready .wipe-revealed #page-wipe{transform:translateY(100%)}

 



