/* Bassi Foundation Press — overrides on top of the Artvista theme.
   Nothing in the vendor stylesheet is edited; everything here is additive. */
:root{
  --theme-color:#7D2B35;          /* Bassi crimson */
  --title-color:#1A1F27;
  --body-color:#2C3138;
  --smoke-color:#F6F2EA;
  --smoke-color2:#F8F6F1;
  --smoke-color3:#F4F1EA;
  --smoke-color4:#F4F1EA;
  --black-color:#14181E;
  --border-color:#D8D0C0;
  --border-color2:#B9AE99;
  --title-font:"Fraunces",Georgia,"Times New Roman",serif;
  --body-font:"Newsreader",Georgia,"Times New Roman",serif;
  --main-container:1180px;
}
body{font-size:18px;line-height:1.75;letter-spacing:0;}
h1,h2,h3,h4,h5,h6,.sec-title{font-family:var(--title-font);font-weight:400;letter-spacing:-.01em;}
.breadcumb-wrapper{background-color:var(--smoke-color);padding:96px 0 72px;
  border-bottom:1px solid var(--border-color);}
.breadcumb-wrapper:before,.breadcumb-wrapper:after{display:none!important;content:none!important;}
.breadcumb-wrapper .container{position:relative;z-index:2;}
.breadcumb-title{font-size:clamp(2rem,4vw,3.25rem);color:var(--title-color);line-height:1.12;}
.breadcumb-menu li,.breadcumb-menu li a{color:var(--body-color);font-family:var(--body-font);
  letter-spacing:.04em;font-size:13px;text-transform:uppercase;}
.breadcumb-menu li:not(:last-child):after{color:var(--border-color2);}

/* readable measure and rhythm for the content column */
.bfp-page{padding:72px 0 96px;}
.bfp-eyebrow{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:12px;
  color:var(--theme-color);font-family:var(--body-font);margin-bottom:14px;}
.bfp-display{font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.1;margin:0 0 1.4rem;color:var(--title-color);max-width:15em;}
.bfp-lede{font-size:1.4rem;line-height:1.5;color:var(--title-color);margin:0 0 2.2rem;max-width:32em;}
.bfp-h2{font-size:1.9rem;margin:2.4rem 0 1rem;line-height:1.2;}
.bfp-h2:first-child{margin-top:0;}
.bfp-h2{scroll-margin-top:120px;}
.bfp-h3{font-size:1.28rem;font-weight:600;margin:2.2rem 0 .7rem;color:var(--title-color);}
.bfp-h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;margin:2rem 0 .6rem;
  color:var(--theme-color);font-family:var(--body-font);}
