/* Google Fonts - Inter */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap&text=←↑→↓↔↕↖↗↘↙⬒⬓⬔⬕⬖⬗⬘⬙⤓⤔⤕⤖⤗⤘⤙⤚⤛⤜⤝⤞⤟');



/* =========================================

   Basic-Fit Annual Report 2025 Styles

   ========================================= */



/* -------------------------

   CSS Variables / Design Tokens

   ------------------------- */

:root {

   /* Core Colors */

   --bf-orange: #FE7000;

   --bf-orange-light: #FFAB21;

   --bf-orange-lighter: #FFAB21;



   --bf-anthracite: #2D2D2D;

   --bf-white: #FFFFFF;

   --bf-purple: #592BB2;

   --bf-lilac: #CBB1FA;



   /* Gradient Colors */

   --bf-sand: #E8D6BF;

   --bf-light-sand: #F2E8D6;

   --bf-dark-sand: #C1A888;

   --bf-off-white: #FAF7F0;



   /* Font Families */

   --font-treble: 'Heading Pro Treble', sans-serif;

   --font-double: 'Heading Pro Double', sans-serif;



   /* Spacing */

   --spacing-xs: 8px;

   --spacing-sm: 16px;

   --spacing-md: 24px;

   --spacing-lg: 32px;

   --spacing-xl: 48px;

   --spacing-xxl: 64px;



   /* Border Radius */

   --radius-sm: 4px;

   --radius-md: 8px;





   --bf-gradient: linear-gradient(to top right, var(--bf-orange) 20%, var(--bf-orange-light) 60%, var(--bf-orange-lighter) 90%);

}



/* -------------------------

   Font Face Declarations

   ------------------------- */



/* Heading Pro Treble */

@font-face {

   font-family: 'Heading Pro Treble';

   src: url('../fonts/heading/Heading-Pro-Treble-Heavy.otf') format('opentype');

   font-weight: 800;

   font-style: normal;

   font-display: swap;

}



@font-face {

   font-family: 'Heading Pro Treble';

   src: url('../fonts/heading/Heading-Pro-Treble-ExtraBold.otf') format('opentype');

   font-weight: 700;

   font-style: normal;

   font-display: swap;

}



@font-face {

   font-family: 'Heading Pro Treble';

   src: url('../fonts/heading/Heading-Pro-Treble-Regular.otf') format('opentype');

   font-weight: 400;

   font-style: normal;

   font-display: swap;

}



/* Heading Pro Double */

@font-face {

   font-family: 'Heading Pro Double';

   src: url('../fonts/heading/Heading-Pro-Double-Heavy.otf') format('opentype');

   font-weight: 900;

   font-style: normal;

   font-display: swap;

}



@font-face {

   font-family: 'Heading Pro Double';

   src: url('../fonts/heading/Heading-Pro-Double-ExtraBold.otf') format('opentype');

   font-weight: 800;

   font-style: normal;

   font-display: swap;

}



@font-face {

   font-family: 'Heading Pro Double';

   src: url('../fonts/heading/Heading-Pro-Double-ExtraBold-Italic.otf') format('opentype');

   font-weight: 800;

   font-style: italic;

   font-display: swap;

}



@font-face {

   font-family: 'Heading Pro Double';

   src: url('../fonts/heading/Heading-Pro-Double-Bold.otf') format('opentype');

   font-weight: 700;

   font-style: normal;

   font-display: swap;

}



@font-face {

   font-family: 'Heading Pro Double';

   src: url('../fonts/heading/Heading-Pro-Double-Regular.otf') format('opentype');

   font-weight: 500;

   font-style: normal;

   font-display: swap;

}



@font-face {

   font-family: 'Heading Pro Double';

   src: url('../fonts/heading/Heading-Pro-Double-Italic.otf') format('opentype');

   font-weight: 500;

   font-style: italic;

   font-display: swap;

}



/* -------------------------

   Base Styles

   ------------------------- */

* {

   box-sizing: border-box;

   font-variant-ligatures: none;



}



html {

   font-size: 1rem;

   scroll-behavior: smooth;

}



body {

   font-family: var(--font-double);

   font-size: 0.6875rem;

   line-height: 16px;

   color: var(--bf-anthracite);

   background-color: var(--bf-off-white);

   margin: 0;

   padding: 0;

   -webkit-font-smoothing: antialiased;

   -moz-osx-font-smoothing: grayscale;

}



/* -------------------------

   Typography

   ------------------------- */

h1,

h2,

h3,

h4,

h5,

h6 {

   font-family: var(--font-treble);

   font-weight: 800;

   margin: 0 0 var(--spacing-sm);



}



/* H0 - Hero Title */

.bf-h0 {

   font-family: var(--font-treble);

   font-size: 2.125rem;

   line-height: 0.9411764706;

   font-weight: 800;

   color: var(--bf-anthracite);

   text-transform: uppercase;



}



/* H1 - Page Title */

.bf-h1,

h1,

.sublevel h2 {

   /* font-family: var(--font-treble);

    font-size: 2.375rem;

    line-height: 1.27;

    font-weight: 800;

    color: var(--bf-orange); */



   font-family: var(--font-treble);

   font-size: 2.375rem;

   /* 38px */

   line-height: 0.8947368421;

   font-weight: 800;

   color: var(--bf-orange);

   text-transform: uppercase;



}



.subsection h2 {}



/* H2 - Section Title */

.bf-h2,

h2 {

   font-family: var(--font-treble);

   font-size: 1.125rem;

   /* 18px */

   line-height: 1.27;

   font-weight: 800;

   color: var(--bf-orange);



}



/* H3 - Subsection Title */

.bf-h3,

.bf-h4 {

   font-family: var(--font-treble);

   font-size: 1rem;

   /* 16px */

   line-height: 1.27;

   font-weight: 800;

}



h2 {}



h3 {

   font-family: var(--font-treble);

   font-size: 0.8125rem;

   /* 13px */

   line-height: 1rem;

   font-weight: 800;

   margin-bottom: 0;

   /* color: var(--bf-orange); */

}



h4 {

   font-family: var(--font-double);

   font-size: 0.8125rem;

   /* 10px */

   line-height: 1.27;

   font-weight: 800;

   font-style: italic;

}



h5 {

   font-family: var(--font-double);

   font-size: 0.8125rem;

   /* 10px */

   line-height: 1.27;

   font-weight: 500;

}



h6 {

   font-family: var(--font-treble);

   font-size: 0.8125rem;

   /* 10px */

   line-height: 1.27;

   font-weight: 500;

}



/* Body Text */

.bf-body,

p {

   font-family: var(--font-double);

   font-size: 0.6875rem;

   /* 11px */

   line-height: 1.4545454545;

   font-weight: 500;

   color: var(--bf-anthracite);

   margin: 0 0 var(--spacing-sm);

}



/* Small Text */

.bf-small {

   font-size: 0.625rem;

   line-height: 1.1;

}



a {

   color: var(--bf-anthracite);

   text-decoration: underline;

}



a:hover {

   color: var(--bf-orange);

}



/* -------------------------

   Layout

   ------------------------- */

.bf-container {

   max-width: 75rem;

   margin: 0 auto;

   position: relative;

}



.bf-page {

   min-height: 100vh;

   position: relative;

   /*overflow: hidden; */

   max-width: 75rem;

   margin: 0 auto;

   background: var(--bf-light-sand);

   overflow-x: hidden;



}



.bf-page::before {

   content: '';

   position: absolute;

   top: 0;

   left: 0;

   width: 144px;

   height: 324px;

   display: block;

   pointer-events: none;

   background-image: url('../img/gradients/glow-header-orange.png');

   background-position: right bottom;

   background-repeat: no-repeat;

   background-size: cover;

}





/* -------------------------

   Navigation Bar

   ------------------------- */

.bf-navbar {

   position: fixed;

   top: 1rem;

   height: 3rem;

   background: var(--bf-white);

   border-radius: var(--radius-sm);

   display: flex;

   align-items: center;

   justify-content: space-between;

   padding: 0 1rem;

   z-index: 2026;

   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);

   width: calc(100% - 2rem);

   left: 1rem;



   @media screen and (min-width: 1024px) {

      left: 50%;

      transform: translateX(-50%);

      width: calc(100% - 2rem);

      max-width: calc(1200px - 2rem);

   }

}



.bf-navbar-logo {

   padding: 0;

   display: flex;

   align-items: center;

   justify-content: center;

}



.bf-navbar-logo img {

   height: 26px;

   width: auto;

}



.bf-navbar-menu {

   display: flex;

   align-items: center;

   gap: 3.5rem;

   list-style: none;

   margin: 0;

   padding: 0 2rem;

   /* width: calc(100vw - 30rem); */

   width: 100%;

   justify-content: space-between;

   max-width: 50rem;



}



.bf-navbar-menu li.menu-item {

   min-width: 6rem;

}



.bf-navbar-menu li a {

   font-family: var(--font-treble);

   font-size: 0.625rem;

   line-height: 1.375;

   font-weight: 800;

   color: var(--bf-anthracite);

   text-decoration: none;

   display: block;

}



.bf-navbar-menu li a:hover {

   color: var(--bf-orange);

}



.bf-navbar-actions {

   display: flex;

   align-items: center;

   gap: .5rem;

}



.bf-nav-search {

   position: relative;

   display: flex;

   align-items: center;

}



.bf-nav-search input {

   border: 1px solid var(--bf-orange);

   border-radius: 4px;

   padding: 2px 25px 2px 10px;

   font-size: 0.625rem;

   width: 120px;

   color: var(--bf-orange);

   background: transparent;

}



.bf-nav-search i {

   position: absolute;

   right: 8px;

   color: var(--bf-orange);

   font-size: 0.625rem;

}



/* Navbar Search Form */

.bf-search-btn {

   display: flex;

   align-items: center;

   position: relative;

   border: 1px solid var(--bf-orange);

   border-radius: var(--radius-sm);

   background: transparent;

   min-width: 100px;

   overflow: hidden;

}



.bf-navbar-search-form {

   position: relative;

   border: 1px solid var(--bf-orange);

   border-radius: var(--radius-sm);



   @media screen and (max-width: 1024px) {

      /* width: 6.5rem !important; */

   }



}



