@charset "UTF-8";

/*!
* Bootstrap  v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
: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-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13, 110, 253;
    --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-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-primary-text-emphasis: #052c65;
    --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-primary-bg-subtle: #cfe2ff;
    --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-primary-border-subtle: #9ec5fe;
    --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, .15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --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, .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, .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, .175);
    --bs-border-radius: .375rem;
    --bs-border-radius-sm: .25rem;
    --bs-border-radius-lg: .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 .5rem 1rem rgba(0, 0, 0, .15);
    --bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);
    --bs-focus-ring-width: .25rem;
    --bs-focus-ring-opacity: .25;
    --bs-focus-ring-color: rgba(13, 110, 253, .25);
    --bs-form-valid-color: #198754;
    --bs-form-valid-border-color: #198754;
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545
}

[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-color: #dee2e6;
    --bs-body-color-rgb: 222, 226, 230;
    --bs-body-bg: #212529;
    --bs-body-bg-rgb: 33, 37, 41;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(222, 226, 230, .75);
    --bs-secondary-color-rgb: 222, 226, 230;
    --bs-secondary-bg: #343a40;
    --bs-secondary-bg-rgb: 52, 58, 64;
    --bs-tertiary-color: rgba(222, 226, 230, .5);
    --bs-tertiary-color-rgb: 222, 226, 230;
    --bs-tertiary-bg: #2b3035;
    --bs-tertiary-bg-rgb: 43, 48, 53;
    --bs-primary-text-emphasis: #6ea8fe;
    --bs-secondary-text-emphasis: #a7acb1;
    --bs-success-text-emphasis: #75b798;
    --bs-info-text-emphasis: #6edff6;
    --bs-warning-text-emphasis: #ffda6a;
    --bs-danger-text-emphasis: #ea868f;
    --bs-light-text-emphasis: #f8f9fa;
    --bs-dark-text-emphasis: #dee2e6;
    --bs-primary-bg-subtle: #031633;
    --bs-secondary-bg-subtle: #161719;
    --bs-success-bg-subtle: #051b11;
    --bs-info-bg-subtle: #032830;
    --bs-warning-bg-subtle: #332701;
    --bs-danger-bg-subtle: #2c0b0e;
    --bs-light-bg-subtle: #343a40;
    --bs-dark-bg-subtle: #1a1d20;
    --bs-primary-border-subtle: #084298;
    --bs-secondary-border-subtle: #41464b;
    --bs-success-border-subtle: #0f5132;
    --bs-info-border-subtle: #087990;
    --bs-warning-border-subtle: #997404;
    --bs-danger-border-subtle: #842029;
    --bs-light-border-subtle: #495057;
    --bs-dark-border-subtle: #343a40;
    --bs-heading-color: inherit;
    --bs-link-color: #6ea8fe;
    --bs-link-hover-color: #8bb9fe;
    --bs-link-color-rgb: 110, 168, 254;
    --bs-link-hover-color-rgb: 139, 185, 254;
    --bs-code-color: #e685b5;
    --bs-highlight-color: #dee2e6;
    --bs-highlight-bg: #664d03;
    --bs-border-color: #495057;
    --bs-border-color-translucent: rgba(255, 255, 255, .15);
    --bs-form-valid-color: #75b798;
    --bs-form-valid-border-color: #75b798;
    --bs-form-invalid-color: #ea868f;
    --bs-form-invalid-border-color: #ea868f
}

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

@media(prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

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%;
    -webkit-tap-highlight-color: transparent
}

hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: var(--bs-border-width) solid;
    opacity: .25
}

.h1,
.h2,
.h3,
.h5,
h1,
h2,
h3,
h5 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--bs-heading-color)
}

.h1,
h1 {
    font-size: calc(1.375rem + 1.5vw)
}

@media(min-width:1200px) {

    .h1,
    h1 {
        font-size: 2.5rem
    }
}

.h2,
h2 {
    font-size: calc(1.325rem + .9vw)
}

@media(min-width:1200px) {

    .h2,
    h2 {
        font-size: 2rem
    }
}

.h3,
h3 {
    font-size: calc(1.3rem + .6vw)
}

@media(min-width:1200px) {

    .h3,
    h3 {
        font-size: 1.75rem
    }
}

.h5,
h5 {
    font-size: 1.25rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit
}

ol,
ul {
    padding-left: 2rem
}

ol,
ul {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-bottom: 0
}

b,
strong {
    font-weight: bolder
}

.small,
small {
    font-size: .875em
}

a {
    color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
    text-decoration: underline
}

a:hover {
    --bs-link-color-rgb: var(--bs-link-hover-color-rgb)
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

figure {
    margin: 0 0 1rem
}

img,
svg {
    vertical-align: middle
}

table {
    caption-side: bottom;
    border-collapse: collapse
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent
}

tbody,
td,
th,
tr {
    border-color: inherit;
    border-style: solid;
    border-width: 0
}

label {
    display: inline-block
}

button {
    border-radius: 0
}

button:focus:not(:focus-visible) {
    outline: 0
}

button,
input,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,
select {
    text-transform: none
}

[role=button] {
    cursor: pointer
}

select {
    word-wrap: normal
}

select:disabled {
    opacity: 1
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
    cursor: pointer
}

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

textarea {
    resize: vertical
}

::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-year-field {
    padding: 0
}

::-webkit-inner-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-color-swatch-wrapper {
    padding: 0
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

::file-selector-button {
    font: inherit;
    -webkit-appearance: button
}

output {
    display: inline-block
}

iframe {
    border: 0
}

progress {
    vertical-align: baseline
}

[hidden] {
    display: none !important
}

.figure {
    display: inline-block
}

.container,
.container-fluid {
    --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
}

@media(min-width:576px) {
    .container {
        max-width: 540px
    }
}

@media(min-width:768px) {
    .container {
        max-width: 720px
    }
}

@media(min-width:992px) {
    .container {
        max-width: 960px
    }
}

@media(min-width:1200px) {
    .container {
        max-width: 1140px
    }
}

@media(min-width:1400px) {
    .container {
        max-width: 1320px
    }
}

: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
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x))
}

.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y)
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.g-0 {
    --bs-gutter-x: 0
}

.g-0 {
    --bs-gutter-y: 0
}

.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem
}

.g-4 {
    --bs-gutter-y: 1.5rem
}

.gy-5 {
    --bs-gutter-y: 3rem
}

@media(min-width:768px) {
    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }
}

@media(min-width:992px) {
    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }
}

@media(min-width:1200px) {
    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%
    }
}

.table {
    --bs-table-color-type: initial;
    --bs-table-bg-type: initial;
    --bs-table-color-state: initial;
    --bs-table-bg-state: initial;
    --bs-table-color: var(--bs-emphasis-color);
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-emphasis-color);
    --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);
    --bs-table-active-color: var(--bs-emphasis-color);
    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: var(--bs-table-border-color)
}

.table>:not(caption)>*>* {
    padding: .5rem;
    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
    background-color: var(--bs-table-bg);
    border-bottom-width: var(--bs-border-width);
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))
}

.table>tbody {
    vertical-align: inherit
}

.table-bordered>:not(caption)>* {
    border-width: var(--bs-border-width) 0
}

.table-bordered>:not(caption)>*>* {
    border-width: 0 var(--bs-border-width)
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
}

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .form-control {
        transition: none
    }
}

.form-control[type=file] {
    overflow: hidden
}

.form-control[type=file]:not(:disabled):not([readonly]) {
    cursor: pointer
}

.form-control:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem #0d6efd40
}

.form-control::-webkit-date-and-time-value {
    min-width: 85px;
    height: 1.5em;
    margin: 0
}

.form-control::-webkit-datetime-edit {
    display: block;
    padding: 0
}

.form-control::-moz-placeholder {
    color: var(--bs-secondary-color);
    opacity: 1
}

.form-control::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1
}

.form-control:disabled {
    background-color: var(--bs-secondary-bg);
    opacity: 1
}

.form-control::-webkit-file-upload-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    -webkit-margin-end: .75rem;
    margin-inline-end: .75rem;
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--bs-border-width);
    border-radius: 0;
    -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.form-control::file-selector-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    -webkit-margin-end: .75rem;
    margin-inline-end: .75rem;
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--bs-border-width);
    border-radius: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .form-control::-webkit-file-upload-button {
        -webkit-transition: none;
        transition: none
    }

    .form-control::file-selector-button {
        transition: none
    }
}

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
    background-color: var(--bs-secondary-bg)
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: var(--bs-secondary-bg)
}

textarea.form-control {
    min-height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))
}

[data-bs-theme=dark] .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")
}

.form-control.is-valid,
.was-validated .form-control:valid {
    border-color: var(--bs-form-valid-border-color);
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
    border-color: var(--bs-form-valid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25)
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: var(--bs-form-invalid-border-color);
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
    border-color: var(--bs-form-invalid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25)
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.btn {
    --bs-btn-padding-x: .75rem;
    --bs-btn-padding-y: .375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: var(--bs-border-width);
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: var(--bs-border-radius);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
    --bs-btn-disabled-opacity: .65;
    --bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .btn {
        transition: none
    }
}

.btn:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color)
}

.btn:focus-visible {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
    color: var(--bs-btn-active-color);
    background-color: var(--bs-btn-active-bg);
    border-color: var(--bs-btn-active-border-color)
}

.btn.active:focus-visible,
.btn.show:focus-visible,
.btn:first-child:active:focus-visible,
:not(.btn-check)+.btn:active:focus-visible {
    box-shadow: var(--bs-btn-focus-box-shadow)
}

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

.fade {
    transition: opacity .15s linear
}

@media(prefers-reduced-motion:reduce) {
    .fade {
        transition: none
    }
}

.fade:not(.show) {
    opacity: 0
}

.collapse:not(.show) {
    display: none
}

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

@media(prefers-reduced-motion:reduce) {
    .collapsing {
        transition: none
    }
}

.collapsing.collapse-horizontal {
    width: 0;
    height: auto;
    transition: width .35s ease
}

@media(prefers-reduced-motion:reduce) {
    .collapsing.collapse-horizontal {
        transition: none
    }
}

.dropdown,
.dropdown-center {
    position: relative
}

.dropdown-toggle {
    white-space: nowrap
}

.dropdown-toggle:after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent
}

.dropdown-toggle:empty:after {
    margin-left: 0
}

.dropdown-menu {
    --bs-dropdown-zindex: 1000;
    --bs-dropdown-min-width: 10rem;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: .5rem;
    --bs-dropdown-spacer: .125rem;
    --bs-dropdown-font-size: 1rem;
    --bs-dropdown-color: var(--bs-body-color);
    --bs-dropdown-bg: var(--bs-body-bg);
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-border-radius: var(--bs-border-radius);
    --bs-dropdown-border-width: var(--bs-border-width);
    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-divider-margin-y: .5rem;
    --bs-dropdown-box-shadow: var(--bs-box-shadow);
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--bs-body-color);
    --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: .25rem;
    --bs-dropdown-header-color: #6c757d;
    --bs-dropdown-header-padding-x: 1rem;
    --bs-dropdown-header-padding-y: .5rem;
    position: absolute;
    z-index: var(--bs-dropdown-zindex);
    display: none;
    min-width: var(--bs-dropdown-min-width);
    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
    margin: 0;
    font-size: var(--bs-dropdown-font-size);
    color: var(--bs-dropdown-color);
    text-align: left;
    list-style: none;
    background-color: var(--bs-dropdown-bg);
    background-clip: padding-box;
    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
    border-radius: var(--bs-dropdown-border-radius)
}

.dropdown-menu[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: var(--bs-dropdown-spacer)
}

.dropdown-menu-start {
    --bs-position: start
}

.dropdown-menu-start[data-bs-popper] {
    right: auto;
    left: 0
}

.dropdown-menu-end {
    --bs-position: end
}

.dropdown-menu-end[data-bs-popper] {
    right: 0;
    left: auto
}

@media(min-width:576px) {
    .dropdown-menu-sm-start {
        --bs-position: start
    }

    .dropdown-menu-sm-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-sm-end {
        --bs-position: end
    }

    .dropdown-menu-sm-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media(min-width:768px) {
    .dropdown-menu-md-start {
        --bs-position: start
    }

    .dropdown-menu-md-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-md-end {
        --bs-position: end
    }

    .dropdown-menu-md-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media(min-width:992px) {
    .dropdown-menu-lg-start {
        --bs-position: start
    }

    .dropdown-menu-lg-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-lg-end {
        --bs-position: end
    }

    .dropdown-menu-lg-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media(min-width:1200px) {
    .dropdown-menu-xl-start {
        --bs-position: start
    }

    .dropdown-menu-xl-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-xl-end {
        --bs-position: end
    }

    .dropdown-menu-xl-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media(min-width:1400px) {
    .dropdown-menu-xxl-start {
        --bs-position: start
    }

    .dropdown-menu-xxl-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-xxl-end {
        --bs-position: end
    }

    .dropdown-menu-xxl-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

.dropup .dropdown-menu[data-bs-popper] {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: var(--bs-dropdown-spacer)
}

.dropend .dropdown-menu[data-bs-popper] {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: var(--bs-dropdown-spacer)
}

.dropstart .dropdown-menu[data-bs-popper] {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: var(--bs-dropdown-spacer)
}

.dropdown-divider {
    height: 0;
    margin: var(--bs-dropdown-divider-margin-y) 0;
    overflow: hidden;
    border-top: 1px solid var(--bs-dropdown-divider-bg);
    opacity: 1
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    clear: both;
    font-weight: 400;
    color: var(--bs-dropdown-link-color);
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    border-radius: var(--bs-dropdown-item-border-radius, 0)
}

.dropdown-item:focus,
.dropdown-item:hover {
    color: var(--bs-dropdown-link-hover-color);
    background-color: var(--bs-dropdown-link-hover-bg)
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--bs-dropdown-link-active-bg)
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    color: var(--bs-dropdown-link-disabled-color);
    pointer-events: none;
    background-color: transparent
}

.dropdown-menu.show {
    display: block
}

.dropdown-header {
    display: block;
    padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
    margin-bottom: 0;
    font-size: .875rem;
    color: var(--bs-dropdown-header-color);
    white-space: nowrap
}

.dropdown-item-text {
    display: block;
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    color: var(--bs-dropdown-link-color)
}

.dropdown-menu-dark {
    --bs-dropdown-color: #dee2e6;
    --bs-dropdown-bg: #343a40;
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-box-shadow: ;
    --bs-dropdown-link-color: #dee2e6;
    --bs-dropdown-link-hover-color: #fff;
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-header-color: #adb5bd
}

.dropdown-toggle-split {
    padding-right: .5625rem;
    padding-left: .5625rem
}

.dropdown-toggle-split:after {
    margin-left: 0
}

.nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: .5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-nav-link-disabled-color: var(--bs-secondary-color);
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.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
}

@media(prefers-reduced-motion:reduce) {
    .nav-link {
        transition: none
    }
}

.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 #0d6efd40
}

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

.nav-tabs {
    --bs-nav-tabs-border-width: var(--bs-border-width);
    --bs-nav-tabs-border-color: var(--bs-border-color);
    --bs-nav-tabs-border-radius: var(--bs-border-radius);
    --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
    --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
    --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
    --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
    border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)
}

.nav-tabs .nav-link {
    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
    border: var(--bs-nav-tabs-border-width) solid transparent;
    border-top-left-radius: var(--bs-nav-tabs-border-radius);
    border-top-right-radius: var(--bs-nav-tabs-border-radius)
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
    isolation: isolate;
    border-color: var(--bs-nav-tabs-link-hover-border-color)
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color)
}

.nav-tabs .dropdown-menu {
    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.nav-pills {
    --bs-nav-pills-border-radius: var(--bs-border-radius);
    --bs-nav-pills-link-active-color: #fff;
    --bs-nav-pills-link-active-bg: #0d6efd
}

.nav-pills .nav-link {
    border-radius: var(--bs-nav-pills-border-radius)
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--bs-nav-pills-link-active-bg)
}

.nav-underline {
    --bs-nav-underline-gap: 1rem;
    --bs-nav-underline-border-width: .125rem;
    --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
    gap: var(--bs-nav-underline-gap)
}

.nav-underline .nav-link {
    padding-right: 0;
    padding-left: 0;
    border-bottom: var(--bs-nav-underline-border-width) solid transparent
}

.nav-underline .nav-link:focus,
.nav-underline .nav-link:hover {
    border-bottom-color: currentcolor
}

.nav-underline .nav-link.active,
.nav-underline .show>.nav-link {
    font-weight: 700;
    color: var(--bs-nav-underline-link-active-color);
    border-bottom-color: currentcolor
}

.nav-fill .nav-item,
.nav-fill>.nav-link {
    flex: 1 1 auto;
    text-align: center
}

.nav-justified .nav-item,
.nav-justified>.nav-link {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
    width: 100%
}

.tab-content>.tab-pane {
    display: none
}

.tab-content>.active {
    display: block
}

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: .5rem;
    --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);
    --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);
    --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);
    --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-brand-padding-y: .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: .5rem;
    --bs-navbar-toggler-padding-y: .25rem;
    --bs-navbar-toggler-padding-x: .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), .15);
    --bs-navbar-toggler-border-radius: var(--bs-border-radius);
    --bs-navbar-toggler-focus-width: .25rem;
    --bs-navbar-toggler-transition: box-shadow .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: .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)
}

@media(prefers-reduced-motion:reduce) {
    .navbar-toggler {
        transition: none
    }
}

.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, .55);
    --bs-navbar-hover-color: rgba(255, 255, 255, .75);
    --bs-navbar-disabled-color: rgba(255, 255, 255, .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, .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")
}

[data-bs-theme=dark] .navbar-toggler-icon {
    --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")
}

.card {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: .5rem;
    --bs-card-title-color: ;
    --bs-card-subtitle-color: ;
    --bs-card-border-width: var(--bs-border-width);
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: var(--bs-border-radius);
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-card-cap-padding-y: .5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: .75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius)
}

.card>hr {
    margin-right: 0;
    margin-left: 0
}

[data-bs-theme=dark] .accordion-button:after {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")
}

.breadcrumb {
    --bs-breadcrumb-padding-x: 0;
    --bs-breadcrumb-padding-y: 0;
    --bs-breadcrumb-margin-bottom: 1rem;
    --bs-breadcrumb-bg: ;
    --bs-breadcrumb-border-radius: ;
    --bs-breadcrumb-divider-color: var(--bs-secondary-color);
    --bs-breadcrumb-item-padding-x: .5rem;
    --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
    display: flex;
    flex-wrap: wrap;
    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
    margin-bottom: var(--bs-breadcrumb-margin-bottom);
    font-size: var(--bs-breadcrumb-font-size);
    list-style: none;
    background-color: var(--bs-breadcrumb-bg);
    border-radius: var(--bs-breadcrumb-border-radius)
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: var(--bs-breadcrumb-item-padding-x)
}

.breadcrumb-item+.breadcrumb-item:before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/")
}

.breadcrumb-item.active {
    color: var(--bs-breadcrumb-item-active-color)
}

@keyframes progress-bar-stripes {
    0% {
        background-position-x: 1rem
    }
}

.progress {
    --bs-progress-height: 1rem;
    --bs-progress-font-size: .75rem;
    --bs-progress-bg: var(--bs-secondary-bg);
    --bs-progress-border-radius: var(--bs-border-radius);
    --bs-progress-box-shadow: var(--bs-box-shadow-inset);
    --bs-progress-bar-color: #fff;
    --bs-progress-bar-bg: #0d6efd;
    --bs-progress-bar-transition: width .6s ease;
    display: flex;
    height: var(--bs-progress-height);
    overflow: hidden;
    font-size: var(--bs-progress-font-size);
    background-color: var(--bs-progress-bg);
    border-radius: var(--bs-progress-border-radius)
}

.btn-close {
    --bs-btn-close-color: #000;
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
    --bs-btn-close-opacity: .5;
    --bs-btn-close-hover-opacity: .75;
    --bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
    --bs-btn-close-focus-opacity: 1;
    --bs-btn-close-disabled-opacity: .25;
    --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: .25em;
    color: var(--bs-btn-close-color);
    background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
    border: 0;
    border-radius: .375rem;
    opacity: var(--bs-btn-close-opacity)
}

.btn-close:hover {
    color: var(--bs-btn-close-color);
    text-decoration: none;
    opacity: var(--bs-btn-close-hover-opacity)
}

.btn-close:focus {
    outline: 0;
    box-shadow: var(--bs-btn-close-focus-shadow);
    opacity: var(--bs-btn-close-focus-opacity)
}

.btn-close.disabled,
.btn-close:disabled {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    opacity: var(--bs-btn-close-disabled-opacity)
}

.btn-close-white,
[data-bs-theme=dark] .btn-close {
    filter: var(--bs-btn-close-white-filter)
}

.modal {
    --bs-modal-zindex: 1055;
    --bs-modal-width: 500px;
    --bs-modal-padding: 1rem;
    --bs-modal-margin: .5rem;
    --bs-modal-color: ;
    --bs-modal-bg: var(--bs-body-bg);
    --bs-modal-border-color: var(--bs-border-color-translucent);
    --bs-modal-border-width: var(--bs-border-width);
    --bs-modal-border-radius: var(--bs-border-radius-lg);
    --bs-modal-box-shadow: var(--bs-box-shadow-sm);
    --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
    --bs-modal-header-padding-x: 1rem;
    --bs-modal-header-padding-y: 1rem;
    --bs-modal-header-padding: 1rem 1rem;
    --bs-modal-header-border-color: var(--bs-border-color);
    --bs-modal-header-border-width: var(--bs-border-width);
    --bs-modal-title-line-height: 1.5;
    --bs-modal-footer-gap: .5rem;
    --bs-modal-footer-bg: ;
    --bs-modal-footer-border-color: var(--bs-border-color);
    --bs-modal-footer-border-width: var(--bs-border-width);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-modal-zindex);
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: var(--bs-modal-margin);
    pointer-events: none
}

.modal.fade .modal-dialog {
    transition: transform .3s ease-out;
    transform: translateY(-50px)
}

@media(prefers-reduced-motion:reduce) {
    .modal.fade .modal-dialog {
        transition: none
    }
}

.modal.show .modal-dialog {
    transform: none
}

.modal.modal-static .modal-dialog {
    transform: scale(1.02)
}

.modal-dialog-scrollable {
    height: calc(100% - var(--bs-modal-margin) * 2)
}

.modal-dialog-scrollable .modal-content {
    max-height: 100%;
    overflow: hidden
}

.modal-dialog-scrollable .modal-body {
    overflow-y: auto
}

.modal-dialog-centered {
    display: flex;
    align-items: center;
    min-height: calc(100% - var(--bs-modal-margin) * 2)
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    color: var(--bs-modal-color);
    pointer-events: auto;
    background-color: var(--bs-modal-bg);
    background-clip: padding-box;
    border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
    border-radius: var(--bs-modal-border-radius);
    outline: 0
}

.modal-backdrop {
    --bs-backdrop-zindex: 1050;
    --bs-backdrop-bg: #000;
    --bs-backdrop-opacity: .5;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-backdrop-zindex);
    width: 100vw;
    height: 100vh;
    background-color: var(--bs-backdrop-bg)
}

.modal-backdrop.fade {
    opacity: 0
}

.modal-backdrop.show {
    opacity: var(--bs-backdrop-opacity)
}

.modal-header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    padding: var(--bs-modal-header-padding);
    border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
    border-top-left-radius: var(--bs-modal-inner-border-radius);
    border-top-right-radius: var(--bs-modal-inner-border-radius)
}

.modal-header .btn-close {
    padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);
    margin: calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto
}

.modal-title {
    margin-bottom: 0;
    line-height: var(--bs-modal-title-line-height)
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: var(--bs-modal-padding)
}

.modal-footer {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);
    background-color: var(--bs-modal-footer-bg);
    border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
    border-bottom-right-radius: var(--bs-modal-inner-border-radius);
    border-bottom-left-radius: var(--bs-modal-inner-border-radius)
}

.modal-footer>* {
    margin: calc(var(--bs-modal-footer-gap) * .5)
}

@media(min-width:576px) {
    .modal {
        --bs-modal-margin: 1.75rem;
        --bs-modal-box-shadow: var(--bs-box-shadow)
    }

    .modal-dialog {
        max-width: var(--bs-modal-width);
        margin-right: auto;
        margin-left: auto
    }

    .modal-sm {
        --bs-modal-width: 300px
    }
}

@media(min-width:992px) {

    .modal-lg,
    .modal-xl {
        --bs-modal-width: 800px
    }
}

@media(min-width:1200px) {
    .modal-xl {
        --bs-modal-width: 1140px
    }
}

.modal-fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0
}

.modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0
}

.modal-fullscreen .modal-footer,
.modal-fullscreen .modal-header {
    border-radius: 0
}

.modal-fullscreen .modal-body {
    overflow-y: auto
}

@media(max-width:575.98px) {
    .modal-fullscreen-sm-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-sm-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-sm-down .modal-footer,
    .modal-fullscreen-sm-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-sm-down .modal-body {
        overflow-y: auto
    }
}

@media(max-width:767.98px) {
    .modal-fullscreen-md-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-md-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-md-down .modal-footer,
    .modal-fullscreen-md-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-md-down .modal-body {
        overflow-y: auto
    }
}

@media(max-width:991.98px) {
    .modal-fullscreen-lg-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-lg-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-lg-down .modal-footer,
    .modal-fullscreen-lg-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-lg-down .modal-body {
        overflow-y: auto
    }
}

@media(max-width:1199.98px) {
    .modal-fullscreen-xl-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-xl-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-xl-down .modal-footer,
    .modal-fullscreen-xl-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-xl-down .modal-body {
        overflow-y: auto
    }
}

@media(max-width:1399.98px) {
    .modal-fullscreen-xxl-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-xxl-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-xxl-down .modal-footer,
    .modal-fullscreen-xxl-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-xxl-down .modal-body {
        overflow-y: auto
    }
}

.carousel {
    position: relative
}

.carousel.pointer-event {
    touch-action: pan-y
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.carousel-inner:after {
    display: block;
    clear: both;
    content: ""
}

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform .6s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .carousel-item {
        transition: none
    }
}

.carousel-item-next,
.carousel-item-prev,
.carousel-item.active {
    display: block
}

.active.carousel-item-end,
.carousel-item-next:not(.carousel-item-start) {
    transform: translate(100%)
}

.active.carousel-item-start,
.carousel-item-prev:not(.carousel-item-end) {
    transform: translate(-100%)
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none
}

.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end,
.carousel-fade .carousel-item.active {
    z-index: 1;
    opacity: 1
}

.carousel-fade .active.carousel-item-end,
.carousel-fade .active.carousel-item-start {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s .6s
}

@media(prefers-reduced-motion:reduce) {

    .carousel-fade .active.carousel-item-end,
    .carousel-fade .active.carousel-item-start {
        transition: none
    }
}

.carousel-control-next,
.carousel-control-prev {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    padding: 0;
    color: #fff;
    text-align: center;
    background: 0 0;
    border: 0;
    opacity: .5;
    transition: opacity .15s ease
}

@media(prefers-reduced-motion:reduce) {

    .carousel-control-next,
    .carousel-control-prev {
        transition: none
    }
}

.carousel-control-next:focus,
.carousel-control-next:hover,
.carousel-control-prev:focus,
.carousel-control-prev:hover {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: .9
}

.carousel-control-prev {
    left: 0
}

.carousel-control-next {
    right: 0
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 100% 100%
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    padding: 0;
    margin-right: 15%;
    margin-bottom: 1rem;
    margin-left: 15%
}

.carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity .6s ease
}

@media(prefers-reduced-motion:reduce) {
    .carousel-indicators [data-bs-target] {
        transition: none
    }
}

.carousel-indicators .active {
    opacity: 1
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 1.25rem;
    left: 15%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: #fff;
    text-align: center
}

.carousel-dark .carousel-control-next-icon,
.carousel-dark .carousel-control-prev-icon {
    filter: invert(1) grayscale(100)
}

.carousel-dark .carousel-indicators [data-bs-target] {
    background-color: #000
}

.carousel-dark .carousel-caption {
    color: #000
}

[data-bs-theme=dark] .carousel .carousel-control-next-icon,
[data-bs-theme=dark] .carousel .carousel-control-prev-icon,
[data-bs-theme=dark].carousel .carousel-control-next-icon,
[data-bs-theme=dark].carousel .carousel-control-prev-icon {
    filter: invert(1) grayscale(100)
}

[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],
[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
    background-color: #000
}

[data-bs-theme=dark] .carousel .carousel-caption,
[data-bs-theme=dark].carousel .carousel-caption {
    color: #000
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

@keyframes spinner-grow {
    0% {
        transform: scale(0)
    }

    50% {
        opacity: 1;
        transform: none
    }
}

.placeholder {
    display: inline-block;
    min-height: 1em;
    vertical-align: middle;
    cursor: wait;
    background-color: currentcolor;
    opacity: .5
}

.placeholder.btn:before {
    display: inline-block;
    content: ""
}

@keyframes placeholder-glow {
    50% {
        opacity: .2
    }
}

@keyframes placeholder-wave {
    to {
        -webkit-mask-position: -200% 0%;
        mask-position: -200% 0%
    }
}

.focus-ring:focus {
    outline: 0;
    box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)
}

.ratio {
    position: relative;
    width: 100%
}

.ratio:before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: ""
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ratio-1x1 {
    --bs-aspect-ratio: 100%
}

.ratio-4x3 {
    --bs-aspect-ratio: 75%
}

.ratio-16x9 {
    --bs-aspect-ratio: 56.25%
}

.ratio-21x9 {
    --bs-aspect-ratio: 42.8571428571%
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),
.visually-hidden:not(caption) {
    position: absolute !important
}

.align-middle {
    vertical-align: middle !important
}

.d-inline-block {
    display: inline-block !important
}

.focus-ring-primary {
    --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-secondary {
    --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-success {
    --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-info {
    --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-warning {
    --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-danger {
    --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-light {
    --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-dark {
    --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-center {
    align-items: center !important
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important
}

.mt-2 {
    margin-top: .5rem !important
}

.mt-4 {
    margin-top: 1.5rem !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-5 {
    margin-bottom: 3rem !important
}

.p-0 {
    padding: 0 !important
}

.text-center {
    text-align: center !important
}

.pe-none {
    pointer-events: none !important
}

@media(min-width:1200px) {
    .order-xl-last {
        order: 6 !important
    }
}

@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(../fonts/inter-latin-wght-normal.woff2) format("woff2")
}

:root {
    --brand: #1a4fa0;
    --brand-dark: #123a78;
    --brand-deep: #0b2a5b;
    --brand-light: #e8f0fb;
    --accent: #ffc233;
    --accent-dark: #b06a00;
    --ink: #0d1b2e;
    --text: #3f4d63;
    --muted: #586579;
    --line: #d9e2ef;
    --surface: #f3f7fc;
    --radius: 1.1rem;
    --header-h: 4.5rem;
    --shadow: 0 1rem 2.6rem rgba(11, 42, 91, .14);
    --shape: .4rem 1.4rem .4rem 1.4rem;
    --shape-flip: 1.4rem .4rem 1.4rem .4rem;
    --shape-sm: .3rem 1rem .3rem 1rem;
    --shape-sm-flip: 1rem .3rem 1rem .3rem;
    --bs-font-sans-serif: "Inter", sans-serif;
    --bs-body-font-family: "Inter", sans-serif;
    --bs-body-font-size: 1.0625rem;
    --bs-body-line-height: 1.7;
    --bs-body-color: var(--text);
    --bs-heading-color: var(--ink);
    --bs-primary: #1a4fa0;
    --bs-primary-rgb: 26, 79, 160;
    --bs-link-color: var(--brand);
    --bs-link-color-rgb: 26, 79, 160;
    --bs-link-hover-color: var(--brand-dark);
    --bs-border-color: var(--line)
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-h) + 1rem)
}

body {
    font-family: Inter, sans-serif;
    font-weight: 400;
    overflow-x: hidden;
    background: #fff
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Inter, sans-serif;
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1.2
}

img {
    max-width: 100%;
    height: auto
}

a {
    text-underline-offset: .2em
}

:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 3px
}

.svg-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden
}

.icon {
    width: 1.25em;
    height: 1.25em;
    flex: none
}

.skip-link {
    position: absolute;
    left: .75rem;
    top: -4rem;
    z-index: 2000;
    background: var(--accent);
    color: var(--brand-deep);
    padding: .6rem 1rem;
    border-radius: .5rem;
    font-weight: 600;
    transition: top .2s
}

.skip-link:focus {
    top: .75rem
}

.btn {
    --bs-btn-font-weight: 600;
    --bs-btn-border-radius: .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    white-space: nowrap
}

.btn-brand {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--brand);
    --bs-btn-border-color: var(--brand);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--brand-dark);
    --bs-btn-hover-border-color: var(--brand-dark);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--brand-deep);
    --bs-btn-active-border-color: var(--brand-deep);
    --bs-btn-focus-shadow-rgb: 26, 79, 160;
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: .8rem
}

.btn-light-brand {
    --bs-btn-color: var(--brand);
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #fff;
    --bs-btn-hover-color: var(--brand-dark);
    --bs-btn-hover-bg: var(--brand-light);
    --bs-btn-hover-border-color: var(--brand-light);
    --bs-btn-active-color: var(--brand-dark);
    --bs-btn-active-bg: var(--brand-light);
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: .8rem
}

.btn-accent {
    --bs-btn-color: var(--brand-deep);
    --bs-btn-bg: var(--accent);
    --bs-btn-border-color: var(--accent);
    --bs-btn-hover-color: var(--brand-deep);
    --bs-btn-hover-bg: #ffd05c;
    --bs-btn-hover-border-color: #ffd05c;
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: .8rem
}

.btn-outline-light-brand {
    --bs-btn-color: #fff;
    --bs-btn-border-color: rgba(255, 255, 255, .7);
    --bs-btn-hover-color: var(--brand-deep);
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #fff;
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: .8rem
}

.btn-circle {
    width: 3.6rem;
    height: 3.6rem;
    padding: 0
}

.section {
    padding: clamp(3.5rem, 7vw, 6.5rem) 0;
    position: relative
}

.bg-surface {
    background: var(--surface);
    --notch-bg: var(--surface)
}

.section-title {
    font-size: clamp(1.9rem, 4vw, 3rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.15;
    margin: 0
}

.section-title .accent {
    color: var(--brand)
}

.title-bar {
    display: block;
    width: 4.5rem;
    height: .32rem;
    border-radius: .2rem;
    background: #ffc23300;
    margin: 1.1rem 0 1.5rem
}

.text-center .title-bar,
.title-bar.mx-auto {
    margin-inline: auto
}

.lead-text {
    font-size: clamp(1.1rem, 1.6vw, 1.3rem);
    line-height: 1.6;
    color: var(--ink);
    font-weight: 500
}

.notch {
    position: relative;
    --notch-bg: #fff
}

.notch:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 22%;
    height: 1.1rem;
    background: var(--notch-bg);
    border-bottom-left-radius: .9rem;
    z-index: 3;
    pointer-events: none
}

.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.nav-tabs.brand-tabs {
    --bs-nav-tabs-border-color: var(--line);
    --bs-nav-tabs-link-active-color: var(--brand);
    --bs-nav-tabs-link-active-border-color: var(--line) var(--line) #fff;
    --bs-nav-link-color: var(--muted);
    --bs-nav-link-hover-color: var(--brand);
    border-bottom: 1px solid var(--line)
}

.brand-tabs .nav-link {
    font-weight: 600;
    padding: .8rem 1.25rem;
    border-top: 3px solid transparent;
    border-radius: .4rem 1.2rem 0 0
}

.brand-tabs .nav-link.active {
    border-top-color: var(--accent)
}

.list-tick,
.list-num {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    display: grid;
    gap: .75rem
}

.list-tick li,
.list-num li {
    position: relative;
    padding: .9rem 1.1rem .9rem 3.4rem;
    background: var(--surface);
    border-radius: .8rem;
    color: var(--ink);
    font-weight: 500;
    line-height: 1.45
}

.list-tick li:before {
    content: "";
    position: absolute;
    left: 1rem;
    top: 50%;
    width: 1.6rem;
    height: 1.6rem;
    margin-top: -.8rem;
    border-radius: 50%;
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffc233' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/1rem no-repeat
}

.list-num {
    counter-reset: n
}

.list-num li {
    counter-increment: n
}

.list-num li:before {
    content: counter(n);
    position: absolute;
    left: .9rem;
    top: 50%;
    width: 1.9rem;
    height: 1.9rem;
    margin-top: -.95rem;
    border-radius: 50%;
    background: var(--brand);
    color: var(--accent);
    display: grid;
    place-items: center;
    font-size: .9rem;
    font-weight: 700
}

.bg-surface .list-tick li,
.bg-surface .list-num li {
    background: #fff
}

.on-brand .list-tick li {
    background: #ffffff1f;
    color: #fff
}

.on-brand .list-tick li:before {
    background-color: var(--accent);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E")
}

.to-top {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1020;
    width: 3rem;
    height: 3rem;
    background: var(--accent);
    color: var(--brand-deep);
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    box-shadow: 0 .5rem 1.2rem #0b2a5b59;
    opacity: 0;
    visibility: hidden;
    transform: translateY(.6rem);
    transition: .25s
}

.to-top.show {
    opacity: 1;
    visibility: visible;
    transform: none
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    * {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important
    }
}

.btn {
    --bs-btn-border-radius: var(--shape);
    border-radius: var(--bs-btn-border-radius);
    transition: color .15s, background-color .15s, border-color .15s, box-shadow .25s, border-radius .3s ease, transform .2s
}

.btn:hover,
.btn:focus-visible {
    --bs-btn-border-radius: var(--shape-flip)
}

.btn:active {
    transform: translateY(1px)
}

.btn-brand,
.btn-accent,
.btn-light-brand {
    box-shadow: 0 .5rem 1.2rem #0b2a5b2e
}

.btn-chip {
    display: inline-grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    margin-right: -.4rem;
    border-radius: 50%;
    background: var(--accent);
    color: var(--brand-deep)
}

.btn-chip .icon {
    width: .8rem;
    height: .8rem
}

.search-btn,
.navbar-toggler,
.carousel-control-prev,
.carousel-control-next,
.hero-toggle,
.to-top,
.lb-btn,
.btn-close {
    border-radius: var(--shape-sm) !important;
    transition: border-radius .3s ease, background-color .15s, color .15s, opacity .25s, transform .25s
}

.search-btn:hover,
.navbar-toggler:hover,
.carousel-control-prev:hover,
.carousel-control-next:hover,
.hero-toggle:hover,
.to-top:hover,
.lb-btn:hover,
.btn-close:hover,
.search-btn:focus-visible,
.navbar-toggler:focus-visible,
.hero-toggle:focus-visible,
.to-top:focus-visible,
.lb-btn:focus-visible {
    border-radius: var(--shape-sm-flip) !important
}

.site-header {
    --hh: 5rem;
    --header-bg: #f3f4f6;
    position: sticky;
    top: 0;
    z-index: 1030;
    background: var(--header-bg);
    transition: background .3s, box-shadow .3s
}

.site-header.is-compact {
    --hh: 4.1rem;
    background: #f3f4f6eb;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: 0 .4rem 1.6rem #0b2a5b1f
}

.site-header .navbar {
    padding: 0
}

.site-header .container-fluid {
    padding: 0 1.8rem;
    align-items: center;
    height: 5rem;
    transition: height .3s ease
}

.site-header .navbar-brand {
    margin: 0;
    height: calc(var(--hh) - 1.2rem);
    padding: 0 1.1rem;
    background: var(--brand-deep);
    border-radius: var(--shape);
    display: flex;
    align-items: center;
    transition: height .3s ease, border-radius .3s ease, transform .3s ease
}

.site-header .navbar-brand:hover {
    border-radius: var(--shape-flip);
    transform: translateY(-1px)
}

.site-header .navbar-brand img {
    height: calc(var(--hh) - 2.1rem);
    width: auto;
    transition: height .3s ease
}

.site-header .nav-link {
    position: relative;
    color: var(--ink);
    font-weight: 500;
    font-size: 1rem;
    padding: .55rem .7rem;
    display: flex;
    align-items: center;
    gap: .3rem;
    border: 0;
    background-color: transparent;
    background-image: linear-gradient(var(--brand), var(--brand));
    background-repeat: no-repeat;
    background-size: 0 2px;
    background-position: 50% calc(100% - .3rem);
    transition: color .2s, background-size .35s ease
}

.site-header .nav-link:hover,
.site-header .nav-link:focus-visible,
.site-header .nav-link.active,
.site-header .show>.nav-link {
    color: var(--brand);
    background-size: calc(100% - 1.4rem) 2px
}

.site-header .dropdown-toggle:after {
    border-width: .28em .28em 0;
    margin-left: .2rem;
    transition: transform .25s
}

.site-header .dropdown:hover>.dropdown-toggle:after,
.site-header .show>.dropdown-toggle:after {
    transform: rotate(180deg)
}

.header-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: var(--hh)
}

.search-btn {
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--ink)
}

.search-btn:hover {
    background: var(--brand-light);
    color: var(--brand)
}

.search-btn .icon {
    width: 1.3rem;
    height: 1.3rem
}

.site-header .navbar-toggler {
    border: 0;
    padding: .4rem;
    color: var(--ink);
    box-shadow: none
}

.site-header .navbar-toggler:focus-visible {
    outline: 3px solid var(--accent)
}

.btn.header-cta {
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: .7rem;
    position: relative;
    isolation: isolate;
    overflow: visible;
    margin-left: 2.6rem;
    height: 3.2rem;
    padding: 0 1.5rem 0 1.2rem;
    border: 2px solid var(--brand);
    border-radius: 2rem;
    background: transparent;
    color: var(--ink);
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow: none;
    transition: color .3s, box-shadow .3s
}

.btn.header-cta:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 2rem;
    background: var(--brand);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s ease
}

.btn.header-cta:hover,
.btn.header-cta:focus-visible {
    color: #fff;
    background: transparent;
    border-color: var(--brand);
    box-shadow: 0 .5rem 1.2rem #1a4fa047
}

.btn.header-cta:hover:before,
.btn.header-cta:focus-visible:before {
    transform: scaleX(1)
}

.btn.header-cta .btn-chip {
    position: absolute;
    left: -2.4rem;
    top: 50%;
    width: 3.2rem;
    height: 3.2rem;
    margin: 0;
    margin-top: -1.6rem;
    background: var(--brand);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 .3rem .9rem #1a4fa04d;
    transition: background .3s
}

.btn.header-cta .btn-chip .icon {
    width: 1.1rem;
    height: 1.1rem;
    transform: rotate(-45deg)
}

.btn.header-cta:hover .btn-chip .icon {
    animation: arrowFly .5s ease
}

.btn.header-cta:hover .btn-chip {
    background: var(--brand-deep)
}

@keyframes arrowFly {
    0% {
        transform: rotate(-45deg) translate(0)
    }

    45% {
        transform: rotate(-45deg) translate(1.6rem);
        opacity: 0
    }

    46% {
        transform: rotate(-45deg) translate(-1.6rem);
        opacity: 0
    }

    to {
        transform: rotate(-45deg) translate(0);
        opacity: 1
    }
}

.site-header .dropdown-menu {
    border: 0;
    border-radius: 1.1rem;
    box-shadow: var(--shadow);
    padding: .6rem;
    margin-top: .2rem;
    animation: menuIn .25s ease both
}

@keyframes menuIn {
    0% {
        opacity: 0;
        transform: translateY(.6rem)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.site-header .dropdown-item {
    border-radius: .6rem;
    padding: .55rem .9rem;
    font-size: .92rem;
    font-weight: 500;
    color: var(--ink);
    white-space: normal;
    transition: background .2s, color .2s, padding-left .2s
}

.site-header .dropdown-item:hover,
.site-header .dropdown-item:focus-visible {
    background: var(--brand-light);
    color: var(--brand);
    padding-left: 1.2rem
}

.site-header .dropdown-item.active {
    background: var(--brand-light);
    color: var(--brand)
}

.mega-menu {
    min-width: 41rem;
    columns: 2;
    column-gap: .4rem
}

.mega-menu li {
    break-inside: avoid
}

@media(min-width:1200px) {
    .site-header .navbar-collapse {
        align-self: stretch
    }

    .site-header .navbar-nav {
        height: 100%;
        margin-inline: auto
    }

    .site-header .navbar-nav>.nav-item {
        display: flex;
        align-items: stretch;
        position: relative
    }

    .site-header .navbar-nav>.nav-item>.nav-link {
        align-items: center
    }

    .site-header .navbar-nav>.nav-item>.dropdown-menu {
        top: 100%;
        left: 0
    }

    .site-header .dropdown:hover>.dropdown-menu {
        display: block
    }
}

@media(max-width:1199.98px) {
    .site-header {
        --hh: 4.4rem
    }

    .site-header .container-fluid {
        padding: 0 1rem;
        height: auto;
        min-height: var(--hh)
    }

    .site-header .navbar-collapse {
        order: 5;
        width: 100%;
        background: #fff;
        border-radius: 1rem;
        box-shadow: var(--shadow);
        max-height: calc(100vh - var(--hh) - 1rem);
        overflow-y: auto;
        padding: .5rem 1rem 1rem;
        margin-bottom: .8rem
    }

    .site-header .nav-link {
        padding: .85rem .25rem;
        border-bottom: 1px solid var(--line);
        justify-content: space-between;
        width: 100%;
        text-align: left;
        background-image: none
    }

    .site-header .navbar-nav {
        padding-top: .25rem
    }

    .mega-menu {
        min-width: 0;
        columns: 1;
        box-shadow: none;
        padding: 0 0 .5rem 1rem;
        position: static
    }

    .site-header .container-fluid {
        flex-wrap: wrap
    }

    .site-header .navbar-brand {
        margin-right: auto
    }
}

@media(max-width:575.98px) {
    .btn.header-cta {
        margin-left: 2.2rem;
        height: 2.7rem;
        padding: 0 1rem 0 .9rem;
        font-size: .8rem
    }

    .btn.header-cta .btn-chip {
        width: 2.7rem;
        height: 2.7rem;
        margin-top: -1.35rem;
        left: -2.1rem
    }

    .site-header .navbar-brand {
        padding: 0 .8rem
    }

    .search-btn {
        width: 2.3rem;
        height: 2.3rem
    }

    .header-actions {
        gap: .15rem
    }
}

.search-modal .modal-content {
    border: 0;
    border-radius: var(--radius);
    overflow: hidden
}

.search-modal .modal-header {
    border: 0;
    padding-bottom: 0
}

.search-modal .form-control {
    padding: 1rem 1.25rem;
    font-size: 1.15rem;
    border: 2px solid var(--line);
    border-radius: .8rem
}

.search-modal .form-control:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 .25rem #1a4fa02e
}

.search-results {
    max-height: 50vh;
    overflow: auto;
    margin-top: 1rem;
    border-radius: .8rem;
    border: 1px solid var(--line)
}

.search-results a {
    display: block;
    padding: .85rem 1.25rem;
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--line);
    font-weight: 500
}

.search-results a:last-child {
    border: 0
}

.search-results a:hover,
.search-results a:focus-visible {
    background: var(--brand-light);
    color: var(--brand)
}

.search-results p {
    margin: 0;
    padding: 1rem 1.25rem;
    color: var(--muted)
}

.mega-menu {
    min-width: 46rem;
    padding: .4rem 1.2rem !important;
    column-gap: 2rem
}

.mega-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    padding: .65rem .2rem;
    border-radius: 0;
    font-size: 1.02rem;
    border-bottom: 1px solid var(--line)
}

.mega-menu li:last-child .dropdown-item {
    border-bottom: 0
}

.mega-menu .dd-thumb {
    flex: none;
    width: 3.1rem;
    height: 2.4rem;
    object-fit: cover;
    border-radius: .45rem;
    background: var(--brand-light);
    transition: transform .35s cubic-bezier(.2, .7, .2, 1)
}

.mega-menu .dropdown-item.active,
.mega-menu .dropdown-item:hover,
.mega-menu .dropdown-item:focus-visible {
    background: transparent;
    color: var(--brand);
    padding-left: .2rem
}

.mega-menu .dropdown-item:hover .dd-thumb {
    transform: scale(1.12) rotate(-3deg)
}

@media(max-width:1199.98px) {
    .mega-menu {
        min-width: 0;
        padding: 0 0 .5rem .5rem !important
    }

    .mega-menu .dd-thumb {
        width: 2.6rem;
        height: 2rem
    }
}

.site-footer {
    position: relative;
    background: var(--brand-deep);
    color: #dbe6f6;
    overflow: hidden
}

.site-footer:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../img/footer-bg.webp) center/cover;
    opacity: .14;
    filter: grayscale(.5)
}

.site-footer .container {
    position: relative
}

.footer-main {
    padding: clamp(3rem, 6vw, 5rem) 0 clamp(2rem, 4vw, 3rem)
}

.site-footer h3 {
    color: #fff;
    font-size: 1.25rem;
    margin-bottom: 1.4rem
}

.site-footer a {
    color: #e8f0fc;
    text-decoration: none
}

.site-footer a:hover,
.site-footer a:focus-visible {
    color: var(--accent)
}

.footer-logo {
    width: 9.5rem;
    height: auto;
    margin-bottom: 1.25rem
}

.footer-list {
    list-style: none;
    margin: 0;
    padding: 0
}

.footer-list li {
    margin-bottom: .6rem;
    font-size: .98rem;
    line-height: 1.5
}

.footer-address {
    display: flex;
    gap: .7rem;
    margin-bottom: 1rem
}

.footer-address .icon {
    color: var(--accent);
    margin-top: .25rem
}

.footer-contact p,
.footer-contact li {
    font-size: .98rem;
    line-height: 1.6;
    overflow-wrap: anywhere
}

.footer-review img {
    background: #fff;
    border-radius: .5rem;
    padding: .3rem;
    margin-top: .6rem
}

.footer-bottom {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, .14);
    padding: 1.2rem 0;
    font-size: .92rem;
    text-align: center
}

.footer-bottom a {
    color: #c3d3ea
}

.footer-credits {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none
}

.hero {
    --hero-gap: 1.6rem;
    position: relative;
    margin: 0 var(--hero-gap) var(--hero-gap);
    border-radius: 2.4rem;
    overflow: hidden;
    background: var(--brand-deep);
    isolation: isolate;
    box-shadow: 0 1.4rem 3rem #0b2a5b2e
}

.hero .carousel-item {
    position: relative;
    height: clamp(32rem, calc(100vh - 7.2rem), 52rem)
}

.hero-img {
    position: absolute;
    inset: 0;
    overflow: hidden
}

.hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.12)
}

.hero .carousel-item.active .hero-img img {
    animation: heroZoom 9s cubic-bezier(.2, .6, .2, 1) forwards
}

@keyframes heroZoom {
    0% {
        transform: scale(1.12)
    }

    to {
        transform: scale(1)
    }
}

.hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #0616349e, #0616342e 42%, #0616340d 62%, #06163461), linear-gradient(90deg, #0616348c, #06163400 62%)
}

.hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(2rem, 4.2vw, 3.6rem) clamp(1.4rem, 4vw, 3.6rem);
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.hero-copy {
    max-width: min(54rem, 100%)
}

.hero h1,
.hero .hero-title {
    display: flex;
    align-items: flex-start;
    gap: clamp(.7rem, 1.4vw, 1.2rem);
    color: #fff;
    font-size: clamp(2.3rem, 5.6vw, 5.1rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.06;
    margin: 0;
    text-shadow: 0 .15rem 1.6rem rgba(0, 0, 0, .35)
}

.hero-mark {
    position: relative;
    flex: none;
    width: clamp(3.4rem, 6.2vw, 5.6rem);
    height: clamp(2rem, 3.6vw, 3.3rem);
    margin-top: clamp(.25rem, .8vw, .7rem)
}

.hero-mark i {
    position: absolute;
    top: 0;
    bottom: 0;
    aspect-ratio: 1;
    border: clamp(.28rem, .5vw, .45rem) solid #fff;
    border-radius: 50%;
    transition: transform .8s cubic-bezier(.2, .7, .2, 1)
}

.hero-mark i:first-child {
    left: 0
}

.hero-mark i:last-child {
    right: 0
}

.hero-text {
    color: #fff;
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.6;
    max-width: 44rem;
    margin: clamp(1rem, 2vw, 1.6rem) 0 0;
    padding-left: clamp(4.1rem, 7.6vw, 6.8rem);
    text-shadow: 0 .1rem .9rem rgba(0, 0, 0, .5)
}

.hero .carousel-item .hero-copy>*,
.hero .carousel-item .hero-view {
    opacity: 0;
    transform: translateY(1.6rem)
}

.hero .carousel-item.active .hero-copy>h1,
.hero .carousel-item.active .hero-copy>.hero-title {
    animation: heroUp .9s .15s cubic-bezier(.2, .7, .2, 1) forwards
}

.hero .carousel-item.active .hero-copy>.hero-text {
    animation: heroUp .9s .4s cubic-bezier(.2, .7, .2, 1) forwards
}

.hero .carousel-item.active .hero-view {
    animation: heroUp .9s .65s cubic-bezier(.2, .7, .2, 1) forwards
}

.hero .carousel-item.active .hero-mark i:first-child {
    animation: ringL 1.2s .2s cubic-bezier(.2, .7, .2, 1) both
}

.hero .carousel-item.active .hero-mark i:last-child {
    animation: ringR 1.2s .2s cubic-bezier(.2, .7, .2, 1) both
}

@keyframes heroUp {
    to {
        opacity: 1;
        transform: none
    }
}

@keyframes ringL {
    0% {
        transform: translate(80%) rotate(-120deg);
        opacity: 0
    }

    to {
        transform: none;
        opacity: 1
    }
}

@keyframes ringR {
    0% {
        transform: translate(-80%) rotate(120deg);
        opacity: 0
    }

    to {
        transform: none;
        opacity: 1
    }
}

.hero-view {
    position: relative;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    height: 8.2rem;
    width: 14.6rem;
    color: var(--ink);
    text-decoration: none
}

.hero-view-disc {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 8.2rem;
    height: 8.2rem;
    border-radius: 50%;
    background: #fff;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .01em;
    text-transform: uppercase;
    text-align: left;
    padding-left: .2rem;
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), background .3s, color .3s;
    box-shadow: 0 .8rem 2rem #0000002e
}

.hero-view-disc span {
    display: block
}

.hero-view-ring {
    position: absolute;
    left: 6.4rem;
    top: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 8.2rem;
    height: 8.2rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .75);
    color: #fff;
    transition: transform .55s cubic-bezier(.2, .7, .2, 1), border-color .3s, background .3s
}

.hero-view-ring .icon {
    width: 2.4rem;
    height: 2.4rem;
    transform: rotate(-45deg);
    transition: transform .45s ease
}

.hero-view:hover .hero-view-disc,
.hero-view:focus-visible .hero-view-disc {
    transform: scale(1.07);
    background: var(--accent);
    color: var(--brand-deep)
}

.hero-view:hover .hero-view-ring,
.hero-view:focus-visible .hero-view-ring {
    transform: translate(.9rem) rotate(90deg);
    background: #ffffff24;
    border-color: #fff
}

.hero-view:hover .hero-view-ring .icon,
.hero-view:focus-visible .hero-view-ring .icon {
    transform: rotate(-135deg) scale(1.1)
}

.hero-next {
    position: absolute;
    z-index: 6;
    right: clamp(1rem, 2vw, 1.8rem);
    bottom: clamp(1rem, 2vw, 1.8rem);
    width: clamp(12.5rem, 17vw, 16.4rem);
    padding: .4rem;
    border-radius: 1.5rem;
    background: #fff;
    box-shadow: 0 1rem 2.4rem #00000038;
    transition: transform .4s ease, box-shadow .4s
}

.hero-next:hover {
    transform: translateY(-.3rem);
    box-shadow: 0 1.4rem 2.8rem #00000047
}

.hero-next-media {
    position: relative;
    aspect-ratio: 16/8.6;
    border-radius: 1.15rem;
    overflow: hidden;
    background: #dce6f4
}

.hero-next-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.15);
    transition: opacity .7s ease, transform 1.2s ease
}

.hero-next-media img.is-on {
    opacity: 1;
    transform: scale(1)
}

.hero-next-media:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 22, 52, .35), transparent 45%)
}

.hero .carousel-indicators {
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    top: .55rem;
    bottom: auto;
    margin: 0;
    padding: 0;
    justify-content: center;
    gap: .4rem
}

.hero .carousel-indicators [data-bs-target] {
    position: relative;
    flex: 0 1 1.6rem;
    width: 1.6rem;
    height: .28rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: .2rem;
    background: #06163473;
    opacity: 1;
    overflow: hidden;
    text-indent: 0;
    box-shadow: 0 0 0 1px #ffffff40;
    transition: background .3s
}

.hero .carousel-indicators [data-bs-target]:after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: left
}

.hero .carousel-indicators .active {
    background: #06163473
}

.hero .carousel-indicators .active:after {
    animation: dashFill 6.5s linear forwards
}

.hero.is-held .carousel-indicators .active:after {
    animation-play-state: paused
}

@keyframes dashFill {
    to {
        transform: scaleX(1)
    }
}

.hero-next-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    padding: .7rem .4rem .4rem .7rem
}

.hero-next-title {
    margin: 0;
    color: var(--ink);
    font-size: .98rem;
    font-weight: 500;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.hero-next-btn {
    flex: none;
    display: grid;
    place-items: center;
    width: 3.1rem;
    height: 3.1rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--ink);
    color: #fff;
    transition: background .3s, transform .4s cubic-bezier(.2, .7, .2, 1)
}

.hero-next-btn .icon {
    width: 1.2rem;
    height: 1.2rem;
    transform: rotate(-45deg);
    transition: transform .35s
}

.hero-next-btn:hover,
.hero-next-btn:focus-visible {
    background: var(--brand);
    transform: scale(1.1)
}

.hero-next-btn:hover .icon {
    transform: rotate(0)
}

.hero-toggle {
    position: absolute;
    z-index: 6;
    right: clamp(14rem, 19.5vw, 18.8rem);
    bottom: clamp(1rem, 2vw, 1.8rem);
    width: 3rem;
    height: 3rem;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 50% !important;
    background: #ffffff24;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    color: #fff;
    display: grid;
    place-items: center;
    padding: 0;
    transition: background .3s, color .3s, transform .3s
}

.hero-toggle:hover {
    background: #fff;
    color: var(--brand-deep);
    transform: scale(1.08)
}

.hero-toggle .icon {
    width: 1.1rem;
    height: 1.1rem
}

.hero-toggle .i-play,
.hero-toggle.is-paused .i-pause {
    display: none
}

.hero-toggle.is-paused .i-play {
    display: block
}

@media(max-width:991.98px) {
    .hero {
        --hero-gap: 1rem;
        border-radius: 1.8rem
    }

    .hero-view {
        height: 6.4rem;
        width: 11.4rem
    }

    .hero-view-disc,
    .hero-view-ring {
        width: 6.4rem;
        height: 6.4rem
    }

    .hero-view-ring {
        left: 5rem
    }

    .hero-view-disc {
        font-size: .85rem
    }

    .hero-view-ring .icon {
        width: 1.8rem;
        height: 1.8rem
    }
}

@media(max-width:575.98px) {
    .hero {
        --hero-gap: .6rem;
        border-radius: 1.4rem
    }

    .hero .carousel-item {
        height: clamp(30rem, calc(100vh - 6rem), 40rem)
    }

    .hero-text {
        padding-left: 0;
        font-size: .95rem
    }

    .hero-view {
        height: 5.2rem;
        width: 9.2rem
    }

    .hero-view-disc,
    .hero-view-ring {
        width: 5.2rem;
        height: 5.2rem
    }

    .hero-view-ring {
        left: 4rem
    }

    .hero-view-disc {
        font-size: .74rem
    }

    .hero-next {
        width: 10.6rem;
        border-radius: 1.2rem
    }

    .hero-next-media {
        aspect-ratio: 16/7
    }

    .hero-next-title {
        font-size: .8rem
    }

    .hero-next-btn {
        width: 2.5rem;
        height: 2.5rem
    }

    .hero-toggle {
        right: 1rem;
        left: auto;
        top: 1rem;
        bottom: auto;
        width: 2.6rem;
        height: 2.6rem
    }

    .hero-content {
        padding-top: 4.2rem
    }
}

@media(prefers-reduced-motion:reduce) {

    .hero .carousel-item .hero-copy>*,
    .hero .carousel-item .hero-view {
        opacity: 1;
        transform: none;
        animation: none !important
    }

    .hero-img img {
        transform: none;
        animation: none !important
    }
}

.about {
    overflow: hidden
}

.about-media {
    position: relative;
    padding: 0 0 2.5rem 2.5rem;
    max-width: 34rem;
    margin-inline: auto
}

.about-media:before {
    content: "";
    position: absolute;
    left: 0;
    top: 2rem;
    width: 7rem;
    height: 9rem;
    background-image: radial-gradient(var(--brand) 1.5px, transparent 1.7px);
    background-size: .9rem .9rem;
    opacity: .35
}

.about-main {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    aspect-ratio: 4/5;
    box-shadow: var(--shadow)
}

.about-sub {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 46%;
    border-radius: var(--radius);
    overflow: hidden;
    border: .4rem solid #fff;
    aspect-ratio: 1/1;
    box-shadow: var(--shadow)
}

.about .tab-content {
    padding-top: 1.5rem;
    font-size: 1.05rem
}

.about .tab-content p:last-child {
    margin-bottom: 0
}

.about h3 {
    font-size: 1.2rem;
    margin: 1.25rem 0 .6rem
}

@media(max-width:575.98px) {
    .about-media {
        padding-left: 1.5rem
    }
}

.product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none
}

.product-img {
    border-radius: var(--radius);
    overflow: hidden;
    aspect-ratio: 4/3;
    background: #dce6f4;
    box-shadow: 0 .6rem 1.6rem #0b2a5b1a
}

.product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s
}

.product-card:hover .product-img img {
    transform: scale(1.05)
}

.product-body {
    position: relative;
    flex: 1;
    background: #fff;
    border-radius: var(--radius);
    margin: -2.6rem 0 0 1.5rem;
    padding: 1.3rem 1.5rem 1.5rem;
    box-shadow: 0 .8rem 2rem #0b2a5b1f
}

.product-body h3 {
    font-size: 1.2rem;
    margin: 0 0 .5rem;
    color: var(--ink)
}

.product-body p {
    margin: 0;
    font-size: .95rem;
    line-height: 1.55;
    color: var(--muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.product-card:hover .product-body h3 {
    color: var(--brand)
}

.product-tag {
    position: absolute;
    z-index: 4;
    right: 1rem;
    top: .9rem;
    background: #fff;
    color: var(--brand);
    font-size: .85rem;
    font-weight: 600;
    padding: .2rem .85rem;
    border-radius: 2rem
}

@media(max-width:575.98px) {
    .product-body {
        margin-left: .9rem
    }
}

@media(max-width:767.98px) {
    .products-row {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 1.25rem;
        scrollbar-width: none
    }

    .products-row::-webkit-scrollbar {
        display: none
    }

    .products-row>* {
        flex: 0 0 82%;
        width: 82%;
        max-width: 82%;
        scroll-snap-align: start
    }
}

.feature {
    background: var(--brand);
    color: #fff;
    overflow: hidden
}

.feature-text {
    position: relative;
    padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 4vw, 4rem);
    background-color: var(--brand);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520' fill='none' stroke='%23ffffff' stroke-opacity='.09' stroke-width='2'%3E%3Cpath d='M-20 120C80 40 180 180 280 110S440 30 540 100'/%3E%3Cpath d='M-20 170C80 90 180 230 280 160S440 80 540 150'/%3E%3Cpath d='M-20 220C80 140 180 280 280 210S440 130 540 200'/%3E%3Cpath d='M-20 360C90 300 190 420 300 350S450 290 540 340'/%3E%3C/svg%3E")
}

.feature-inner {
    max-width: 38rem
}

.feature h2 {
    color: #fff
}

.feature .title-bar {
    background: var(--accent)
}

.feature p {
    color: #fff;
    font-size: 1.1rem
}

.feature-media {
    position: relative;
    min-height: 24rem;
    background: var(--brand-deep)
}

.feature-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media(min-width:992px) {
    .feature-text {
        padding-left: max(1rem, calc((100vw - 1320px)/2 + .75rem))
    }
}

.service-card {
    position: relative;
    height: 100%;
    background: #fff;
    border-radius: var(--radius);
    padding: clamp(1.75rem, 3.4vw, 2.8rem);
    box-shadow: var(--shadow);
    --notch-bg: var(--surface)
}

.service-icon {
    display: grid;
    place-items: center;
    width: 5rem;
    height: 5rem;
    border-radius: 1.3rem 1.3rem 1.3rem .4rem;
    background: var(--brand);
    color: var(--accent);
    margin-bottom: 1.5rem
}

.service-icon svg {
    width: 2.5rem;
    height: 2.5rem
}

.service-card h3 {
    font-size: clamp(1.4rem, 2.4vw, 1.8rem);
    margin-bottom: .8rem
}

.service-card p {
    margin: 0 0 1.25rem
}

.service-card .read-more {
    font-weight: 600;
    text-decoration: none
}

.service-card .read-more:after {
    content: " \2192"
}

.news {
    background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='500' viewBox='0 0 900 500' fill='none' stroke='%23ffffff' stroke-width='28' stroke-opacity='.75'%3E%3Cpath d='M-40 120C150 20 280 260 460 160S760 40 940 150'/%3E%3Cpath d='M-40 330C170 230 300 460 480 370S780 250 940 360'/%3E%3C/svg%3E") center/cover
}

.news .product-img {
    aspect-ratio: 4/3
}

.cta {
    padding: clamp(2rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 5rem)
}

.cta-box {
    position: relative;
    overflow: hidden;
    background-color: var(--brand-deep);
    color: #fff;
    border-radius: 2.4rem;
    padding: clamp(2.2rem, 5vw, 4.4rem);
    isolation: isolate;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='360' viewBox='0 0 560 360' fill='none' stroke='%23ffffff' stroke-opacity='.1' stroke-width='22'%3E%3Ccircle cx='330' cy='180' r='140'/%3E%3Ccircle cx='450' cy='180' r='140'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right -4rem center;
    background-size: auto 150%;
    transition: background-position 1.2s ease
}

.cta-box:hover {
    background-position: right -1rem center
}

.cta-box.notch:before {
    display: none
}

.cta-box h2 {
    color: #fff;
    font-size: clamp(1.7rem, 3.4vw, 2.7rem);
    font-weight: 600;
    letter-spacing: -.02em;
    margin: 0
}

.cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem
}

@media(min-width:992px) {
    .cta-actions {
        justify-content: flex-end
    }
}

.cta-actions .btn {
    --bs-btn-padding-y: .45rem;
    border-radius: 3rem !important;
    font-size: 1rem;
    transition: transform .3s, box-shadow .3s, background .3s, color .3s
}

.cta-actions .btn:hover {
    transform: translateY(-2px)
}

.cta-actions .btn-light-brand {
    --bs-btn-padding-x: 1.6rem;
    padding-right: .45rem;
    gap: 1.1rem
}

.cta-actions .btn-light-brand .icon {
    box-sizing: content-box;
    width: 1rem;
    height: 1rem;
    padding: .85rem;
    border-radius: 50%;
    background: var(--brand);
    color: #fff;
    transform: rotate(-45deg);
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), background .3s, color .3s
}

.cta-actions .btn-light-brand:hover .icon {
    transform: rotate(0);
    background: var(--accent);
    color: var(--brand-deep)
}

.cta-actions .btn-outline-light-brand {
    --bs-btn-padding-x: 1.8rem;
    --bs-btn-padding-y: .95rem
}

.page-banner {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(20rem, 46vh, 30rem);
    margin: 0 1.6rem 1.6rem;
    padding: 3rem 0 clamp(2.5rem, 5vw, 4rem);
    background: var(--brand-deep);
    color: #fff;
    overflow: hidden;
    border-radius: 2.4rem;
    isolation: isolate
}

.page-banner-img {
    position: absolute;
    inset: 0;
    z-index: -3
}

.page-banner-img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.page-banner:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(90deg, #071c42f2, #071c42d6 46%, #071c4280), linear-gradient(180deg, rgba(6, 22, 52, .7), transparent 40%)
}

.page-banner:after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -4%;
    top: 0;
    bottom: 0;
    width: 36%;
    background: linear-gradient(115deg, transparent 0 46%, rgba(255, 194, 51, .2) 46% 58%, transparent 58% 66%, rgba(255, 255, 255, .07) 66% 100%)
}

.page-banner h1 {
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.8rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.1;
    margin: 0;
    text-shadow: 0 .15rem 1.2rem rgba(0, 0, 0, .4)
}

.page-banner .title-bar {
    margin: 1.3rem 0 1.4rem
}

.page-banner .breadcrumb {
    --bs-breadcrumb-divider-color: rgba(255, 255, 255, .75);
    --bs-breadcrumb-item-active-color: #fff;
    --bs-breadcrumb-item-padding-x: .6rem;
    display: inline-flex;
    margin: 0;
    padding: .55rem 1.25rem;
    border-radius: 2rem;
    background: #ffffff24;
    border: 1px solid rgba(255, 255, 255, .35);
    font-size: .95rem
}

.page-banner .breadcrumb a {
    color: #fff
}

.page-banner .breadcrumb a:hover {
    color: var(--accent)
}

@media(max-width:767.98px) {
    .page-banner {
        margin: 0 .7rem 1rem;
        border-radius: 1.6rem
    }
}

.prose {
    font-size: 1.08rem;
    color: var(--text)
}

.prose .lead-text {
    border-left: .4rem solid var(--accent);
    padding: .25rem 0 .25rem 1.4rem;
    margin: 0 0 2rem
}

.prose .prose-title {
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    margin: 0 0 1.2rem
}

.prose h3 {
    font-size: clamp(1.25rem, 2.2vw, 1.6rem);
    margin: 2rem 0 .9rem;
    display: flex;
    align-items: center;
    gap: .8rem
}

.prose h3:before {
    content: "";
    width: 2rem;
    height: .3rem;
    border-radius: .2rem;
    background: var(--accent);
    flex: none
}

.prose p {
    margin: 0 0 1.2rem
}

.prose strong {
    color: var(--ink)
}

.prose a {
    color: var(--brand);
    font-weight: 600
}

.list-pair {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 1.5rem
}

@media(min-width:768px) {
    .list-pair {
        grid-template-columns: 1fr 1fr
    }
}

.figures {
    display: grid;
    gap: 2rem
}

@media(min-width:992px) {
    .figures.is-sticky {
        position: sticky;
        top: calc(var(--header-h) + 1.5rem)
    }
}

.shape-figure {
    position: relative;
    margin: 0;
    padding: 0 1rem 1rem 0;
    isolation: isolate
}

.shape-figure:after {
    content: "";
    position: absolute;
    inset: 1rem 0 0 1rem;
    border: 3px solid var(--accent);
    border-radius: var(--radius);
    z-index: -1;
    transition: transform .35s
}

.shape-figure:hover:after {
    transform: translate(.35rem, .35rem)
}

.shape-figure.notch:before {
    right: 1rem
}

.shape-in {
    display: block;
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    background: #dfe7f3;
    box-shadow: var(--shadow)
}

.shape-in img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .6s
}

a.shape-in {
    cursor: zoom-in
}

a.shape-in:after {
    content: "+";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    background: var(--accent);
    color: var(--brand-deep);
    display: grid;
    place-items: center;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1;
    opacity: 0;
    transform: scale(.7);
    transition: .3s
}

.shape-figure:hover .shape-in img {
    transform: scale(1.05)
}

.shape-figure:hover a.shape-in:after {
    opacity: 1;
    transform: none
}

.shape-figure.is-tint .shape-in {
    background: var(--brand-light);
    padding: 1.25rem
}

.shape-figure iframe {
    border: 0
}

.spec-wrap {
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    background: #fff
}

.spec-table {
    --bs-table-bg: #fff;
    margin: 0;
    font-size: 1.05rem
}

.spec-table th {
    width: 24%;
    min-width: 9rem;
    background: var(--brand);
    color: #fff;
    font-weight: 700;
    padding: 1.1rem 1.4rem;
    vertical-align: top;
    border-color: #ffffff2e
}

.spec-table td {
    padding: 1.1rem 1.4rem;
    color: var(--text);
    line-height: 1.65;
    border-color: var(--line)
}

.spec-table tr:nth-child(2n) td {
    background: var(--surface)
}

@media(max-width:575.98px) {

    .spec-table,
    .spec-table tbody,
    .spec-table tr,
    .spec-table th,
    .spec-table td {
        display: block;
        width: 100%
    }

    .spec-table th {
        padding: .8rem 1.1rem
    }

    .spec-table td {
        padding: .9rem 1.1rem
    }
}

.gallery-item {
    display: block;
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    aspect-ratio: 4/3;
    background: #dce6f4;
    box-shadow: 0 .8rem 2rem #0b2a5b24
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s
}

.gallery-item:hover img {
    transform: scale(1.06)
}

.gallery-item:after {
    content: "+";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    background: var(--accent);
    color: var(--brand-deep);
    display: grid;
    place-items: center;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1;
    opacity: 0;
    transform: scale(.7);
    transition: .3s
}

.gallery-item:hover:after,
.gallery-item:focus-visible:after {
    opacity: 1;
    transform: none
}

.gallery-frame {
    position: relative;
    padding: 0 .9rem .9rem 0;
    isolation: isolate
}

.gallery-frame:after {
    content: "";
    position: absolute;
    inset: .9rem 0 0 .9rem;
    border: 3px solid var(--accent);
    border-radius: var(--radius);
    z-index: -1;
    transition: transform .35s
}

.gallery-frame:hover:after {
    transform: translate(.3rem, .3rem)
}

.gallery-frame .notch:before {
    height: 1.1rem
}

.gallery-frame.notch:before {
    right: .9rem
}

.gallery-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 2.2rem 1rem .85rem;
    color: #fff;
    font-weight: 600;
    font-size: .98rem;
    line-height: 1.3;
    background: linear-gradient(180deg, transparent, rgba(7, 28, 66, .85))
}

.gallery-item:hover:after {
    opacity: 0
}

.contact-card {
    display: flex;
    gap: 1.1rem;
    background: #fff;
    border-radius: var(--radius);
    padding: 1.5rem 1.6rem;
    box-shadow: 0 .8rem 2.2rem #0b2a5b1a;
    margin-bottom: 1.25rem
}

.contact-card>div {
    min-width: 0
}

.contact-icon {
    flex: none;
    display: grid;
    place-items: center;
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 1rem 1rem 1rem .3rem;
    background: var(--brand);
    color: var(--accent)
}

.contact-icon svg {
    width: 1.6rem;
    height: 1.6rem
}

.contact-card h3 {
    font-size: 1.15rem;
    margin-bottom: .4rem
}

.contact-card p,
.contact-card li {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.6;
    overflow-wrap: anywhere
}

.contact-card a {
    font-weight: 600
}

.dept-list {
    list-style: none;
    margin: .3rem 0 0;
    padding: 0
}

.dept-list li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .1rem 1rem;
    padding: .55rem 0;
    border-bottom: 1px dashed var(--line)
}

.dept-list li:last-child {
    border: 0
}

.dept-list b {
    font-weight: 600;
    color: var(--ink)
}

.contact-review {
    margin-top: 1.75rem;
    text-align: center
}

.contact-review img {
    background: #fff;
    padding: .5rem .8rem;
    border-radius: .8rem;
    box-shadow: 0 .6rem 1.6rem #0b2a5b1f
}

.map-frame iframe {
    border: 0;
    width: 100%;
    height: 100%
}

.sitemap-card {
    position: relative;
    height: 100%;
    background: #fff;
    border-radius: var(--radius);
    padding: clamp(1.6rem, 3vw, 2.5rem);
    box-shadow: 0 .8rem 2.4rem #0b2a5b1a;
    --notch-bg: var(--surface)
}

.sitemap-card h2 {
    font-size: 1.6rem;
    margin-bottom: 1.1rem;
    display: flex;
    align-items: center;
    gap: .8rem
}

.sitemap-card h2:before {
    content: "";
    width: 2rem;
    height: .3rem;
    border-radius: .2rem;
    background: var(--accent)
}

.sitemap-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .2rem
}

.sitemap-card li a {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .65rem .85rem;
    border-radius: .6rem;
    color: var(--ink);
    font-weight: 500;
    text-decoration: none
}

.sitemap-card li a:before {
    content: "";
    width: .5rem;
    height: .5rem;
    border-radius: .1rem;
    background: var(--brand);
    transform: rotate(45deg);
    flex: none
}

.sitemap-card li a:hover {
    background: var(--brand-light);
    color: var(--brand)
}

.form-card {
    position: relative;
    background: #fff;
    border-radius: var(--radius);
    padding: clamp(1.5rem, 4vw, 3.2rem);
    box-shadow: 0 1.5rem 4rem #0b2a5b29;
    --notch-bg: var(--surface)
}

.pf-form .LeftForm,
.pf-form .RightForm {
    display: grid;
    gap: 1rem;
    align-content: start
}

.pf-form .clear {
    display: none
}

.pf-form .form-control,
.pf-form .form-select {
    padding: .9rem 1.1rem;
    font-size: 1rem;
    color: var(--ink);
    background-color: #fff;
    border: 1.5px solid #bccbdd;
    border-radius: .65rem
}

.pf-form textarea.form-control {
    min-height: 6.5rem;
    resize: vertical
}

.pf-form ::placeholder {
    color: #5d6b7d;
    opacity: 1
}

.pf-form .form-control:focus,
.pf-form .form-select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 .25rem #1a4fa033
}

.pf-form input[type=file] {
    padding: .7rem;
    background: var(--surface);
    border-style: dashed;
    color: var(--ink)
}

.pf-form input[type=file]::file-selector-button {
    background: var(--brand);
    color: #fff;
    border: 0;
    border-radius: var(--shape-sm);
    padding: .45rem .9rem;
    margin-right: .8rem;
    font-weight: 600
}

.pf-form .buttonWrapper,
.pf-form .otp-submit-row {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem
}

.pf-form .has-feedback img {
    display: block;
    margin: 0 0 .6rem;
    border-radius: .5rem;
    border: 1px solid var(--line)
}

.pf-form .input-group-addon {
    display: none
}

.pf-form .input-group {
    display: block
}

.pf-form .form-group {
    margin: 0
}

.pf-form .contact-h1,
.pf-form .contact-h2 {
    width: 100%;
    text-align: left;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.3;
    padding-left: 1.1rem;
    border-left: .4rem solid var(--accent);
    margin-bottom: 1rem
}

.pf-form .contact-h1 {
    font-size: clamp(1.2rem, 2.2vw, 1.55rem)
}

.pf-form .contact-h2 {
    font-size: clamp(1rem, 1.8vw, 1.2rem);
    font-weight: 600;
    color: var(--text)
}

.pf-form .box-shadow {
    display: none
}

.form-note {
    font-size: .95rem;
    color: var(--muted);
    margin: 1.25rem 0 0
}

.otp-input-hidden {
    display: none !important
}

#otp_resend_link,
#otp_submit_row {
    display: none
}

.otp-status {
    display: none;
    font-size: .95rem;
    margin-top: .4rem;
    background: var(--brand-light);
    color: var(--ink);
    border-radius: .65rem;
    padding: .8rem 1rem
}

.otp-status.is-visible {
    display: block
}

.otp-status--error {
    background: #fde8e8;
    color: #8a1c1c
}

.otp-resend-link {
    display: inline-block;
    margin-top: .4rem;
    text-decoration: underline;
    cursor: pointer;
    font-weight: 700;
    color: var(--brand)
}

.otp-resend-link.is-disabled {
    opacity: .55;
    pointer-events: none
}

.otp-resend-countdown {
    font-size: .9rem;
    margin-top: .3rem
}

.pf-form .input-group>.form-control,
.pf-form .input-group>.form-select {
    width: 100%
}

.pf-form .input-group {
    flex-wrap: wrap
}

.pf-form .form-group {
    margin-bottom: 1rem
}

.pf-form .row {
    --bs-gutter-y: 0;
    --bs-gutter-x: 1.25rem
}

.lightbox .modal-content {
    background: transparent;
    border: 0;
    position: relative
}

.lightbox .modal-backdrop-fix {
    display: none
}

.lightbox img {
    display: block;
    max-width: 100%;
    max-height: 86vh;
    margin: auto;
    border-radius: .8rem;
    box-shadow: 0 1.2rem 4rem #00000080;
    background: #fff
}

.lightbox .lb-btn {
    position: absolute;
    display: grid;
    place-items: center;
    width: 2.9rem;
    height: 2.9rem;
    border: 0;
    border-radius: 50%;
    background: var(--accent);
    color: var(--brand-deep);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1;
    z-index: 5
}

.lightbox .lb-close {
    top: -.8rem;
    right: -.8rem
}

.lightbox .lb-prev {
    left: -.8rem;
    top: 50%;
    margin-top: -1.45rem
}

.lightbox .lb-next {
    right: -.8rem;
    top: 50%;
    margin-top: -1.45rem
}

.modal-backdrop.show {
    --bs-backdrop-opacity: .88;
    --bs-backdrop-bg: #071c42
}

@media(max-width:575.98px) {
    .lightbox .lb-close {
        top: .4rem;
        right: .4rem
    }

    .lightbox .lb-prev {
        left: .4rem
    }

    .lightbox .lb-next {
        right: .4rem
    }
}

.lightbox img {
    width: auto;
    height: auto;
    min-width: 4rem;
    min-height: 4rem
}

.lightbox .modal-dialog {
    width: fit-content;
    max-width: min(94vw, 1300px);
    margin-left: auto;
    margin-right: auto
}

.lightbox .modal-content {
    width: auto
}

.btn-pill {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 1.1rem;
    padding: .35rem .35rem .35rem 1.7rem;
    border: 0;
    border-radius: 3rem;
    background: var(--brand);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    box-shadow: 0 .7rem 1.6rem #1a4fa047;
    transition: box-shadow .3s, transform .3s, color .3s
}

.btn-pill:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--brand-deep);
    transform: translate(-102%);
    transition: transform .5s cubic-bezier(.2, .7, .2, 1)
}

.btn-pill .icon {
    box-sizing: content-box;
    width: 1.05rem;
    height: 1.05rem;
    padding: .9rem;
    border-radius: 50%;
    background: #fff;
    color: var(--brand);
    transform: rotate(-45deg);
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), background .3s, color .3s
}

.btn-pill:hover,
.btn-pill:focus-visible {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 1rem 2rem #1a4fa057
}

.btn-pill:hover:before,
.btn-pill:focus-visible:before {
    transform: none
}

.btn-pill:hover .icon,
.btn-pill:focus-visible .icon {
    transform: rotate(0);
    background: var(--accent);
    color: var(--brand-deep)
}

.pd-crumb {
    padding: 1.2rem 0 .2rem
}

.pd-crumb .breadcrumb {
    --bs-breadcrumb-divider: "\bb";
    --bs-breadcrumb-divider-color: var(--muted);
    --bs-breadcrumb-item-padding-x: .6rem;
    margin: 0;
    font-size: .95rem
}

.pd-crumb a {
    color: var(--muted);
    text-decoration: none;
    transition: color .2s
}

.pd-crumb a:hover {
    color: var(--brand)
}

.pd-crumb .active {
    color: var(--ink);
    font-weight: 600
}

.pd-intro {
    padding: clamp(1.4rem, 3vw, 2.4rem) 0 clamp(3rem, 6vw, 5.5rem)
}

.pd-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2.2rem 3.6rem;
    align-items: start
}

@media(min-width:992px) {
    .pd-grid {
        grid-template-columns: minmax(0, 5fr) minmax(0, 6fr)
    }
}

.pd-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem
}

.pd-gallery.has-thumbs {
    grid-template-columns: 5.4rem minmax(0, 1fr)
}

@media(min-width:992px) {
    .pd-gallery {
        position: sticky;
        top: calc(var(--hh, 5rem) + 1.6rem)
    }
}

.pd-thumbs {
    display: flex;
    flex-direction: column;
    gap: .75rem
}

.pd-thumb {
    padding: 0;
    border: 2px solid transparent;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 1;
    background: #e9eef6;
    opacity: .6;
    transition: opacity .3s, border-color .3s, transform .3s
}

.pd-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.pd-thumb:hover {
    opacity: 1;
    transform: translate(.2rem)
}

.pd-thumb.is-active {
    opacity: 1;
    border-color: var(--brand)
}

.pd-stage {
    position: relative;
    aspect-ratio: 4/3.3;
    border-radius: 1.8rem;
    overflow: hidden;
    background: #e9eef6;
    box-shadow: 0 1.2rem 2.8rem #0b2a5b24
}

.pd-stage.is-video {
    aspect-ratio: 16/9
}

.pd-stage iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.pd-slide {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    cursor: zoom-in;
    transition: opacity .7s ease, visibility .7s
}

.pd-slide.is-active {
    opacity: 1;
    visibility: visible
}

.pd-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1s cubic-bezier(.2, .7, .2, 1)
}

.pd-stage:hover .pd-slide.is-active img {
    transform: scale(1.07)
}

.pd-slide:after {
    content: "+";
    position: absolute;
    right: 1.1rem;
    bottom: 1.1rem;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: #fff;
    color: var(--brand);
    display: grid;
    place-items: center;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1;
    box-shadow: 0 .4rem 1rem #0003;
    transition: transform .4s, background .3s, color .3s
}

.pd-slide:hover:after {
    transform: rotate(90deg) scale(1.1);
    background: var(--accent);
    color: var(--brand-deep)
}

@media(max-width:575.98px) {
    .pd-gallery.has-thumbs {
        grid-template-columns: minmax(0, 1fr)
    }

    .pd-gallery.has-thumbs .pd-thumbs {
        order: 2;
        flex-direction: row
    }

    .pd-thumb {
        width: 4.2rem;
        aspect-ratio: 1
    }
}

.pd-info h1 {
    font-size: clamp(2rem, 3.8vw, 3.1rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 0
}

.pd-info .title-bar {
    margin: 1.1rem 0 1.6rem
}

.pd-info .prose .lead-text {
    border: 0;
    padding: 0;
    margin: 0 0 1.3rem;
    font-size: clamp(1.1rem, 1.5vw, 1.28rem);
    font-weight: 700;
    line-height: 1.55;
    color: var(--ink)
}

.pd-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem
}

.pd-spec {
    background: var(--surface);
    --notch-bg: var(--surface)
}

.pd-heading {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin: 0 0 2rem;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 700
}

.pd-heading:after {
    content: "";
    flex: 1;
    order: 1;
    height: 1px;
    background: var(--line)
}

.pd-heading-chip {
    order: 2;
    display: grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    background: var(--brand);
    color: #fff
}

.pd-heading-chip .icon {
    width: 1rem;
    height: 1rem;
    transform: rotate(90deg)
}

.pd-spec .spec-wrap {
    border-radius: 1.6rem
}

.spec-table tr td {
    transition: background .25s
}

.pd-spec .spec-table tr:hover td {
    background: var(--brand-light)
}

.pd-more .gallery-frame {
    padding: 0
}

.pd-more .gallery-frame:after,
.pd-more .notch:before {
    display: none
}

.pd-more .gallery-item {
    border-radius: 1.4rem;
    box-shadow: 0 .6rem 1.6rem #0b2a5b1a;
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s
}

.pd-more .gallery-item:hover {
    transform: translateY(-.5rem);
    box-shadow: 0 1.4rem 2.6rem #0b2a5b33
}

.reveal {
    opacity: 0;
    transform: translateY(2.2rem);
    transition: opacity .85s ease, transform .85s cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--d, 0s)
}

.reveal.in {
    opacity: 1;
    transform: none
}

.reveal-left {
    transform: translate(-2.6rem)
}

.reveal-right {
    transform: translate(2.6rem)
}

.reveal-zoom {
    transform: scale(.94)
}

@media(prefers-reduced-motion:reduce) {
    .reveal {
        opacity: 1;
        transform: none
    }
}

/*notch-shape-merged*/
:is(.btn, .btn-pill):not(.header-cta) {
    --b-main: var(--brand);
    --b-fill: var(--brand);
    --b-text: var(--ink);
    --b-hover-text: #fff;
    --b-chip: var(--brand);
    --b-chip-ink: #fff;
    --b-bg: transparent;
    --b-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E");
    position: relative;
    isolation: isolate;
    overflow: visible;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    height: 3.2rem;
    margin-left: 2.6rem;
    padding: 0 1.5rem 0 1.2rem;
    border: 2px solid var(--b-main);
    border-radius: 2rem;
    background: var(--b-bg);
    color: var(--b-text);
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: none;
    transform: none;
    transition: color .3s, box-shadow .3s
}

