:root,
[data-bs-theme=light] {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-dark-rgb: 33, 37, 41;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #d1e7dd;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;
    --bs-secondary-border-subtle: #c4c8cb;
    --bs-success-border-subtle: #a3cfbb;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #e9ecef;
    --bs-dark-border-subtle: #adb5bd;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1.2rem;
    --bs-nav-link-font-size: 1.3rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-secondary-color-rgb: 33, 37, 41;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-tertiary-color: rgba(33, 37, 41, 0.5);
    --bs-tertiary-color-rgb: 33, 37, 41;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --bs-heading-color: inherit;
    --bs-link-color: #0d6efd;
    --bs-link-color-rgb: 13, 110, 253;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #0a58ca;
    --bs-link-hover-color-rgb: 10, 88, 202;
    --bs-code-color: #d63384;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
    --bs-form-valid-color: #198754;
    --bs-form-valid-border-color: #198754;
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545
}

:root {
    --bs-original-primary-unused: #8B7355;
    --bs-primary: #74604a;
    --bs-primary-rgb: 116, 96, 74;
    --bs-primary-text-emphasis: #5A4A3A;
    --bs-primary-bg-subtle: #f5f3f0;
    --bs-primary-border-subtle: #D4C4B0;
    --bs-light-rgb: 245, 243, 240;
}

:root {
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-sm: 576px;
    --bs-breakpoint-md: 768px;
    --bs-breakpoint-lg: 992px;
    --bs-breakpoint-xl: 1200px;
    --bs-breakpoint-xxl: 1400px
}

html {
  font-size: 14px;
}

*,
::after,
::before {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

img,
svg {
    vertical-align: middle
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto
}

.collapsing {
    height: 0;
    overflow: hidden;
    transition: height .35s ease
}

.dropdown-item{
    font-size: var(--bs-nav-link-font-size);
    color: var(--bs-nav-link-color);
}
.dropdown-item:hover, .dropdown-item:focus {
    background-color: transparent;
}
.dropdown-menu{
    border: none;
    top: 60px;
    border-radius: 0;
}

.nav-link{
    text-transform: small-caps;
}

.dropdown-item {
    text-transform: small-caps;
}

.nav-link {
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    color: var(--bs-nav-link-color);
    text-decoration: none;
    background: 0 0;
    border: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out
}

.nav-link:focus,
.nav-link:hover {
    color: var(--bs-nav-link-hover-color)
}

.nav-link:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.nav-link.disabled,
.nav-link:disabled {
    color: var(--bs-nav-link-disabled-color);
    pointer-events: none;
    cursor: default
}

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0.5rem;
    --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
    --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
    --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
    --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-brand-padding-y: 0.3125rem;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-brand-font-size: 1.25rem;
    --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-nav-link-padding-x: 0.5rem;
    --bs-navbar-toggler-padding-y: 0.25rem;
    --bs-navbar-toggler-padding-x: 0.75rem;
    --bs-navbar-toggler-font-size: 1.25rem;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833,37,41,0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
    --bs-navbar-toggler-border-radius: var(--bs-border-radius);
    --bs-navbar-toggler-focus-width: 0.25rem;
    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)
}

.navbar>.container,
.navbar>.container-fluid,
.navbar>.container-lg,
.navbar>.container-md,
.navbar>.container-sm,
.navbar>.container-xl,
.navbar>.container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between
}

.navbar-brand {
    padding-top: var(--bs-navbar-brand-padding-y);
    padding-bottom: var(--bs-navbar-brand-padding-y);
    margin-right: var(--bs-navbar-brand-margin-end);
    font-size: var(--bs-navbar-brand-font-size);
    color: var(--bs-navbar-brand-color);
    text-decoration: none;
    white-space: nowrap
}

.navbar-brand:focus,
.navbar-brand:hover {
    color: var(--bs-navbar-brand-hover-color)
}

.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --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);
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: var(--bs-navbar-active-color)
}

.navbar-nav .dropdown-menu {
    position: static
}

.navbar-text {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: var(--bs-navbar-color)
}

.navbar-text a,
.navbar-text a:focus,
.navbar-text a:hover {
    color: var(--bs-navbar-active-color)
}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center
}

.navbar-toggler {
    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
    font-size: var(--bs-navbar-toggler-font-size);
    line-height: 1;
    color: var(--bs-navbar-color);
    background-color: transparent;
    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
    border-radius: var(--bs-navbar-toggler-border-radius);
    transition: var(--bs-navbar-toggler-transition)
}