#staticSearchForm {

   @media screen and (max-width: 1024px) {

      /* width: 6.5rem !important; */

   }

}



.bf-search-btn {

   justify-content: space-between;

   align-items: stretch;

   /* position: absolute;

   top: .25rem;

   right: .25rem; */

   display: none;

}



.bf-search-btn .fas {

   background: transparent;

   color: var(--bf-orange);

   padding: 2px 0;

   cursor: pointer;

   display: block;

}





.bf-navbar-search-input {

   font-family: var(--font-treble);

   font-size: 0.625rem;

   color: var(--bf-orange);

   background: transparent;

   border: none;

   padding: 2px 8px;

   width: 100%;

   outline: none;

}



.bf-search-btn span,

.bf-navbar-search-input::placeholder {

   color: var(--bf-orange);

   opacity: 0.7;

   text-transform: lowercase;

}



.bf-navbar-search-submit {

   background: transparent;

   border: none;

   color: var(--bf-orange);

   padding: 2px 8px;

   cursor: pointer;

   display: flex;

   align-items: center;



}



.bf-navbar-search-form .bf-navbar-search-submit {

   position: absolute;



}



.bf-navbar-search-submit:hover {

   color: var(--bf-anthracite);

}



/* Search Results Page Styles */

.bf-search-results-form {

   margin-bottom: 2rem;

}



.bf-search-form-large {

   display: flex;

   gap: 1rem;

   align-items: center;

}





.bf-search-input-large {

   flex: 1;

   padding: 0.75rem 1rem;

   border: 1px solid var(--bf-sand);

   border-radius: var(--radius-sm);

   font-family: var(--font-double);

   font-size: 0.875rem;

   color: var(--bf-anthracite);

   outline: none;

   transition: border-color 0.2s ease;

}



.bf-search-input-large:focus {

   border-color: var(--bf-orange);

}



.bf-search-result-count {

   color: var(--bf-anthracite);

   font-size: 0.875rem;

   margin-bottom: 1.5rem;

   padding-bottom: 1rem;

   border-bottom: 1px solid var(--bf-light-sand);

}



.bf-search-results-list {

   display: flex;

   flex-direction: column;

   gap: 1.5rem;

}



.bf-search-result-item {

   padding-bottom: 1.5rem;

   border-bottom: 1px solid var(--bf-light-sand);

}



.bf-search-result-category {

   font-family: var(--font-treble);

   font-size: 0.625rem;

   color: var(--bf-orange);

   text-transform: uppercase;

   margin-bottom: 0.5rem;

}



.bf-search-result-title {

   margin-bottom: 0.5rem;

}



.bf-search-result-title a {

   color: var(--bf-anthracite);

   text-decoration: none;

   font-family: var(--font-treble);

   font-size: 1rem;

   font-weight: 800;

}



.bf-search-result-title a:hover {

   color: var(--bf-orange);

}



.bf-search-result-excerpt {

   font-size: 0.8125rem;

   line-height: 1.5;

   color: var(--bf-anthracite);

}



.bf-search-result-excerpt mark {

   background-color: rgba(254, 112, 0, 0.2);

   color: inherit;

   padding: 0 2px;

}



.bf-no-results {

   text-align: center;

   padding: 3rem 1rem;

   color: var(--bf-anthracite);

}



.bf-search-intro {

   color: var(--bf-anthracite);

   font-style: italic;

}



a.bf-icon-btn {

   text-decoration: none;

}



.bf-icon-btn {

   background: transparent;

   border: none;

   color: var(--bf-orange);

   font-size: 0.875rem;

   cursor: pointer;

   padding: 4px;

}



.bf-icon-btn .fa,

.bf-icon-btn .fas {

   display: none;

}



.inter-icon {

   font-family: 'Inter', sans-serif;

   font-size: 13.8px;

   line-height: 0.7971014493;

   color: var(--bf-orange);

   font-weight: bold;

}



/* Mobile Only Utility */

.mobile-only {

   display: none !important;

}



@media (max-width: 991px) {

   .mobile-only {

      display: block !important;

      /* Or whatever display type is appropriate, usually block or inline-block, but context matters. block is safe for headers. */

   }



   .desktop-only {

      display: none !important;

   }

}



/* Mobile Navigation and Hamburger */

.bf-navbar-toggle {

   display: none;

   /* Hidden on Desktop */

   background: transparent;

   border: none;

   color: var(--bf-orange);

   font-size: 1.25rem;

   cursor: pointer;

   padding: 4px 8px;

   transition: color 0.2s ease;

}



.bf-navbar-toggle:hover {

   color: var(--bf-anthracite);

}



/* Adjust navbar layout */

.bf-navbar {

   gap: 1rem;

}



.bf-navbar-actions {

   /* No auto margin here, let flex handle it */

}



/* Responsive adjustments */

@media (max-width: 991px) {

   .bf-navbar {

      padding: 0 .5rem;

      gap: .5rem;

      justify-content: space-between;

   }



   .bf-navbar-toggle {

      display: block;

      /* Visible on Mobile */

      order: 3;

   }



   .bf-navbar-actions {

      margin-inline: 0 !important;

      order: 2;

   }



   .bf-navbar-logo {

      order: 1;

   }



   /* Hide the desktop top menu on mobile */

   .bf-navbar-menu {

      display: none !important;

   }



   /* Adjust search button on mobile */

   .bf-search-btn span {

      display: none;

   }



   .bf-search-btn {

      min-width: auto;

      padding: 4px 8px;

   }

}



/* -------------------------

   Hero Section

   ------------------------- */

.bf-hero {

   /* position: relative;

    min-height: 500px;

    padding: 80px 80px 40px; */

   /* background: var(--bf-light-sand);

    overflow: hidden; */

}







/* .bf-hero::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 563px;

    height: 528px;

    background: linear-gradient(135deg, rgba(254, 112, 0, 0.3) 0%, transparent 70%);

    pointer-events: none;

} */



.bf-hero-content {

   position: relative;

   z-index: 2;



   /* max-width: 400px; */

}



.bf-hero-title {

   font-family: var(--font-treble);

   font-size: 5rem;

   line-height: 72px;

   font-weight: 800;

   color: #000000;

   text-transform: uppercase;

   margin-bottom: var(--spacing-sm);

}



.bf-hero-subtitle {

   font-family: var(--font-treble);

   font-size: 1.5rem;

   line-height: 24px;

   font-weight: 500;

   color: #000000;

   letter-spacing: -0.2px;

   margin-bottom: var(--spacing-md);

}



.bf-hero-text {

   margin-bottom: var(--spacing-md);

}



.bf-hero-text strong {

   font-family: var(--font-treble);

   font-size: 1.3125rem;

   line-height: 21px;

   text-transform: uppercase;

   display: block;

   margin-bottom: 8px;

}



.bf-hero-text a {

   color: inherit;

   text-decoration: underline;

}



.bf-hero-text a:hover {

   color: var(--bf-purple);

   text-decoration: none;

}



.hero-actions-block {

   background: var(--bf-white);

   border-radius: 8px;

   padding: 24px;

   box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);

   border: 4px solid var(--bf-orange);

}



.search-input-wrapper {

   position: relative;

   width: 100%;

}



.search-input-wrapper input {

   width: 100%;

   padding: 10px 16px;

   border: 1px solid var(--bf-orange);

   border-radius: var(--radius-sm);

   background: transparent;

   font-family: var(--font-treble);

   font-size: 0.875rem;

   color: var(--bf-orange);

}



.search-input-wrapper i {

   position: absolute;

   right: 16px;

   top: 50%;

   transform: translateY(-50%);

   color: var(--bf-orange);

   font-size: 1.125rem;

}



.bf-btn-download {

   background: var(--bf-purple);

   color: var(--bf-white);

   padding: 10px 20px;

   border-radius: var(--radius-sm);

   font-family: var(--font-treble);

   font-size: 0.75rem;

   text-decoration: none;

   font-weight: 800;

   display: inline-flex;

   align-items: center;

}



.bf-btn-link-esef {

   color: var(--bf-purple);

   font-family: var(--font-treble);

   font-size: 0.625rem;

   text-decoration: none;

   font-weight: 800;

}



/* -------------------------

   Buttons

   ------------------------- */

.page-main-content .bf-btn,

.bf-page-main-content .bf-btn {

   display: inline-flex;

   align-items: center;

   justify-content: center;

   padding: 7px 15px;

   border-radius: var(--radius-sm);

   font-family: var(--font-treble);

   font-size: 0.6875rem;

   line-height: 11px;

   font-weight: 800;

   text-decoration: none;

   cursor: pointer;

   border: none;

   transition: all 0.2s ease;

}



.page-main-content .bf-btn-primary,

.bf-page-main-content .bf-btn-primary {

   background: var(--bf-purple);

   color: var(--bf-white);

}



.page-main-content .bf-btn-primary:hover,

.bf-page-main-content .bf-btn-primary:hover {

   background: var(--bf-orange);

   color: var(--bf-white);

}



.page-main-content .bf-btn-secondary,

.bf-page-main-content .bf-btn-secondary {

   background: transparent;

   color: var(--bf-purple);

}



.page-main-content .bf-btn-secondary:hover,

.bf-page-main-content .bf-btn-secondary:hover {

   color: var(--bf-orange);

}



.page-main-content .bf-btn-link,

.bf-page-main-content .bf-btn-link {

   background: transparent;

   color: var(--bf-purple);

   font-size: 0.5625rem;

   padding: 0;

}



.page-main-content .bf-btn-link:hover,

.bf-page-main-content .bf-btn-link:hover {

   color: var(--bf-orange);

}



/* -------------------------

   Cards Section

   ------------------------- */



.gradient {

   background: var(--bf-gradient);

}



.bf-cards {

   display: flex;

   gap: 1rem;

   margin: 0 2rem;

   position: relative;

   z-index: 2;



   @media screen and (min-width: 1024px) {

      gap: 2rem;

   }

}



.bf-card {

   flex: 1;

   position: relative;

   text-decoration: none;

}



.bf-card-image {

   /* width: 100%; */

   /* height: 191px; */

   /* object-fit: cover; */

   /* clip-path: polygon(0 0, 100% 7%, 100% 100%, 0 93%); */

}



.bf-card-content {

   padding: 1rem;

   background: var(--bf-light-sand);

   margin-left: 2rem;

   margin-top: -3rem;

   z-index: 222;

   position: relative;

}