:is(.btn, .btn-pill):not(.header-cta)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 2rem;
    background: var(--b-fill);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s ease
}

:is(.btn, .btn-pill):not(.header-cta):hover,
:is(.btn, .btn-pill):not(.header-cta):focus-visible,
:is(.btn, .btn-pill):not(.header-cta):active {
    color: var(--b-hover-text);
    background: var(--b-bg);
    border-color: var(--b-main);
    transform: none;
    box-shadow: 0 .5rem 1.2rem rgba(11, 42, 91, .28)
}

:is(.btn, .btn-pill):not(.header-cta):hover::before,
:is(.btn, .btn-pill):not(.header-cta):focus-visible::before {
    transform: scaleX(1)
}

:is(.btn, .btn-pill):not(.header-cta)>.icon,
:is(.btn, .btn-pill):not(.header-cta):not(:has(>.icon))::after {
    position: absolute;
    left: -2.4rem;
    top: 50%;
    margin: -1.6rem 0 0;
    box-sizing: border-box;
    width: 3.2rem;
    height: 3.2rem;
    padding: 1.05rem;
    border-radius: 50%;
    background-color: var(--b-chip);
    color: var(--b-chip-ink);
    box-shadow: 0 .3rem .9rem rgba(11, 42, 91, .3);
    transition: background-color .3s
}

