:root {
    --bs-body-line-height: 1.5;

    --bs-body-color: var(--text);
    --bs-body-color-rgb: 80,111,149;

    --bs-link-color: var(--primary-blue);
    --bs-link-color-rgb: 0,48,107;
    --bs-link-hover-color: var(--primary-blue);
    --bs-link-hover-color-rgb: 0,48,107;

    --bs-primary: var(--primary-blue);
    --bs-primary-rgb: 0,48,107;

    --bs-secondary: var(--secondary-blue);
    --bs-secondary-rgb: 110,213,247;

    --bs-dark: var(--primary-blue);
    --bs-dark-rgb: 0,48,107;

    --bs-box-shadow-sm: 0 .275rem .75rem -.0625rem rgba(11,15,25,.06),0 .125rem .4rem -.0625rem rgba(11,15,25,.03);

    --bs-border-radius: .75rem;
    --bs-border-color-translucent: rgba(0, 48, 107, 0.1);

    --bs-secondary-text-emphasis: var(--secondary-blue);
    --bs-secondary-border-subtle: var(--secondary-blue);
    --secondary-blue-20: color-mix(in srgb, var(--secondary-blue) 20%, transparent);
    --secondary-blue-30: color-mix(in srgb, var(--secondary-blue) 30%, transparent);
    --bs-secondary-bg-subtle: var(--secondary-blue-20);
    --bs-secondary-bg-subtle-hover: var(--secondary-blue-30);

    --bs-info: #22d3ee;
    --bs-info-rgb: 34,211,238;
    --bs-info-text-emphasis: #22d3ee;
    --bs-info-border-subtle: #22d3ee;
    --info-20: color-mix(in srgb, #22d3ee 20%, transparent);
    --info-30: color-mix(in srgb, #22d3ee 30%, transparent);
    --bs-info-bg-subtle: var(--info-20);
    --bs-info-bg-subtle-hover: var(--info-30);

    --bs-success: #10b981;
    --bs-success-rgb: 16,185,129;
    --bs-success-text-emphasis: #10b981;
    --bs-success-border-subtle: #10b981;
    --success-20: color-mix(in srgb, #10b981 20%, transparent);
    --success-30: color-mix(in srgb, #10b981 30%, transparent);
    --bs-success-bg-subtle: var(--success-20);
    --bs-success-bg-subtle-hover: var(--success-30);
}

header {
    --bs-link-color: var(--bs-white);
}
header[data-theme="solid"],
header.sticky,
header:has(.dropdown-toggle.show) {
    --bs-link-color: var(--primary-blue);
}

.btn {
    --bs-btn-padding-x: 1.75rem;
    --bs-btn-padding-y: 0.625rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-font-weight: 600;
    --bs-btn-line-height: 1.6;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .3s;
    --bs-btn-hover-transform: translateY(-.25rem);
}
.btn:not(.btn-link):hover {
    transform: var(--bs-btn-hover-transform);
}
.btn:has(svg) {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
}
.btn > svg {
    width: 1rem;
    height: 1rem;
    object-fit: contain;
}
.btn.btn-lg > svg {
    width: 1.25rem;
    height: 1.25rem;
    object-fit: contain;
}
.btn > svg,
.btn > svg > * {
    /* fill: currentColor; */
    transition: all .15s ease-in-out;
}
.btn.btn-round {
    border-radius: 1.5rem;
}

.btn-group-lg > .btn, .btn-lg {
    --bs-btn-padding-y: 1.075rem;
    --bs-btn-padding-x: 2.875rem;
    --bs-btn-font-size: 1.125rem;
    --bs-btn-line-height: 1.75rem;
    --bs-btn-border-radius: var(--bs-border-radius);
}
.btn-group-sm > .btn, .btn-sm {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-line-height: 1.25rem;
    --bs-btn-border-radius: calc(var(--bs-border-radius) - 2px);
}
.btn-group-xs > .btn, .btn-xs {
    --bs-btn-padding-y: 0.475rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 0.75rem;
    --bs-btn-line-height: 1rem;
    --bs-btn-border-radius: calc(var(--bs-border-radius) - 2px);
    --bs-btn-hover-transform: translateY(-.125rem);
}

.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
    --bs-btn-hover-bg: var(--bs-link-hover-color);
    --bs-btn-active-bg: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: var(--bs-link-hover-color);
    --bs-btn-active-border-color: var(--bs-link-hover-color);
    --bs-btn-disabled-color: #fff;
}
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: var(--bs-link-hover-color);
    --bs-btn-focus-shadow-rgb: 13,110,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-link-hover-color);
    --bs-btn-active-border-color: var(--bs-link-hover-color);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--bs-primary);
    --bs-gradient: none;
}

.btn-secondary {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--accent-green);
    --bs-btn-border-color: var(--accent-green);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #73a026;
    --bs-btn-hover-border-color: #73a026;
    --bs-btn-focus-shadow-rgb: 13,110,253;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #73a026;
    --bs-btn-active-border-color: #73a026;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-white);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #73a026;
    --bs-gradient: none;
    --bs-shadow-color: color-mix(in srgb, var(--accent-green) 25%, transparent);
    --bs-btn-box-shadow: 0 10px 15px -3px var(--bs-shadow-color), 0 4px 6px -4px var(--bs-shadow-color);
}
.btn-secondary:focus,
.btn-secondary:hover {
    box-shadow: var(--bs-btn-box-shadow);
}