.bf-card-title {

   font-family: var(--font-treble);

   font-size: 1.3125rem;

   line-height: 21px;

   color: var(--bf-orange);

   text-transform: uppercase;

   margin-bottom: 8px;

}



.bf-card-text {

   font-size: 0.6875rem;

   line-height: 1.2;

   color: var(--bf-anthracite);

   margin-bottom: 8px;

}



.bf-card-link {

   text-decoration: none;

   color: inherit;

   display: block;

   transition: transform 0.2s ease;



}



.bf-card-link:hover {

   transform: translateY(-2px);

}



/* Ensure card takes full height */

.bf-card-link .bf-card {

   height: 100%;

   width: 100%;

}





.bf-card-arrow {

   color: var(--bf-orange);

   font-size: 1rem;

   text-align: right;

   /* display: block; */

   display: none;

}



/* -------------------------

   Results Section

   ------------------------- */





.bf-results {

   padding: var(--spacing-xl) 80px;

   background: var(--bf-light-sand);



}



.bf-results-title {

   margin-bottom: var(--spacing-lg);

}



/* Results Block */

.results-block {

   background: var(--bf-white);

   padding: 0;

   border-radius: 0;

   box-shadow: 4px 4px 6px rgba(255, 135, 18, 0.5);

   border: 2px solid;

   border-image: linear-gradient(to top right, var(--bf-orange) 20%, rgba(255, 135, 18, 0.5) 60%, rgba(255, 171, 33, 0) 90%) 1;





   @media screen and (min-width: 1024px) {

      margin-inline: 10%;

   }

}





.bf-results-grid {

   display: grid;

   grid-template-columns: repeat(3, 1fr);

   /* gap: var(--spacing-lg); */

   /* margin-bottom: var(--spacing-lg); */



}



.bf-result-item {

   text-align: left;

   padding: 1rem;

}







.bf-result-value {

   font-family: var(--font-treble);

   font-size: 2.625rem;

   line-height: 1;

   font-weight: 900;

   color: var(--bf-anthracite);

   text-transform: uppercase;

   margin-bottom: 4px;

}



.bf-result-value .unit {

   font-family: var(--font-treble);

   font-size: 0.875rem;

   line-height: 1;

   text-transform: none;

   margin-left: .5rem;

}



.bf-result-label {

   font-family: var(--font-treble);

   font-size: 1rem;

   line-height: 18px;

   font-weight: 800;

   color: var(--bf-anthracite);

   margin-bottom: 2px;

}



.bf-result-change {

   font-family: var(--font-treble);

   line-height: 14px;

   color: var(--bf-anthracite);

   font-weight: 400;

}



.bf-results-secondary {

   display: flex;

   flex-direction: column;



   @media screen and (min-width: 1024px) {

      flex-direction: row;

   }



   gap: 0;

   border-top: 2px solid var(--bf-sand);

   padding-top: var(--spacing-lg);

   margin-top: var(--spacing-md);

}



.bf-result-secondary-item {

   flex: 1;

   padding: 0 var(--spacing-md);

   text-align: left;



   @media only screen and (min-width: 1024px) {

      border-right: 2px solid var(--bf-sand);

   }



}



.bf-result-secondary-item:first-child {

   padding-left: 0;

}



.bf-result-secondary-item:last-child {

   border-right: none;

   padding-right: 0;

}



.bf-result-secondary-value {

   font-family: var(--font-treble);

   font-size: 2rem;

   line-height: 32px;

   font-weight: 900;

   color: var(--bf-orange);

   text-transform: uppercase;

   margin-bottom: 4px;

   white-space: nowrap;

}



.bf-result-secondary-value .prefix {

   font-family: var(--font-treble);

   font-size: 0.75rem;

   line-height: 1;

   text-transform: none;

   margin-left: .5rem;

}



.bf-result-secondary-value .suffix {

   font-family: var(--font-treble);

   font-size: 0.875rem;

   line-height: 1;

   text-transform: none;

   margin-left: .5rem;

}



.bf-result-secondary-label {

   font-family: var(--font-treble);

   font-size: 0.8125rem;

   line-height: 14px;

   font-weight: 800;

   color: var(--bf-orange);

   margin-bottom: 2px;

}



.bf-result-secondary-change {

   font-family: var(--font-treble);

   font-size: 0.4375rem;

   line-height: 11px;

   color: var(--bf-orange);

   font-weight: 400;

}



/* -------------------------

   Map Section

   ------------------------- */

/* Map Section */

.map-section {

   background: var(--bf-light-sand);

   padding: 3rem 0 8rem;

   ;



   @media only screen and (min-width: 1024px) {

      padding: 3rem 5rem 8rem;

   }



   /* background-image url('../img/misc/map.svg'); */

   /* background-size: contain; */

   /* background-position: center; */

   /* height: 50vh; */

   /* background-repeat: no-repeat; */

}











.bf-map-container {

   display: flex;

   gap: var(--spacing-xl);



   flex-direction: column;



   @media only screen and (min-width: 1024px) {

      flex-direction: row;

   }

}



.bf-map-sidebar {

   width: 12rem;

   margin-inline: 2rem;



   @media only screen and (min-width: 1024px) {

      margin-inline: 0;

   }

}



.bf-map-sidebar-text {

   padding-left: 1rem;

}



.bf-map-sidebar h3.regular {

   font-family: var(--font-treble);

   font-size: 0.6875rem;

   line-height: 1;

   font-weight: 400;

   color: var(--bf-orange);

}



.bf-map-content {

   flex: 1;

   position: relative;

}





.bf-map-info {

   position: absolute;

   right: 0;

   bottom: 0;

}



.bf-map-info-title {

   font-size: 0.6875rem;

   color: var(--bf-anthracite);

}



.bf-map-image {

   width: 100%;

   height: auto;



   @media only screen and (min-width: 1024px) {

      transform: translateX(-5rem);

   }



   /* opacity: 0; */

}



.map-marker {

   position: absolute;

   background: var(--bf-purple);

   color: var(--bf-white);

   font-family: var(--font-treble);

   font-size: 0.625rem;

   padding: 2px 6px;

   border-radius: 2px;

   z-index: 5;

   transform: translate(-50%, -50%);

}



/* -------------------------

Making Fitness Section

 ------------------------- */



.making-fitness-section {

   background: linear-gradient(180deg, var(--bf-off-white) 0%, var(--bf-light-sand) 30%);

   padding: 0;

   position: relative;

   overflow: hidden;



   @media screen and (min-width: 1024px) {

      clip-path: polygon(0% 20%, 100% 0%, 100% 100%, 0% 100%);

      margin-top: -6rem;

   }

}



/* .making-fitness-section::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    height: 180px;

    background: var(--bf-off-white);

    clip-path: polygon(0 0, 100% 0, 100% 100%);

    z-index: 1;

} */



.making-fitness-content {

   display: flex;

   align-items: flex-end;

   justify-content: space-between;



   position: relative;

   z-index: 2;

   flex-direction: column;



   @media screen and (min-width: 1024px) {

      flex-direction: row;



   }



}



.making-fitness-text {

   max-width: 40rem;

   padding: 5rem 2rem 2rem;



   @media screen and (min-width: 1024px) {

      padding: 5rem 5rem 2rem;

   }

}



.making-fitness-image {

   justify-content: flex-end;

}



.making-fitness-image img {

   /* max-width: 100%;

    height: auto; */

   /* max-height: 500px; */

   object-fit: contain;

}



.making-fitness-overlay {



   @media screen and (min-width: 1024px) {

      position: absolute;



      right: -30vw;

      bottom: 0;



      background-image: url('../img/gradients/glow-header-yellow.png');

      background-size: cover;

      background-repeat: no-repeat;

      background-position: center center;

      height: 100%;

      width: 50vw;

      z-index: 222;

   }

}





/* -------------------------

   Content Section

   ------------------------- */

.bf-content-section {

   padding: var(--spacing-xl) 80px;

   background: linear-gradient(180deg, var(--bf-off-white) 0%, var(--bf-light-sand) 100%);

}



.bf-content-grid {

   display: grid;

   grid-template-columns: 1fr 1fr 1fr;

   gap: var(--spacing-xl);

}



.bf-content-item h2 {

   margin-bottom: 12px;

}



/* -------------------------

   Side Navigation

   ------------------------- */

.bf-side-nav {

   width: 160px;

   position: sticky;

   top: 80px;

}



.bf-side-nav-item {

   display: block;

   padding: 4px 0;

   font-family: var(--font-treble);

   font-size: 0.5625rem;

   line-height: 12px;

   color: var(--bf-anthracite);

   text-decoration: none;

   font-weight: 400;

   border-left: 3px solid transparent;

   padding-left: 16px;

   margin-left: -16px;

}



.bf-side-nav-item:hover {

   color: var(--bf-orange);

}



.bf-side-nav-item.active {

   color: var(--bf-orange);

   font-weight: 800;

   border-left-color: var(--bf-orange);

}



/* -------------------------

   Content Page Layout

   ------------------------- */

.bf-page-header {

   padding: 80px 80px 40px;

   position: relative;

}



.bf-page-header::before {

   /* content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 144px;

    height: 324px;

    background: linear-gradient(135deg, rgba(254, 112, 0, 0.2) 0%, transparent 70%);

    pointer-events: none; */

}



.bf-page-breadcrumb {

   font-family: var(--font-treble);

   font-size: 0.5625rem;

   line-height: 12px;

   color: var(--bf-orange);

   margin-bottom: var(--spacing-sm);

   display: flex;

   align-items: flex-start;

   gap: 16px;

}



.bf-page-breadcrumb::before {

   content: '';

   display: block;

   width: 3px;

   min-height: 16px;

   background: var(--bf-orange);

}



.bf-page-body {

   display: flex;

   gap: var(--spacing-xxl);

   padding: 0 80px var(--spacing-xxl);

}



.bf-page-sidebar {

   /* width: 176px; */

   width: 18rem;

   flex-shrink: 0;

}



.bf-page-content {

   flex: 1;

   /* max-width: 528px; */

   max-width: 36rem;

}



.bf-page-content h3 {

   margin-top: var(--spacing-md);

}



.bf-page-content h3:first-child {

   margin-top: 0;

}