:is(.btn, .btn-pill):not(.header-cta)>.icon {
    transform: rotate(-45deg)
}

:is(.btn, .btn-pill):not(.header-cta):not(:has(>.icon))::after {
    content: "";
    background-image: var(--b-arrow);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.15rem
}

:is(.btn, .btn-pill):not(.header-cta):hover>.icon {
    animation: arrowFly .5s ease
}

:is(.btn, .btn-pill):not(.header-cta):hover>.icon,
:is(.btn, .btn-pill):not(.header-cta):not(:has(>.icon)):hover::after {
    background-color: var(--brand-deep)
}

.btn-light-brand:not(.header-cta) {
    --b-main: #fff;
    --b-bg: #fff;
    --b-fill: var(--brand-light);
    --b-text: var(--ink);
    --b-hover-text: var(--ink);
    --b-chip: var(--accent);
    --b-chip-ink: var(--brand-deep);
    --b-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E")
}

.btn-outline-light-brand:not(.header-cta) {
    --b-main: #fff;
    --b-fill: #fff;
    --b-text: #fff;
    --b-hover-text: var(--brand-deep);
    --b-chip: #fff;
    --b-chip-ink: var(--brand-deep);
    --b-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E")
}

.btn-light-brand:not(.header-cta):hover>.icon,
.btn-light-brand:not(.header-cta):not(:has(>.icon)):hover::after,
.btn-outline-light-brand:not(.header-cta):hover>.icon,
.btn-outline-light-brand:not(.header-cta):not(:has(>.icon)):hover::after {
    background-color: var(--accent);
    color: var(--brand-deep)
}