.navbar-toggler:hover {
    text-decoration: none
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width)
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-image: var(--bs-navbar-toggler-icon-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 75vh);
    overflow-y: auto
}

@media (min-width:576px) {
    .navbar-expand-sm {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-sm .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-sm .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-sm .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-sm .navbar-toggler {
        display: none
    }

    .navbar-expand-sm .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-sm .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-sm .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:768px) {
    .navbar-expand-md {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-md .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-md .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-md .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-md .navbar-toggler {
        display: none
    }

    .navbar-expand-md .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-md .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-md .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:992px) {
    .navbar-expand-lg {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-lg .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-lg .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-lg .navbar-toggler {
        display: none
    }

    .navbar-expand-lg .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-lg .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-lg .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:1200px) {
    .navbar-expand-xl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-xl .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-xl .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-xl .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-xl .navbar-toggler {
        display: none
    }

    .navbar-expand-xl .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-xl .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-xl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:1400px) {
    .navbar-expand-xxl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-xxl .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-xxl .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-xxl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-xxl .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-xxl .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-xxl .navbar-toggler {
        display: none
    }

    .navbar-expand-xxl .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-xxl .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-xxl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

.navbar-expand {
    flex-wrap: nowrap;
    justify-content: flex-start
}

.navbar-expand .navbar-nav {
    flex-direction: row
}

.navbar-expand .navbar-nav .dropdown-menu {
    position: absolute
}

.navbar-expand .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x)
}

.navbar-expand .navbar-nav-scroll {
    overflow: visible
}

.navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto
}

.navbar-expand .navbar-toggler {
    display: none
}

.navbar-expand .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none
}

.navbar-expand .offcanvas .offcanvas-header {
    display: none
}

.navbar-expand .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
    --bs-navbar-color: rgba(255, 255, 255, 0.55);
    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
    --bs-navbar-active-color: #fff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

.sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020
}

.d-flex {
    display: flex !important
}

.min-vh-100 {
    min-height: 100vh !important
}

.flex-column {
    flex-direction: column !important
}

.mb-1 {
    margin-bottom: .25rem !important
}

.ms-1 {
    margin-left: .25rem !important
}

.ms-auto {
    margin-left: auto !important
}

.p-3 {
    padding: 1rem !important
}

.gap-2 {
    gap: .5rem !important
}

.bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important
}

.fas,
.fab,
.fa-solid,
.fa-brands {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}

.fas::before,
.fab::before,
.fa-solid::before,
.fa-brands::before {
    content: var(--fa);
}

.fas,
.fa-solid {
    font-family: 'Font Awesome 6 Free';
}

.fa-brands,
.fab {
    font-family: 'Font Awesome 6 Brands';
}

.fa-2x {
    font-size: 2em;
}

.fa-4x {
    font-size: 4em;
}

@keyframes fa-beat {

    0%,
    90% {
        transform: scale(1);
    }

    45% {
        transform: scale(var(--fa-beat-scale, 1.25));
    }
}

@keyframes fa-bounce {
    0% {
        transform: scale(1, 1) translateY(0);
    }

    10% {
        transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
    }

    30% {
        transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
    }

    50% {
        transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
    }

    57% {
        transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
    }

    64% {
        transform: scale(1, 1) translateY(0);
    }

    100% {
        transform: scale(1, 1) translateY(0);
    }
}

@keyframes fa-fade {
    50% {
        opacity: var(--fa-fade-opacity, 0.4);
    }
}

@keyframes fa-beat-fade {

    0%,
    100% {
        opacity: var(--fa-beat-fade-opacity, 0.4);
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(var(--fa-beat-fade-scale, 1.125));
    }
}

@keyframes fa-flip {
    50% {
        transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
    }
}

@keyframes fa-shake {
    0% {
        transform: rotate(-15deg);
    }

    4% {
        transform: rotate(15deg);
    }

    8%,
    24% {
        transform: rotate(-18deg);
    }

    12%,
    28% {
        transform: rotate(18deg);
    }

    16% {
        transform: rotate(-22deg);
    }

    20% {
        transform: rotate(22deg);
    }

    32% {
        transform: rotate(-12deg);
    }

    36% {
        transform: rotate(12deg);
    }

    40%,
    100% {
        transform: rotate(0deg);
    }
}