/* -------------------------

   CEO Image Section

   ------------------------- */

.bf-ceo-image {

   position: relative;

   margin-bottom: var(--spacing-lg);

   background: var(--bf-light-sand);

   height: 192px;

   overflow: hidden;

}



.bf-ceo-image img {

   position: absolute;

   right: 0;

   top: 0;

   height: 100%;

   width: auto;

   margin-top: 0;

}



.bf-ceo-info {

   position: absolute;

   left: 15px;

   bottom: 15px;

}



.bf-ceo-name {

   font-family: var(--font-treble);

   font-size: 0.6875rem;

   line-height: 12px;

   color: var(--bf-anthracite);

   margin-bottom: 2px;

}



.bf-ceo-title {

   font-family: var(--font-double);

   font-size: 0.625rem;

   line-height: 11px;

   color: var(--bf-anthracite);

}



/* CEO Message Page Specific Styles */





.ceo-image-section {

   position: relative;

   /* background: var(--bf-light-sand); */

   height: 192px;

   margin-bottom: 16px;

   overflow: hidden;

   margin-top: 1rem;

}







.page-main-content img.ceo-photo {

   position: absolute;

   right: 0;

   top: 0;

   height: 100%;

   width: auto;

   z-index: 2;

   margin-top: 0

}



.ceo-info {

   position: absolute;

   left: 1rem;

   bottom: 1rem;

   z-index: 15;

}



.bf-page-content-wrapper {

   padding: 0 2rem 64px;



   @media only screen and (min-width: 1024px) {



      padding: 0 5rem 4rem;

      display: flex;

      justify-content: space-around;

      gap: 96px;

   }

}



.bf-page-sidebar {

   /* width: 176px; */

   width: 100%;



   @media only screen and (min-width: 1024px) {

      width: 18rem;

   }



   flex-shrink: 0;

}



.bf-page-main-content {

   flex: 1;



   /* max-width: 528px; */

   @media only screen and (min-width: 1024px) {

      max-width: 35rem;

   }

}



.breadcrumb-indicator {



   padding-left: 1rem;

   margin-bottom: 1rem;

   border-left: solid 3px var(--bf-orange);

}



.breadcrumb-indicator::before {

   /* content: '';

    display: block;

    width: 3px;

    height: 48px;

    background: var(--bf-orange);

    flex-shrink: 0; */

}



.breadcrumb-text {

   font-family: var(--font-heading-heavy);

   font-size: 11px;

   line-height: 14px;

   color: var(--bf-orange);

   font-weight: 800;

   padding-top: 4px;

}



.breadcrumb-text.inactive {

   font-weight: 400;

   color: var(--bf-anthracite);

}



/* Sidebar Navigation for Content Pages */

.sidebar-nav {

   margin-bottom: 24px;

}



.sidebar-nav-item {

   display: flex;

   align-items: flex-start;

   /*    gap: 16px; */

   /* padding: 4px 0; */

   text-decoration: none;

   transition: color 0.2s ease;

   padding-left: 1rem;

   margin-bottom: 1rem;

   border-left: solid 3px transparent;



}



.sidebar-nav-item.active {

   padding-left: 1rem;

   border-left: solid 3px var(--bf-orange);

}



.sidebar-nav-item::before {

   /* content: '';

    display: block;

    width: 3px;

    min-height: 24px;

    background: transparent;

    flex-shrink: 0;

    transition: background 0.2s ease; */

}



.sidebar-nav-item.active::before {

   /* background: var(--bf-orange); */

}



.sidebar-nav-item.active span {

   color: var(--bf-orange);

   font-weight: 800;

}



.sidebar-nav-item span {

   font-family: var(--font-heading-heavy);

   font-size: 11px;

   line-height: 14px;

   color: var(--bf-orange);

   font-weight: 500;

}



.sidebar-nav-item:hover span {

   color: var(--bf-orange);

}



.sidebar-section-title {

   font-family: var(--font-heading-heavy);

   font-size: 9px;

   line-height: 12px;

   color: var(--bf-anthracite);

   margin-bottom: 8px;

   padding-left: 19px;

}



.sidebar-divider {

   height: 1px;

   background: var(--bf-sand);

   margin: 16px 0 16px 19px;

}



/* -------------------------

   Navigation Buttons

   ------------------------- */

.bf-nav-buttons {

   display: flex;

   gap: var(--spacing-sm);

   margin-top: var(--spacing-lg);

}



/* -------------------------

   Footer

   ------------------------- */



.bf-footer-brand {

   font-family: var(--font-double);

   font-weight: 800;

   font-size: 0.75rem;

   line-height: 16px;

   color: var(--bf-orange);

   padding: 2rem 5rem 1rem;

}



.bf-footer {

   position: relative;

   background: linear-gradient(21deg, var(--bf-sand) 20%, var(--bf-light-sand) 60%, var(--bf-off-white) 90%);

   padding: 2rem 5rem 2rem;



   position: relative;

   overflow: hidden;



   @media screen and (min-width: 1024px) {

      clip-path: polygon(0% 20%, 100% 0%, 100% 100%, 0% 100%);

      margin-top: -4rem;

   }

}



@media screen and (min-width: 1024px) {

   .bf-page::after {

      content: '';

      position: absolute;

      bottom: 0;

      right: -3rem;

      width: 9rem;

      height: 17rem;

      display: block;

      pointer-events: none;

      background-image: url('../img/gradients/glow-header-purple.png');

      background-position: left top;

      background-repeat: no-repeat;

      background-size: cover;

   }

}









.bf-footer-nav {

   padding-top: 4rem;

   display: flex;

   gap: var(--spacing-xl);

   margin-bottom: var(--spacing-xl);

   max-width: 47rem;

   margin-inline: auto;

}



.bf-footer-column {

   flex: 1;

}



.bf-footer-column h4 {

   font-family: var(--font-treble);

   font-size: 0.625rem;

   line-height: 1.6;

   color: var(--bf-anthracite);

   /* margin-bottom: 8px; */

   text-transform: none;

   font-style: normal;

}



.bf-footer-column ul {

   list-style: none;

   padding: 0;

   margin: 0;

}



.bf-footer-column li {

   margin-bottom: 0;

}



.bf-footer-column a {

   font-family: var(--font-double);

   font-size: 0.625rem;

   line-height: 16px;

   color: var(--bf-anthracite);

   text-decoration: none;

}



.bf-footer-column a:hover {

   color: var(--bf-orange);

}



.bf-footer-bottom {

   display: flex;

   justify-content: space-between;

   align-items: center;

   padding-top: var(--spacing-lg);

   border-top: 1px solid rgba(45, 45, 45, 0.1);

   /* max-width: 47rem; */

   margin-inline: auto;



   font-size: 0.625rem;

   line-height: 11px;

   margin-bottom: 1rem;



}



.bf-footer-logo {

   height: 30px;

   width: auto;

}



.bf-footer-links {

   display: flex;

   gap: var(--spacing-md);

}



.bf-footer-links a {

   font-family: var(--font-double);



   color: var(--bf-anthracite);

}



.bf-footer-cta {

   font-family: var(--font-treble);

   color: var(--bf-anthracite);

   text-decoration: none;

}



.bf-footer-cta:hover {

   color: var(--bf-orange);

}



/* -------------------------

   Angled Edge

   ------------------------- */

.bf-angle-down {

   position: relative;

}



.bf-angle-down::after {

   content: '';

   position: absolute;

   bottom: 0;

   left: 0;

   right: 0;

   height: 100px;

   background: inherit;

   clip-path: polygon(0 0, 100% 30%, 100% 100%, 0 100%);

   transform: translateY(50%);

}



.bf-angle-up {

   position: relative;

}



.bf-angle-up::before {

   content: '';

   position: absolute;

   top: 0;

   left: 0;

   right: 0;

   height: 100px;

   background: inherit;

   clip-path: polygon(0 70%, 100% 0, 100% 100%, 0 100%);

   transform: translateY(-50%);

}



/* -------------------------

   Utility Classes

   ------------------------- */

.text-orange {

   color: var(--bf-orange);

}



.text-purple {

   color: var(--bf-purple);

}



.text-anthracite {

   color: var(--bf-anthracite);

}



.text-white {

   color: var(--bf-white);

}



.bg-sand {

   background-color: var(--bf-sand);

}



.bg-light-sand {

   background-color: var(--bf-light-sand);

}



.bg-off-white {

   background-color: var(--bf-off-white);

}



.bg-orange {

   background-color: var(--bf-orange);

}



.bg-purple {

   background-color: var(--bf-purple);

}



.font-heavy {

   font-family: var(--font-treble);

   font-weight: 800;

}



.font-regular {

   font-family: var(--font-double);

   font-weight: 500;

}



.uppercase {

   text-transform: uppercase;

}



/* -------------------------

   Read More Link

   ------------------------- */

.bf-read-more {

   display: inline-flex;

   align-items: center;

   gap: 8px;

   font-family: var(--font-treble);

   font-size: 0.625rem;

   line-height: 1;

   font-weight: 800;

   color: var(--bf-orange);

   text-decoration: none;

   float: right;

}



.bf-read-more:hover {

   color: var(--bf-purple);

}



.bf-read-more .arrow {

   font-size: 0.9375rem;

}



/* -------------------------

   Mega Menu

   ------------------------- */

.bf-mega-menu {

   position: fixed;

   top: 1rem;

   left: 1rem;

   width: calc(100vw - 2rem);

   max-width: 100vw;

   border-radius: var(--radius-sm);

   background: var(--bf-white);

   z-index: 2030;

   padding: 16px 32px 40px;

   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);

   transform: translateY(-100%);

   opacity: 0;

   visibility: hidden;

   transition: transform 0.6s ease, opacity 0.3s ease, visibility 0.3s ease;

}



.bf-mega-menu::before {

   content: '';

   position: absolute;

   top: 0;

   left: 0;

   width: 200px;

   height: 100%;

   background: linear-gradient(90deg, rgba(254, 112, 0, 0.15) 0%, transparent 100%);

   pointer-events: none;

}



.bf-mega-menu.active {

   transform: translateY(0);

   opacity: 1;

   visibility: visible;

}