@media (prefers-reduced-motion:reduce) {
    :is(.btn, .btn-pill):not(.header-cta)>.icon {
        animation: none !important
    }
}

.notch {
    --nw: 4.4rem;
    --nh: 3.8rem;
    --nr: 1rem;
    --d: 2.9rem;
    --s: var(--notch-bg, #fff);
    --nx: 0px;
    --badge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffc233' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0114 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"), radial-gradient(circle at calc(var(--nr) + var(--nw) / 2) calc(var(--nh) / 2), var(--brand) calc(var(--d) / 2 - .5px), transparent calc(var(--d) / 2))
}

.shape-figure.notch {
    --nx: 1rem
}

.gallery-frame.notch {
    --nx: .9rem
}

.notch.notch::before {
    content: "";
    position: absolute;
    top: 0;
    right: var(--nx);
    left: auto;
    pointer-events: none;
    z-index: 3;
    width: calc(var(--nw) + var(--nr));
    height: calc(var(--nh) + var(--nr));
    background-color: transparent;
    border-radius: 0;
    background-repeat: no-repeat;
    background-image: var(--badge), radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), var(--s) var(--nr)), linear-gradient(var(--s), var(--s)), linear-gradient(var(--s), var(--s)), radial-gradient(circle at 100% 0, var(--s) calc(var(--nr) - 1px), transparent var(--nr)), radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), var(--s) var(--nr));
    background-size: calc(var(--d) / 2) calc(var(--d) / 2), 100% 100%, var(--nr) var(--nr), var(--nw) calc(var(--nh) - var(--nr) + 1px), calc(var(--nw) - var(--nr) + 1px) var(--nr), var(--nr) var(--nr), var(--nr) var(--nr);
    background-position: calc(var(--nr) + var(--nw) / 2 - var(--d) / 4) calc(var(--nh) / 2 - var(--d) / 4), 0 0, 0 0, var(--nr) 0, calc(var(--nr) * 2 - 1px) calc(var(--nh) - var(--nr)), var(--nr) calc(var(--nh) - var(--nr)), var(--nw) var(--nh)
}