@keyframes fa-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.fa-cloud {
    --fa: "\f0c2";
}

.fa-bars {
    --fa: "\f0c9";
}

.fa-lock {
    --fa: "\f023";
}

.fa-edit {
    --fa: "\f044";
}

.fa-sign-in-alt {
    --fa: "\f2f6";
}

.fa-check-circle {
    --fa: "\f058";
}

.fa-certificate {
    --fa: "\f0a3";
}

.fa-palette {
    --fa: "\f53f";
}

.fa-newspaper {
    --fa: "\f1ea";
}

.fa-sort {
    --fa: "\f0dc";
}

.fa-heart {
    --fa: "\f004";
}

.fa-tags {
    --fa: "\f02c";
}

.fa-save {
    --fa: "\f0c7";
}

.fa-phone {
    --fa: "\f095";
}

.fa-trash {
    --fa: "\f1f8";
}

.fa-quote-right {
    --fa: "\f10e";
}

.fa-arrow-left {
    --fa: "\f060";
}

.fa-envelope {
    --fa: "\f0e0";
}

.fa-info-circle {
    --fa: "\f05a";
}

.fa-camera {
    --fa: "\f030";
}

.fa-clock {
    --fa: "\f017";
}

.fa-images {
    --fa: "\f302";
}

.fa-download {
    --fa: "\f019";
}

.fa-home {
    --fa: "\f015";
}

.fa-upload {
    --fa: "\f093";
}

.fa-map-marker-alt {
    --fa: "\f3c5";
}

.fa-tachometer-alt {
    --fa: "\f625";
}

.fa-user-shield {
    --fa: "\f505";
}

.fa-quote-left {
    --fa: "\f10d";
}

.fa-check {
    --fa: "\f00c";
}

.fa-triangle-exclamation {
    --fa: "\f071";
}

.fa-exclamation-triangle {
    --fa: "\f071";
}

:root {
    --fa-style-family-brands: 'Font Awesome 6 Brands';
    --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
}

@font-face {
    font-family: 'Font Awesome 6 Brands';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../webfonts/fa-brands-400.woff2") format("woff2");
}

.fab,
.fa-brands {
    font-weight: 400;
}

.fa-facebook-messenger {
    --fa: "\f39f";
}

.fa-usb {
    --fa: "\f287";
}

:root {
    --fa-style-family-classic: 'Font Awesome 6 Free';
    --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free';
}

:root {
    --fa-style-family-classic: 'Font Awesome 6 Free';
    --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free';
}

@font-face {
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("../webfonts/fa-solid-900.woff2") format("woff2");
}

.fas,
.fa-solid {
    font-weight: 900;
}