.btn-light {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-bg: var(--bs-light);
    --bs-btn-border-color: var(--bs-light);
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-bg: #f2f4f7;
    --bs-btn-hover-border-color: #f2f4f7;
    --bs-btn-focus-shadow-rgb: 13,110,253;
    --bs-btn-active-color: var(--bs-primary);
    --bs-btn-active-bg: #f2f4f7;
    --bs-btn-active-border-color: #f2f4f7;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #f2f4f7;
    --bs-gradient: none;
}
.btn-outline-light {
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-bg: rgba(255,255,255,.1);
}

.btn-tertiary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-bg: var(--secondary-blue);
    --bs-btn-border-color: var(--secondary-blue);
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-bg: #58b3db;
    --bs-btn-hover-border-color: #58b3db;
    --bs-btn-focus-shadow-rgb: 13,110,253;
    --bs-btn-active-color: var(--bs-primary);
    --bs-btn-active-bg: #58b3db;
    --bs-btn-active-border-color: #58b3db;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #58b3db;
    --bs-gradient: none;
}

header .btn-secondary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-active-color: var(--bs-primary);
    --bs-btn-disabled-color: var(--bs-primary);
}
header .btn-outline {
    --bs-btn-color: var(--bs-white);
    --bs-btn-border-color: var(--bs-white);
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-white);
}
header[data-theme="solid"] .btn-outline,
header.sticky .btn-outline,
header:has(.dropdown-toggle.show) .btn-outline {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-primary);
}

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0;
    --bs-navbar-color: var(--bs-white);
    --bs-navbar-hover-color: var(--accent-green);
    --bs-navbar-disabled-color: #9397ad;
    /* --bs-navbar-active-color: var(--accent-green); */
    --bs-navbar-active-color: var(--bs-white);
    --bs-navbar-brand-padding-y: 0.5rem;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-brand-font-size: 1.375rem;
    --bs-navbar-brand-color: #0b0f19;
    --bs-navbar-brand-hover-color: #0b0f19;
    --bs-navbar-nav-link-padding-x: 1rem;
    --bs-navbar-toggler-padding-y: 0.625rem;
    --bs-navbar-toggler-padding-x: 0.25rem;
    --bs-navbar-toggler-font-size: 1.125rem;
    --bs-navbar-toggler-icon-bg: initial;
    --bs-navbar-toggler-border-color: transparent;
    --bs-navbar-toggler-border-radius: 0;
    --bs-navbar-toggler-focus-width: 0;
    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
}
header[data-theme="solid"] .navbar,
header.sticky .navbar,
header:has(.dropdown-toggle.show) .navbar {
    --bs-navbar-color: var(--bs-primary);
    --bs-navbar-active-color: var(--bs-primary);
}
.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: .5rem;
    --bs-nav-link-color: var(--bs-navbar-color);
    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
    --bs-nav-link-font-weight: 500;
    --bs-nav-link-font-size: 1rem;
}
header .navbar .dropdown-menu {
    --bs-dropdown-spacer: 0;
    --bs-dropdown-border-width: 0;
    --bs-dropdown-border-radius: 0;
    /* --bs-dropdown-bg: var(--bs-secondary); */
    --bs-dropdown-padding-y: 2rem;
}
header .navbar .dropdown-menu:has(.dropdown-menu.depth_1),
header .navbar .dropdown-menu.dropdown-menu.depth_1 {
    --bs-dropdown-padding-y: 1rem;
}
.dropdown-menu {
    --bs-dropdown-link-hover-bg: #ffffff1a;
    --bs-dropdown-link-active-bg: var(--bs-secondary);
}

.accordion {
    --bs-accordion-color: var(--bs-body-color);
    --bs-accordion-btn-font-weight: 600;
    --bs-accordion-btn-color: var(--bs-heading-color);
    --bs-accordion-btn-icon-box-size: 2.25rem;
    --bs-accordion-btn-icon-box-border-radius: 50%;
    --bs-accordion-btn-icon-box-bg: #f3f6ff;
    --bs-accordion-btn-icon-box-active-bg: var(--bs-primary);
    --bs-accordion-btn-icon-box-active-shadow: 0 -0.5rem 1.125rem -0.5rem rgba(99,102,241,.9);
    --bs-accordion-bg: var(--bs-body-bg);
    --bs-accordion-transition: color 0.2s ease-in-out,background-color 0.2s ease-in-out,border-color 0.2s ease-in-out,box-shadow 0.2s ease-in-out,border-radius 0.15s ease;
    --bs-accordion-border-color: var(--bs-border-color);
    --bs-accordion-border-width: var(--bs-border-width);
    --bs-accordion-border-radius: 0.5rem;
    --bs-accordion-inner-border-radius: calc(0.5rem - var(--bs-border-width));
    --bs-accordion-btn-padding-x: 1.5rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-bg: var(--bs-accordion-bg);
    --bs-accordion-btn-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2333354d' viewBox='0 0 256 256'%3E%3Cpath d='M225.813 48.907 128 146.72 30.187 48.907 0 79.093l128 128 128-128z'/%3E%3C/svg%3E");
    --bs-accordion-btn-icon-width: 0.625rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
    --bs-accordion-btn-active-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 256 256'%3E%3Cpath d='M225.813 48.907 128 146.72 30.187 48.907 0 79.093l128 128 128-128z'/%3E%3C/svg%3E");
    --bs-accordion-btn-focus-box-shadow: unset;
    --bs-accordion-body-padding-x: 1.5rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: var(--bs-heading-color);
    --bs-accordion-active-bg: var(--bs-body-bg);
}

.breadcrumb {
    --bs-breadcrumb-divider-color: #fff9;
    --bs-breadcrumb-item-active-color: var(--bs-white);
    --bs-breadcrumb-margin-bottom: 1.5rem;
}
.breadcrumb-link {
    color: #fff9;
}
.breadcrumb-link:focus,
.breadcrumb-link:hover {
    color: var(--bs-white);
}