.service-card.notch {
    --badge: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent)
}

.service-card .service-icon {
    position: absolute;
    z-index: 4;
    top: calc((var(--nh) - var(--d)) / 2);
    right: calc((var(--nw) - var(--d)) / 2);
    width: var(--d);
    height: var(--d);
    margin: 0;
    border-radius: 50%;
    transition: transform .35s cubic-bezier(.2, .7, .2, 1)
}

.service-card .service-icon svg {
    width: 1.45rem;
    height: 1.45rem
}

.service-card:hover .service-icon {
    transform: scale(1.08) rotate(-6deg)
}

.service-card h3 {
    padding-right: calc(var(--nw) - .5rem);
    min-height: 0
}

/*f3-footer*/
.site-footer.f3 {
    background: #fff;
    padding: 0 clamp(.5rem, 2vw, 1.5rem) clamp(.5rem, 2vw, 1.5rem);
    --gap: #fff
}

.site-footer.f3::before {
    display: none
}

.f3-panel {
    position: relative;
    background: var(--brand-deep);
    color: #d3deef;
    border-radius: 1.6rem;
    padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3.5rem) 1.5rem;
    overflow: hidden
}

.f3-panel::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: clamp(1.5rem, 3vw, 3rem);
    height: 13rem;
    background: var(--gap);
    border-radius: 0 0 1.2rem 0
}

