@layer framework, injected, resets, utils, kyle, craig, connor, zoe;
@import 'bootstrap.style.css'; /* wrapped in an @layer framework */




 
 
 
 
 
 
 
 
 

:root {
    --bs-primary-rgb: 255, 153, 54;
    --bs-primary-hsl: 30 100% 60.6%;
    --bs-primary-hex: #ff9936;
    --bs-primary: rgb(255, 153, 54);
    --bs-secondary-rgb: 54, 191, 255;
    --bs-secondary-hsl: 199 100% 60.6%;
    --bs-secondary-hex: #36bfff;
    --bs-secondary: rgb(54, 191, 255);
    --bs-tertiary-rgb: 37, 125, 170;
    --bs-tertiary-hsl: 200 64.3% 40.6%;
    --bs-tertiary-hex: #257daa;
    --bs-tertiary: rgb(37, 125, 170);
    --bs-link-color-rgb: 52, 52, 52;
    --bs-link-color-hsl: 0 0% 20.4%;
    --bs-link-color-hex: #343434;
    --bs-link-color: rgb(52, 52, 52);
    --bs-link-hover-color-rgb: 52, 52, 52;
    --bs-link-hover-color-hsl: 0 0% 20.4%;
    --bs-link-hover-color-hex: #343434;
    --bs-link-hover-color: rgb(52, 52, 52);
    --bs-body-color-rgb: 90, 90, 90;
    --bs-body-color-hsl: 0 0% 35.3%;
    --bs-body-color-hex: #5a5a5a;
    --bs-body-color: rgb(90, 90, 90);
    --bs-light-rgb: 247, 248, 251;
    --bs-light-hsl: 225 33.3% 97.6%;
    --bs-light-hex: #f7f8fb;
    --bs-light: rgb(247, 248, 251);
    --bs-dark-rgb: 0, 0, 5;
    --bs-dark-hsl: 240 100% 1%;
    --bs-dark-hex: #000005;
    --bs-dark: rgb(0, 0, 5);
    --bs-heading-color-rgb: 0, 0, 5;
    --bs-heading-color-hsl: 240 100% 1%;
    --bs-heading-color-hex: #000005;
    --bs-heading-color: rgb(0, 0, 5);
    /**
     * The idea behind the 1rem + 1vw is to get something
     * that is at least the minimum font size + 1% of the viewport.
     */
    --fz-display-title: 37px;
    --fz-display-4-title: 48px;
    --fz-display-5-title: 44px;
    --fz-title-1: 36px;
    --fz-title-2: clamp(1.25rem, 1rem + 1vw, 32px);
    --fz-title-3: clamp(1rem, 1rem + 1vw, 24px);
    --fz-title-4: 18px;
    --fz-title-5: 16px;
    --fz-content-md: 18px;
    --fz-content-base: 18px;
    --fz-base: 18px;
    --fz-copy: 11px;
    --bs-border-radius:0px;
    --bs-border-color: #edf1f7;
    --bs-body-font-size: 18px;
    --ease-1: cubic-bezier(0.19,1,0.22,1);
    --header-font:'muli', sans-serif;
    --body-font:'muli', sans-serif;
    --radius-circle: 500000rem;
    /** Arbitray until PSD is out */
    --sm: 25px;
    --md: 50px;
    --lg: 100px;
    --xl: 150px;
    font-size: var(--fz-content-base);
}
@media (min-width:576px){
    :root{
        --fz-display-title: 60px;
    }
}
@media (min-width:768px){
    :root{
        --fz-display-title: 76px;
        --fz-display-4-title: 60px;
    }
}
@media (min-width:992px){
    :root{
        --fz-display-title: 90px;
    }
}
@media (min-width:1200px){
    :root{
        --fz-display-title: 122px;
    }
}
/* Any css written outside of an @layer beats specificity of anything inside */
@layer resets {
    [data-sal] {
        --sal-easing: cubic-bezier(.25, .46, .45, .94);
    }
    body {
        font-family: var(--header-font);
        font-size:18px;
        line-height:calc(30 / 18);
        overflow-x:hidden;
    }
    p{
       font-family:var(--body-font);
    }
    p a,
    li:not(.nav-item) a:not(.dropdown-item, .page-link){
        text-decoration:underline;
        color:inherit;
    }
    p a:not(.btn):hover,
    p a:not(.btn):focus,
    li:not(.nav-item) a:not(.btn, .dropdown-item, .page-link):hover,
    li:not(.nav-item) a:not(.btn, .dropdown-item, .page-link):focus{
        opacity:.5;
    }
    h1, .h1,
    h2, .h2,
    h3, .h3,
    h4, .h4,
    h5, .h5,
    h6, .h6,
    .header-font{
        font-family:var(--header-font);
        color:var(--bs-heading-color);
    }
    .display-1{
        font-size:var(--fz-display-title);
        line-height:calc(100 / 112);
        letter-spacing:0.025rem;
        font-weight:900;
        text-transform:uppercase;
        & span{
            text-transform:lowercase;
        }
    }
    .display-4{
        font-size:var(--fz-display-4-title);
        font-weight:700;
        line-height:1;
        font-family:var(--header-font);
    }
    .display-5{
        font-weight:400;
        font-size:var(--fz-display-5-title);
        font-family:var(--header-font);
        line-height:38px;
    }
    h1, .h1{
        font-size:var(--fz-title-1);
        line-height:calc(50 / 40);
    }
    h2, .h2{
        font-size:var(--fz-title-2);
        line-height:calc(38 / 32);
    }
    h3, .h3{
        font-size:var(--fz-title-3);
        line-height:calc(38 / 24);
    }
    h4, .h4{
        font-size:var(--fz-title-4);
    }
    h5, .h5{
        font-size:var(--fz-title-5);
        line-height:21px;
    }
    .btn{
        --bs-btn-padding-x: 15px;
        --bs-btn-padding-y: 17px;
        --bs-btn-font-family: var(--header-font);
        --bs-btn-font-size: 13px;
        --bs-btn-font-weight: 600;
        --bs-btn-line-height: 1;
        --bs-btn-border-radius: 4px;
        --bs-btn-border-width: 2px;
        font-style: normal;
        letter-spacing:0.05em;
        text-transform:uppercase;
        transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,opacity .15s ease-in-out;
    }
    .btn-lg{
        --bs-btn-font-size: 18px;
        --bs-btn-padding-x: 45px;
        --bs-btn-padding-y: 17px;
        --bs-btn-border-radius: 0px;
    }
    .btn:hover,
    .btn:focus{
        opacity:.5;
    }
    .btn-primary { 
        --bs-btn-color: #fff;
        --bs-btn-bg: var(--bs-primary);
        --bs-btn-border-color: var(--bs-primary);
        --bs-btn-hover-color: #fff;
        --bs-btn-hover-bg: var(--bs-primary);
        --bs-btn-hover-border-color:var(--bs-primary);
        --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--bs-primary);
        --bs-btn-active-border-color: var(--bs-primary);
        --bs-btn-active-shadow: inset 0 3px 5px rgba(var(--bs-primary-rgb), 0.125);
        --bs-btn-disabled-color: #fff;
        --bs-btn-disabled-bg: var(--bs-primary);
        --bs-btn-disabled-border-color: var(--bs-primary);
    }
    .btn-outline-primary {
        --bs-btn-color: var(--bs-primary);
        --bs-btn-border-color: var(--bs-primary);
        --bs-btn-hover-color: var(--bs-primary);
        --bs-btn-hover-bg: transparent;
        --bs-btn-hover-border-color: var(--bs-primary);
        --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--bs-primary);
        --bs-btn-active-border-color: var(--bs-primary);
        --bs-btn-active-shadow: inset 0 3px 5px rgba(var(--bs-primary-rgb), 0.125);
        --bs-btn-disabled-color: var(--bs-primary);
        --bs-btn-disabled-border-color: var(--bs-primary);
    }
    .btn-light {
        --bs-btn-color: var(--bs-primary);
        --bs-btn-bg: #fff;
        --bs-btn-border-color: #fff;
        --bs-btn-hover-color: var(--bs-primary);
        --bs-btn-hover-bg: #fff;
        --bs-btn-hover-border-color: #fff;
        --bs-btn-focus-shadow-rgb: 255,255,255;
        --bs-btn-active-color: var(--bs-primary);
        --bs-btn-active-bg: #fff;
        --bs-btn-active-border-color: #fff;
        --bs-btn-active-shadow: inset 0 3px 5px rgba(255, 255, 255, 0.125);
        --bs-btn-disabled-color: var(--bs-primary);
        --bs-btn-disabled-bg: #fff;
        --bs-btn-disabled-border-color: #fff;
    }
    .btn-secondary { 
        --bs-btn-color: #fff;
        --bs-btn-bg: var(--bs-secondary);
        --bs-btn-border-color: var(--bs-secondary);
        --bs-btn-hover-color: #fff;
        --bs-btn-hover-bg: var(--bs-secondary);
        --bs-btn-hover-border-color:var(--bs-secondary);
        --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--bs-secondary);
        --bs-btn-active-border-color: var(--bs-secondary);
        --bs-btn-active-shadow: inset 0 3px 5px rgba(var(--bs-secondary-rgb), 0.125);
        --bs-btn-disabled-color: #fff;
        --bs-btn-disabled-bg: var(--bs-secondary);
        --bs-btn-disabled-border-color: var(--bs-secondary);
    }
    .btn-tertiary { 
        --bs-btn-color: #fff;
        --bs-btn-bg: var(--bs-tertiary);
        --bs-btn-border-color: var(--bs-tertiary);
        --bs-btn-hover-color: #fff;
        --bs-btn-hover-bg: var(--bs-tertiary);
        --bs-btn-hover-border-color:var(--bs-tertiary);
        --bs-btn-focus-shadow-rgb: var(--bs-tertiary-rgb);
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--bs-tertiary);
        --bs-btn-active-border-color: var(--bs-tertiary);
        --bs-btn-active-shadow: inset 0 3px 5px rgba(var(--bs-tertiary-rgb), 0.125);
        --bs-btn-disabled-color: #fff;
        --bs-btn-disabled-bg: var(--bs-tertiary);
        --bs-btn-disabled-border-color: var(--bs-tertiary);
    }
    .stat-bk{
        margin:0.25%;
        background-color:#257daa;
        padding:2%;
        border-radius:10px;
        margin:1%;
        box-shadow: 0 12px 6px rgba(0, 0, 0, 0.1);
    }
    .swiper-slide .stat-bk{
        padding:6%;
    }
    .custom-image-wrapper img {
        margin-bottom:20px;
        width:100%;
    }
    @media (min-width: 992px) {
        .custom-image-wrapper img {
            float: left;
            margin-right: 30px;
            margin-bottom:10px;
            width: 41%;
        }
        .custom-content-wrapper {
            clear:both;
        }
    }
}
@layer utils {
    img[width][height] {
        content-visibility: auto;
    }
    img {
        max-width: 100%;
        height: auto;
        &:not(.bg-image, .cs-img){
            border-radius:10px;
        }
    }
section{
    padding-block: var(--md);
}
.py-sm {
  padding-block: var(--sm);
}
.pt-sm {
  padding-top: var(--sm);
}
.pb-sm {
  padding-bottom: var(--sm);
}
.py-md {
  padding-block: var(--md);
}
.pt-md {
  padding-top: var(--md);
}
.pb-md {
  padding-bottom: var(--md);
}
.py-lg {
  padding-block: var(--lg);
}
.pt-lg {
  padding-top: var(--lg);
}
.pb-lg {
  padding-bottom: var(--lg);
}
.py-xl {
  padding-block: var(--xl);
}
.pt-xl {
  padding-top: var(--xl);
}
.pb-xl {
  padding-bottom: var(--xl);
}

@media (min-width: 576px) {
  .py-sm-mob {
    padding-block: var(--sm);
  }
  .pt-sm-mob {
    padding-top: var(--sm);
  }
  .pb-sm-mob {
    padding-bottom: var(--sm);
  }
  .py-md-mob {
    padding-block: var(--md);
  }
  .pt-md-mob {
    padding-top: var(--md);
  }
  .pb-md-mob {
    padding-bottom: var(--md);
  }
  .py-lg-mob {
    padding-block: var(--lg);
  }
  .pt-lg-mob {
    padding-top: var(--lg);
  }
  .pb-lg-mob {
    padding-bottom: var(--lg);
  }
  .py-xl-mob {
    padding-block: var(--xl);
  }
  .pt-xl-mob {
    padding-top: var(--xl);
  }
  .pb-xl-mob {
    padding-bottom: var(--xl);
  }
}
@media (min-width: 768px) {
  .py-sm-tab {
    padding-block: var(--sm);
  }
  .pt-sm-tab {
    padding-top: var(--sm);
  }
  .pb-sm-tab {
    padding-bottom: var(--sm);
  }
  .py-md-tab {
    padding-block: var(--md);
  }
  .pt-md-tab {
    padding-top: var(--md);
  }
  .pb-md-tab {
    padding-bottom: var(--md);
  }
  .py-lg-tab {
    padding-block: var(--lg);
  }
  .pt-lg-tab {
    padding-top: var(--lg);
  }
  .pb-lg-tab {
    padding-bottom: var(--lg);
  }
  .py-xl-tab {
    padding-block: var(--xl);
  }
  .pt-xl-tab {
    padding-top: var(--xl);
  }
  .pb-xl-tab {
    padding-bottom: var(--xl);
  }
}
@media (min-width: 992px) {
  .py-sm-lap {
    padding-block: var(--sm);
  }
  .pt-sm-lap {
    padding-top: var(--sm);
  }
  .pb-sm-lap {
    padding-bottom: var(--sm);
  }
  .py-md-lap {
    padding-block: var(--md);
  }
  .pt-md-lap {
    padding-top: var(--md);
  }
  .pb-md-lap {
    padding-bottom: var(--md);
  }
  .py-lg-lap {
    padding-block: var(--lg);
  }
  .pt-lg-lap {
    padding-top: var(--lg);
  }
  .pb-lg-lap {
    padding-bottom: var(--lg);
  }
  .py-xl-lap {
    padding-block: var(--xl);
  }
  .pt-xl-lap {
    padding-top: var(--xl);
  }
  .pb-xl-lap {
    padding-bottom: var(--xl);
  }
}
@media (min-width: 1200px) {
  .py-sm-desk {
    padding-block: var(--sm);
  }
  .pt-sm-desk {
    padding-top: var(--sm);
  }
  .pb-sm-desk {
    padding-bottom: var(--sm);
  }
  .py-md-desk {
    padding-block: var(--md);
  }
  .pt-md-desk {
    padding-top: var(--md);
  }
  .pb-md-desk {
    padding-bottom: var(--md);
  }
  .py-lg-desk {
    padding-block: var(--lg);
  }
  .pt-lg-desk {
    padding-top: var(--lg);
  }
  .pb-lg-desk {
    padding-bottom: var(--lg);
  }
  .py-xl-desk {
    padding-block: var(--xl);
  }
  .pt-xl-desk {
    padding-top: var(--xl);
  }
  .pb-xl-desk {
    padding-bottom: var(--xl);
  }
}
}
@layer kyle {
    
.sub-heading-row {
  display: flex; 
  align-items: center; 
  gap: 20px; 
}

.latest-news {
    
    font-size: 32px;
    line-height: 38px;
}

.see-all-news {
    
    font-size: 13px;
    line-height: 32px;
    text-decoration: underline;
    color: #ff9936;
}


.navbar {
  background: transparent;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
}

.navbar-brand {
    margin: 0;
}

.nav-button {
    padding: 4px;
}

.no-link {
    text-decoration: none;
    pointer-events: none;
    user-select: none;
    color: inherit;
}


@media screen and (min-width: 1080px) {
    .nav-item {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
}



.navbar-nav {
  justify-content: center;
  display: flex;
  justify-content: space-evenly;
  width: 100%;
}
.navbar-nav .nav-item, .navbar-link {
    padding: 0;
}



.nav ul,
.nav ul li {
  list-style: none;
  padding: 0;
  margin: 0;
}



.intro-section h1 {
    color:#fff;
    font-weight:900;
    font-size:clamp(40px, 1rem + 5cqi, 90px);
    text-align:left;
    text-wrap: balance;
}






.sub-heading-text {
    
    
    font-size: clamp(20px, 1rem + 1.5cqi, 40px);
    line-height: calc(50 / 40);
    text-align: left;
    margin-bottom: 0;
    color:white;
}


.description-text {
font-size: 18px;
line-height: 32px;
max-width: 550px;
padding: 0;
margin-top: 0;
color:white;
margin-top: -10px; 

}



.stat-container {
display: flex;
flex-wrap: wrap; 
gap: 20px;
z-index: 1; 
}


.stat {
font-size: 60px;
line-height:28px;
font-weight: bold;
text-align:center;
margin-top: 1rem; 
}



.stat .small-text {
color: white !important;
font-size: 16px;
line-height:21px;
font-weight: normal;
margin-top: 1rem; 
width: 140px;
text-align:center;
}





.content-section {
  background-color: white;
  color: black;
  padding: 20px 0;
}

.about-table-title {
    font-size: 32px;
    line-height: 38px;
    
}



.table-section {
  background: white;
  color: black;
  padding: 20px;
  border-radius: 10px;
}








.custom-table {
border-collapse: collapse;
background-color: #eef4f8 !important; 
z-index:-1;
border-top-left-radius: 40px;
border-bottom-left-radius: 40px;
box-shadow: -4px 0 8px rgba(0, 0, 0, 0.2);
}

.custom-table table {
    box-shadow: none;
}

.table-light.custom-table th,
.table-light.custom-table td {
color: #37639f; 
background-color: #eef4f8 !important; 
}

.custom-table th,
.custom-table td {

font-size: 16px;    
padding: 8px;
text-align: left;
border: none; 
}


.custom-table tbody tr + tr {
border-top: 1px solid #dee2e6; 
}


.custom-table tbody tr:first-child {
border-top: none !important;
}

.custom-table tbody tr:last-child {
border-bottom: none !important;
}


.custom-table tbody tr:first-child td:first-child {
border-top: none !important;
}

.percent {
  color: #2fb1ed;
}



.icon-text {
display: flex; 
align-items: flex-start; 
}

.custom-margin-right {
margin-right: 2rem; 
}

.text-overlay {
      padding: 20px;
  }
  
  .mt-custom {
    margin-top: 6rem; 
}

.image-left-text {
    font-size: 38px;
    
    background-color: #ff9936; 
    color: white; 
    padding: 10px; 
    flex: 0 0 40%; 
    display: flex; 
    justify-content: flex-end; 
    align-items: center; 
    text-align: right; 
    margin: 0;
}

.image-right-text {
    background-color: #f7f8fb;
    color: black;
    line-height: 28px;
    padding: 20px;
    flex: 0 0 60%; 
    margin: 0;
}

.rotate-image-text {
    color: #2fb1ed;
    font-style: italic;
    font-size:.8rem;
    line-height:calc(32 / 20);
    @media (min-width:768px){
        font-size:clamp(1rem, 1rem + 0.5vw, 20px);
    }
}

.rotate-image-author {
    color: #37639f !important;
    font-size: 14px !important;
    
    font-weight: 700 !important;
    @media (min-width:768px){
        font-size: 16px !important;
    }
}

.rotate-image-author-title {
    color: #37639f !important;
    font-size: 11px !important;
    
    font-weight: 700 !important;
    @media (min-width:768px){
        font-size: 13px !important;
    }
}

.table-footer {
    color: #36bfff !important;
}

.affiliations {
    font-weight: 600;
}

.custom-bg {
  background-color: #36bfff; 
  min-height:291px;
}

.bg-text {
    opacity: 0.5; 
    font-size: clamp(32px, 2rem + 6vw, 112px);
    line-height: calc(100 / 112);
    text-wrap: balance;
}

.table-header {
    
    font-weight: 700; 
    font-size: 2em; 
    color: #37639f;
}

.table-date {
    
    font-weight: 400; 
    font-size: 1.125em; 
    color: #37639f;
}

.left-column-text {
    font-size: 18px;
    line-height: 30px;
}

.right-column-text {
    font-size: 18px;
    line-height: 30px;
}

.carousel-item {
    height: clamp(600px, 100vh, 900px);
}



.blue-text {
    color: #36bfff; /* Purple for numbers */
}


.button-over-text-container {
  display: grid;
  place-items: center;
  position: relative;
}


.button-over-text-title {
  grid-area: 1 / 1; 
  z-index: 0; 
  pointer-events: none; 
  opacity: 0.5;
}


.button-over-text-button {
  grid-area: 1 / 1; 
  z-index: 1; 
}

.image-testimonial {
    grid-column: 1 / -1;
    grid-row: 1;
    height: clamp(600px, 100vh, 900px); 
    width: 100%; 
    position: relative;
    
    & .hero-picture{
        height:100%;
        width:100%;
        position:relative;
        display: block;
        z-index:1;
        background:#000;
        &::after {
            content: '';
            position: absolute;
            inset: 0;
            background-color: rgba(0,0,0,0.5);
        }
        & .industry-hero-img{
            width:100% !important;
            height:100% !important;
            object-fit:cover;
            object-position:center;
            position:relative;
        }
    }
}    

.quote {
    grid-column: 7 / 12; 
    grid-row: 4;
    position: relative; 
    padding: 20px;
    min-height: 475px;
    background-color: white; 
    z-index: 1; 
    
    &.align-left {
        grid-column: 2 / span 5;
    }
}
.quote-body{
    padding:1.75rem;
}

.quotation {
    
    position: absolute;
    top: -50px; 
    left: -20px; 
    font-size: 150px; 
    color: #36bfff; 
    z-index: 2; 
    @media (min-width:768px){
        top: -100px; 
        left: -40px; 
        font-size: 250px; 
    }
}

.grid-container-testimonial {
    display: grid;
    
    position: relative;
    height: clamp(700px, 100vh, 900px);
    width: 100%;
    gap: 10px;
    margin: auto;
    
    .content {
        grid-column: 1 / -1;
        grid-row: 1;
    }
}

.form-check-input {
    border-color: #dee2e6;
}

.form-check-label {
    font-size: 18px;
}


}
@layer craig {
    


.divider {
    height: 1px;
    background-color: white;
}



.contact-form {
    & select {
        background-color: white !important;
    }
}
.contact-services {
    & input[type="checkbox"]:checked {
        background-color: var(--bs-primary) !important;
        border-color: var(--bs-primary) !important;
    }
}
}
@layer connor {
    .cs-card-wrapper {
    container-name: csCard;
    container-type: inline-size;
    --bs-link-color-rgb: var(--bs-primary-rgb);
    
    &:is(article):hover {
        --bs-link-hover-color-rgb: 255,255,255;
        --bs-heading-color: currentcolor;
        .cs-card {
            background-color: var(--bs-primary);
            color: white;
        }
    }
}
.stats-swiper[data-use="news-swiper"] {
    overflow: visible;
}
.text-wrap-pretty {
    text-wrap: pretty;
}
.text-wrap-balance {
    text-wrap: balance;
}
main:has(.news-swiper) {
    overflow-x: hidden;
}
.text-bg-tertiary {
    color: white;
    background-color: var(--bs-tertiary);
    --bs-heading-color: white;
}
/** 
 * On safari the background color of the floating label overlaps with the border
 * This scooches the label to the right a little
 */
.form-floating>.form-control-plaintext~label, .form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label {
    transform: scale(0.85) translateY(-.5rem) translateX(.5rem);
}
.accordion-item {
    transition: all 0.25s ease;
    transition-property: background-color, color;
    --bs-accordion-active-color: white;
    --bs-accordion-active-bg: var(--bs-tertiary);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25)
}
.accordion-button {
    transition: all 0.25s ease;
    box-shadow: none;
}
.accordion-button:not(.collapsed) {
    font-weight: bolder;
}
.accordion-item:has(.accordion-button:not(.collapsed)) {
    --bs-accordion-color: white;
    --bs-accordion-bg: var(--bs-tertiary);
}

.accordion-button {
    font-weight: 600;
}
.accordion-body > * {
    font-size: 1.1em;
}
.footer-links li a {
    color: inherit !important;
    &:hover {
        color: var(--bs-primary) !important;
    }
}
.footer-table {
    --bs-table-bg: transparent !important;
    --bs-table-color: inherit !important;
}
.nav-light .navbar-nav {
    --bs-nav-link-font-weight: 600 !important;
    --bs-nav-link-font-size: 18px !important;
    @media (min-width: 1400px) {
        --bs-navbar-active-color: white !important;
        --bs-nav-link-hover-color: white !important;
    }
    
    .nav-link {
        transition: opacity 0.25s ease;
        
        &:hover,
        &:focus,
        &:is(.active) {
            opacity: 0.8;
        }
    }
}
*:has( + .testimonial-section),
.testimonial-section + * {
    position: relative;
    z-index: 10;
}
*:has( + .testimonial-section) {
    box-shadow: 0 20px 72px -50px var(--bs-dark);
}
.testimonial-section + * {
    box-shadow: 0 -20px 72px -50px var(--bs-dark);
}
.testimonial-section img {
    border-radius: 0;
}
.hstack-container {
    container-type: inline-size;
    .stat {
        container-type: inline-size;
    }
    & .stat-value {
        font-size: clamp(1.25rem, 1.25rem + 2.5cqi, 60px) !important;
    }
    & .small-text {
        width: 100%;
    }
}
.expanding-textarea::after {
    content: attr(data-replicated-value) " ";
    white-space: pre-wrap;
    visibility: hidden;
}
.form-floating {
    .form-control {
        background-color: white !important;
    }
    & label {
        /* Request from ryan to make the label text same as border color */
        color: rgb(193, 193, 193) !important;
        font-size: 1rem !important;
    }
    > .form-control-plaintext~label::after,
    > .form-control:focus~label::after,
    > .form-control:not(:placeholder-shown)~label::after,
    > .form-select~label::after {
        background-color: white !important;
    }
}
.form-range::-webkit-slider-runnable-track {
    height: 2px;
}
.form-range::-webkit-slider-thumb {
    background-color: white;
    border: 2px solid var(--bs-primary);
    margin-top: calc((0.5rem - 2px) * -1);
}
.cs-card {
    background-color: var(--bs-light);
    color: var(--bs-black);
    
    display: grid;
    gap: var(--bs-gutter-x);
    align-items: center;
    grid-template-areas: "img"
                         "content";
    
    .link-text { display: none; }
    .link-icon { color: rgba(var(--bs-link-color-rgb), 1); }
    
    /* 540px ~= Bootstrap sm breakpoint */
    @container csCard (min-width: 540px) {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "img content";
        align-content: stretch;
        
        &:not(:has(.cs-img)) {
            grid-template-columns: 1fr;
            grid-template-areas: "content"
        }
        
        .link-icon { display: none; }
        .link-text { display: initial; }
    }
    .cs-content { grid-area: content; }
    .cs-img { 
        grid-area: img;
        aspect-ratio: 1;
    }
    .card-title {
        font-size: clamp(1.25rem, 1rem + 1cqi, var(--fz-title-1));
        /* On safari, the title will overflow the container, this gets it to wrap properly */
        text-wrap: stable;
    }
}
.col-cs-card.cs-card{
    display:flex;
    flex-wrap:wrap;
    flex-direction: column;
}

.article-content ul li {
    display: grid;
    grid-template-columns: auto 1fr;
    &::before {
        margin-top: 0.5ch;
    }
}

.news-card {
    --bs-card-border-radius: 10px;
}

.case-studies-box{
    background-color: #257daa;
    border-radius: 10px;
    color:#fff;
}

.case-studies-box:hover{
    background-color:#62aee4 !important;
}

.case-studies-box-title{
    transition: color .15s ease-in-out;
    color:fff;
    font-weight: 600;
}

.case-studies-box-arrow{
    color:#fff;
}
}
@layer zoe {
    .dropdown-toggle::after{
    display:none;
}
.navbar{
    --bs-navbar-nav-link-padding-x: 1.25rem;
    font-family:var(--header-font);
    --bs-navbar-active-color: rgba(var(--bs-dark-rgb),.8);
    & .navbar-toggler{
        color:var(--bs-dark);
        border-color:var(--bs-dark);
        line-height:1;
        padding-top:9px;
        border-radius:4px;
    }
    &.nav-light{
        & .navbar-toggler{
            color:#fff;
            border-color:#fff;
        }
    }
}
.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: 400;
    --bs-nav-link-color: var(--bs-dark);
    --bs-nav-link-hover-color: rgba(var(--bs-dark-rgb),.8);
    --bs-nav-link-font-size: 15px;
    letter-spacing:0.025rem;
}
.dropdown-menu {
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: 0.5rem;
    --bs-dropdown-spacer: 0.125rem;
    --bs-dropdown-font-size: 15px;
    --bs-dropdown-color: var(--bs-heading-color);
    --bs-dropdown-bg: var(--bs-body-bg);
    --bs-dropdown-border-color: var(--bs-border-color);
    --bs-dropdown-border-radius: 0;
    --bs-dropdown-border-width: var(--bs-border-width);
    --bs-dropdown-box-shadow: none;
    --bs-dropdown-link-color: var(--bs-heading-color);
    --bs-dropdown-link-hover-color: #fff;
    --bs-dropdown-link-hover-bg: var(--bs-secondary);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: var(--bs-secondary);
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: 0.25rem;
}
.card.icon-card {
    --bs-card-spacer-y: .5rem;
    --bs-card-spacer-x: .75rem;
    --bs-card-title-color: var(--bs-dark);
    --bs-card-bg: #fdfdfd;
    --bs-card-color: var(--bs-body-color);
    --bs-card-border-color: #fdfdfd;
    box-shadow: -4px 0 8px rgba(0, 0, 0, 0.2);
    transition: all .15s ease-in-out;
    transition-property: background-color, border-color;
}