.bf-mega-menu-header {

   display: flex;

   justify-content: space-between;

   align-items: center;

   margin-bottom: 0;

   position: relative;

   z-index: 2;



   @media (max-width: 991px) {

      flex-direction: row-reverse;

   }

}



.bf-mega-menu-actions {

   display: flex;

   align-items: center;

   gap: 12px;

}



.bf-mega-menu-close {

   background: transparent;

   border: none;

   color: var(--bf-orange);

   font-size: 1.25rem;

   cursor: pointer;

   padding: .25rem .5rem;

   margin-left: .5rem;

   transition: color 0.2s ease;

}



.bf-mega-menu-close:hover {

   color: var(--bf-anthracite);

}



.bf-mega-menu-content {

   display: flex;

   gap: 3.5rem;

   padding: 0;

   position: relative;

   z-index: 2;



   justify-content: space-between;

   margin-inline: auto;

   width: calc(100vw - 4rem);



   @media only screen and (min-width: 1024px) {

      width: calc(100vw - 12rem);

      max-width: 50rem;

   }

}



.bf-mega-menu-column {

   flex: 1;

   /* min-width: 120px; */

   min-width: 6rem;

}



.bf-mega-menu-title {

   /* font-family: var(--font-treble);

    font-size: 0.5rem;

    line-height: 1.375;

    font-weight: 800;

    color: var(--bf-anthracite); */

   margin-bottom: 0;



   font-family: var(--font-treble);

   font-size: 0.625rem;

   line-height: 1.375;

   font-weight: 800;

   color: var(--bf-anthracite);

   text-decoration: none;

   font-style: normal;

}



.bf-mega-menu-list {

   list-style: none;

   padding: 0;

   margin: 0 0 .5rem 0;

}



.bf-mega-menu-list li {

   /* margin-bottom: 6px; */

}



.bf-mega-menu-list a {

   font-family: var(--font-double);

   font-size: 0.625rem;

   line-height: 1.375;

   color: var(--bf-anthracite);

   text-decoration: none;

   display: block;

   padding: 2px 0;

   transition: color 0.2s ease;

}



.bf-mega-menu-list a:hover {

   color: var(--bf-orange);

}



.bf-mega-menu-divider {

   height: 1px;

   background: var(--bf-sand);

   position: relative;

}



.bf-menu-item::after {

   content: '';

   position: absolute;

   bottom: -4px;

   left: 0;

   right: 0;

   height: 2px;

   background: var(--bf-orange);

   transform: scaleX(0);

   transition: transform 0.2s ease;

}



.bf-menu-item:hover::after,

.bf-menu-item.active::after {

   transform: scaleX(1);

}



/* Overlay when menu is open */

.bf-mega-menu-overlay {

   position: fixed;

   top: 0;

   left: 0;

   right: 0;

   bottom: 0;

   background: rgba(0, 0, 0, 0.3);

   z-index: 2026;

   opacity: 0;

   visibility: hidden;

   transition: opacity 0.3s ease, visibility 0.3s ease;

}



.bf-mega-menu-overlay.active {

   opacity: 1;

   visibility: visible;

}



/* Hide navbar when mega menu is open */

.bf-navbar.menu-open {

   opacity: 0;

   pointer-events: none;

}



/* Responsive Mega Menu */

@media (max-width: 991px) {

   .bf-mega-menu {

      top: 0;

      left: 0;

      width: 100vw;

      height: 100vh;

      max-height: 100vh;

      border-radius: 0;

      padding: 1rem;

      overflow-y: auto;

      transform: translateY(-100%);

      display: flex;

      flex-direction: column;

      transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);

   }



   .bf-mega-menu.active {

      transform: translateY(0);

      opacity: 1;

      visibility: visible;

   }



   .bf-mega-menu-header {

      margin-bottom: 1rem;

      flex-shrink: 0;

   }



   .bf-mega-menu-content {

      flex-direction: column;

      gap: 0;

      /* Remove gap, use padding in columns */

      padding: 0;

      margin-top: 1rem;

   }



   .bf-mega-menu-column {

      min-width: 100%;

      /* border-bottom: 1px solid var(--bf-light-sand); */

      padding: 0;

   }



   .bf-mega-menu-column:last-child {

      border-bottom: none;

   }



   /* Mobile Accordion Styles */

   .bf-mega-menu-title {

      font-size: 1rem;

      margin-bottom: 0;

      padding: 1rem 0;

      display: flex;

      justify-content: space-between;

      align-items: center;

      cursor: pointer;

      width: 100%;

      color: var(--bf-anthracite);

   }



   /* Add chevron icon */

   .bf-mega-menu-title::after {

      content: '\f078';

      /* FontAwesome chevron-down */

      font-family: "Font Awesome 5 Free";

      font-weight: 900;

      font-size: 0.875rem;

      color: var(--bf-orange);

      transition: transform 0.3s ease;

   }



   /* Rotate chevron when expanded */

   .bf-mega-menu-title.expanded::after {

      transform: rotate(180deg);

   }



   /* Hide lists by default on mobile */

   .bf-mega-menu-list {

      /* display: none; */

      /* padding-bottom: 1rem; */

      padding-left: 0.5rem;

   }



   /* Show list when title is expanded */

   .bf-mega-menu-title.expanded+.bf-mega-menu-list {

      display: block;

   }



   .bf-mega-menu-list a {

      font-size: 0.875rem;

      padding: 6px 0;

   }



   .bf-mega-menu::before {

      display: none;

   }



   .bf-mega-menu-divider {

      display: none;

   }

}



/* -------------------------

   Responsive Adjustments

   ------------------------- */

@media (max-width: 1024px) {

   .bf-hero {

      padding: 80px 40px 40px;

   }



   .bf-hero-title {

      font-size: 3rem;

      line-height: 44px;

   }



   .bf-hero-actions {}



   .bf-cards {

      flex-direction: column;

      margin: 0 20px;

   }



   .bf-results-grid {

      grid-template-columns: repeat(2, 1fr);

   }



   .bf-results-secondary {

      flex-wrap: wrap;

   }



   .bf-result-secondary-item {

      flex: 1 1 45%;

      margin-bottom: var(--spacing-md);

   }



   .bf-content-grid {

      grid-template-columns: 1fr;

   }



   .bf-page-body {

      flex-direction: column;

   }



   .bf-page-sidebar {

      width: 100%;

   }



   .bf-footer-nav {

      flex-wrap: wrap;

   }



   .bf-footer-column {

      flex: 1 1 45%;

   }

}



@media (max-width: 768px) {

   .bf-navbar {



      padding: 0 .5rem;

      gap: .5rem;

   }



   .bf-navbar-menu {

      display: none;

   }



   .bf-hero-title {

      font-size: 2.25rem;

      line-height: 34px;

   }



   .bf-h1,

   h1 {

      font-size: 1.75rem;

      line-height: 26px;

   }



   .bf-results {

      padding: var(--spacing-lg) 20px;

   }



   .bf-results-grid {

      grid-template-columns: 1fr;

   }



   .bf-result-value {

      font-size: 2rem;

      line-height: 32px;

   }



   .bf-page-header,

   .bf-page-body {

      padding-left: 20px;

      padding-right: 20px;

   }



   .bf-footer {

      padding: 60px 20px 20px;

   }



   .bf-footer-column {

      flex: 1 1 100%;

   }



   .bf-footer-bottom {

      flex-direction: column;

      gap: var(--spacing-md);

      text-align: center;

      margin-bottom: 1rem;

   }



   .bf-footer-cta {

      text-align: center;

      width: 100%;

      display: inline-block;



   }

}



/* -------------------------

   Homepage Specific Styles

   ------------------------- */



/* Hero Section */







.bf-hero {

   background: var(--bf-light-sand);

   min-height: 64vh;

   padding: 0;

   position: relative;

}



.bf-hero-bg-wrapper {



   position: absolute;

   top: 0;

   left: 0;

   width: 100%;

   height: 64vh;

   clip-path: polygon(0% 0%, 100% 0%, 100% 80%, 0% 100%);

   z-index: 2020;

   min-height: 40rem;

   overflow: hidden;



   background-color: var(--bf-orange);



   /* background-position: right top; */

   /* background-position: left top;

   background-size: 55vmax; */



   @media only screen and (min-width: 1024px) {

      background-repeat: no-repeat;

      background-image: url('../img/misc/hero-img.png');

      background-size: contain;

      background-position: right center;

   }



}



.hero-gradient-left {

   position: absolute;

   top: 0;

   left: 0;

   width: 60%;

   height: 105%;

   background-image: url('../img/gradients/gradient-left.png');

   background-size: cover;

   background-repeat: no-repeat;

   background-position: top right;

   z-index: 4;

}



.hero-gradient-right {

   @media only screen and (min-width: 1024px) {

      position: absolute;

      top: 0;

      right: -25vw;

      width: 40%;

      height: 100%;

      background-image: url('../img/gradients/glow-header-purple.png');

      background-size: cover;

      background-repeat: no-repeat;

      background-position: top center;

      z-index: 6;

   }

}



.hero-mesh {

   position: absolute;

   top: 0;

   /* left: calc(50vw - 5rem); */

   left: calc(50vw - 18rem);

   width: 20rem;

   height: 14rem;

   background-image: url('../img/gradients/mesh-white.png');

   background-size: cover;

   background-repeat: no-repeat;

   background-position: center center;

   z-index: 2020;

   /* opacity: 0.3; */

}







.bf-hero-content {

   position: relative;

   z-index: 2020;

   max-width: 30rem;

   padding: 6rem 2rem 2rem;



   @media only screen and (min-width: 1024px) {

      padding: 8rem 4.625rem 2rem;



   }



}



.bf-hero-content h1 {

   /* color: var(--bf-orange); */

}



.bf-hero-content .bf-btn.bf-btn-primary {

   background-color: var(--bf-purple);

   color: var(--bf-white);

   border: .125rem solid var(--bf-purple);

   padding: .25rem .5rem;

   border-radius: .25rem;

   text-decoration: none;

   font-size: 0.6875rem;

   font-weight: 800;



}



.bf-hero-content .bf-btn.bf-btn-primary:hover {

   background-color: var(--bf-white);

   color: var(--bf-purple);

   border: 2px solid var(--bf-purple);

}