.f3-touch {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: .7rem;
    background: var(--gap);
    color: var(--ink) !important;
    font-size: 1.35rem;
    padding: .9rem 1.2rem .9rem 1.4rem;
    border-radius: 0 0 0 1.6rem
}

.f3-touch:hover {
    color: var(--brand) !important
}

.f3-touch-ico {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: var(--brand-deep);
    color: #fff
}

.f3-touch-ico .icon {
    transform: rotate(-45deg)
}

.f3-cols {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 2.5rem;
    padding: clamp(1rem, 2vw, 1.5rem) 0 clamp(2.5rem, 6vw, 5rem) clamp(0rem, 3vw, 2.5rem)
}

.f3-cols h3 {
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #fff;
    margin-bottom: 1.6rem
}

.f3-cols .footer-list li {
    margin-bottom: .85rem
}

.f3-big {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #fff !important;
    font-size: clamp(2.2rem, 8.5vw, 8.5rem);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.02em;
    padding: 0 0 .5rem;
    border-bottom: .3rem solid #fff;
    text-decoration: none;
    margin: 0 0 1.5rem
}

.f3-big svg {
    width: .8em;
    height: .8em;
    flex: none;
    transition: transform .3s
}

.f3-big:hover svg {
    transform: translate(.1em, -.1em)
}