.card.new-icon-card {
    --bs-card-bg: #257daa;
    --bs-card-color: #fff;
    --bs-card-title-color: #fff;
    --bs-heading-color: #fff;
    --bs-card-border-radius: 10px;
    --bs-card-border-color: var(--bs-card-bg);
}
.card.icon-card.industry-card {
    --bs-card-bg: #257daa;
    --bs-card-color: #fff;
    --bs-card-title-color: #fff;
    --bs-heading-color: #fff;
    --bs-card-border-radius: 10px;
    --bs-card-border-color: var(--bs-card-bg);
}
.card.values-icon-card{
    --bs-card-border-radius: 10px;
    --bs-card-bg: var(--bs-primary);
    --bs-card-color: #fff;
    --bs-card-title-color: #fff;
    --bs-heading-color: #fff;
    --bs-card-border-color: var(--bs-card-bg);
}
.card.icon-card .card-title{
    color:var(--bs-card-title-color);
    transition: color .15s ease-in-out;
}

.icon-card .card-link{
    color:var(--bs-heading-color);
    font-size:43px;
    line-height:.25;
    display:inline-block;
    transition: color .15s ease-in-out;
}
.icon-card .card-text{
    transition: color .15s ease-in-out;
}
.card.icon-card:has(a:hover),
.card.icon-card:has(a:focus){
    --bs-card-title-color: #fff;
    --bs-card-bg: var(--bs-primary);
    --bs-card-color: var(--bs-light);
    --bs-card-border-color: var(--bs-primary);
}
.card.icon-card:has(a:hover) .card-link,
.card.icon-card:has(a:focus) .card-link{
    color:#fff;
}