.bf-hero-actions {



   position: relative;

   width: 80%;

   margin-top: 6rem;

   margin-left: 2rem;





   @media only screen and (min-width: 1024px) {

      position: absolute;

      right: 5rem;

      bottom: 5rem;

      width: 50vw;

      z-index: 2020;

   }

}



.bf-hero-image {

   /* position: absolute;

    right: 5rem;

    top: 1rem;

    width: 35rem;

    height: auto;

    z-index: 5;

    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%); */



   position: absolute;

   right: 0;

   top: 0;

   width: 65vw;

   height: auto;

   z-index: 5;

   display: none;



}



.search-block {

   position: absolute;

   bottom: 0;



   right: 0;

   background: var(--bf-white);

   padding: 1rem;

   border-radius: 0;

   box-shadow: 4px 4px 6px rgba(255, 135, 18, 0.5);

   border: 2px solid;

   border-image: linear-gradient(to top right, #FE7000 20%, rgba(255, 135, 18, 0.5) 60%, rgba(255, 171, 33, 0) 90%) 1;



   z-index: 2020;

}



.bf-search-form {

   display: flex;

   align-items: center;

   position: relative;

   border: 1px solid var(--bf-orange);

   border-radius: var(--radius-sm);

   background: transparent;

   min-width: 100px;

   overflow: hidden;

}



.bf-search-input {

   font-family: var(--font-treble);

   font-size: 0.625rem;

   color: var(--bf-orange);

   background: transparent;

   border: none;

   padding: .25rem .5rem;

   width: 100%;

   outline: none;

}



.bf-search-input::placeholder {

   color: var(--bf-orange);

   opacity: 1;

   font-weight: 900;

   text-transform: lowercase;

}



.bf-search-submit {

   background: transparent;

   border: none;

   color: var(--bf-orange);

   padding: .25rem .5rem;

   cursor: pointer;

   display: flex;

   align-items: center;

}



.bf-navbar-search-submit:hover {

   color: var(--bf-anthracite);

}







.search-box {

   display: flex;

   align-items: center;

   gap: 10px;

}



.search-box input {

   padding: 8px 12px;

   border: 1px solid #ccc;

   border-radius: 4px;

   font-size: 0.875rem;

   min-width: 200px;

}



.search-box button {

   padding: 8px 16px;

   background: #007bff;

   color: white;

   border: none;

   border-radius: 4px;

   cursor: pointer;

   font-size: 0.875rem;

   display: flex;

   align-items: center;

   gap: 6px;

}



.search-box button:hover {

   background: #0056b3;

}



.search-box button svg {

   width: 16px;

   height: 16px;

   fill: white;

}





.bf-hero-title {

   font-size: 3.75rem;

   line-height: 52px;

   margin-bottom: 12px;

}



.bf-hero-subtitle {

   font-size: 1.25rem;

   letter-spacing: -0.2px;

   margin-bottom: 24px;

}



/* Card Image Wrapper */

.card-image-wrapper {

   /* position: relative;

    overflow: hidden;

    height: 191px; */

   position: relative;

   z-index: 2;

   clip-path: polygon(25% 0%, 100% 0, 75% 100%, 0 100%);

   overflow: hidden;

   height: 17rem;

   width: 100%;



}



.card-image-wrapper img {

   width: 100%;

   height: 100%;

   object-fit: cover;

}



/* .card-image-wrapper::after {

    content: '';

    position: absolute;

    bottom: 0;

    left: 0;

    right: 0;

    height: 30px;

    background: linear-gradient(to top, var(--bf-light-sand), transparent);

} */







/* Cards Section */

.bf-cards-section {

   padding: 3rem 0 0;

   z-index: 2020;

   position: relative;

}



.bf-cards-section .card-image-wrapper .tdi--text-overflow-wrapper {

   max-width: 100%;

   margin-inline: auto !important;

}



/* Sections Grid */

.sections-grid {

   display: grid;

   grid-template-columns: repeat(3, 1fr);

   gap: 32px;

   padding: 48px 80px;

   background: var(--bf-off-white);

}



.sections-grid-item-middle {

   border-left: 1px solid var(--bf-sand);

   border-right: 1px solid var(--bf-sand);

   padding: 0 32px;

}



.section-divider {

   width: 1px;

   background: var(--bf-sand);

   position: absolute;

   top: 0;

   bottom: 0;

}



.sections-grid h2 {

   font-size: 1.3125rem;

   line-height: 1;

   margin-bottom: 0.25rem;

   text-transform: uppercase;

}



/* Sections Grid Link Wrapper */

.sections-grid-link {

   text-decoration: none;

   color: inherit;

   display: block;

   transition: transform 0.2s ease;

}



.sections-grid-link:hover {

   transform: translateY(-2px);

}



.sections-grid-link:hover h2 {

   color: var(--bf-purple);

}



.sections-grid-link:hover .bf-read-more {

   color: var(--bf-purple);

}



/* CTA Block */

/* .cta-block {

    background: var(--bf-sand);

    border-radius: 8px;

    padding: 16px 20px;

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);

    display: flex;

    align-items: center;

    gap: 24px;

}



.cta-block-image {

    width: 154px;

    height: 193px;

    object-fit: cover;

    object-position: top;

    border-radius: 4px;

} */



/* CTA Section */

.bf-cta-section {

   position: relative;

   overflow: hidden;

   padding: 5rem 2rem;



   @media only screen and (min-width: 1024px) {

      padding: 5rem;



   }

}



.bf-cta-block {

   background: var(--bf-white);

   padding: 1rem;

   border-radius: 0;

   z-index: 2;



   @media only screen and (min-width: 1024px) {

      width: 25rem;

   }



   border-radius: 0;

   box-shadow: 4px 4px 6px rgba(255, 135, 18, 0.5);

   border: 2px solid;

   border-image: linear-gradient(to top right, var(--bf-orange) 20%, rgba(255, 135, 18, 0.5) 60%, rgba(255, 171, 33, 0) 90%) 1;

   position: relative;



}



.bf-cta-block::after {

   content: '';

   position: absolute;

   top: -2rem;

   right: -4.5rem;

   width: 9rem;

   height: 12rem;

   object-fit: contain;

   object-position: top;

   border-radius: 4px;

   background-image: url('../img/misc/jumper.png');

   background-size: cover;

   background-repeat: no-repeat;

   background-position: top center;

}



.bf-cta-block h2 {

   text-transform: uppercase;

   color: var(--bf-anthracite);

   font-size: 1.3125rem;

   line-height: 1;

   margin-bottom: 1rem;

}



.bf-btn,

.bf-btn-link,

.bf-btn-primary {

   /* background-color: var(--bf-purple);

    color: var(--bf-white);

    border: .125rem solid var(--bf-purple); */

   /* border-width: .125rem;

    border-style: solid; */

   padding: .25rem .5rem;

   border-radius: .25rem;

   text-decoration: none;

   font-size: 0.6875rem;

   font-weight: 800;



}



.bf-btn-link {

   border-style: none;

}



.bf-btn-primary {

   background-color: var(--bf-purple);

   color: var(--bf-white);

   border-color: var(--bf-purple);

   border-width: .125rem;

   border-style: solid;

}



.bf-btn-primary:hover {

   background: var(--bf-white);

   color: var(--bf-purple);

   border-color: var(--bf-purple);

}



.bf-btn-purple {

   background: var(--bf-purple);

   border-color: var(--bf-purple);

   color: var(--bf-white);

   border-width: .125rem;

   border-style: solid;

   /* font-weight: 800; */

   /* padding: .625rem 1rem; */

}



.bf-btn-purple:hover {

   background: var(--bf-white);

   color: var(--bf-purple);

   border-color: var(--bf-purple);

}



/*



.bf-card .card-bg-shape {

    position: absolute;

    top: -20px;

    left: -10px;

    right: -10px;

    bottom: 20px;

    background: #EEDECB;

    clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);

    z-index: 1;

}







/* Growth Label */

.bf-growth-label {

   font-size: 0.6875rem;

}



*/

/* =========================================

   Content Styles (Merged from bfit-content.css)

   ========================================= */



/* -------------------------

   Lists within Content

   ------------------------- */



.bf-page-main-content ul,

.bf-page-main-content ol {

   font-family: var(--font-double);

   font-size: 0.6875rem;

   line-height: 16px;

   color: var(--bf-anthracite);

   margin: 0 0 var(--spacing-sm);

   padding-left: var(--spacing-md);

}



.bf-page-main-content ul li,

.bf-page-main-content ol li {

   margin-bottom: 4px;

}



.bf-page-main-content ul ul,

.bf-page-main-content ol ol,

.bf-page-main-content ul ol,

.bf-page-main-content ol ul {

   margin-top: 4px;

   margin-bottom: 4px;

}



/* -------------------------

   Tables within Content

   ------------------------- */



.bf-page-main-content .table-wrapper {

   background: white !important;

   padding: .25rem;

   margin: 0 0 var(--spacing-md) 0;



   overflow-y: clip;

   overflow-x: scroll;

   /* width: 100%; */

   max-width: 100%;



   @media only screen and (min-width: 1024px) {

      margin-inline: -4rem !important;

      max-width: calc(100% + 8rem);

   }



   @media only screen and (min-width: 1280px) {

      margin-inline: -6rem !important;

      max-width: calc(100% + 12rem);

   }

}



.bf-page-main-content table {

   border: none;

   width: 100%;

   margin: 0 0 1rem 0;

   border-collapse: collapse;

   font-family: var(--font-double);

   font-size: 0.6875rem;

   line-height: 1.25;

   background-color: white !important;

}



.bf-page-main-content table thead,

.bf-page-main-content table thead tr {

   border-top: none;

   border-top-width

}



.bf-page-main-content table tbody {

   border-top: none !important;

}



.bf-page-main-content table th {

   border: none;

   font-family: var(--font-treble);

   font-weight: 800;

   text-align: left;

   padding: .25rem;

   color: var(--bf-orange);

}



.bf-page-main-content table th.right,

.bf-page-main-content table td.right {

   text-align: right;

}



.bf-page-main-content table th em {

   font-weight: 200;

   font-style: normal;

}



.bf-page-main-content table tr {

   border-top: .5px solid var(--bf-anthracite);

}



.bf-page-main-content table th {

   min-height: 1rem;

   padding: .25rem;

   border-top-width: 0;

   border-bottom-width: .5px;

}



.bf-page-main-content table td {

   min-height: 1rem;

   padding: .25rem;

   border-top-width: .5px;

   border-bottom-width: .5px;

}



.bf-page-main-content table colgroup {

   visibility: hidden;

   border: none;

}



.bf-page-main-content table td.current-year {

   font-weight: 800;

}



.bf-page-main-content table td.previous-year {

   font-weight: 200;

}



.bf-page-main-content table td.figure {

   text-align: right;

   display: table-cell !important;

}



.bf-page-main-content table tbody tr.total,

.bf-page-main-content table tr.cBoderType2,

.bf-page-main-content table tr.cBold.cBoderType2,

.bf-page-main-content table tbody tr.total td,

.bf-page-main-content table tr.cBoderType2 td,

.bf-page-main-content table tr.cBold.cBoderType2 td {

   border-top: 1px solid var(--bf-orange);

   border-bottom: inherit;

}



.bf-page-main-content table tr.cBold td,

.bf-page-main-content table tr.total td {

   font-weight: 800;

}



.bf-page-main-content table tr td a,

.bf-page-main-content table tr.total td a {

   color: var(--bf-orange) !important;

   text-decoration: underline;

   font-weight: 200;

}



/* Financial Statement Tables */

.bf-page-main-content table[format="standard"] {

   margin: var(--spacing-lg) 0;

}



.bf-page-main-content table th[align="right"],

.bf-page-main-content table td[align="right"] {

   text-align: right;

}



.bf-page-main-content table th[align="left"],

.bf-page-main-content table td[align="left"] {

   text-align: left;

}



.bf-page-main-content table th[align="center"],

.bf-page-main-content table td[align="center"] {

   text-align: center;

}



.bf-page-main-content table td[format="notes"] {

   font-size: 0.5625rem;

   color: var(--bf-purple);

}



/* -------------------------

   Special Content Elements

   ------------------------- */



/* Blockquotes */

.bf-page-main-content blockquote {

   margin: var(--spacing-md) 0;

   padding: var(--spacing-sm) var(--spacing-md);

   border-left: 4px solid var(--bf-orange);

   background-color: var(--bf-off-white);

   font-style: italic;

}



.bf-page-main-content blockquote p:last-child {

   margin-bottom: 0;

}



/* Highlight Blocks */

.bf-page-main-content .highlightblock,

.bf-page-main-content .alert {

   margin: var(--spacing-md) 0;

   padding: var(--spacing-sm);

   border-radius: var(--radius-sm);

   background-color: var(--bf-light-sand);

   border: 2px solid var(--bf-orange);

}



.bf-page-main-content .highlightblock .title,

.bf-page-main-content .alert .alert-heading {

   font-family: var(--font-treble);

   font-size: 0.75rem;

   font-weight: 800;

   color: var(--bf-orange);

   margin-bottom: var(--spacing-xs);

}



.bf-page-main-content .alert-warning {

   background-color: rgba(255, 171, 33, 0.1);

   border-color: var(--bf-orange-light);

}



/* Code Blocks */

.bf-page-main-content pre,

.bf-page-main-content code {

   font-family: 'Courier New', monospace;

   font-size: 0.625rem;

   background-color: var(--bf-off-white);

   padding: 2px 4px;

   border-radius: 2px;

}



.bf-page-main-content pre {

   padding: var(--spacing-sm);

   overflow-x: auto;

   margin: var(--spacing-sm) 0;

}



/* Horizontal Rules */

.bf-page-main-content hr {

   border: none;

   border-top: 1px solid var(--bf-sand);

   margin: var(--spacing-lg) 0;

}



/* Images and Figures */

.page-main-content img,

.bf-page-main-content img {

   width: 100%;

   height: auto;

   display: block;

   margin: var(--spacing-sm) 0;

}



.bf-page-main-content figure {

   margin: var(--spacing-md) 0;

}



.bf-page-main-content figcaption {

   font-size: 0.5625rem;

   line-height: 12px;

   color: var(--bf-anthracite);

   font-style: italic;

   margin-top: var(--spacing-xs);

}



/* -------------------------

   Sections within Content

   ------------------------- */



.bf-page-main-content section {

   margin-bottom: var(--spacing-lg);

}



.bf-page-main-content section:last-child {

   margin-bottom: 0;

}



/* -------------------------

   Spacing Utility Classes

   ------------------------- */



.bf-page-main-content .content-block {

   margin-top: var(--spacing-lg);

}



.bf-page-main-content .content-block-xl {

   margin-top: var(--spacing-xl);

}



.bf-page-main-content .content-block-sm {

   margin-top: var(--spacing-md);

}



.bf-page-main-content .spacing-lg {

   margin-top: var(--spacing-lg);

}



.bf-page-main-content .spacing-md {

   margin-top: var(--spacing-md);

}



.bf-page-main-content .spacing-sm {

   margin-top: var(--spacing-sm);

}



/* -------------------------

   Responsive Adjustments

   ------------------------- */



@media (max-width: 768px) {

   .bf-page-main-content table {

      font-size: 0.5625rem;

   }



   .bf-page-main-content table th,

   .bf-page-main-content table td {

      padding: 4px;

   }

}



/* === ESEF tables === */



tr.cBold td {

   border-top: 1px solid var(--bf-anthracite);

}



.iTableCoreData.smaller,

.iTableCoreData.smallest,

.iTableCoreData[style*="max-width:50%"],

.iTableCoreData[style*="max-width:100%"] {

   max-width: 100% !important;

   min-width: 100%;

}



@media only screen and (min-width: 760px) {



   .iTableCoreData.smaller,

   .iTableCoreData.smallest,

   .iTableCoreData[style*="max-width:50%"],

   .iTableCoreData[style*="max-width:100%"] {

      max-width: 840px !important;

   }

}

}