.bfp-p{margin:0 0 1.2rem;max-width:38em;color:var(--body-color);font-size:18px;line-height:1.75;}
.bfp-page p,.bfp-page li,.bfp-page td{color:var(--body-color);}
.bfp-note{font-size:.92rem;color:#6A707D;margin:0 0 1.4rem;max-width:40em;}
.bfp-tbc{font-style:italic;color:#6A707D;margin:0 0 1.2rem;}
.bfp-cta{margin:0 0 1.6rem;}
.bfp-cta a{color:var(--theme-color);font-weight:600;border-bottom:1px solid rgba(125,43,53,.3);}
.bfp-cta a:hover{border-bottom-color:var(--theme-color);}
.bfp-rule{border:0;border-top:1px solid var(--border-color);margin:2.6rem 0;opacity:1;}
.bfp-list{margin:0 0 1.5rem;padding-left:1.15rem;max-width:38em;list-style:disc;}
.bfp-list-num{list-style:decimal;}
.bfp-list li{margin-bottom:.55rem;padding-left:.2rem;font-size:18px;line-height:1.72;}
.bfp-list li::marker{color:var(--theme-color);}
.bfp-quote{border-left:3px solid var(--theme-color);padding:.2rem 0 .2rem 1.5rem;margin:2rem 0;max-width:36em;}
.bfp-quote p{font-size:1.3rem;line-height:1.5;color:var(--title-color);margin:0 0 .6rem;}
.bfp-quote cite{font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:#6A707D;}
.bfp-callout{background:var(--smoke-color);border-left:3px solid var(--theme-color);
  padding:1.6rem 1.8rem .4rem;margin:2rem 0;max-width:40em;}
.bfp-callout>*:first-child{margin-top:0;}
.bfp-figures{display:flex;flex-wrap:wrap;gap:2.5rem;margin:2rem 0 2.4rem;}
.bfp-figure{min-width:150px;}
.bfp-figure-num{display:block;font-family:var(--title-font);font-size:2.6rem;line-height:1;color:var(--theme-color);}
.bfp-figure-cap{display:block;font-size:.9rem;color:#6A707D;margin-top:.4rem;max-width:12em;}
.bfp-steps{counter-reset:s;list-style:none;padding:0;margin:1.6rem 0 2rem;max-width:40em;}
.bfp-steps li{counter-increment:s;position:relative;padding-left:2.6rem;margin-bottom:1.3rem;}
.bfp-steps li:before{content:counter(s);position:absolute;left:0;top:.1rem;width:1.75rem;height:1.75rem;
  border:1px solid var(--theme-color);color:var(--theme-color);border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:.85rem;font-family:var(--body-font);}
.bfp-step-head{display:block;font-weight:600;color:var(--title-color);}
.bfp-step-body{display:block;margin-top:.25rem;}
.bfp-member{border-bottom:1px solid var(--border-color);padding:1rem 0;max-width:40em;}
.bfp-member-role{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--theme-color);}
.bfp-member-name{display:block;font-size:1.1rem;font-weight:600;color:var(--title-color);margin-top:.2rem;}
.bfp-member-note{display:block;font-size:.92rem;color:#6A707D;margin-top:.15rem;}
.bfp-faq{border-bottom:1px solid var(--border-color);padding:1.4rem 0;max-width:42em;}
.bfp-faq-q{font-size:1.12rem;font-weight:600;margin:0 0 .6rem;color:var(--title-color);}
.bfp-faq-a p{margin:0 0 .7rem;}
.bfp-table-wrap{overflow-x:auto;margin:1.6rem 0 2rem;}
.bfp-table{width:100%;border-collapse:collapse;font-size:.95rem;}
.bfp-table th,.bfp-table td{border-bottom:1px solid var(--border-color);
  padding:.85rem 1.2rem;text-align:left;vertical-align:top;}
.bfp-table tr:first-child th{background:var(--smoke-color);font-size:.8rem;text-transform:uppercase;
  letter-spacing:.08em;color:#6A707D;}
.bfp-table th{font-weight:600;color:var(--title-color);}

/* skip link, hero and plates */
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--theme-color);
  color:#fff;padding:.7rem 1.3rem;font-family:var(--body-font);}
.skip-link:focus{left:0;}
#bfp-main:focus{outline:none;}
.bfp-hero{background:var(--smoke-color);border-bottom:1px solid var(--border-color);padding:84px 0;}
.bfp-hero .bfp-display{margin-bottom:1.1rem;}
.bfp-hero .bfp-lede{margin-bottom:2rem;}
.bfp-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin:0;}
.bfp-hero-btn{background:var(--theme-color);color:#fff;padding:.9rem 1.7rem;display:inline-block;
  font-family:var(--body-font);font-size:16px;letter-spacing:.02em;}
.bfp-hero-btn:hover{background:#5E1F27;color:#fff;}
.bfp-hero-link{color:var(--theme-color);font-weight:600;}
.bfp-plate-fig{margin:0 0 0 auto;max-width:390px;}
.bfp-plate-fig img,.bfp-photo img{width:100%;height:auto;display:block;
  box-shadow:0 1px 2px rgba(20,24,30,.08),0 8px 28px rgba(20,24,30,.07);}
.bfp-photo{margin:2.4rem 0;max-width:400px;}
.bfp-photo--framed{margin:2.8rem auto 3.2rem;max-width:400px;text-align:center;}
.bfp-photo--framed img{border:1px solid var(--theme-color);
  outline:1px solid var(--border-color2);outline-offset:7px;background:var(--smoke-color);
  padding:11px;box-shadow:0 8px 24px rgba(20,24,30,.09);}
.bfp-photo--framed figcaption{text-align:center;margin-top:1.05rem;letter-spacing:.06em;
  text-transform:uppercase;font-size:11px;}
/* cohort accordions for the Scholars record */
.bfp-acc{border:1px solid var(--border-color2,#E3DCD2);margin-top:-1px;background:#fff;}
.bfp-acc:first-of-type{margin-top:2.2rem;}
.bfp-acc:last-of-type{margin-bottom:2.6rem;}
.bfp-acc summary{cursor:pointer;display:flex;align-items:baseline;gap:1rem;
  padding:1rem 1.25rem;list-style:none;}
.bfp-acc summary::-webkit-details-marker{display:none;}
.bfp-acc-t{font-family:var(--title-font);font-size:1.25rem;flex:1 1 auto;}
.bfp-acc-n{font-family:var(--body-font);font-size:11px;color:#6A707D;
  letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;}
.bfp-acc summary::after{content:"+";font-family:var(--body-font);font-size:1.15rem;
  line-height:1;color:var(--theme-color);flex:0 0 auto;transform:translateY(1px);}
.bfp-acc[open] summary::after{content:"\2212";}
.bfp-acc[open] summary{background:var(--smoke-color);}
.bfp-acc .bfp-acc-list{margin:0;padding:1.05rem 1.25rem 1.2rem;}
.bfp-acc .bfp-acc-list li{margin-bottom:.4rem;}
.bfp-faq-link{color:var(--theme-color);font-weight:600;}
/* the title face draws a modern ampersand that reads as an at-sign; the
   italic of EB Garamond gives the old Et-ligature form instead */
span.bfp-amp{font-family:"EB Garamond","Newsreader",Georgia,serif!important;
  font-style:italic!important;font-weight:inherit!important;font-size:1.10em!important;
  background:none!important;background-color:transparent!important;color:inherit!important;
  position:static!important;top:auto!important;right:auto!important;left:auto!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  height:auto!important;width:auto!important;line-height:inherit!important;
  display:inline!important;text-align:inherit!important;text-transform:none!important;
  box-shadow:none!important;}
/* e-mail addresses: crimson standing, faux-bold on hover so nothing reflows */
a[href^="mailto:"],.header-links li a[href^="mailto:"],
.bfp-p a[href^="mailto:"],.bfp-lede a[href^="mailto:"]{color:var(--theme-color);}
a[href^="mailto:"]:hover,a[href^="mailto:"]:focus{color:var(--theme-color);
  text-shadow:0.34px 0 0 currentColor,-0.34px 0 0 currentColor;}
.footer-wrapper a[href^="mailto:"],.sidemenu-wrapper a[href^="mailto:"],
.bg-title a[href^="mailto:"],.footer-layout2 a[href^="mailto:"]{color:#D9A2A9;}
.footer-wrapper a[href^="mailto:"]:hover,.sidemenu-wrapper a[href^="mailto:"]:hover,
.bg-title a[href^="mailto:"]:hover,.footer-layout2 a[href^="mailto:"]:hover{color:#E7BEC4;}
a.text-white[href^="mailto:"]{color:#D9A2A9!important;}
a.text-white[href^="mailto:"]:hover{color:#E7BEC4!important;
  text-shadow:0.34px 0 0 currentColor,-0.34px 0 0 currentColor;}
/* the top strip: bootstrap's gy-2 pads the columns from the top only */
.header-top .row{--bs-gutter-y:0;margin-top:0;}
.header-top .row>*{padding-top:0;}
.header-top{padding:0;}
.header-links li{padding:16px 0!important;line-height:1.5;}
.bfp-photo figcaption{font-size:.85rem;color:#6A707D;margin-top:.65rem;
  font-family:var(--body-font);letter-spacing:.02em;}
@media(max-width:991px){
  .bfp-hero{padding:52px 0;}
  .bfp-plate-fig{margin:2.4rem auto 0;max-width:300px;}
}

/* ---- home page: the demo's own layout, retuned for a press ------------- */
/* the demo composes the hero on the theme's full 1380px container; the house
   1180px measure is for text pages, not the cover */
.hero-wrapper.hero-3 .container{max-width:1380px;}

/* the theme paints a hard orange bar behind .style2. Keep the idea (the text
   must stay legible where it crosses the photograph) but in the house blush:
   near-opaque parchment running into pale crimson. */
.hero-style3 .hero-title.style2{
  background-image:linear-gradient(to right,rgba(246,242,234,.96),rgba(214,170,176,.92))!important;
  background-size:100% 62%!important;padding-right:40px;}
.hero-style3 .hero-subtitle{color:var(--theme-color);letter-spacing:.14em;
  text-transform:uppercase;font-size:13px;font-family:var(--body-font);}
.hero-style3 .hero-title{font-weight:400;letter-spacing:-.02em;}
/* long titles (e.g. "Bassi Foundation / Scholars.") scale with the viewport
   so they can never overrun the container in any face */
.hero-style3 .hero-title.bfp-t-long{font-size:clamp(30px,10.4vw,92px)!important;}
/* the round badges are fixed squares with a matching line-height: let text wrap */
.hero-style3 .hero-thumb3-1 .btn,.footer-layout2 .footer-top .btn{
  display:inline-flex!important;align-items:center;justify-content:center;text-align:center;
  line-height:1.16!important;font-size:19px!important;padding:0 20px!important;}
@media(max-width:1199px){
  .hero-style3 .hero-thumb3-1 .btn,.footer-layout2 .footer-top .btn{font-size:15px!important;}}
/* standing facts sit over the photograph — give them something to sit on */
.hero-style3 .hero-thumb3-1{position:relative;}
.hero-style3 .hero-thumb3-1:after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,rgba(20,24,30,0) 34%,rgba(20,24,30,.62) 100%);}
.hero-style3 .hero-thumb3-1 .event-vanue-details{max-width:19ch;text-align:right;z-index:2;}
.hero-style3 .hero-thumb3-1 .event-vanue-details span{font-size:26px!important;line-height:1.25;
  margin-bottom:18px!important;text-shadow:0 1px 14px rgba(12,15,20,.5);}
@media(max-width:991px){.hero-style3 .hero-thumb3-1 .event-vanue-details span{font-size:17px!important;}}
/* dark bands: the theme's body colour is near-black and vanishes on them */
.bg-title .sec-text,.bg-title .text-light,.footer-layout2 .footer-text{color:rgba(255,255,255,.78)!important;}
.bg-title .sec-title{letter-spacing:-.02em;}
.about-area-2 .btn.style2{border-color:rgba(255,255,255,.5);}
.portfolio-card-3 .portfilio-card-title{font-size:clamp(38px,5.4vw,68px)!important;letter-spacing:-.02em;}
.portfolio-card-3 .portfilio-card-title.text-stroke{-webkit-text-stroke-width:1.15px;}
.portfolio-card-3 .btn.btn-border2{font-family:var(--body-font);font-size:12px;letter-spacing:.13em;}
.instagram-area-1 .title-area .sec-text{max-width:34em;margin-left:auto;margin-right:auto;}
.instagram-area-1{padding-bottom:40px;}
.bfp-preload-mark{font-family:var(--title-font);font-size:1.4rem;color:#fff;letter-spacing:-.01em;}
/* inner pages get a photographic band behind the title, as the demo does */
.breadcumb-wrapper.bfp-band{position:relative;background-size:cover;background-position:center;
  background-repeat:no-repeat;border-bottom:0;padding:132px 0 118px;}
.breadcumb-wrapper.bfp-band .bfp-band-img{position:absolute;width:1px;height:1px;
  opacity:0;pointer-events:none;}
.breadcumb-wrapper.bfp-band:before{content:""!important;display:block!important;
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,30,.26),rgba(20,24,30,.62));}
.breadcumb-wrapper.bfp-band .breadcumb-title{color:#fff;}
.breadcumb-wrapper.bfp-band .breadcumb-menu li,
.breadcumb-wrapper.bfp-band .breadcumb-menu li a{color:rgba(255,255,255,.82);}
.breadcumb-wrapper.bfp-band .breadcumb-menu li:not(:last-child):after{color:rgba(255,255,255,.45);}
@media(max-width:991px){.breadcumb-wrapper.bfp-band{padding:88px 0 74px;}}
/* the theme's .sec-title is an inline-flex box with overflow:hidden, so a
   two-line title lays out as two side-by-side items and gets clipped */
.about-area-2 .sec-title,.instagram-area-1 .sec-title,.footer-top .title{
  display:block!important;overflow:visible!important;}
/* the theme reserves 120px above the hero to clear its absolute header;
   the header is in flow now, so most of that reads as dead space */
.hero-style3{padding-top:36px!important;}
/* Fraunces carries far more air in its line box than the demo's Jost, so the
   two title lines drifted apart and off the photograph. Tighten the stack to
   the demo's geometry: lines close up, and the second line sits over the
   image again (the theme's own -45px tuck does the rest). The margins here
   also cancel the clip-guard paddings between the two lines. */
.hero-style3 .hero-title{line-height:.95em;}
.hero-style3 .hero-title + .hero-title{margin-top:-.22em!important;}
.hero-style3 .hero-title.style2{margin-bottom:.05em;}
.about-area-2 .about-wrap2{padding-top:96px;padding-bottom:96px;}
@media(min-width:1200px){.about-area-2 .about-wrap2 .title-area{max-width:26em;}}

/* ---- fixed menu bar (clone) and the neutralised theme sticky ------------- */
#bfp-stickybar{position:fixed;top:0;left:0;right:0;z-index:900;background:var(--white-color);
  box-shadow:0 0 10px rgba(0,0,0,.08);transform:translateY(-110%);transition:transform .38s ease;}
#bfp-stickybar.bfp-show{transform:translateY(0);}
#bfp-stickybar .menu-area{border-bottom:1px solid var(--border-color);}
@media(max-width:991px){#bfp-stickybar{display:none;}}
@media(prefers-reduced-motion:reduce){#bfp-stickybar{transition:none;}}
#smooth-content .sticky-wrapper.sticky{position:static!important;animation:none!important;
  box-shadow:none!important;background:transparent!important;}
/* the theme positions the header absolutely over the content (and used JS
   padding to clear it). In flow inside #smooth-content it needs no clearing,
   and nothing about it ever changes with scroll. */
#smooth-content header.nav-header{position:relative!important;top:auto!important;}

/* ---- reveal animations must not shear tall ascenders ---------------------- */
/* The slide and reveal keyframes end on clip-path inset(0), which clips at the
   border box. Fraunces' ascent and descent exceed the line box, so headline
   tops were cut. Padding enlarges the clipped box; the negative margin gives
   the space back, and nothing else moves. */
[data-ani^="slider-custom"],.wow[class*="custom-anim"]{
  padding-top:.16em!important;margin-top:-.16em!important;
  padding-bottom:.14em!important;margin-bottom:-.14em!important;}
.hero-style3 .hero-title{overflow:visible;}

/* ---- horizontally scrollable rows (replace the marquees) ------------------ */
.bfp-rowhead{margin:0 0 16px;}
.bfp-rowhead .bfp-eyebrow{margin-bottom:0;}
.bfp-row{margin-bottom:44px;}
.bfp-row:last-child{margin-bottom:0;}
.bfp-hs{display:flex;gap:26px;overflow-x:auto;padding:4px 4px 12px;
  -webkit-overflow-scrolling:touch;cursor:grab;
  scrollbar-width:none;-ms-overflow-style:none;}
.bfp-hs::-webkit-scrollbar{display:none;}
.bfp-hs:active{cursor:grabbing;}
.bfp-hs>*{flex:0 0 auto;}
.bfp-hs img{-webkit-user-drag:none;user-select:none;}
.bfp-hs .portfolio-card-3 .portfolio-thumb img{width:440px;max-width:74vw;height:auto;display:block;}
.bfp-hs .instagram-card img{width:300px;max-width:60vw;height:auto;display:block;}

/* quieten the theme's furniture */
@media(prefers-reduced-motion:reduce){
  .wow,[class*="custom-anim"],[class*="slider-custom-anim"]{
    visibility:visible!important;opacity:1!important;
    animation:none!important;transform:none!important;clip-path:none!important;}
}
.footer-wrapper{background:var(--black-color);}
.footer-wrapper .widget_nav_menu a,.footer-text,.copyright-text{font-family:var(--body-font);}
@media(max-width:991px){.bfp-page{padding:48px 0 64px;}.breadcumb-wrapper{padding:64px 0 48px;}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

.bfp-wordmark{font-family:var(--title-font);font-size:1.3rem;line-height:1.15;color:var(--title-color);
  display:inline-block;letter-spacing:-.01em;max-width:11em;}
.bfp-wordmark .bfp-wordmark-sm{display:block;font-family:var(--body-font);font-size:.62rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--theme-color);margin-top:.25rem;}
.footer-logo .bfp-wordmark,.footer-wrapper .bfp-wordmark{color:#fff;}
.header-top{background:var(--smoke-color);border-bottom:1px solid var(--border-color);}
.header-links li,.header-links li a{font-family:var(--body-font);font-size:13px;color:var(--body-color);}