.card.new-icon-card:has(a:hover),
.card.new-icon-card:has(a:focus) {
    --bs-card-bg: #2fb1ed;
    --bs-card-border-color: var(--bs-card-bg);
}
.bg-dark{
    color:#919191;
}
footer p{
    font-family:var(--header-font);
    font-size:14px;
    line-height:calc(28 / 14);
    letter-spacing:0.025rem;
}
.footer-table.table{
    --bs-table-color: #919191;
    --bs-table-bg: var(--bs-dark);
    margin-bottom:0;
}
.footer-table.table>:not(caption)>*>*{
    padding:0;
}
.footer-table.table a{
    text-decoration:none;
    color:var(--bs-table-color);
}
.footer-table.table a:hover,
.footer-table.table a:focus{
    color:var(--bs-primary);
}
.footer-table.table tr:not(:last-child) td{
    padding-bottom:10px;
}
.footer-table.table tr td{
    font-size:12px;
    line-height:calc(25 / 12);
    letter-spacing:0.025rem;
}
.footer-table.table tr td:first-child{
    padding-right:5px;
}
.social-link{
    color:#fff;
    font-size:12px;
    transition: color .15s ease-in-out;
}
.social-link:hover,
.social-link:focus{
    color:var(--bs-primary);
}
.footer-links li a{
    font-size:12px;
    line-height:calc(25 / 12);
    letter-spacing:0.025rem;
    color:#919191;
    transition: color .15s ease-in-out;
    text-decoration:none;
}
.footer-links li a:hover,
.footer-links li a:focus{
    color:var(--bs-primary);
    opacity:1;
}
.bg-dark hr{
    opacity:1;
    color:#666;
    margin: 2rem 0 1.5rem;
}
.copy-text{
    font-size:var(--fz-copy);
}
.copy-text a.legal-link{
    text-decoration:none;
    margin-left:7px;
}
.copy-text a:hover,
.copy-text a:focus{
    opacity:1;
    color:var(--bs-primary);
}
.hero-title{
    text-transform:uppercase;
}
.content{
    & :last-child{
        margin-bottom:0;
    }
}
.bg-secondary{
    & .hero-title{
        color:#fff;
    }
    & h2{
        color:#fff;
    }
    & h3{
        color:#fff;
    }
    & h4{
        color:#fff;
    }
    & p {
        color:#eef4f8;
    }
    & .industry-accordion{
        & .accordion-body{
            & p{
                color:#fff;
            }
            & ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination) {
                color:var(--bs-dark);
            }
        }
    }
    & .stat-label{
        color:#f0edf3;
    }
    & hr{
        opacity:1;
        color:rgb(237, 237, 237);
    }
    & ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination){
        color:#fff;
        &:not(.list-unstyled){
            & li::before{
                background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='rgb(255, 255, 255)'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z'/%3E%3C/svg%3E");
            }
        }
    }
}
.stat-count{
    container-type: inline-size;
    text-align:center;
    & .stat-value{
        font-size:min(40px, 5cqi + 1rem);
        margin-bottom: 0.25em;
        font-family: var(--header-font);
        line-height:1;
        @media (min-width: 768px) {
            font-size: min(60px, 5cqi + 1rem);
        }
    }
    & .stat-label{
        font-family: var(--header-font);
        font-size:17px;
        line-height:21px;
        
    }
    & hr{
        margin-bottom:30px;
        margin-top:25px;
    }
}
.news-content .stat-count .stat-value,
.news-content .stat-count .stat-label{
    color:#fff;
}
.about-hero-grid{
    grid-template-columns: 1fr;
    column-gap:30px;
    row-gap:30px;
    position:relative;
    overflow:hidden; 
    grid-template-rows: auto;
    display:grid;
    @media (min-width: 576px) {
        grid-template-columns: 1fr repeat(12, calc((540px / 12) - 30px)) 1fr;
    }
    @media (min-width: 768px) {
        grid-template-columns: 1fr repeat(12, calc((720px / 12) - 30px)) 1fr;
    }
    @media (min-width: 992px) {
        grid-template-columns: 1fr repeat(12, calc((960px / 12) - 30px)) 1fr;
        row-gap:0px;
        height:clamp(600px, 80vh, 800px);
        grid-template-rows: 2fr 1fr;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc((1140px / 12) - 30px)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc((1320px / 12) - 30px)) 1fr;
    }
    & .image{
        position:relative;
        z-index:2;
        grid-column: span 1;
        grid-row: span 1;
        @media (min-width: 576px) {
            grid-column: span 14;
        }
        @media (min-width: 992px) {
            grid-column: 6 / span 9;
            grid-row: 1 / span 2;
        }
        & img{
          width:100%;
          position:relative;
          border-radius:0;
          @media (min-width: 992px) {
                height:100%;
                object-fit:cover;
                border-top-left-radius:10px;
                border-bottom-left-radius:10px;
            }
        }
    }
    & .title{
        position:relative;
        z-index:3;
        grid-column: span 1;
        grid-row: span 1;
        align-self:end;
        @media (min-width: 576px) {
            grid-column: span 14;
        }
        @media (min-width: 768px) {
            grid-column: span 14;
        }
        @media (min-width: 992px) {
            grid-column: 2 / span 7;
            grid-row: 1 / span 1;
        }
    }
    & .text{
        position:relative;
        z-index:3;
        grid-column: span 1;
        grid-row: span 1;
        @media (min-width: 576px) {
            grid-column: span 14;
        }
        @media (min-width: 768px) {
            grid-column: span 14;
        }
        @media (min-width: 992px) {
            grid-column: 2 / span 4;
            grid-row: 2 / span 1;
        }
    }
}
.team-subtitle{
    text-transform:uppercase;
    font-size:16px;
    line-height:1.15;
    font-family: var(--header-font);
}
.team-tpl{
    @media (min-width: 768px){
        &:nth-child(2n+0){
            --sal-delay: .1s;
        }
    }
    @media (min-width: 992px){
        &:nth-child(3n+2){
            --sal-delay: .1s;
        }
        &:nth-child(3n+0){
            --sal-delay: .2s;
        }
    }
    .team-inner-tpl{
        transition: opacity .35s ease-in-out;
       &:has(a:hover){
            opacity:.5;
        }
        &:has(a:focus){
            opacity:.5;
        } 
    }
    
}
.modal{
    --bs-modal-border-radius: 10px;
    & .modal-header{
        background-color:var(--bs-tertiary);
        color:#fff;
        & h2{
            color:#fff;
        }
    }
    & .btn-close{
        --bs-btn-close-bg:;
        --bs-btn-close-color: #fff;
        --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(var(--bs-primary), 0.35);
        font-size:30px;
        width:auto;
        height:auto;
    }
    & .modal-body{
        :last-child{
            margin-bottom:0;
        }
    }
}