.f3-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .6rem 2rem;
    font-size: .95rem
}

.f3-copy,
.f3-credits {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .3rem 1.5rem
}

.site-footer.f3 .f3-bottom a {
    color: #aebfdb
}

.site-footer.f3 .f3-bottom a:hover {
    color: var(--accent)
}

@media (max-width:991.98px) {
    .f3-cols {
        grid-template-columns: 1fr 1fr;
        padding-left: 0
    }

    .f3-panel::before {
        display: none
    }

    .f3-touch {
        position: static;
        border-radius: .8rem;
        margin-bottom: 1.5rem;
        display: inline-flex
    }
}

@media (max-width:575.98px) {
    .f3-cols {
        grid-template-columns: 1fr
    }
}

main:has(>section.bg-surface:last-child)+.site-footer.f3 {
    background: var(--surface);
    --gap: var(--surface)
}

.page-gallery .gallery-frame.notch {
    --badge: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent)
}

.gallery-frame.notch,
.shape-figure.notch {
    --s: transparent;
    filter: drop-shadow(0 .5rem .9rem rgba(11, 42, 91, .14))
}

.gallery-frame.notch .gallery-item,
.shape-figure.notch .shape-in {
    box-shadow: none;
    -webkit-mask-image: radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), #000 var(--nr)), linear-gradient(#000, #000), linear-gradient(#000, #000), radial-gradient(circle at 100% 0, #000 calc(var(--nr) - 1px), transparent var(--nr)), radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), #000 var(--nr)), linear-gradient(#000, #000);
    mask-image: radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), #000 var(--nr)), linear-gradient(#000, #000), linear-gradient(#000, #000), radial-gradient(circle at 100% 0, #000 calc(var(--nr) - 1px), transparent var(--nr)), radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), #000 var(--nr)), linear-gradient(#000, #000);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: var(--nr) var(--nr), var(--nw) calc(var(--nh) - var(--nr)), calc(var(--nw) - var(--nr)) var(--nr), var(--nr) var(--nr), var(--nr) var(--nr), 100% 100%;
    mask-size: var(--nr) var(--nr), var(--nw) calc(var(--nh) - var(--nr)), calc(var(--nw) - var(--nr)) var(--nr), var(--nr) var(--nr), var(--nr) var(--nr), 100% 100%;
    -webkit-mask-position: right var(--nw) top 0, right 0 top 0, right 0 top calc(var(--nh) - var(--nr)), right calc(var(--nw) - var(--nr)) top calc(var(--nh) - var(--nr)), right 0 top var(--nh), 0 0;
    mask-position: right var(--nw) top 0, right 0 top 0, right 0 top calc(var(--nh) - var(--nr)), right calc(var(--nw) - var(--nr)) top calc(var(--nh) - var(--nr)), right 0 top var(--nh), 0 0;
    -webkit-mask-composite: xor, xor, xor, xor, xor, source-over;
    mask-composite: exclude, exclude, exclude, exclude, exclude, add
}

.pd-more .gallery-frame.notch {
    filter: none
}

.pd-more .gallery-frame.notch .gallery-item {
    -webkit-mask: none;
    mask: none;
    box-shadow: var(--shadow)
}