@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-display: swap;
    font-weight: 400;
    src: url("../webfonts/fa-brands-400.woff2") format("woff2");
}

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-display: swap;
    font-weight: 900;
    src: url("../webfonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
    font-family: 'FontAwesome';
    font-display: swap;
    src: url("../webfonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
    font-family: 'FontAwesome';
    font-display: swap;
    src: url("../webfonts/fa-brands-400.woff2") format("woff2");
}

html {
    font-size: 14px
}

@media(min-width:768px) {
    html {
        font-size: 16px
    }
}

html {
    position: relative;
    min-height: 100%
}

body {
    margin-bottom: 60px;
    font-family: 'Times New Roman', serif
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6 {
    font-family: 'Times New Roman', serif
}

img {
    height: auto
}
.link-primary {
    text-decoration: underline;
    color: var(--bs-primary);
}

.navbar-toggler {
    border: none;
    color: rgba(var(--bs-primary-rgb), 0.9)
}

.navbar-brand {
    letter-spacing: .2px
}

.hero,
.hero-contact,
.hero-blog,
.hero-portfolio,
.hero-pricing {
    position: relative;
    width: 100%;
    min-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    overflow: hidden
}

.hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.hero .hero-bg img,
.hero-contact .hero-bg img,
.hero-pricing .hero-bg img {
    object-position: top
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    padding: 2rem
}

.hero-content h1 {
    text-shadow: 0 2px 6px rgba(0, 0, 0, .7)
}

.hero-content .lead {
    text-shadow: 0 1px 4px rgba(0, 0, 0, .8);
    font-size: 1.35rem
}
  .link-primary {
    text-decoration: underline;
    color: var(--bs-primary);
  }

/* Site styles */


.overlap{
  position: relative;
  top: -40px;
  margin-top: 0px;
  margin-left: 10px;
  margin-right:10px;
  margin-bottom: -40px;
}

header {
  background: white !important;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #8B7355;
}

html {
  position: relative;
  min-height: 100%;
}

.fix {
  position: absolute;
  z-index: -1;
}

body {
  margin-bottom: 60px;
  font-family: 'Times New Roman', serif;

  /* font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; */
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6 {
  font-family: 'Times New Roman', serif;
}

.form-floating>.form-control-plaintext::placeholder,
.form-floating>.form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating>.form-control-plaintext:focus::placeholder,
.form-floating>.form-control:focus::placeholder {
  text-align: start;
}

img {
  height: auto;
}

.btn {
  border-radius: 0.75rem;
}

.rounded-4 {
  border-radius: 1rem !important;
}

.navbar-brand {
  letter-spacing: .2px;
}



.hero,
.hero-contact,
.hero-blog,
.hero-portfolio,
.hero-pricing {
  position: relative;
  width: 100%;
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  overflow: hidden;
}

/* Hero background image — absolutely fills the hero, content sits above */
.hero-bg {
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Per-hero focal point */
.hero .hero-bg img,
.hero-contact .hero-bg img,
.hero-pricing .hero-bg img {
  object-position: top;
}



.hero-content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  padding: 2rem;
}

.hero-content h1 {
  text-shadow: 0 2px 6px rgba(0, 0, 0, .7);
}

.hero-content .lead {
  text-shadow: 0 1px 4px rgba(0, 0, 0, .8);
  font-size: 1.35rem;
}

.portfolio-teaser-img {
  height: 200px;
  object-fit: cover;
  object-position: center;
}

.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary-border-subtle);
}

.btn-primary:hover {
  background-color: var(--bs-primary-text-emphasis);
  border-color: var(--bs-primary-text-emphasis);
}

.btn-primary:focus,
.btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(139, 115, 85, 0.5);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active {
  background-color: var(--bs-primary-bg-subtle);
  border-color: var(--bs-primary-border-subtle);
}


.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
    color: var(--bs-primary);
    pointer-events: none;
    background-color: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary-border-subtle);
    opacity: var(--bs-btn-disabled-opacity)
}

/* Outline primary uses taupe */
.btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
  background-color: var(--bs-primary-bg-subtle);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.btn-outline-primary.active,
.show>.btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  text-decoration: none;
}

.btn-outline-primary:focus {
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

/* Keep disabled styles unchanged */
.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
  color: var(--bs-primary);
  background-color: transparent;
  border-color: var(--bs-primary);
}

/* Restore fixed ratio for portfolio items to prevent CLS and keep uniform heights */
.portfolio-figure {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  /* adjust ratio if your crops are different (e.g. 4/3 or 16/9) */
  overflow: hidden;
  border-radius: 1rem;
  background: #f6f4f1;
  /* neutral placeholder while image loads */
}

.portfolio-figure img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}

.portfolio-grid {
  column-count: 2 /* default to 1 column on small screens */;
  gap: 0px;
  transform: translateY(-5px);
  align-items: start;
}

.portfolio-grid-figure {
  position: relative;
  margin: 0px;
  padding: 1px;
  overflow: hidden;
  border-radius: 0px;
  background: var(--bs-primary-bg-subtle);
  break-inside: avoid;
  display: block;
  width: 100%;
  height: auto;
}

.portfolio-grid-figure img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.portfolio-grid-figure:hover img {

}

@media (max-width: 800px) {
  .portfolio-grid {
    column-count: 1;
  }
}

/* overlay that appears on hover / focus */
.portfolio-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: end;
  justify-content: center;
  background: rgba(0, 0, 0, 0);
  translate: y(50px);
  color: #fff;
  opacity: 0;
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: none;
}

.portfolio-grid-figure:hover .portfolio-overlay,
.portfolio-grid-figure:focus-within .portfolio-overlay {
  opacity: 0;
  transform: translateY(0);
  pointer-events: none;
}

.portfolio-overlay-name {
  padding: .5rem 1rem;
  border-radius: 1rem;
  background: rgba(0, 0, 0, 0.45);
  font-weight: 400;
  letter-spacing: .2px;
  max-width: 100%;
  text-align: left;
  white-space: nowrap;
  text-wrap: wrap;
  overflow: ellipsis;

}

.nav-item {
  position: relative;
  margin: 0 1rem;
  display: inline-block;
}