.underlay{
    z-index:1;
    position:relative;
}
.odd-img-grid{
    grid-template-columns: 1fr;
    column-gap:30px;
    row-gap:30px;
    position:relative;
    overflow:hidden; 
    grid-template-rows: auto;
    display:grid;
    @media (min-width: 576px) {
        grid-template-columns: 1fr repeat(12, calc((540px / 12) - 30px)) 1fr;
    }
    @media (min-width: 768px) {
        grid-template-columns: 1fr repeat(12, calc((720px / 12) - 30px)) 1fr;
    }
    @media (min-width: 992px) {
        grid-template-columns: 1fr repeat(12, calc((960px / 12) - 30px)) 1fr;
        row-gap:0px;
        height:clamp(600px, 80vh, 800px);
        grid-template-rows: var(--lg) 1fr var(--lg);
        z-index:2;
        margin-top:-30px;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc((1140px / 12) - 30px)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc((1320px / 12) - 30px)) 1fr;
    }
    & .image-left{
        position:relative;
        z-index:1;
        grid-column: span 1;
        grid-row: span 1;
        @media (min-width: 576px) {
            grid-column: span 14;
        }
        @media (min-width: 768px) {
            grid-column: span 14;
        }
        @media (min-width: 992px) {
            grid-column: 1 / span 6;
            grid-row: 1 / span 2;
        }
        & img{
          width:100%;
          position:relative;
          border-radius:0;
          @media (min-width: 992px) {
                height:100%;
                object-fit:cover;
                border-top-right-radius:10px;
                border-bottom-right-radius:10px;
            }
        }
    }
    & .image-right{
        position:relative;
        z-index:1;
        display:none;
        @media (min-width: 768px) {
            grid-column: span 14;
            grid-row: span 1;
            display:block;
        }
        @media (min-width: 992px) {
            grid-column: 7 / span 8;
            grid-row: 2 / span 2;
        }
        & img{
          width:100%;
          position:relative;
          border-radius:0;
          @media (min-width: 992px) {
                height:100%;
                object-fit:cover;
                border-top-left-radius:10px;
                border-bottom-left-radius:10px;
            }
        }
    }
}
.value-tpl{
    @media (min-width: 768px){
        &:nth-child(2n+0){
            --sal-delay: .1s;
        }
    }
    @media (min-width: 992px){
        &:nth-child(3n+2){
            --sal-delay: .1s;
        }
        &:nth-child(3n+0){
            --sal-delay: .2s;
        }
    }
}
.background-video-grid{
    /* Updated this so larger text wouldn't get cut off on the bottom, if this causes issues lemme know -cw */
    min-height:700px;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows: 1fr;
    overflow:hidden;
    position:relative;
    width:100%;
    &.opacity-bkg::before{
        content:'';
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        position:relative;
        z-index:2;
        display:block;
        width:100vw;
        background:rgba(0,0,0,.4);
    }
    &.big-bottom-pad{
        @media (min-width:992px){
            & .container{
                padding-bottom:var(--lg);
            }
            & .container-md{
                padding-bottom:var(--lg);
            }
            & .container-lg{
                padding-bottom:var(--lg);
            }
            & .container-xl{
                padding-bottom:var(--lg);
            }
            & .container-fluid{
                padding-bottom:var(--lg);
            }
        }
    }
    & .container{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .container-md{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .container-lg{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .container-xl{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .container-fluid{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .youtube-background{
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        height:100%;
        width:100%;
        position:relative;
        z-index:1;
        & video{
            width:100% !important;
            height:100% !important;
            object-fit:cover;
            object-position:center;
            position:relative;
        }
        @media (min-width: 768px) {
            height:clamp(500px, 100vh, 950px);
        }
    }
    @media (min-width:576px){
        min-height:600px;
    }
    @media (min-width: 768px) {
        height:clamp(500px, 100vh, 950px);
    }
    &.industry-parallax{
        background-color:var(--bs-tertiary);
        & .container{
            padding-top:var(--md);
            @media (min-width:992px){
                padding-top:0;
            }
        }
    }
}
.background-image-grid{
    height:600px;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows: 1fr;
    overflow:hidden;
    position:relative;
    width:100%;
    &.big-bottom-pad{
        @media (min-width:992px){
            & .container{
                padding-bottom:var(--lg);
            }
            & .container-md{
                padding-bottom:var(--lg);
            }
            & .container-lg{
                padding-bottom:var(--lg);
            }
            & .container-xl{
                padding-bottom:var(--lg);
            }
            & .container-fluid{
                padding-bottom:var(--lg);
            }
        }
    }
    & .container{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .container-md{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .container-lg{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .container-xl{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .container-fluid{
        position:relative;
        z-index:3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self:end;
        padding-bottom:var(--md);
    }
    & .hero-picture{
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        height:100%;
        width:100%;
        position:relative;
        z-index:1;
        top:0;
        background:#000;
        & .bg-image{
            width:100% !important;
            height:100% !important;
            object-fit:cover;
            object-position:center;
            position:relative;
            opacity:.6;
        }
        @media (min-width: 768px) {
            height:clamp(500px, 100vh, 950px);
        }
    }
    & hr{
        opacity:1;
        color:#ededed;
        margin-bottom:2.25rem;
    }
    & .stat-count{
        & .stat-value{
            color:#fff;
        }
        & .stat-label{
            color:#f0edf3;
            margin-bottom:0;
        }
    }
    &.cta{
        & .container-lg{
            align-self:center;
            @media (min-width:576px){
                padding-bottom:0;
            }
        }
        & .container-fluid{
            align-self:center;
            @media (min-width:576px){
                padding-bottom:0;
            }
        }
        & .bg-image{
            opacity:.5;
        }
    }
    &.parallax-section{
        overflow-y:hidden;
        & .hero-picture{
            position: fixed;
            z-index: -1;
            top: 0;
            height: 100%;
        }
        & .bg-image{
            opacity:1;
        }
    }
    @media (min-width:576px){
        height:500px;
    }
    @media (min-width: 768px) {
        height:clamp(500px, 100vh, 950px);
    }
    &.industry-parallax{
        height:auto;
        & .container{
            padding-top:var(--md);
        }
        @media (min-width:576px){
            height:auto;
        }
        @media (min-width: 768px) {
            height:clamp(500px, 100vh, 950px);
        }
    }
    &.industry-hero{
        height:auto;
        & .container-md{
          padding-top:var(--xl);  
        }
        @media (min-width:576px){
            height:auto;
        }
        @media (min-width: 768px) {
            height:clamp(500px, 100vh, 950px);
        }
        @media (min-width:1400px){
            --fz-display-title: 100px;
        }
        @media (min-width:1600px){
            --fz-display-title: 122px;
        }
    }
}
.bg-dark{
    --bs-heading-color: #fff;
    & .lead{
        color:#fff;
    }
}
.lead{
    font-size:21px;
    line-height:36px;
    letter-spacing:0.025em;
    font-weight:400;
}
ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination){
    color:var(--bs-dark);
    padding-left:0;
    list-style:none;
    &:not(.list-unstyled){
        & li::before{
            background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='rgb(0, 0, 5)'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z'/%3E%3C/svg%3E");
            content:'';
            background-repeat:no-repeat;
            background-size:100%;
            height:18px;
            width:18px;
            display:inline-block;
            margin-right:10px;
            margin-bottom:-3px;
            line-height:38px;
        }
    }
}
ol{
   color:var(--bs-dark); 
}
ol>li>p{
   margin-bottom:5px; 
}
.ul-col-two ul{
    @media (min-width: 768px){
        column-count:2;
    }
}
p a,
ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination) li a,
ol li a{
   font-style:italic;
   transform: color 0.3s ease-in-out;
}
p a:hover,
p a:focus,
ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination) li a:hover,
ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination) li a:focus,
ol li a:hover,
ol li a:focus{
    color:var(--bs-primary);
    opacity:1;
}
.accordion:not(.industry-accordion, .sba-accordion){
    --bs-accordion-border-width: 0;
    --bs-accordion-bg: var(--bs-light);
    --bs-accordion-border-radius: 10px;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
    --bs-accordion-active-bg: var(--bs-light);
    --bs-accordion-active-color: var(--bs-primary);
    --bs-accordion-body-padding-x: 0;
    --bs-accordion-btn-padding-x: 0;
    --bs-accordion-btn-color: var(--bs-dark);
    & .accordion-item:not(:last-child){
        margin-bottom:10px;
    }
    & .accordion-item{
        border-radius:10px;
        padding-left:0.75rem;
        padding-right:0.75rem;
        @media (min-width: 768px){
            padding-left:calc(720px / 12);
            padding-right:calc(720px / 12);
        }
        @media (min-width: 992px){
            padding-left:calc(960px / 12);
            padding-right:calc(960px / 12);
        }
        @media (min-width: 1200px){
            padding-left:calc(1140px / 12);
            padding-right:calc(1140px / 12);
        }
        @media (min-width: 1400px){
            padding-left:calc(1320px / 12);
            padding-right:calc(1320px / 12);
        }
    }
    & .accordion-button{
        border-radius:var(--bs-accordion-border-radius);
        justify-content: space-between;
        font-size:21px;
        line-height:28px;
        font-family:var(--header-font);
        padding-top:1.25rem;
        &::after{
            display:none;
        }
    }
    & .accordion-body{
        border-top:1px solid rgb(193, 193, 193);
        padding-bottom:0.5rem;
        & p + ul:not(.footer-links){
            margin-top:10px;
            @media (min-width: 768px){
                margin-top:var(--sm);
            }
        }
        & ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination){
            color:#fff;
            &:not(.list-unstyled){
                & li::before{
                    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='rgb(255, 255, 255)'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z'/%3E%3C/svg%3E");
                }
            }
        }
        & ol{
            color:#fff;
        }
    }
}
form{
    --bs-body-color:var(--bs-dark);
    --bs-body-bg: var(--bs-light);
    --bs-border-radius: 4px;
    & label{
        color:var(--bs-dark);
        font-size:21px;
        line-height:28px;
        margin-bottom:4px;
        & .error{
            font-size:18px;
            display:block;
        }
        &.form-check-label{
            font-size:18px;
            margin-bottom:0;
        }
        & svg{
            margin-right:6px;
        }
        &.disabled-label{
          color:var(--bs-body-color-hex);
        }
    }
    
    & .error{
        color:var(--bs-primary);
        font-family:var(--header-font);
    }
    & .form-control{
        --bs-border-color:rgb(193, 193, 193);
        background-clip: unset;
        background-color: var(--bs-light);
        color:var(--bs-dark);
        font-size:18px;
        line-height:40px;
        font-weight:400;
        &:read-only{
            background-color:var(--bs-border-color);
            color:var(--bs-body-color-hex);
        }
        &:focus{
            border-color: var(--bs-primary);
            box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb),.25);
        }
    }
    & .form-select{
        --bs-border-color:rgb(193, 193, 193);
        background-clip: unset;
        background-color: var(--bs-light);
        color:var(--bs-dark);
        font-size:18px;
        line-height:40px;
        font-weight:400;
        &:focus{
            border-color: var(--bs-primary);
            box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb),.25);
        }
    }
    & .form-check-input{
        --bs-form-check-bg: #fff;
        border-color:rgb(193, 193, 193);
        &:checked[type=radio] {
            --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ff9936'/%3e%3c/svg%3e");
        }
        &:focus{
            box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb),.25);
            border-color:var(--bs-primary);
        }
    }
    & .form-range{
        &::-webkit-slider-runnable-track{
            background-color: #c1c1c1;
        }
      &:focus::-webkit-slider-thumb {
            box-shadow: 0 0 0 1px #fff,0 0 0 .25rem rgba(var(--bs-primary-rgb),.25);
        }  
    }
    & .form-floating{
        & .form-select{
            line-height:1;
            font-size:18px;
            &:has(>option[value=""]:checked){
                color:rgb(193, 193, 193);
                &:focus{
                    color:var(--bs-dark);
                }
            }
        }
    }
}
.form-tooltip{
    border:none;
    background-color:transparent;
    color:var(--bs-secondary);
    &:hover{
        color:var(--bs-primary);
    }
    &:focus{
        color:var(--bs-primary);
    }
}
.custom-tooltip {
  --bs-tooltip-bg: var(--bs-dark);
  --bs-tooltip-color: var(--bs-white);
  & .tooltip-inner{
      font-size:16px;
      line-height:28px;
  }
}
.calc-label{
    text-transform:uppercase;
    margin-bottom:8px;
    & .form-tooltip{
        color:#fff;
        &:hover{
            color:var(--bs-primary);
        }
        &:focus{
            color:var(--bs-primary);
        }
    }
}
h2{
    & .form-tooltip{
        color:#fff;
    }
}
.calc-value{
    font-size:30px;
    line-height:34px;
    font-family:var(--header-font);
    background:var(--bs-secondary);
    border:none;
    color:#fff;
    text-align:center;
    margin-bottom:20px;
    &.display-4{
        font-size: var(--fz-display-4-title);
        line-height: 1;
        font-family: var(--header-font);
    }
    &:focus-visible {
        outline: none;
        box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb),.5);
    }
}
.news-swiper.swiper{
    --swiper-theme-color: var(--bs-primary);
    --swiper-pagination-bullet-inactive-color: #fff;
    --swiper-pagination-bullet-size: 12px;
    --swiper-pagination-bullet-inactive-opacity:1;
    --swiper-pagination-bottom:0;
    overflow:visible;
    & .swiper-slide{
        height: auto;
    }
    & .swiper-pagination{
        text-align:right;
    }
    & .swiper-pagination-bullet{
        border: 1px solid var(--swiper-theme-color);
    }
}
.stats-swiper.swiper{
    & .swiper-slide{
        height: auto;
    }
}
.mb-sm{
    margin-bottom:35px;
}
.sba-table-body{
    & .display-5{
        color:var(--bs-secondary);
    }
    & .table-label{
        font-family: var(--header-font);
        text-transform:uppercase;
        font-size:16px;
        line-height:21px;
        font-weight:600;
        color:var(--bs-dark);
        margin-top:6px;
    }
    & .table{
        
    }
}
.disclaimer{
    color:var(--bs-secondary);
    font-size:16px;
    line-height:28px;
    padding:0 .75rem;
}
.accordion.sba-accordion{
    --bs-accordion-btn-padding-y: 1.389rem;
    --bs-accordion-border-width: 1px;
    --bs-accordion-bg: #fff;
    --bs-accordion-border-radius: 0px;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-secondary-rgb), 0.25);
    --bs-accordion-active-bg: var(--bs-tertiary);
    --bs-accordion-active-color: #fff;
    --bs-accordion-btn-color: #37639f;
    --bs-accordion-btn-bg: #eef4f8;
    --bs-accordion-body-padding-x: 0;
    --bs-accordion-body-padding-y: 0;
    --bs-accordion-border-color: #d4d4d4;
    border-top:1px solid var(--bs-accordion-border-color);
    border-bottom:1px solid var(--bs-accordion-border-color);
    & .accordion-item:nth-child(2n+0){
        --bs-accordion-btn-bg: var(--bs-light);
    }
    & .accordion-button{
        border-radius:0;
        font-size:21px;
        line-height:28px;
        font-family:var(--header-font);
        column-gap:1rem;
        font-weight:600;
        &::after{
            display:none;
        }
        & span{
            font-weight:400;
        }
    }
    & .table{
        --bs-table-color: var(--bs-body-color-hex);
        --bs-table-border-color: #d4d4d4;
        font-size:21px;
        line-height:28px;
        font-family:var(--header-font);
        & tr{
            &:last-child{
                & td{
                    border-bottom:none;
                }
            }
        }
    }
}
.accordion.sba-accordion .table>:not(caption)>*>*{
    padding: 1.389rem .75rem;
}
.compare-block{
    background-color:var(--bs-secondary);
    border-radius:10px;
    padding:1.5rem;
    & h2{
        color:#fff;
        text-align:center;
    }
    & ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination) {
        color:#fff;
        & li::before{
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='rgb(255, 255, 255)'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z'/%3E%3C/svg%3E");
        }
    }
    & p {
        color:#fff;
    }
}
.bg-tertiary{
    background-color:var(--bs-tertiary);
}
.bg-parallax{
    background-color:rgba(var(--bs-secondary-rgb), .6);
    & h2{
        color:#fff;
    }
    & p {
        color:#eef4f8;
    }
    & hr{
        opacity:1;
        color:rgb(237, 237, 237);
    }
    & ul:not(.dropdown-menu, .navbar-nav, .footer-links, .pagination){
        color:#fff;
        &:not(.list-unstyled){
            & li::before{
                background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='rgb(255, 255, 255)'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z'/%3E%3C/svg%3E");
            }
        }
    }
}
.side-video-bkg{
    position:relative;
    min-height:400px;
    & .youtube-background{
        border-radius:10px;
        video {
            display: none;
            @media (min-width: 1200px) {
                display: block;
            }
        }
        @media (min-width:1200px){
            /* aspect-ratio: 9 / 16; */
            width:auto!important;
            margin:0 auto;
        }
    }
}
.pagination{
    --bs-pagination-padding-y: 0.75rem;
    --bs-pagination-color: var(--bs-dark);
    --bs-pagination-hover-color: #fff;
    --bs-pagination-hover-bg: var(--bs-tertiary);
    --bs-pagination-hover-border-color: var(--bs-tertiary);
    --bs-pagination-focus-color: var(--bs-dark);
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
    --bs-pagination-disabled-color: rgba(var(--bs-dark-rgb), .5);
    --bs-pagination-disabled-bg: var(--bs-light);
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-secondary-rgb), 0.25);
    gap:1rem;
    & .page-link{
        line-height:1;
    }
}
@media (min-width:576px){
    .footer-links.two-col-list{
        column-count:2;
        gap:1.5rem;
    }
}
@media (min-width:992px){
    .col-two{
        column-count:2;
        gap:1.5rem;
    }
}
@media (min-width:1400px){
    .nav-light .navbar-nav {
        --bs-nav-link-color: #fff;
        --bs-nav-link-hover-color: var(--bs-primary);
    }
}
}