/* =========================================

   Basic-Fit Annual Report 2025 - Content Styles

   Styles for elements within page-main-content

   ========================================= */



/* -------------------------

   Typography within Content

   ------------------------- */



/* Headings */

.page-main-content h1,

.page-main-content .bf-h1 {

   font-family: var(--font-treble);

   font-size: 2.375rem;

   line-height: 34px;

   font-weight: 800;

   color: var(--bf-orange);

   margin-bottom: 32px;

}



.page-main-content h2,

.page-main-content .bf-h2 {

   font-family: var(--font-treble);

   font-size: 1.3125rem;

   line-height: 21px;

   font-weight: 800;

   color: var(--bf-orange);

   margin-top: var(--spacing-lg);

   margin-bottom: var(--spacing-sm);

}



.page-main-content h3,

.page-main-content .bf-h3 {

   font-family: var(--font-treble);

   font-size: 0.8125rem;

   line-height: 16px;

   font-weight: 800;

   color: var(--bf-anthracite);

   margin-top: var(--spacing-md);

   margin-bottom: var(--spacing-sm);

}



.page-main-content h3:first-child {

   margin-top: 0;

}



.page-main-content h4 {

   font-family: var(--font-treble);

   font-size: 0.6875rem;

   line-height: 14px;

   font-weight: 800;

   color: var(--bf-anthracite);

   margin-top: var(--spacing-sm);

   margin-bottom: var(--spacing-xs);

}



.page-main-content h5 {

   font-family: var(--font-treble);

   font-size: 0.625rem;

   line-height: 13px;

   font-weight: 700;

   color: var(--bf-anthracite);

   margin-top: var(--spacing-sm);

   margin-bottom: var(--spacing-xs);

}



.page-main-content h6 {

   font-family: var(--font-treble);

   font-size: 0.5625rem;

   line-height: 12px;

   font-weight: 700;

   color: var(--bf-anthracite);

   margin-top: var(--spacing-sm);

   margin-bottom: var(--spacing-xs);

}



/* Paragraphs and Text */

.page-main-content p {

   font-family: var(--font-double);

   font-size: 0.6875rem;

   line-height: 16px;

   font-weight: 500;

   color: var(--bf-anthracite);

   margin: 0 0 var(--spacing-sm);

}



.page-main-content p strong,

.page-main-content p b {

   font-weight: 800;

}



.page-main-content p em,

.page-main-content p i {

   font-style: italic;

}



/* Links */

.page-main-content a {

   color: var(--bf-anthracite);

   text-decoration: underline;

}



.page-main-content a:hover {

   color: var(--bf-orange);

}



/* -------------------------

   Lists within Content

   ------------------------- */



.page-main-content ul,

.page-main-content ol {

   font-family: var(--font-double);

   font-size: 0.6875rem;

   line-height: 16px;

   color: var(--bf-anthracite);

   margin: 0 0 var(--spacing-sm);

   padding-left: var(--spacing-md);

}



.page-main-content ul li,

.page-main-content ol li {

   margin-bottom: 4px;

}



.page-main-content ul ul,

.page-main-content ol ol,

.page-main-content ul ol,

.page-main-content ol ul {

   margin-top: 4px;

   margin-bottom: 4px;

}



/* -------------------------

   Tables within Content

   ------------------------- */



.bf-page-main-content .table-wrapper {

   /* background: white !important;

   padding: .25rem;

   margin: 0 0 var(--spacing-md) 0;

   margin-inline: -4rem !important;

   max-width: calc(100% + 8rem);

   overflow-y: scroll;

   overflow-x: clip; */

}



.bf-page-main-content table {

   border: none;

   width: 100%;

   margin: 0 0 1rem 0;

   border-collapse: collapse;

   font-family: var(--font-double);

   font-size: 0.6875rem;

   line-height: 1.25;

   background-color: white !important;

}





.bf-page-main-content table tbody {

   border-top: none !important;

}



.bf-page-main-content table th {

   border: none;

   font-family: var(--font-treble);

   font-weight: 800;

   text-align: left;

   padding: .25rem;

   color: var(--bf-orange);



}





.bf-page-main-content table th.right,

.bf-page-main-content table td.right {

   text-align: right;

}



.bf-page-main-content table th em {

   font-weight: 200;

   font-style: normal;

}



.bf-page-main-content table tr {

   border-top: .5px solid var(--bf-anthracite);

}



.bf-page-main-content table tbody tr:last-child {

   border-bottom-width: 0 !important;

   border-bottom-color: transparent !important;

}



.bf-page-main-content table th,

.bf-page-main-content table td {

   min-height: 1rem;

   padding: .25rem;

}