.gallery-frame.notch::after,
.shape-figure.notch::after {
    -webkit-mask-image: linear-gradient(#000, #000), linear-gradient(#000, #000);
    mask-image: linear-gradient(#000, #000), linear-gradient(#000, #000);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: calc(var(--nw) + var(--nr) + 1.2rem) calc(var(--nh) + var(--nr) - .2rem), 100% 100%;
    mask-size: calc(var(--nw) + var(--nr) + 1.2rem) calc(var(--nh) + var(--nr) - .2rem), 100% 100%;
    -webkit-mask-position: right top, 0 0;
    mask-position: right top, 0 0;
    -webkit-mask-composite: xor, source-over;
    mask-composite: exclude, add
}

.gallery-frame.notch .gallery-item,
.shape-figure.notch .shape-in {
    -webkit-mask-image: linear-gradient(#000, #000), radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), #000 var(--nr)), linear-gradient(#000, #000), linear-gradient(#000, #000), radial-gradient(circle at 100% 0, #000 calc(var(--nr) - 1px), transparent var(--nr)), radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), #000 var(--nr));
    mask-image: linear-gradient(#000, #000), radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), #000 var(--nr)), linear-gradient(#000, #000), linear-gradient(#000, #000), radial-gradient(circle at 100% 0, #000 calc(var(--nr) - 1px), transparent var(--nr)), radial-gradient(circle at 0 100%, transparent calc(var(--nr) - 1px), #000 var(--nr));
    -webkit-mask-size: 100% 100%, var(--nr) var(--nr), var(--nw) calc(var(--nh) - var(--nr) + 1px), calc(var(--nw) - var(--nr) + 1px) calc(var(--nr) + 1px), var(--nr) var(--nr), var(--nr) var(--nr);
    mask-size: 100% 100%, var(--nr) var(--nr), var(--nw) calc(var(--nh) - var(--nr) + 1px), calc(var(--nw) - var(--nr) + 1px) calc(var(--nr) + 1px), var(--nr) var(--nr), var(--nr) var(--nr);
    -webkit-mask-position: 0 0, right var(--nw) top 0, right 0 top 0, right 0 top calc(var(--nh) - var(--nr)), right calc(var(--nw) - var(--nr)) top calc(var(--nh) - var(--nr)), right 0 top var(--nh);
    mask-position: 0 0, right var(--nw) top 0, right 0 top 0, right 0 top calc(var(--nh) - var(--nr)), right calc(var(--nw) - var(--nr)) top calc(var(--nh) - var(--nr)), right 0 top var(--nh);
    -webkit-mask-composite: source-out, source-over, source-over, source-over, source-over, source-over;
    mask-composite: subtract, add, add, add, add, add
}

.pcard-img,
.about2-media .m-main,
.feature-media,
.product-img {
    background-color: #dce6f4
}

.pcard-img img,
.product-img img {
    transition: opacity .35s
}

.site-footer.f3 {
    padding: 0
}

.site-footer.f3 .f3-panel {
    border-radius: 0
}

.f3-cols {
    padding-bottom: clamp(1.5rem, 3vw, 2.5rem)
}

.f3-bottom {
    padding-left: clamp(0rem, 3vw, 2.5rem);
    padding-right: 4rem
}

@media (max-width:991.98px) {
    .f3-bottom {
        padding-left: 0
    }
}

.quote-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 14.6rem;
    height: 8.2rem;
    text-decoration: none;
    color: #fff
}

.quote-disc {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 8.2rem;
    height: 8.2rem;
    border-radius: 50%;
    background: var(--brand-deep);
    color: #fff;
    font-size: .95rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .02em;
    text-align: left;
    padding-left: .2rem;
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), background .3s, color .3s
}

.quote-ring {
    position: absolute;
    left: 6.4rem;
    top: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 8.2rem;
    height: 8.2rem;
    border-radius: 50%;
    border: 1px solid var(--brand-deep);
    color: var(--brand-deep);
    transition: transform .55s cubic-bezier(.2, .7, .2, 1), background .3s
}

.quote-ring .icon {
    width: 2.4rem;
    height: 2.4rem;
    transform: rotate(-45deg);
    transition: transform .45s ease
}

.quote-btn:hover .quote-disc,
.quote-btn:focus-visible .quote-disc {
    transform: scale(1.06);
    background: var(--accent);
    color: var(--brand-deep)
}

.quote-btn:hover .quote-ring,
.quote-btn:focus-visible .quote-ring {
    transform: translateX(.9rem) rotate(90deg);
    background: rgba(26, 79, 160, .06)
}

.quote-btn:hover .quote-ring .icon {
    transform: rotate(-135deg) scale(1.1)
}

@media (max-width:575.98px) {
    .quote-btn {
        width: 11.8rem;
        height: 6.6rem
    }

    .quote-disc,
    .quote-ring {
        width: 6.6rem;
        height: 6.6rem
    }

    .quote-ring {
        left: 5.2rem
    }

    .quote-disc {
        font-size: .8rem
    }

    .quote-ring .icon {
        width: 1.9rem;
        height: 1.9rem
    }
}

.site-header .dropdown-item {
    display: flex;
    align-items: center;
    gap: .8rem
}

.site-header .dropdown-item::before {
    content: "";
    flex: none;
    width: 2.3rem;
    height: 2.3rem;
    border-radius: .7rem;
    background-color: var(--brand-light);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.35rem;
    transition: transform .3s cubic-bezier(.2, .7, .2, 1), background-color .25s
}

.site-header .dropdown-item:hover::before,
.site-header .dropdown-item:focus-visible::before {
    transform: scale(1.08) rotate(-4deg);
    background-color: #fff
}

.site-header .mega-menu .dd-thumb {
    display: none
}

.site-header .dropdown-item[href="concentrators-evaporators-for-food-processing-machinery.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M12 3c3 4 5 6.5 5 9.5a5 5 0 0 1-10 0C7 9.5 9 7 12 3z%22/%3E%3Cpath d=%22M9.5 13.5c.4 1.3 1.4 2 2.5 2%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="raisin-processing-plants-machines-units.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx=%228.5%22 cy=%2211%22 r=%222.4%22/%3E%3Ccircle cx=%2215.5%22 cy=%2211%22 r=%222.4%22/%3E%3Ccircle cx=%2212%22 cy=%2216%22 r=%222.4%22/%3E%3Cpath d=%22M12 3v4.5M12 6.5c2 0 3.5-1 4.5-2.5%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="cleaning-in-place-cip-systems.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M20 11a8 8 0 0 0-14.5-4M4 4v4h4%22/%3E%3Cpath d=%22M4 13a8 8 0 0 0 14.5 4M20 20v-4h-4%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="powder-dissolver-system.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M4 6h16l-6 7.5V19l-4 2v-7.5z%22/%3E%3Cpath d=%22M9 2.5h.01M12 2h.01M15 2.5h.01%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="pulp-milk-juice-storage-tanks.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx=%2212%22 cy=%226%22 rx=%227%22 ry=%222.6%22/%3E%3Cpath d=%22M5 6v12c0 1.4 3.1 2.6 7 2.6s7-1.2 7-2.6V6%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="food-processing-mixing-blending-tanks.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M4 11h16a8 8 0 0 1-16 0z%22/%3E%3Cpath d=%22M15 3l-4 8%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="deaerator-tanks-for-food-processing-industry.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x=%226%22 y=%2210%22 width=%2212%22 height=%2211%22 rx=%222.5%22/%3E%3Ccircle cx=%229%22 cy=%226%22 r=%221%22/%3E%3Ccircle cx=%2212.5%22 cy=%224%22 r=%221%22/%3E%3Ccircle cx=%2215.5%22 cy=%226.5%22 r=%221%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="vacuum-pans.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M12 12l4-3.5%22/%3E%3Cpath d=%22M7 17h10%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="tunnel-pasteurizers-for-food-processing-machinery.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M10 14.5V5a2 2 0 1 1 4 0v9.5a4 4 0 1 1-4 0z%22/%3E%3Cpath d=%22M12 9v7.5%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="material-handling-systems-for-food-processing-industry.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x=%223%22 y=%2213%22 width=%2218%22 height=%225.5%22 rx=%222.7%22/%3E%3Crect x=%226%22 y=%227.5%22 width=%224.5%22 height=%225.5%22/%3E%3Crect x=%2213.5%22 y=%229%22 width=%224%22 height=%224%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="pulp-and-juice-plants.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M6 8h12l-1.5 12.5h-9z%22/%3E%3Cpath d=%22M13 8l2-5h3.5%22/%3E%3Cpath d=%22M7.3 13.5h9.4%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="coconut-water-and-milk-plants.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx=%2211.5%22 cy=%2213.5%22 r=%227%22/%3E%3Cpath d=%22M7.5 12c1-1.6 2.4-2.4 4-2.4%22/%3E%3Cpath d=%22M14 6.5l3.5-3.5%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="pomegranate-juice-processing-machinery.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx=%2212%22 cy=%2214%22 r=%226.8%22/%3E%3Cpath d=%22M9 7.5l1-3.5 2 2.3 2-2.3 1 3.5%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="about.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 11v6M12 7.5h.01%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="quality-assurance.html"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M12 3l8 3v6c0 4.5-3.2 8-8 9-4.8-1-8-4.5-8-9V6z%22/%3E%3Cpath d=%22M8.5 12l2.5 2.5 4.5-5%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item[href="joint-venture-enquiry.php"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4fa0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M3 12l4-4 4 3 4-3 6 5-4 4-3-2-3 3-4-3-4 2z%22/%3E%3C/svg%3E")
}

.site-header .dropdown-item::before {
    width: 2.5rem;
    height: 2.5rem;
    background-size: 1.6rem
}

@media (min-width:1200px) {
    .site-header .mega-menu li:nth-child(7) {
        break-before: column
    }
}

.site-header .dropdown-item.active::before {
    background-color: #fff
}

@media (min-width:1200px) {
    .site-header .dropdown-menu:not(.mega-menu) {
        min-width: 16.5rem
    }
}

.ring-section {
    background-color: #f3f3f300;
    background-image: repeating-radial-gradient(circle at 30% 45%, rgba(26, 79, 160, 0.07) 0 1px, #0000 1px 14px);
}

.ring-list {
    list-style: none;
    margin: 2.2rem 0 0;
    padding: 0;
    display: grid;
    gap: clamp(2rem, 4.2vw, 3.4rem)
}

.ring-list li {
    display: flex;
    align-items: center;
    gap: 1.4rem
}

.ring-ico {
    flex: none;
    width: clamp(4rem, 6vw, 5.4rem);
    height: auto;
    color: var(--brand)
}

.ring-list span {
    font-size: clamp(1.3rem, 2.3vw, 1.9rem);
    font-weight: 500;
    line-height: 1.3;
    color: var(--ink)
}

.ring-section .prose h3 {
    font-size: clamp(1.3rem, 2.2vw, 1.7rem);
    font-weight: 500;
    line-height: 1.4;
    max-width: 34rem
}

@media (max-width:575.98px) {
    .ring-list {
        gap: 1.6rem
    }

    .ring-list li {
        gap: 1rem
    }

    .ring-ico {
        width: 3.4rem
    }
}

.list-num {
    gap: .95rem;
    margin-bottom: 1.75rem
}

.list-num li {
    padding: 1.15rem 1.5rem 1.15rem 4.9rem;
    border-radius: 1rem;
    background: #f0f3fb;
    font-size: 1.12rem;
    font-weight: 500;
    line-height: 1.4;
    transition: transform .25s, background .25s
}

.list-num li::before {
    left: 1.1rem;
    width: 2.6rem;
    height: 2.6rem;
    margin-top: -1.3rem;
    font-size: 1rem
}

.list-num li:hover {
    transform: translateX(.25rem);
    background: #e8edfa
}

.bg-surface .list-num li {
    background: #fff
}

@media (max-width:575.98px) {
    .list-num li {
        padding: 1rem 1rem 1rem 4.2rem;
        font-size: 1.02rem
    }

    .list-num li::before {
        left: .9rem;
        width: 2.3rem;
        height: 2.3rem;
        margin-top: -1.15rem
    }
}

.pd-spec .spec-wrap {
    border-radius: 1.8rem;
    box-shadow: 0 1rem 2.6rem rgba(11, 42, 91, .1)
}

.pd-spec .spec-table {
    font-size: 1.12rem
}

.pd-spec .spec-table th {
    width: 23%;
    min-width: 11rem;
    background: #214690;
    font-size: 1.15rem;
    font-weight: 700;
    padding: 1.7rem 1.8rem;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .35);
    vertical-align: top;
    line-height: 1.6
}

.pd-spec .spec-table td {
    padding: 1.7rem 1.8rem;
    border: 0;
    border-bottom: 1px solid #e3e8f3;
    color: #3a4558;
    line-height: 1.6;
    vertical-align: top;
    background: #fff
}

.pd-spec .spec-table tr:nth-child(even) td {
    background: #f0f3fb
}

.pd-spec .spec-table tr:last-child th,
.pd-spec .spec-table tr:last-child td {
    border-bottom: 0
}

@media (max-width:767.98px) {
    .pd-spec .spec-wrap {
        border-radius: 1.3rem
    }

    .pd-spec .spec-table th {
        padding: 1rem 1.2rem;
        min-width: 0;
        border-bottom: 0;
        font-size: 1.05rem
    }

    .pd-spec .spec-table td {
        padding: 1rem 1.2rem 1.2rem;
        font-size: 1.02rem
    }
}

@media (max-width:767.98px) {

    .pd-spec .spec-table th,
    .pd-spec .spec-table td {
        width: 100%;
        display: block
    }

    .pd-spec .spec-table th {
        border-bottom: 0
    }

    .pd-spec .spec-table td {
        border-bottom: 1px solid #e3e8f3
    }
}

.vm-section {
    background: #fff;
    padding: clamp(2.5rem, 5vw, 4rem) 0
}

.vm-eyebrow {
    display: inline-block;
    border: 1px solid var(--ink);
    border-radius: 2rem;
    padding: .3rem 1.1rem;
    font-size: .95rem;
    font-weight: 400;
    color: var(--ink);
    margin: 0 0 1.5rem
}

.vm-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: clamp(1.5rem, 5vw, 5rem);
    padding: clamp(2.2rem, 5vw, 4.5rem) 0;
    border-top: 1px solid #8d97a8
}

.vm-row:last-child {
    border-bottom: 1px solid #8d97a8
}

.vm-title {
    font-size: clamp(2.4rem, 5.2vw, 4.6rem);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.01em;
    color: var(--ink);
    margin: 0
}

.vm-icon {
    width: clamp(8rem, 13vw, 12.2rem);
    color: #1c8fcf
}

.vm-icon svg {
    display: block;
    width: 100%;
    height: auto
}

.vm-text {
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.65;
    color: var(--ink);
    margin: 0
}

.vm-row.is-rev .vm-title {
    order: 3;
    text-align: right
}

.vm-row.is-rev .vm-text {
    order: 1
}

.vm-row.is-rev .vm-icon {
    order: 2
}

@media (max-width:767.98px) {

    .vm-row,
    .vm-row.is-rev {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        justify-items: start
    }

    .vm-row.is-rev .vm-title,
    .vm-row.is-rev .vm-text,
    .vm-row.is-rev .vm-icon {
        order: 0;
        text-align: left
    }

    .vm-icon {
        width: 7rem
    }
}

.line-section {
    background: #fff;
    padding: clamp(1.5rem, 3vw, 2.5rem) 0
}

.line-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #c4c9d1
}

.line-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(1.6rem, 3.2vw, 2.5rem) 0;
    border-bottom: 1px solid #9fd8f0;
    font-size: clamp(1.15rem, 2.1vw, 1.85rem);
    font-weight: 500;
    line-height: 1.35;
    color: var(--ink)
}

.line-list li span {
    max-width: 62rem
}

.ll-arrow {
    flex: none;
    width: 1.5rem;
    height: 2.4rem;
    color: var(--ink);
    transition: transform .35s cubic-bezier(.2, .7, .2, 1)
}

.line-list li:hover .ll-arrow {
    transform: translateY(.35rem)
}

@media (max-width:575.98px) {
    .line-list li {
        gap: 1rem
    }

    .ll-arrow {
        width: 1.2rem;
        height: 2rem
    }
}

.list-num {
    gap: 0;
    margin-bottom: 1.75rem;
    border-top: 0
}

.list-num li,
.bg-surface .list-num li {
    background: none;
    border-radius: 0;
    border-bottom: 1px solid #d5dcea;
    padding: 1.1rem .5rem 1.1rem 4.3rem;
    transform: none
}

.list-num li:hover {
    background: none;
    transform: none
}

.list-num li::before {
    content: "";
    left: .3rem;
    width: 2.4rem;
    height: 2.4rem;
    margin-top: -1.2rem;
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffc233' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/1.3rem no-repeat;
    font-size: 0;
    transition: transform .3s cubic-bezier(.2, .7, .2, 1)
}

.list-num li:hover::before {
    transform: scale(1.1) rotate(-6deg)
}

@media (max-width:575.98px) {

    .list-num li,
    .bg-surface .list-num li {
        padding: .95rem .2rem .95rem 3.6rem
    }

    .list-num li::before {
        left: .1rem;
        width: 2.1rem;
        height: 2.1rem;
        margin-top: -1.05rem;
        background-size: 1.1rem
    }
}

.svc-rows {
    border-bottom: 1px solid #d9dfea
}

.svc-row {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: center;
    padding: clamp(2rem, 4vw, 3.2rem) 0;
    border-top: 1px solid #d9dfea
}

.svc-row h3 {
    font-size: clamp(1.6rem, 3vw, 2.3rem);
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
    color: var(--ink)
}

.svc-row p {
    font-size: clamp(1.02rem, 1.3vw, 1.15rem);
    line-height: 1.7;
    color: var(--ink);
    margin: 0 0 .8rem
}

.svc-row .svc-body>:last-child {
    margin-bottom: 0
}

.svc-row .read-more {
    font-weight: 600;
    text-decoration: none
}

.svc-row .read-more::after {
    content: " \2192"
}

@media (max-width:767.98px) {
    .svc-row {
        grid-template-columns: 1fr;
        gap: .9rem
    }
}

.a {
    opacity: 0;
    transform: translate3d(0, 1.8rem, 0);
    transition: opacity .8s cubic-bezier(.22, .7, .2, 1), transform .8s cubic-bezier(.22, .7, .2, 1);
    transition-delay: var(--ad, 0s);
    will-change: opacity, transform
}

.a.a-left {
    transform: translate3d(-2.2rem, 0, 0)
}

.a.a-zoom {
    transform: scale(.95)
}

.a.a-line {
    opacity: 1;
    transform: scaleX(0);
    transform-origin: left
}

.a.is-in {
    opacity: 1;
    transform: none
}

.page-banner h1,
.page-banner .title-bar,
.page-banner nav {
    animation: motionUp .9s cubic-bezier(.22, .7, .2, 1) both
}

.page-banner .title-bar {
    animation-delay: .18s
}

.page-banner nav {
    animation-delay: .3s
}

@keyframes motionUp {
    from {
        opacity: 0;
        transform: translate3d(0, 1.4rem, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--brand), var(--accent));
    transform: scaleX(0);
    transform-origin: left;
    z-index: 1200;
    pointer-events: none
}

.footer-list a,
.f3 .footer-list a {
    display: inline-block;
    transition: transform .25s cubic-bezier(.2, .7, .2, 1), color .2s
}

.footer-list a:hover {
    transform: translateX(.3rem)
}

.product-card,
.contact-card,
.sitemap-card {
    transition: transform .35s cubic-bezier(.2, .7, .2, 1)
}

.product-card:hover,
.sitemap-card:hover {
    transform: translateY(-.3rem)
}

@media (prefers-reduced-motion:reduce) {
    .a {
        opacity: 1;
        transform: none;
        transition: none
    }

    .page-banner h1,
    .page-banner .title-bar,
    .page-banner nav {
        animation: none
    }

    .scroll-progress {
        display: none
    }
}