.nav-item::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  display: block;
  width: 0;
  height: 2px;
  background: var(--bs-primary);
  transition: width .2s ease;
}

.nav-item:hover::after {
  width: 100%;
}

/* Cookie banner modal — full-screen backdrop + centered panel */
.cookie-banner {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.55);
  /* backdrop that blocks page behind */
  z-index: 1080;
  /* above common UI layers */
  padding: 1.25rem;
}

/* Panel that holds the content — wrap your <p> + <form> in this for best results */
.cookie-banner__panel {
  width: 100%;
  max-width: 760px;
  background: var(--bs-body-bg, #ffffff);
  color: var(--bs-body-color, #222);
  border-radius: 0.5rem;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  outline: none;
}

/* Text & layout inside the panel */
.cookie-banner__panel p {
  margin: 0;
  line-height: 1.45;
  color: #495057;
  /* muted, consistent with bootstrap text-muted */
}

/* Form layout: right-aligned controls on wide, stacked on small screens */
.cookie-banner__panel form {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

/* Make buttons legible and consistent — primary uses taupe brand colour */
.cookie-banner__panel .btn {
  min-width: 96px;
}

/* Brand/taupe primary (override if you already set --bs-primary) */
.cookie-banner__panel .btn-primary {
  background-color: #8B7355;
  border-color: #8B7355;
  color: #fff;
}

.cookie-banner__panel .btn-outline-primary {
  color: #8B7355;
  border-color: #8B7355;
}

/* Small screens: stack and full-width controls */
@media (max-width: 576px) {
  .cookie-banner {
    padding: 0.75rem;
  }

  .cookie-banner__panel {
    padding: 1rem;
    max-width: 96%;
  }

  .cookie-banner__panel form {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .cookie-banner__panel .btn {
    width: 100%;
  }
}

/* Accessibility: focus ring on interactive elements inside banner */
.cookie-banner__panel :focus {
  box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.18);
  outline: none;
}

/* Blog Details */
/*
.content img.inline,
.content img {
  float: right;
  width: 40%;
  max-width: 45%;
  margin-left: 1rem;
  margin-bottom: 1rem;
  object-fit: cover;
}

.content::after {
  content: "";
  display: table;
  clear: both;
}

@media (max-width: 767px) {

  .content img.inline,
  .content img {
    float: none;
    width: auto;
    max-width: 100%;
    display: block;
    margin: 0 auto;
  }
}*/

/* About Rachel Image*/
.max-width-75 {max-width: 75%;}

/* CSP hardening utilities (replaces inline style attributes) */
.csp-logo-blend { mix-blend-mode: multiply; }
.csp-cookie-note { font-size: 0.7em; }
.csp-opacity-65 { opacity: 0.65; }
.csp-overflow-x-auto { overflow-x: auto; }
.csp-time-muted { font-size: 0.73rem; color: #9ca3af; }
.csp-scroll-y-320 { max-height: 320px; overflow-y: auto; }
.csp-scroll-y-300 { max-height: 300px; overflow-y: auto; }
.csp-maxw-700 { max-width: 700px; }
.csp-border-0 { border-width: 0; }
.csp-icon-80 { width: 80px; height: 80px; }
.csp-icon-60 { width: 60px; height: 60px; }
.csp-aspect-4-3 { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 0.25rem; }
.csp-fill-cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.csp-font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.csp-min-h-300-scroll { min-height: 300px; overflow: auto; }
.csp-lightbox-img-90 { max-height: 90vh; object-fit: contain; }
.csp-lightbox-img-100 { max-height: 100vh; object-fit: contain; }
.csp-caption-shadow { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
.csp-object-cover { object-fit: cover; }
.csp-object-top { object-position: top; }
.csp-cursor-grab { cursor: grab; }
.csp-maxh-160-hidden { overflow: hidden; max-height: 160px; }
.csp-thumb-h160-cover { object-fit: cover; height: 160px; }
.csp-offscreen {
  position: absolute;
  left: -9999px;
  top: -9999px;
}
.csp-m-2rem { margin: 2rem; }
.csp-maxh-250-cover { max-height: 250px; width: auto; object-fit: cover; }
.csp-maxw-720 { max-width: 720px; }
.csp-pt-30 { padding-top: 30px; }
.csp-portrait-img { max-height: 300px; width: auto; }
.turnstile-slot {
  min-height: 65px;
}