.bf-page-main-content table td.current-year {

   font-weight: 800;

}



.bf-page-main-content table td.previous-year {

   font-weight: 200;

}





.bf-page-main-content table td.fin-figure {

   text-align: right;

   display: table-cell !important;

}





.page-main-content table tr.total {

   /* border-top: 1px solid var(--bf-anthracite); */

}



.page-main-content table tr.total td {

   font-weight: 800;

   /* background-color: var(--bf-off-white); */

   /* border-top: 2px solid var(--bf-anthracite); */

}



.page-main-content table tr td a,

.page-main-content table tr.total td a {

   color: var(--bf-orange) !important;

   text-decoration: underline;

   font-weight: 200;

}



.bf-page-main-content table tr.heading,

.page-main-content table tr.heading {

   /* background-color: var(--bf-light-sand); */

}



.bf-page-main-content table td.risk-card-orange {

   border-top-color: white;

   border-bottom-color: white;



}



.bf-page-main-content table tr.risk-card-orange td,

.page-main-content table tr.risk-card-orange td {

   /* background-color: rgba(254, 112, 0, 0.1); */

   /* border-left: 3px solid var(--bf-orange); */



}



/* Financial Statement Tables */

.bf-page-main-content table[format="standard"],

.page-main-content table[format="standard"] {

   margin: var(--spacing-lg) 0;

}



.bf-page-main-content table th[align="right"],

.bf-page-main-content table td[align="right"],

.bf-page-main-content table th[align="right"],

.bf-page-main-content table td[align="right"],

.page-main-content table th[align="right"],

.page-main-content table td[align="right"] {

   text-align: right;

}



.bf-page-main-content table th[align="left"],

.bf-page-main-content table td[align="left"],

.page-main-content table th[align="left"],

.page-main-content table td[align="left"] {

   text-align: left;

}



.bf-page-main-content table th[align="center"],

.bf-page-main-content table td[align="center"],

.page-main-content table th[align="center"],

.page-main-content table td[align="center"] {

   text-align: center;

}



.page-main-content table td[format="notes"] {

   font-size: 0.5625rem;

   color: var(--bf-purple);

}



/* -------------------------

   Special Content Elements

   ------------------------- */



/* Blockquotes */

.page-main-content blockquote {

   margin: var(--spacing-md) 0;

   padding: var(--spacing-sm) var(--spacing-md);

   border-left: 4px solid var(--bf-orange);

   background-color: var(--bf-off-white);

   font-style: italic;

}



.page-main-content blockquote p:last-child {

   margin-bottom: 0;

}



/* Highlight Blocks */

.page-main-content .highlightblock,

.page-main-content .alert {

   margin: var(--spacing-md) 0;

   padding: var(--spacing-sm);

   border-radius: var(--radius-sm);

   background-color: var(--bf-light-sand);

   border: 2px solid var(--bf-orange);

}



.page-main-content .highlightblock .title,

.page-main-content .alert .alert-heading {

   font-family: var(--font-treble);

   font-size: 0.75rem;

   font-weight: 800;

   color: var(--bf-orange);

   margin-bottom: var(--spacing-xs);

}



.page-main-content .alert-warning {

   background-color: rgba(255, 171, 33, 0.1);

   border-color: var(--bf-orange-light);

}



/* Code Blocks */

.bf-page-main-content pre,

.bf-page-main-content code,

.page-main-content pre,

.page-main-content code {

   font-family: 'Courier New', monospace;

   font-size: 0.625rem;

   background-color: var(--bf-off-white);

   padding: 2px 4px;

   border-radius: 2px;

}



.page-main-content pre {

   padding: var(--spacing-sm);

   overflow-x: auto;

   margin: var(--spacing-sm) 0;

}



/* Horizontal Rules */

.page-main-content hr {

   border: none;

   border-top: 1px solid var(--bf-sand);

   margin: var(--spacing-lg) 0;

}







.bf-page-main-content figure,

.page-main-content figure {

   margin: var(--spacing-md) 0;

}



.bf-page-main-content figcaption,

.page-main-content figcaption {

   font-size: 0.5625rem;

   line-height: 12px;

   color: var(--bf-anthracite);

   font-style: italic;

   margin-top: var(--spacing-xs);

}



/* -------------------------

   Sections within Content

   ------------------------- */



.page-main-content section {

   margin-bottom: var(--spacing-xl);

}



.page-main-content section:last-child {

   margin-bottom: 0;

}



/* -------------------------

   Spacing Utility Classes

   ------------------------- */



.page-main-content .content-block {

   margin-top: var(--spacing-lg);

}



.page-main-content .content-block-xl {

   margin-top: var(--spacing-xl);

}



.page-main-content .content-block-sm {

   margin-top: var(--spacing-md);

}



.page-main-content .spacing-lg {

   margin-top: var(--spacing-lg);

}



.page-main-content .spacing-md {

   margin-top: var(--spacing-md);

}



.page-main-content .spacing-sm {

   margin-top: var(--spacing-sm);

}



/* -------------------------

   Responsive Adjustments

   ------------------------- */



@media (max-width: 768px) {



   .bf-page-main-content h1,

   .bf-page-main-content .bf-h1,

   .bf-page-main-content h1,

   .bf-page-main-content .bf-h1,

   .page-main-content h1,

   .page-main-content .bf-h1 {

      font-size: 1.75rem;

      line-height: 26px;

   }



   .bf-page-main-content h2,

   .bf-page-main-content .bf-h2,

   .page-main-content h2,

   .page-main-content .bf-h2 {

      font-size: 1.125rem;

      line-height: 18px;

   }



   .bf-page-main-content table,

   .page-main-content table {

      font-size: 0.5625rem;

   }



   .bf-page-main-content table th,

   .bf-page-main-content table td,

   .page-main-content table th,

   .page-main-content table td {

      padding: 4px;

   }

}







/* === ESEF tables= */







tr.cBold td {

   /* border-top: 3px solid #2d2d2d !important; */

   border-top: 1px solid var(--bf-anthracite);

}









.iTableCoreData.smaller,

.iTableCoreData.smallest,

.iTableCoreData[style*="max-width:50%"],

.iTableCoreData[style*="max-width:100%"] {

   max-width: 100% !important;

   min-width: 100%;

}



@media only screen and (min-width: 760px) {



   .iTableCoreData.smaller,

   .iTableCoreData.smallest,

   .iTableCoreData[style*="max-width:50%"],

   .iTableCoreData[style*="max-width:100%"] {

      max-width: 840px !important;

   }

}



@media only screen and (min-width: 1040px) {



   .iTableCoreData.smaller,

   .iTableCoreData.smallest,

   .iTableCoreData[style*="max-width:50%"],

   .iTableCoreData[style*="max-width:100%"] {

      /* max-width: 64rem !important;

        width: 64rem;

        margin-left: -6rem; */

   }

}



.text-rotation-90 {

   max-width: 2rem;

   white-space: nowrap;

   transform: translate(1.5rem, 0) rotate(-90deg);

   transform-origin: 0% 100%;

}



td.blocked {

   background-color: var(--bf-light-sand);

}



tr.no-border,

tr.no-border td,

td.no-border {

   border-top-width: 0 !important;

   border-bottom-width: 0 !important;

}



.bf-table-notes {

   font-size: 0.5625rem;

   line-height: 12px;

   font-weight: 400;

   color: var(--bf-anthracite);

   margin-top: var(--spacing-sm);

   margin-bottom: var(--spacing-xs);

   padding-left: var(--spacing-sm);

}



.table> :not(:first-child) {

   border: inherit;

}











.bf-page-main-content table th.risk-card-sand,

.bf-page-main-content table td.risk-card-sand {

   border-color: var(--bf-white);

   background-color: var(--bf-sand);

   color: var(--bf-anthracite);

}



.bf-page-main-content table th.risk-card-dark-sand,

.bf-page-main-content table td.risk-card-dark-sand {

   border-color: var(--bf-white);

   color: var(--bf-anthracite);

   background-color: var(--bf-dark-sand);



}



.bf-page-main-content table th.risk-card-lilac,

.bf-page-main-content table td.risk-card-lilac {

   border-color: var(--bf-white);

   color: var(--bf-anthracite);

   background-color: var(--bf-lilac);

}





ol.footnotes,

ul.footnotes {

   font-style: italic;

   font-size: .6rem

}





.subsection .tdi--text-overflow-wrapper,

.sublevel .tdi--text-overflow-wrapper,

.tdi--text-overflow-wrapper {

   /* width: 100% !important; */



   @media only screen and (min-width: 1024px) {

      margin-inline: -4rem !important;

      max-width: calc(100% + 8rem);

   }



   @media only screen and (min-width: 1280px) {

      margin-inline: -6rem !important;

      max-width: calc(100% + 12rem);

   }

}



.subsection .table-wrapper .tdi--text-overflow-wrapper,

.sublevel .table-wrapper.tdi--text-overflow-wrapper,

.table-wrapper .tdi--text-overflow-wrapper {

   margin-inline: 0 !important;

   max-width: 100% !important;

}



.subsection .tdi--text-overflow-wrapper picture img,

.sublevel .tdi--text-overflow-wrapper picture img,

.tdi--text-overflow-wrapper picture img {

   width: 100%;



}



.financial-statements h4 {

   font-family: var(--font-treble);

   font-size: 1.125rem;

   line-height: 1.27;

   font-weight: 800;

   color: var(--bf-orange);

   margin-bottom: 1rem;

   font-style: normal;

}



.financial-statements h5 {

   font-family: var(--font-treble);

   font-size: 1.125rem;

   line-height: 1.27;

   font-weight: 800;

   color: var(--bf-orange);

   margin-bottom: 1rem;

   font-style: normal;



}



.financial-statements h6 {

   font-family: var(--font-treble);

   font-size: 0.8125rem;

   line-height: 1rem;

   font-weight: 800;

   margin-bottom: 0;

   color: var(--bf-anthracite);

   margin-bottom: 1rem;

   font-style: normal;



}



.financial-statements .table-wrapper h4 {

   font-family: var(--font-treble);

   font-size: 0.8125rem;

   line-height: 1rem;

   font-weight: 800;

   margin-bottom: 0;

   margin-bottom: 1rem;

   font-style: normal;

}