@charset "UTF-8";

/*!
 * Bootstrap  v5.2.3 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
    --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-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: #0d6efd;
    --bs-link-hover-color: #0a58ca;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #fff3cd
}

*,
::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: 1px solid;
    opacity: .25
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2
}

.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
    }
}

.h4,
h4 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width:1200px) {

    .h4,
    h4 {
        font-size: 1.5rem
    }
}

.h5,
h5 {
    font-size: 1.25rem
}

.h6,
h6 {
    font-size: 1rem
}

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
}

dt {
    font-weight: 700
}

blockquote {
    margin: 0 0 1rem
}

b,
strong {
    font-weight: bolder
}

.small,
small {
    font-size: .875em
}

.mark,
mark {
    padding: .1875em;
    background-color: var(--bs-highlight-bg)
}

sub,
sup {
    position: relative;
    font-size: .75em;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    color: var(--bs-link-color);
    text-decoration: underline
}

a:hover {
    color: var(--bs-link-hover-color)
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

code,
pre {
    font-family: var(--bs-font-monospace);
    font-size: 1em
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: .875em
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal
}

code {
    font-size: .875em;
    color: var(--bs-code-color);
    word-wrap: break-word
}

a>code {
    color: inherit
}

img,
svg {
    vertical-align: middle
}

table {
    caption-side: bottom;
    border-collapse: collapse
}

caption {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: #6c757d;
    text-align: left
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent
}

tbody,
td,
tfoot,
th,
thead,
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,
optgroup,
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
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
    display: none !important
}

[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
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    font-size: calc(1.275rem + .3vw);
    line-height: inherit
}

@media (min-width:1200px) {
    legend {
        font-size: 1.5rem
    }
}

legend+* {
    clear: left
}

::-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] {
    outline-offset: -2px;
    -webkit-appearance: textfield
}

::-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
}

summary {
    display: list-item;
    cursor: pointer
}

progress {
    vertical-align: baseline
}

[hidden] {
    display: none !important
}

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

.list-unstyled {
    padding-left: 0;
    list-style: none
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem
}

.blockquote>:last-child {
    margin-bottom: 0
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto
}

@media (min-width:576px) {

    .container,
    .container-sm {
        max-width: 540px
    }
}

@media (min-width:768px) {

    .container,
    .container-md,
    .container-sm {
        max-width: 720px
    }
}

@media (min-width:992px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm {
        max-width: 960px
    }
}

@media (min-width:1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1140px
    }
}

@media (min-width:1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1320px
    }
}

.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 {
    flex: 1 0 0%
}

.col-auto {
    flex: 0 0 auto;
    width: auto
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-3 {
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%
}

.col-9 {
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%
}

.col-12 {
    flex: 0 0 auto;
    width: 100%
}

.g-0 {
    --bs-gutter-x: 0
}

.g-0 {
    --bs-gutter-y: 0
}

.g-1 {
    --bs-gutter-x: 0.25rem
}

.g-1 {
    --bs-gutter-y: 0.25rem
}

.g-2 {
    --bs-gutter-x: 0.5rem
}

.g-2 {
    --bs-gutter-y: 0.5rem
}

.g-3 {
    --bs-gutter-x: 1rem
}

.g-3 {
    --bs-gutter-y: 1rem
}

.g-4 {
    --bs-gutter-x: 1.5rem
}

.g-4 {
    --bs-gutter-y: 1.5rem
}

.g-5 {
    --bs-gutter-x: 3rem
}

.g-5 {
    --bs-gutter-y: 3rem
}

@media (min-width:576px) {
    .col-sm {
        flex: 1 0 0%
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .g-sm-0 {
        --bs-gutter-x: 0
    }

    .g-sm-0 {
        --bs-gutter-y: 0
    }

    .g-sm-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-sm-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-sm-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-sm-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-sm-3 {
        --bs-gutter-x: 1rem
    }

    .g-sm-3 {
        --bs-gutter-y: 1rem
    }

    .g-sm-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-sm-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-sm-5 {
        --bs-gutter-x: 3rem
    }

    .g-sm-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:768px) {
    .col-md {
        flex: 1 0 0%
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-md-1 {
        margin-left: 8.33333333%
    }

    .g-md-0 {
        --bs-gutter-x: 0
    }

    .g-md-0 {
        --bs-gutter-y: 0
    }

    .g-md-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-md-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-md-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-md-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-md-3 {
        --bs-gutter-x: 1rem
    }

    .g-md-3 {
        --bs-gutter-y: 1rem
    }

    .g-md-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-md-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-md-5 {
        --bs-gutter-x: 3rem
    }

    .g-md-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:992px) {
    .col-lg {
        flex: 1 0 0%
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .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-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-lg-1 {
        margin-left: 8.33333333%
    }

    .g-lg-0 {
        --bs-gutter-x: 0
    }

    .g-lg-0 {
        --bs-gutter-y: 0
    }

    .g-lg-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-lg-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-lg-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-lg-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-lg-3 {
        --bs-gutter-x: 1rem
    }

    .g-lg-3 {
        --bs-gutter-y: 1rem
    }

    .g-lg-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-lg-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-lg-5 {
        --bs-gutter-x: 3rem
    }

    .g-lg-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:1200px) {
    .col-xl {
        flex: 1 0 0%
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .g-xl-0 {
        --bs-gutter-x: 0
    }

    .g-xl-0 {
        --bs-gutter-y: 0
    }

    .g-xl-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-xl-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-xl-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-xl-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-xl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xl-5 {
        --bs-gutter-x: 3rem
    }

    .g-xl-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:1400px) {
    .col-xxl {
        flex: 1 0 0%
    }

    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xxl-1 {
        margin-left: 8.33333333%
    }

    .g-xxl-0 {
        --bs-gutter-x: 0
    }

    .g-xxl-0 {
        --bs-gutter-y: 0
    }

    .g-xxl-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-xxl-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-xxl-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-xxl-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-xxl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xxl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xxl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xxl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xxl-5 {
        --bs-gutter-x: 3rem
    }

    .g-xxl-5 {
        --bs-gutter-y: 3rem
    }
}

.table {
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
    --bs-table-active-color: var(--bs-body-color);
    --bs-table-active-bg: rgba(0, 0, 0, 0.1);
    --bs-table-hover-color: var(--bs-body-color);
    --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
    width: 100%;
    margin-bottom: 1rem;
    color: var(--bs-table-color);
    vertical-align: top;
    border-color: var(--bs-table-border-color)
}

.table>:not(caption)>*>* {
    padding: .5rem .5rem;
    background-color: var(--bs-table-bg);
    border-bottom-width: 1px;
    box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg)
}

.table>tbody {
    vertical-align: inherit
}

.table>thead {
    vertical-align: bottom
}

.col-form-label {
    padding-top: calc(.375rem + 1px);
    padding-bottom: calc(.375rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5
}

.col-form-label-lg {
    padding-top: calc(.5rem + 1px);
    padding-bottom: calc(.5rem + 1px);
    font-size: 1.25rem
}

.col-form-label-sm {
    padding-top: calc(.25rem + 1px);
    padding-bottom: calc(.25rem + 1px);
    font-size: .875rem
}

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: .375rem;
    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: #212529;
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-control::-webkit-date-and-time-value {
    height: 1.5em
}

.form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1
}

.form-control::placeholder {
    color: #6c757d;
    opacity: 1
}

.form-control:disabled {
    background-color: #e9ecef;
    opacity: 1
}

.form-control::-webkit-file-upload-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    -webkit-margin-end: .75rem;
    margin-inline-end: .75rem;
    color: #212529;
    background-color: #e9ecef;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    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: #212529;
    background-color: #e9ecef;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    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: #dde0e3
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: #dde0e3
}

textarea.form-control {
    min-height: calc(1.5em + .75rem + 2px)
}

.btn-check {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none
}

.btn-check:disabled+.btn,
.btn-check[disabled]+.btn {
    pointer-events: none;
    filter: none;
    opacity: .65
}

.form-control.is-valid {
    border-color: #198754;
    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 {
    border-color: #198754;
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .25)
}

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 {
    border-color: #dc3545;
    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 {
    border-color: #dc3545;
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25)
}

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: 0.75rem;
    --bs-btn-padding-y: 0.375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: #212529;
    --bs-btn-bg: transparent;
    --bs-btn-border-width: 1px;
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: 0.375rem;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 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-check+.btn:hover {
    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-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-check:focus-visible+.btn {
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn-check:checked+.btn,
.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-check:checked+.btn:focus-visible,
.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,
fieldset:disabled .btn {
    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)
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #6c757d;
    --bs-btn-border-color: #6c757d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #5c636a;
    --bs-btn-hover-border-color: #565e64;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #565e64;
    --bs-btn-active-border-color: #51585e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #146c43;
    --bs-btn-focus-shadow-rgb: 60, 153, 110;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #146c43;
    --bs-btn-active-border-color: #13653f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #198754;
    --bs-btn-disabled-border-color: #198754
}

.btn-info {
    --bs-btn-color: #000;
    --bs-btn-bg: #0dcaf0;
    --bs-btn-border-color: #0dcaf0;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #31d2f2;
    --bs-btn-hover-border-color: #25cff2;
    --bs-btn-focus-shadow-rgb: 11, 172, 204;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #3dd5f3;
    --bs-btn-active-border-color: #25cff2;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #0dcaf0;
    --bs-btn-disabled-border-color: #0dcaf0
}

.btn-warning {
    --bs-btn-color: #000;
    --bs-btn-bg: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ffca2c;
    --bs-btn-hover-border-color: #ffc720;
    --bs-btn-focus-shadow-rgb: 217, 164, 6;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #ffcd39;
    --bs-btn-active-border-color: #ffc720;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #ffc107;
    --bs-btn-disabled-border-color: #ffc107
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #bb2d3b;
    --bs-btn-hover-border-color: #b02a37;
    --bs-btn-focus-shadow-rgb: 225, 83, 97;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #b02a37;
    --bs-btn-active-border-color: #a52834;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #dc3545;
    --bs-btn-disabled-border-color: #dc3545
}

.btn-light {
    --bs-btn-color: #000;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #d3d4d5;
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #c6c7c8;
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #f8f9fa
}

.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #424649;
    --bs-btn-hover-border-color: #373b3e;
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4d5154;
    --bs-btn-active-border-color: #373b3e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #212529;
    --bs-btn-disabled-border-color: #212529
}

.btn-outline-primary {
    --bs-btn-color: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0d6efd;
    --bs-btn-hover-border-color: #0d6efd;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0d6efd;
    --bs-btn-active-border-color: #0d6efd;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #0d6efd;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #0d6efd;
    --bs-gradient: none
}

.btn-outline-secondary {
    --bs-btn-color: #6c757d;
    --bs-btn-border-color: #6c757d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #6c757d;
    --bs-btn-hover-border-color: #6c757d;
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #6c757d;
    --bs-btn-active-border-color: #6c757d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #6c757d;
    --bs-gradient: none
}

.btn-outline-success {
    --bs-btn-color: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #198754;
    --bs-btn-hover-border-color: #198754;
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #198754;
    --bs-btn-active-border-color: #198754;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #198754;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #198754;
    --bs-gradient: none
}

.btn-outline-info {
    --bs-btn-color: #0dcaf0;
    --bs-btn-border-color: #0dcaf0;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #0dcaf0;
    --bs-btn-hover-border-color: #0dcaf0;
    --bs-btn-focus-shadow-rgb: 13, 202, 240;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #0dcaf0;
    --bs-btn-active-border-color: #0dcaf0;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #0dcaf0;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #0dcaf0;
    --bs-gradient: none
}

.btn-outline-warning {
    --bs-btn-color: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ffc107;
    --bs-btn-hover-border-color: #ffc107;
    --bs-btn-focus-shadow-rgb: 255, 193, 7;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #ffc107;
    --bs-btn-active-border-color: #ffc107;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #ffc107;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #ffc107;
    --bs-gradient: none
}

.btn-outline-danger {
    --bs-btn-color: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #dc3545;
    --bs-btn-hover-border-color: #dc3545;
    --bs-btn-focus-shadow-rgb: 220, 53, 69;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #dc3545;
    --bs-btn-active-border-color: #dc3545;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #dc3545;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #dc3545;
    --bs-gradient: none
}

.btn-outline-light {
    --bs-btn-color: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #f8f9fa;
    --bs-btn-hover-border-color: #f8f9fa;
    --bs-btn-focus-shadow-rgb: 248, 249, 250;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #f8f9fa;
    --bs-btn-active-border-color: #f8f9fa;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #f8f9fa;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #f8f9fa;
    --bs-gradient: none
}

.btn-outline-dark {
    --bs-btn-color: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-focus-shadow-rgb: 33, 37, 41;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #212529;
    --bs-btn-active-border-color: #212529;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #212529;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #212529;
    --bs-gradient: none
}

.btn-link {
    --bs-btn-font-weight: 400;
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: var(--bs-link-hover-color);
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-box-shadow: none;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    text-decoration: underline
}

.btn-link:focus-visible {
    color: var(--bs-btn-color)
}

.btn-link:hover {
    color: var(--bs-btn-hover-color)
}

.btn-group-lg>.btn,
.btn-lg {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-border-radius: 0.5rem
}

.btn-group-sm>.btn,
.btn-sm {
    --bs-btn-padding-y: 0.25rem;
    --bs-btn-padding-x: 0.5rem;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-border-radius: 0.25rem
}

.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,
.dropend,
.dropstart,
.dropup,
.dropup-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: 0.5rem;
    --bs-dropdown-spacer: 0.125rem;
    --bs-dropdown-font-size: 1rem;
    --bs-dropdown-color: #212529;
    --bs-dropdown-bg: #fff;
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-border-radius: 0.375rem;
    --bs-dropdown-border-width: 1px;
    --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-divider-margin-y: 0.5rem;
    --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-dropdown-link-color: #212529;
    --bs-dropdown-link-hover-color: #1e2125;
    --bs-dropdown-link-hover-bg: #e9ecef;
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: 0.25rem;
    --bs-dropdown-header-color: #6c757d;
    --bs-dropdown-header-padding-x: 1rem;
    --bs-dropdown-header-padding-y: 0.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)
}

.dropup .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: 0;
    border-right: .3em solid transparent;
    border-bottom: .3em solid;
    border-left: .3em solid transparent
}

.dropup .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropend .dropdown-menu[data-bs-popper] {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: var(--bs-dropdown-spacer)
}

.dropend .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: 0;
    border-bottom: .3em solid transparent;
    border-left: .3em solid
}

.dropend .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropend .dropdown-toggle::after {
    vertical-align: 0
}

.dropstart .dropdown-menu[data-bs-popper] {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: var(--bs-dropdown-spacer)
}

.dropstart .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: ""
}

.dropstart .dropdown-toggle::after {
    display: none
}

.dropstart .dropdown-toggle::before {
    display: inline-block;
    margin-right: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: .3em solid;
    border-bottom: .3em solid transparent
}

.dropstart .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropstart .dropdown-toggle::before {
    vertical-align: 0
}

.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
}

.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, 0.15);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-header-color: #adb5bd
}

.btn-group,
.btn-group-vertical {
    position: relative;
    display: inline-flex;
    vertical-align: middle
}

.btn-group-vertical>.btn,
.btn-group>.btn {
    position: relative;
    flex: 1 1 auto
}

.btn-group-vertical>.btn-check:checked+.btn,
.btn-group-vertical>.btn-check:focus+.btn,
.btn-group-vertical>.btn.active,
.btn-group-vertical>.btn:active,
.btn-group-vertical>.btn:focus,
.btn-group-vertical>.btn:hover,
.btn-group>.btn-check:checked+.btn,
.btn-group>.btn-check:focus+.btn,
.btn-group>.btn.active,
.btn-group>.btn:active,
.btn-group>.btn:focus,
.btn-group>.btn:hover {
    z-index: 1
}

.btn-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start
}

.btn-group {
    border-radius: .375rem
}

.btn-group>.btn-group:not(:first-child),
.btn-group>:not(.btn-check:first-child)+.btn {
    margin-left: -1px
}

.btn-group>.btn-group:not(:last-child)>.btn,
.btn-group>.btn.dropdown-toggle-split:first-child,
.btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.btn-group>.btn-group:not(:first-child)>.btn,
.btn-group>.btn:nth-child(n+3),
.btn-group>:not(.btn-check)+.btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.dropdown-toggle-split {
    padding-right: .5625rem;
    padding-left: .5625rem
}

.dropdown-toggle-split::after,
.dropend .dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after {
    margin-left: 0
}

.dropstart .dropdown-toggle-split::before {
    margin-right: 0
}

.btn-group-sm>.btn+.dropdown-toggle-split,
.btn-sm+.dropdown-toggle-split {
    padding-right: .375rem;
    padding-left: .375rem
}

.btn-group-lg>.btn+.dropdown-toggle-split,
.btn-lg+.dropdown-toggle-split {
    padding-right: .75rem;
    padding-left: .75rem
}

.btn-group-vertical {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
}

.btn-group-vertical>.btn,
.btn-group-vertical>.btn-group {
    width: 100%
}

.btn-group-vertical>.btn-group:not(:first-child),
.btn-group-vertical>.btn:not(:first-child) {
    margin-top: -1px
}

.btn-group-vertical>.btn-group:not(:last-child)>.btn,
.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

.btn-group-vertical>.btn-group:not(:first-child)>.btn,
.btn-group-vertical>.btn~.btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.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: #6c757d;
    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;
    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.disabled {
    color: var(--bs-nav-link-disabled-color);
    pointer-events: none;
    cursor: default
}

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0.5rem;
    --bs-navbar-color: rgba(0, 0, 0, 0.55);
    --bs-navbar-hover-color: rgba(0, 0, 0, 0.7);
    --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);
    --bs-navbar-active-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-brand-padding-y: 0.3125rem;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-brand-font-size: 1.25rem;
    --bs-navbar-brand-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-nav-link-padding-x: 0.5rem;
    --bs-navbar-toggler-padding-y: 0.25rem;
    --bs-navbar-toggler-padding-x: 0.75rem;
    --bs-navbar-toggler-font-size: 1.25rem;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%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(0, 0, 0, 0.1);
    --bs-navbar-toggler-border-radius: 0.375rem;
    --bs-navbar-toggler-focus-width: 0.25rem;
    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)
}

.navbar>.container,
.navbar>.container-fluid,
.navbar>.container-lg,
.navbar>.container-md,
.navbar>.container-sm,
.navbar>.container-xl,
.navbar>.container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between
}

.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-navbar-color);
    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.navbar-nav .nav-link.active,
.navbar-nav .show>.nav-link {
    color: var(--bs-navbar-active-color)
}

.navbar-nav .dropdown-menu {
    position: static
}

.navbar-dark {
    --bs-navbar-color: rgba(255, 255, 255, 0.55);
    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
    --bs-navbar-active-color: #fff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

.card {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-border-width: 1px;
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: 0.375rem;
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(0.375rem - 1px);
    --bs-card-cap-padding-y: 0.5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: #fff;
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    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
}

.card>.list-group {
    border-top: inherit;
    border-bottom: inherit
}

.card>.list-group:first-child {
    border-top-width: 0;
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius)
}

.card>.list-group:last-child {
    border-bottom-width: 0;
    border-bottom-right-radius: var(--bs-card-inner-border-radius);
    border-bottom-left-radius: var(--bs-card-inner-border-radius)
}

.card>.card-header+.list-group {
    border-top: 0
}

.card-body {
    flex: 1 1 auto;
    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
    color: var(--bs-card-color)
}

.card-link+.card-link {
    margin-left: var(--bs-card-spacer-x)
}

.card-header {
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
    margin-bottom: 0;
    color: var(--bs-card-cap-color);
    background-color: var(--bs-card-cap-bg);
    border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color)
}

.card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0
}

.accordion {
    --bs-accordion-color: #212529;
    --bs-accordion-bg: #fff;
    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
    --bs-accordion-border-color: var(--bs-border-color);
    --bs-accordion-border-width: 1px;
    --bs-accordion-border-radius: 0.375rem;
    --bs-accordion-inner-border-radius: calc(0.375rem - 1px);
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: #212529;
    --bs-accordion-btn-bg: var(--bs-accordion-bg);
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%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-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%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-focus-border-color: #86b7fe;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: #0c63e4;
    --bs-accordion-active-bg: #e7f1ff
}

.alert {
    --bs-alert-bg: transparent;
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: 1rem;
    --bs-alert-margin-bottom: 1rem;
    --bs-alert-color: inherit;
    --bs-alert-border-color: transparent;
    --bs-alert-border: 1px solid var(--bs-alert-border-color);
    --bs-alert-border-radius: 0.375rem;
    position: relative;
    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
    margin-bottom: var(--bs-alert-margin-bottom);
    color: var(--bs-alert-color);
    background-color: var(--bs-alert-bg);
    border: var(--bs-alert-border);
    border-radius: var(--bs-alert-border-radius)
}

@keyframes progress-bar-stripes {
    0% {
        background-position-x: 1rem
    }
}

.progress {
    --bs-progress-height: 1rem;
    --bs-progress-font-size: 0.75rem;
    --bs-progress-bg: #e9ecef;
    --bs-progress-border-radius: 0.375rem;
    --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-progress-bar-color: #fff;
    --bs-progress-bar-bg: #0d6efd;
    --bs-progress-bar-transition: width 0.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)
}

.list-group {
    --bs-list-group-color: #212529;
    --bs-list-group-bg: #fff;
    --bs-list-group-border-color: rgba(0, 0, 0, 0.125);
    --bs-list-group-border-width: 1px;
    --bs-list-group-border-radius: 0.375rem;
    --bs-list-group-item-padding-x: 1rem;
    --bs-list-group-item-padding-y: 0.5rem;
    --bs-list-group-action-color: #495057;
    --bs-list-group-action-hover-color: #495057;
    --bs-list-group-action-hover-bg: #f8f9fa;
    --bs-list-group-action-active-color: #212529;
    --bs-list-group-action-active-bg: #e9ecef;
    --bs-list-group-disabled-color: #6c757d;
    --bs-list-group-disabled-bg: #fff;
    --bs-list-group-active-color: #fff;
    --bs-list-group-active-bg: #0d6efd;
    --bs-list-group-active-border-color: #0d6efd;
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: var(--bs-list-group-border-radius)
}

.list-group-item {
    position: relative;
    display: block;
    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
    color: var(--bs-list-group-color);
    text-decoration: none;
    background-color: var(--bs-list-group-bg);
    border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)
}

.list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit
}

.list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit
}

.list-group-item.disabled,
.list-group-item:disabled {
    color: var(--bs-list-group-disabled-color);
    pointer-events: none;
    background-color: var(--bs-list-group-disabled-bg)
}

.list-group-item.active {
    z-index: 2;
    color: var(--bs-list-group-active-color);
    background-color: var(--bs-list-group-active-bg);
    border-color: var(--bs-list-group-active-border-color)
}

.list-group-item+.list-group-item {
    border-top-width: 0
}

.list-group-item+.list-group-item.active {
    margin-top: calc(-1 * var(--bs-list-group-border-width));
    border-top-width: var(--bs-list-group-border-width)
}

.btn-close {
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: .25em .25em;
    color: #000;
    background: transparent 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") center/1em auto no-repeat;
    border: 0;
    border-radius: .375rem;
    opacity: .5
}

.btn-close:hover {
    color: #000;
    text-decoration: none;
    opacity: .75
}

.btn-close:focus {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
    opacity: 1
}

.btn-close.disabled,
.btn-close:disabled {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    opacity: .25
}

.btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%)
}

.toast {
    --bs-toast-zindex: 1090;
    --bs-toast-padding-x: 0.75rem;
    --bs-toast-padding-y: 0.5rem;
    --bs-toast-spacing: 1.5rem;
    --bs-toast-max-width: 350px;
    --bs-toast-font-size: 0.875rem;
    --bs-toast-color: ;
    --bs-toast-bg: rgba(255, 255, 255, 0.85);
    --bs-toast-border-width: 1px;
    --bs-toast-border-color: var(--bs-border-color-translucent);
    --bs-toast-border-radius: 0.375rem;
    --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-toast-header-color: #6c757d;
    --bs-toast-header-bg: rgba(255, 255, 255, 0.85);
    --bs-toast-header-border-color: rgba(0, 0, 0, 0.05);
    width: var(--bs-toast-max-width);
    max-width: 100%;
    font-size: var(--bs-toast-font-size);
    color: var(--bs-toast-color);
    pointer-events: auto;
    background-color: var(--bs-toast-bg);
    background-clip: padding-box;
    border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
    box-shadow: var(--bs-toast-box-shadow);
    border-radius: var(--bs-toast-border-radius)
}

.toast.showing {
    opacity: 0
}

.toast:not(.show) {
    display: none
}

.toast-container {
    --bs-toast-zindex: 1090;
    position: absolute;
    z-index: var(--bs-toast-zindex);
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    pointer-events: none
}

.toast-container>:not(:last-child) {
    margin-bottom: var(--bs-toast-spacing)
}

.toast-header {
    display: flex;
    align-items: center;
    padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
    color: var(--bs-toast-header-color);
    background-color: var(--bs-toast-header-bg);
    background-clip: padding-box;
    border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
    border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
    border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))
}

.toast-header .btn-close {
    margin-right: calc(-.5 * var(--bs-toast-padding-x));
    margin-left: var(--bs-toast-padding-x)
}

.toast-body {
    padding: var(--bs-toast-padding-x);
    word-wrap: break-word
}

.modal {
    --bs-modal-zindex: 1055;
    --bs-modal-width: 500px;
    --bs-modal-padding: 1rem;
    --bs-modal-margin: 0.5rem;
    --bs-modal-color: ;
    --bs-modal-bg: #fff;
    --bs-modal-border-color: var(--bs-border-color-translucent);
    --bs-modal-border-width: 1px;
    --bs-modal-border-radius: 0.5rem;
    --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-modal-inner-border-radius: calc(0.5rem - 1px);
    --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: 1px;
    --bs-modal-title-line-height: 1.5;
    --bs-modal-footer-gap: 0.5rem;
    --bs-modal-footer-bg: ;
    --bs-modal-footer-border-color: var(--bs-border-color);
    --bs-modal-footer-border-width: 1px;
    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: translate(0, -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: 0.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;
    justify-content: space-between;
    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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15)
    }

    .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
    }
}

.tooltip {
    --bs-tooltip-zindex: 1080;
    --bs-tooltip-max-width: 200px;
    --bs-tooltip-padding-x: 0.5rem;
    --bs-tooltip-padding-y: 0.25rem;
    --bs-tooltip-margin: ;
    --bs-tooltip-font-size: 0.875rem;
    --bs-tooltip-color: #fff;
    --bs-tooltip-bg: #000;
    --bs-tooltip-border-radius: 0.375rem;
    --bs-tooltip-opacity: 0.9;
    --bs-tooltip-arrow-width: 0.8rem;
    --bs-tooltip-arrow-height: 0.4rem;
    z-index: var(--bs-tooltip-zindex);
    display: block;
    padding: var(--bs-tooltip-arrow-height);
    margin: var(--bs-tooltip-margin);
    font-family: var(--bs-font-sans-serif);
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: var(--bs-tooltip-font-size);
    word-wrap: break-word;
    opacity: 0
}

.tooltip.show {
    opacity: var(--bs-tooltip-opacity)
}

.tooltip .tooltip-arrow {
    display: block;
    width: var(--bs-tooltip-arrow-width);
    height: var(--bs-tooltip-arrow-height)
}

.tooltip .tooltip-arrow::before {
    position: absolute;
    content: "";
    border-color: transparent;
    border-style: solid
}

.tooltip-inner {
    max-width: var(--bs-tooltip-max-width);
    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
    color: var(--bs-tooltip-color);
    text-align: center;
    background-color: var(--bs-tooltip-bg);
    border-radius: var(--bs-tooltip-border-radius)
}

.popover {
    --bs-popover-zindex: 1070;
    --bs-popover-max-width: 276px;
    --bs-popover-font-size: 0.875rem;
    --bs-popover-bg: #fff;
    --bs-popover-border-width: 1px;
    --bs-popover-border-color: var(--bs-border-color-translucent);
    --bs-popover-border-radius: 0.5rem;
    --bs-popover-inner-border-radius: calc(0.5rem - 1px);
    --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-popover-header-padding-x: 1rem;
    --bs-popover-header-padding-y: 0.5rem;
    --bs-popover-header-font-size: 1rem;
    --bs-popover-header-color: ;
    --bs-popover-header-bg: #f0f0f0;
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: 1rem;
    --bs-popover-body-color: #212529;
    --bs-popover-arrow-width: 1rem;
    --bs-popover-arrow-height: 0.5rem;
    --bs-popover-arrow-border: var(--bs-popover-border-color);
    z-index: var(--bs-popover-zindex);
    display: block;
    max-width: var(--bs-popover-max-width);
    font-family: var(--bs-font-sans-serif);
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: var(--bs-popover-font-size);
    word-wrap: break-word;
    background-color: var(--bs-popover-bg);
    background-clip: padding-box;
    border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
    border-radius: var(--bs-popover-border-radius)
}

.popover .popover-arrow {
    display: block;
    width: var(--bs-popover-arrow-width);
    height: var(--bs-popover-arrow-height)
}

.popover .popover-arrow::after,
.popover .popover-arrow::before {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid;
    border-width: 0
}

.popover-header {
    padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
    margin-bottom: 0;
    font-size: var(--bs-popover-header-font-size);
    color: var(--bs-popover-header-color);
    background-color: var(--bs-popover-header-bg);
    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
    border-top-left-radius: var(--bs-popover-inner-border-radius);
    border-top-right-radius: var(--bs-popover-inner-border-radius)
}

.popover-header:empty {
    display: none
}

.popover-body {
    padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
    color: var(--bs-popover-body-color)
}

.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: translateX(100%)
}

.active.carousel-item-start,
.carousel-item-prev:not(.carousel-item-end) {
    transform: translateX(-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%;
    list-style: none
}

.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
}

.spinner-border,
.spinner-grow {
    display: inline-block;
    width: var(--bs-spinner-width);
    height: var(--bs-spinner-height);
    vertical-align: var(--bs-spinner-vertical-align);
    border-radius: 50%;
    animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

.spinner-border {
    --bs-spinner-width: 2rem;
    --bs-spinner-height: 2rem;
    --bs-spinner-vertical-align: -0.125em;
    --bs-spinner-border-width: 0.25em;
    --bs-spinner-animation-speed: 0.75s;
    --bs-spinner-animation-name: spinner-border;
    border: var(--bs-spinner-border-width) solid currentcolor;
    border-right-color: transparent
}

.spinner-border-sm {
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem;
    --bs-spinner-border-width: 0.2em
}

@keyframes spinner-grow {
    0% {
        transform: scale(0)
    }

    50% {
        opacity: 1;
        transform: none
    }
}

.spinner-grow {
    --bs-spinner-width: 2rem;
    --bs-spinner-height: 2rem;
    --bs-spinner-vertical-align: -0.125em;
    --bs-spinner-animation-speed: 0.75s;
    --bs-spinner-animation-name: spinner-grow;
    background-color: currentcolor;
    opacity: 0
}

.spinner-grow-sm {
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem
}

@media (prefers-reduced-motion:reduce) {

    .spinner-border,
    .spinner-grow {
        --bs-spinner-animation-speed: 1.5s
    }
}

.offcanvas,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm,
.offcanvas-xl,
.offcanvas-xxl {
    --bs-offcanvas-zindex: 1045;
    --bs-offcanvas-width: 400px;
    --bs-offcanvas-height: 30vh;
    --bs-offcanvas-padding-x: 1rem;
    --bs-offcanvas-padding-y: 1rem;
    --bs-offcanvas-color: ;
    --bs-offcanvas-bg: #fff;
    --bs-offcanvas-border-width: 1px;
    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
    --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)
}

@media (max-width:575.98px) {
    .offcanvas-sm {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform .3s ease-in-out
    }
}

@media (max-width:575.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-sm {
        transition: none
    }
}

@media (max-width:575.98px) {
    .offcanvas-sm.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }
}

@media (max-width:575.98px) {
    .offcanvas-sm.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }
}

@media (max-width:575.98px) {
    .offcanvas-sm.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }
}

@media (max-width:575.98px) {
    .offcanvas-sm.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }
}

@media (max-width:575.98px) {

    .offcanvas-sm.show:not(.hiding),
    .offcanvas-sm.showing {
        transform: none
    }
}

@media (max-width:575.98px) {

    .offcanvas-sm.hiding,
    .offcanvas-sm.show,
    .offcanvas-sm.showing {
        visibility: visible
    }
}

@media (min-width:576px) {
    .offcanvas-sm {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-sm .offcanvas-header {
        display: none
    }

    .offcanvas-sm .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media (max-width:767.98px) {
    .offcanvas-md {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform .3s ease-in-out
    }
}

@media (max-width:767.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-md {
        transition: none
    }
}

@media (max-width:767.98px) {
    .offcanvas-md.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }
}

@media (max-width:767.98px) {
    .offcanvas-md.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }
}

@media (max-width:767.98px) {
    .offcanvas-md.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }
}

@media (max-width:767.98px) {
    .offcanvas-md.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }
}

@media (max-width:767.98px) {

    .offcanvas-md.show:not(.hiding),
    .offcanvas-md.showing {
        transform: none
    }
}

@media (max-width:767.98px) {

    .offcanvas-md.hiding,
    .offcanvas-md.show,
    .offcanvas-md.showing {
        visibility: visible
    }
}

@media (min-width:768px) {
    .offcanvas-md {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-md .offcanvas-header {
        display: none
    }

    .offcanvas-md .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media (max-width:991.98px) {
    .offcanvas-lg {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform .3s ease-in-out
    }
}

@media (max-width:991.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-lg {
        transition: none
    }
}

@media (max-width:991.98px) {
    .offcanvas-lg.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }
}

@media (max-width:991.98px) {
    .offcanvas-lg.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }
}

@media (max-width:991.98px) {
    .offcanvas-lg.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }
}

@media (max-width:991.98px) {
    .offcanvas-lg.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }
}

@media (max-width:991.98px) {

    .offcanvas-lg.show:not(.hiding),
    .offcanvas-lg.showing {
        transform: none
    }
}

@media (max-width:991.98px) {

    .offcanvas-lg.hiding,
    .offcanvas-lg.show,
    .offcanvas-lg.showing {
        visibility: visible
    }
}

@media (min-width:992px) {
    .offcanvas-lg {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-lg .offcanvas-header {
        display: none
    }

    .offcanvas-lg .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media (max-width:1199.98px) {
    .offcanvas-xl {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform .3s ease-in-out
    }
}

@media (max-width:1199.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-xl {
        transition: none
    }
}

@media (max-width:1199.98px) {
    .offcanvas-xl.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }
}

@media (max-width:1199.98px) {
    .offcanvas-xl.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }
}

@media (max-width:1199.98px) {
    .offcanvas-xl.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }
}

@media (max-width:1199.98px) {
    .offcanvas-xl.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }
}

@media (max-width:1199.98px) {

    .offcanvas-xl.show:not(.hiding),
    .offcanvas-xl.showing {
        transform: none
    }
}

@media (max-width:1199.98px) {

    .offcanvas-xl.hiding,
    .offcanvas-xl.show,
    .offcanvas-xl.showing {
        visibility: visible
    }
}

@media (min-width:1200px) {
    .offcanvas-xl {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-xl .offcanvas-header {
        display: none
    }

    .offcanvas-xl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media (max-width:1399.98px) {
    .offcanvas-xxl {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform .3s ease-in-out
    }
}

@media (max-width:1399.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-xxl {
        transition: none
    }
}

@media (max-width:1399.98px) {
    .offcanvas-xxl.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }
}

@media (max-width:1399.98px) {
    .offcanvas-xxl.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }
}

@media (max-width:1399.98px) {
    .offcanvas-xxl.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }
}

@media (max-width:1399.98px) {
    .offcanvas-xxl.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }
}

@media (max-width:1399.98px) {

    .offcanvas-xxl.show:not(.hiding),
    .offcanvas-xxl.showing {
        transform: none
    }
}

@media (max-width:1399.98px) {

    .offcanvas-xxl.hiding,
    .offcanvas-xxl.show,
    .offcanvas-xxl.showing {
        visibility: visible
    }
}

@media (min-width:1400px) {
    .offcanvas-xxl {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-xxl .offcanvas-header {
        display: none
    }

    .offcanvas-xxl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

.offcanvas {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform .3s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .offcanvas {
        transition: none
    }
}

.offcanvas.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%)
}

.offcanvas.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%)
}

.offcanvas.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%)
}

.offcanvas.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%)
}

.offcanvas.show:not(.hiding),
.offcanvas.showing {
    transform: none
}

.offcanvas.hiding,
.offcanvas.show,
.offcanvas.showing {
    visibility: visible
}

.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000
}

.offcanvas-backdrop.fade {
    opacity: 0
}

.offcanvas-backdrop.show {
    opacity: .5
}

.offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)
}

.offcanvas-header .btn-close {
    padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);
    margin-top: calc(-.5 * var(--bs-offcanvas-padding-y));
    margin-right: calc(-.5 * var(--bs-offcanvas-padding-x));
    margin-bottom: calc(-.5 * var(--bs-offcanvas-padding-y))
}

.offcanvas-title {
    margin-bottom: 0;
    line-height: 1.5
}

.offcanvas-body {
    flex-grow: 1;
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
    overflow-y: auto
}

.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 {
    100% {
        -webkit-mask-position: -200% 0%;
        mask-position: -200% 0%
    }
}

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.text-bg-primary {
    color: #fff !important;
    background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important
}

.text-bg-secondary {
    color: #fff !important;
    background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important
}

.text-bg-success {
    color: #fff !important;
    background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important
}

.text-bg-info {
    color: #000 !important;
    background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important
}

.text-bg-warning {
    color: #000 !important;
    background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important
}

.text-bg-danger {
    color: #fff !important;
    background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important
}

.text-bg-light {
    color: #000 !important;
    background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important
}

.text-bg-dark {
    color: #fff !important;
    background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important
}

.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%
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030
}

.sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.vr {
    display: inline-block;
    align-self: stretch;
    width: 1px;
    min-height: 1em;
    background-color: currentcolor;
    opacity: .25
}

.align-baseline {
    vertical-align: baseline !important
}

.align-top {
    vertical-align: top !important
}

.align-middle {
    vertical-align: middle !important
}

.align-bottom {
    vertical-align: bottom !important
}

.align-text-bottom {
    vertical-align: text-bottom !important
}

.align-text-top {
    vertical-align: text-top !important
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-grid {
    display: grid !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

.d-none {
    display: none !important
}

.shadow {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important
}

.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important
}

.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important
}

.shadow-none {
    box-shadow: none !important
}

.position-static {
    position: static !important
}

.position-relative {
    position: relative !important
}

.position-absolute {
    position: absolute !important
}

.position-fixed {
    position: fixed !important
}

.position-sticky {
    position: -webkit-sticky !important;
    position: sticky !important
}

.top-0 {
    top: 0 !important
}

.top-50 {
    top: 50% !important
}

.top-100 {
    top: 100% !important
}

.bottom-0 {
    bottom: 0 !important
}

.bottom-50 {
    bottom: 50% !important
}

.bottom-100 {
    bottom: 100% !important
}

.start-0 {
    left: 0 !important
}

.start-50 {
    left: 50% !important
}

.start-100 {
    left: 100% !important
}

.end-0 {
    right: 0 !important
}

.end-50 {
    right: 50% !important
}

.end-100 {
    right: 100% !important
}

.border {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-0 {
    border: 0 !important
}

.border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-top-0 {
    border-top: 0 !important
}

.border-end {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-end-0 {
    border-right: 0 !important
}

.border-bottom {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-bottom-0 {
    border-bottom: 0 !important
}

.border-start {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-start-0 {
    border-left: 0 !important
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important
}

.border-secondary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important
}

.border-success {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important
}

.border-info {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important
}

.border-warning {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important
}

.border-danger {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important
}

.border-light {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important
}

.border-dark {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important
}

.border-white {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important
}

.border-1 {
    --bs-border-width: 1px
}

.border-2 {
    --bs-border-width: 2px
}

.border-3 {
    --bs-border-width: 3px
}

.border-4 {
    --bs-border-width: 4px
}

.border-5 {
    --bs-border-width: 5px
}

.border-opacity-10 {
    --bs-border-opacity: 0.1
}

.border-opacity-25 {
    --bs-border-opacity: 0.25
}

.border-opacity-50 {
    --bs-border-opacity: 0.5
}

.border-opacity-75 {
    --bs-border-opacity: 0.75
}

.border-opacity-100 {
    --bs-border-opacity: 1
}

.w-25 {
    width: 25% !important
}

.w-50 {
    width: 50% !important
}

.w-75 {
    width: 75% !important
}

.w-100 {
    width: 100% !important
}

.w-auto {
    width: auto !important
}

.h-25 {
    height: 25% !important
}

.h-50 {
    height: 50% !important
}

.h-75 {
    height: 75% !important
}

.h-100 {
    height: 100% !important
}

.h-auto {
    height: auto !important
}

.flex-fill {
    flex: 1 1 auto !important
}

.flex-row {
    flex-direction: row !important
}

.flex-column {
    flex-direction: column !important
}

.flex-row-reverse {
    flex-direction: row-reverse !important
}

.flex-column-reverse {
    flex-direction: column-reverse !important
}

.flex-grow-0 {
    flex-grow: 0 !important
}

.flex-grow-1 {
    flex-grow: 1 !important
}

.flex-shrink-0 {
    flex-shrink: 0 !important
}

.flex-shrink-1 {
    flex-shrink: 1 !important
}

.flex-wrap {
    flex-wrap: wrap !important
}

.flex-nowrap {
    flex-wrap: nowrap !important
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important
}

.justify-content-start {
    justify-content: flex-start !important
}

.justify-content-end {
    justify-content: flex-end !important
}

.justify-content-center {
    justify-content: center !important
}

.justify-content-between {
    justify-content: space-between !important
}

.justify-content-around {
    justify-content: space-around !important
}

.justify-content-evenly {
    justify-content: space-evenly !important
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

.align-items-center {
    align-items: center !important
}

.align-items-baseline {
    align-items: baseline !important
}

.align-items-stretch {
    align-items: stretch !important
}

.align-content-start {
    align-content: flex-start !important
}

.align-content-end {
    align-content: flex-end !important
}

.align-content-center {
    align-content: center !important
}

.align-content-between {
    align-content: space-between !important
}

.align-content-around {
    align-content: space-around !important
}

.align-content-stretch {
    align-content: stretch !important
}

.align-self-auto {
    align-self: auto !important
}

.align-self-start {
    align-self: flex-start !important
}

.align-self-end {
    align-self: flex-end !important
}

.align-self-center {
    align-self: center !important
}

.align-self-baseline {
    align-self: baseline !important
}

.align-self-stretch {
    align-self: stretch !important
}

.order-first {
    order: -1 !important
}

.order-0 {
    order: 0 !important
}

.order-1 {
    order: 1 !important
}

.order-2 {
    order: 2 !important
}

.order-3 {
    order: 3 !important
}

.order-4 {
    order: 4 !important
}

.order-5 {
    order: 5 !important
}

.order-last {
    order: 6 !important
}

.m-0 {
    margin: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.m-auto {
    margin: auto !important
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.mx-1 {
    margin-right: .25rem !important;
    margin-left: .25rem !important
}

.mx-2 {
    margin-right: .5rem !important;
    margin-left: .5rem !important
}

.mx-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important
}

.mx-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important
}

.mx-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important
}

.my-2 {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important
}

.mt-0 {
    margin-top: 0 !important
}

.mt-1 {
    margin-top: .25rem !important
}

.mt-2 {
    margin-top: .5rem !important
}

.mt-3 {
    margin-top: 1rem !important
}

.mt-4 {
    margin-top: 1.5rem !important
}

.mt-5 {
    margin-top: 3rem !important
}

.mt-auto {
    margin-top: auto !important
}

.me-0 {
    margin-right: 0 !important
}

.me-1 {
    margin-right: .25rem !important
}

.me-2 {
    margin-right: .5rem !important
}

.me-3 {
    margin-right: 1rem !important
}

.me-4 {
    margin-right: 1.5rem !important
}

.me-5 {
    margin-right: 3rem !important
}

.me-auto {
    margin-right: auto !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-1 {
    margin-bottom: .25rem !important
}

.mb-2 {
    margin-bottom: .5rem !important
}

.mb-3 {
    margin-bottom: 1rem !important
}

.mb-4 {
    margin-bottom: 1.5rem !important
}

.mb-5 {
    margin-bottom: 3rem !important
}

.mb-auto {
    margin-bottom: auto !important
}

.ms-0 {
    margin-left: 0 !important
}

.ms-1 {
    margin-left: .25rem !important
}

.ms-2 {
    margin-left: .5rem !important
}

.ms-3 {
    margin-left: 1rem !important
}

.ms-4 {
    margin-left: 1.5rem !important
}

.ms-5 {
    margin-left: 3rem !important
}

.ms-auto {
    margin-left: auto !important
}

.p-0 {
    padding: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important
}

.px-1 {
    padding-right: .25rem !important;
    padding-left: .25rem !important
}

.px-2 {
    padding-right: .5rem !important;
    padding-left: .5rem !important
}

.px-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important
}

.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important
}

.px-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important
}

.py-1 {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important
}

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-1 {
    padding-top: .25rem !important
}

.pt-2 {
    padding-top: .5rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pt-4 {
    padding-top: 1.5rem !important
}

.pt-5 {
    padding-top: 3rem !important
}

.pe-0 {
    padding-right: 0 !important
}

.pe-1 {
    padding-right: .25rem !important
}

.pe-2 {
    padding-right: .5rem !important
}

.pe-3 {
    padding-right: 1rem !important
}

.pe-4 {
    padding-right: 1.5rem !important
}

.pe-5 {
    padding-right: 3rem !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-1 {
    padding-bottom: .25rem !important
}

.pb-2 {
    padding-bottom: .5rem !important
}

.pb-3 {
    padding-bottom: 1rem !important
}

.pb-4 {
    padding-bottom: 1.5rem !important
}

.pb-5 {
    padding-bottom: 3rem !important
}

.ps-0 {
    padding-left: 0 !important
}

.ps-1 {
    padding-left: .25rem !important
}

.ps-2 {
    padding-left: .5rem !important
}

.ps-3 {
    padding-left: 1rem !important
}

.ps-4 {
    padding-left: 1.5rem !important
}

.ps-5 {
    padding-left: 3rem !important
}

.gap-0 {
    gap: 0 !important
}

.gap-1 {
    gap: .25rem !important
}

.gap-2 {
    gap: .5rem !important
}

.gap-3 {
    gap: 1rem !important
}

.gap-4 {
    gap: 1.5rem !important
}

.gap-5 {
    gap: 3rem !important
}

.text-start {
    text-align: left !important
}

.text-end {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

.text-decoration-none {
    text-decoration: none !important
}

.text-decoration-underline {
    text-decoration: underline !important
}

.text-decoration-line-through {
    text-decoration: line-through !important
}

.text-lowercase {
    text-transform: lowercase !important
}

.text-uppercase {
    text-transform: uppercase !important
}

.text-capitalize {
    text-transform: capitalize !important
}

.text-wrap {
    white-space: normal !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-break {
    word-wrap: break-word !important;
    word-break: break-word !important
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important
}

.text-secondary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important
}

.text-success {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important
}

.text-info {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important
}

.text-warning {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important
}

.text-danger {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important
}

.text-light {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important
}

.text-dark {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important
}

.text-black {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important
}

.text-body {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important
}

.text-muted {
    --bs-text-opacity: 1;
    color: #6c757d !important
}

.text-black-50 {
    --bs-text-opacity: 1;
    color: rgba(0, 0, 0, .5) !important
}

.text-white-50 {
    --bs-text-opacity: 1;
    color: rgba(255, 255, 255, .5) !important
}

.text-reset {
    --bs-text-opacity: 1;
    color: inherit !important
}

.text-opacity-25 {
    --bs-text-opacity: 0.25
}

.text-opacity-50 {
    --bs-text-opacity: 0.5
}

.text-opacity-75 {
    --bs-text-opacity: 0.75
}

.text-opacity-100 {
    --bs-text-opacity: 1
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important
}

.bg-black {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important
}

.bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important
}

.bg-body {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important
}

.bg-transparent {
    --bs-bg-opacity: 1;
    background-color: transparent !important
}

.bg-opacity-10 {
    --bs-bg-opacity: 0.1
}

.bg-opacity-25 {
    --bs-bg-opacity: 0.25
}

.bg-opacity-50 {
    --bs-bg-opacity: 0.5
}

.bg-opacity-75 {
    --bs-bg-opacity: 0.75
}

.bg-opacity-100 {
    --bs-bg-opacity: 1
}

.bg-gradient {
    background-image: var(--bs-gradient) !important
}

.pe-none {
    pointer-events: none !important
}

.pe-auto {
    pointer-events: auto !important
}

.rounded {
    border-radius: var(--bs-border-radius) !important
}

.rounded-0 {
    border-radius: 0 !important
}

.rounded-1 {
    border-radius: var(--bs-border-radius-sm) !important
}

.rounded-2 {
    border-radius: var(--bs-border-radius) !important
}

.rounded-3 {
    border-radius: var(--bs-border-radius-lg) !important
}

.rounded-4 {
    border-radius: var(--bs-border-radius-xl) !important
}

.rounded-5 {
    border-radius: var(--bs-border-radius-2xl) !important
}

.rounded-circle {
    border-radius: 50% !important
}

.rounded-pill {
    border-radius: var(--bs-border-radius-pill) !important
}

.rounded-top {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important
}

.rounded-end {
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important
}

.rounded-bottom {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important
}

.rounded-start {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important
}

.visible {
    visibility: visible !important
}

@media (min-width:576px) {
    .d-sm-inline {
        display: inline !important
    }

    .d-sm-inline-block {
        display: inline-block !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-grid {
        display: grid !important
    }

    .d-sm-table {
        display: table !important
    }

    .d-sm-table-row {
        display: table-row !important
    }

    .d-sm-table-cell {
        display: table-cell !important
    }

    .d-sm-flex {
        display: flex !important
    }

    .d-sm-inline-flex {
        display: inline-flex !important
    }

    .d-sm-none {
        display: none !important
    }

    .flex-sm-fill {
        flex: 1 1 auto !important
    }

    .flex-sm-row {
        flex-direction: row !important
    }

    .flex-sm-column {
        flex-direction: column !important
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-sm-grow-0 {
        flex-grow: 0 !important
    }

    .flex-sm-grow-1 {
        flex-grow: 1 !important
    }

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-sm-wrap {
        flex-wrap: wrap !important
    }

    .flex-sm-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-sm-start {
        justify-content: flex-start !important
    }

    .justify-content-sm-end {
        justify-content: flex-end !important
    }

    .justify-content-sm-center {
        justify-content: center !important
    }

    .justify-content-sm-between {
        justify-content: space-between !important
    }

    .justify-content-sm-around {
        justify-content: space-around !important
    }

    .justify-content-sm-evenly {
        justify-content: space-evenly !important
    }

    .align-items-sm-start {
        align-items: flex-start !important
    }

    .align-items-sm-end {
        align-items: flex-end !important
    }

    .align-items-sm-center {
        align-items: center !important
    }

    .align-items-sm-baseline {
        align-items: baseline !important
    }

    .align-items-sm-stretch {
        align-items: stretch !important
    }

    .align-content-sm-start {
        align-content: flex-start !important
    }

    .align-content-sm-end {
        align-content: flex-end !important
    }

    .align-content-sm-center {
        align-content: center !important
    }

    .align-content-sm-between {
        align-content: space-between !important
    }

    .align-content-sm-around {
        align-content: space-around !important
    }

    .align-content-sm-stretch {
        align-content: stretch !important
    }

    .align-self-sm-auto {
        align-self: auto !important
    }

    .align-self-sm-start {
        align-self: flex-start !important
    }

    .align-self-sm-end {
        align-self: flex-end !important
    }

    .align-self-sm-center {
        align-self: center !important
    }

    .align-self-sm-baseline {
        align-self: baseline !important
    }

    .align-self-sm-stretch {
        align-self: stretch !important
    }

    .order-sm-first {
        order: -1 !important
    }

    .order-sm-0 {
        order: 0 !important
    }

    .order-sm-1 {
        order: 1 !important
    }

    .order-sm-2 {
        order: 2 !important
    }

    .order-sm-3 {
        order: 3 !important
    }

    .order-sm-4 {
        order: 4 !important
    }

    .order-sm-5 {
        order: 5 !important
    }

    .order-sm-last {
        order: 6 !important
    }

    .m-sm-0 {
        margin: 0 !important
    }

    .m-sm-1 {
        margin: .25rem !important
    }

    .m-sm-2 {
        margin: .5rem !important
    }

    .m-sm-3 {
        margin: 1rem !important
    }

    .m-sm-4 {
        margin: 1.5rem !important
    }

    .m-sm-5 {
        margin: 3rem !important
    }

    .m-sm-auto {
        margin: auto !important
    }

    .mx-sm-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-sm-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-sm-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-sm-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-sm-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-sm-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-sm-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .mt-sm-0 {
        margin-top: 0 !important
    }

    .mt-sm-1 {
        margin-top: .25rem !important
    }

    .mt-sm-2 {
        margin-top: .5rem !important
    }

    .mt-sm-3 {
        margin-top: 1rem !important
    }

    .mt-sm-4 {
        margin-top: 1.5rem !important
    }

    .mt-sm-5 {
        margin-top: 3rem !important
    }

    .mt-sm-auto {
        margin-top: auto !important
    }

    .me-sm-0 {
        margin-right: 0 !important
    }

    .me-sm-1 {
        margin-right: .25rem !important
    }

    .me-sm-2 {
        margin-right: .5rem !important
    }

    .me-sm-3 {
        margin-right: 1rem !important
    }

    .me-sm-4 {
        margin-right: 1.5rem !important
    }

    .me-sm-5 {
        margin-right: 3rem !important
    }

    .me-sm-auto {
        margin-right: auto !important
    }

    .mb-sm-0 {
        margin-bottom: 0 !important
    }

    .mb-sm-1 {
        margin-bottom: .25rem !important
    }

    .mb-sm-2 {
        margin-bottom: .5rem !important
    }

    .mb-sm-3 {
        margin-bottom: 1rem !important
    }

    .mb-sm-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-sm-5 {
        margin-bottom: 3rem !important
    }

    .mb-sm-auto {
        margin-bottom: auto !important
    }

    .ms-sm-0 {
        margin-left: 0 !important
    }

    .ms-sm-1 {
        margin-left: .25rem !important
    }

    .ms-sm-2 {
        margin-left: .5rem !important
    }

    .ms-sm-3 {
        margin-left: 1rem !important
    }

    .ms-sm-4 {
        margin-left: 1.5rem !important
    }

    .ms-sm-5 {
        margin-left: 3rem !important
    }

    .ms-sm-auto {
        margin-left: auto !important
    }

    .p-sm-0 {
        padding: 0 !important
    }

    .p-sm-1 {
        padding: .25rem !important
    }

    .p-sm-2 {
        padding: .5rem !important
    }

    .p-sm-3 {
        padding: 1rem !important
    }

    .p-sm-4 {
        padding: 1.5rem !important
    }

    .p-sm-5 {
        padding: 3rem !important
    }

    .px-sm-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-sm-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-sm-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-sm-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-sm-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-sm-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .pt-sm-0 {
        padding-top: 0 !important
    }

    .pt-sm-1 {
        padding-top: .25rem !important
    }

    .pt-sm-2 {
        padding-top: .5rem !important
    }

    .pt-sm-3 {
        padding-top: 1rem !important
    }

    .pt-sm-4 {
        padding-top: 1.5rem !important
    }

    .pt-sm-5 {
        padding-top: 3rem !important
    }

    .pe-sm-0 {
        padding-right: 0 !important
    }

    .pe-sm-1 {
        padding-right: .25rem !important
    }

    .pe-sm-2 {
        padding-right: .5rem !important
    }

    .pe-sm-3 {
        padding-right: 1rem !important
    }

    .pe-sm-4 {
        padding-right: 1.5rem !important
    }

    .pe-sm-5 {
        padding-right: 3rem !important
    }

    .pb-sm-0 {
        padding-bottom: 0 !important
    }

    .pb-sm-1 {
        padding-bottom: .25rem !important
    }

    .pb-sm-2 {
        padding-bottom: .5rem !important
    }

    .pb-sm-3 {
        padding-bottom: 1rem !important
    }

    .pb-sm-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-sm-5 {
        padding-bottom: 3rem !important
    }

    .ps-sm-0 {
        padding-left: 0 !important
    }

    .ps-sm-1 {
        padding-left: .25rem !important
    }

    .ps-sm-2 {
        padding-left: .5rem !important
    }

    .ps-sm-3 {
        padding-left: 1rem !important
    }

    .ps-sm-4 {
        padding-left: 1.5rem !important
    }

    .ps-sm-5 {
        padding-left: 3rem !important
    }

    .gap-sm-0 {
        gap: 0 !important
    }

    .gap-sm-1 {
        gap: .25rem !important
    }

    .gap-sm-2 {
        gap: .5rem !important
    }

    .gap-sm-3 {
        gap: 1rem !important
    }

    .gap-sm-4 {
        gap: 1.5rem !important
    }

    .gap-sm-5 {
        gap: 3rem !important
    }

    .text-sm-start {
        text-align: left !important
    }

    .text-sm-end {
        text-align: right !important
    }

    .text-sm-center {
        text-align: center !important
    }
}

@media (min-width:768px) {
    .d-md-inline {
        display: inline !important
    }

    .d-md-inline-block {
        display: inline-block !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-grid {
        display: grid !important
    }

    .d-md-table {
        display: table !important
    }

    .d-md-table-row {
        display: table-row !important
    }

    .d-md-table-cell {
        display: table-cell !important
    }

    .d-md-flex {
        display: flex !important
    }

    .d-md-inline-flex {
        display: inline-flex !important
    }

    .d-md-none {
        display: none !important
    }

    .flex-md-fill {
        flex: 1 1 auto !important
    }

    .flex-md-row {
        flex-direction: row !important
    }

    .flex-md-column {
        flex-direction: column !important
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-md-grow-0 {
        flex-grow: 0 !important
    }

    .flex-md-grow-1 {
        flex-grow: 1 !important
    }

    .flex-md-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-md-wrap {
        flex-wrap: wrap !important
    }

    .flex-md-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-md-start {
        justify-content: flex-start !important
    }

    .justify-content-md-end {
        justify-content: flex-end !important
    }

    .justify-content-md-center {
        justify-content: center !important
    }

    .justify-content-md-between {
        justify-content: space-between !important
    }

    .justify-content-md-around {
        justify-content: space-around !important
    }

    .justify-content-md-evenly {
        justify-content: space-evenly !important
    }

    .align-items-md-start {
        align-items: flex-start !important
    }

    .align-items-md-end {
        align-items: flex-end !important
    }

    .align-items-md-center {
        align-items: center !important
    }

    .align-items-md-baseline {
        align-items: baseline !important
    }

    .align-items-md-stretch {
        align-items: stretch !important
    }

    .align-content-md-start {
        align-content: flex-start !important
    }

    .align-content-md-end {
        align-content: flex-end !important
    }

    .align-content-md-center {
        align-content: center !important
    }

    .align-content-md-between {
        align-content: space-between !important
    }

    .align-content-md-around {
        align-content: space-around !important
    }

    .align-content-md-stretch {
        align-content: stretch !important
    }

    .align-self-md-auto {
        align-self: auto !important
    }

    .align-self-md-start {
        align-self: flex-start !important
    }

    .align-self-md-end {
        align-self: flex-end !important
    }

    .align-self-md-center {
        align-self: center !important
    }

    .align-self-md-baseline {
        align-self: baseline !important
    }

    .align-self-md-stretch {
        align-self: stretch !important
    }

    .order-md-first {
        order: -1 !important
    }

    .order-md-0 {
        order: 0 !important
    }

    .order-md-1 {
        order: 1 !important
    }

    .order-md-2 {
        order: 2 !important
    }

    .order-md-3 {
        order: 3 !important
    }

    .order-md-4 {
        order: 4 !important
    }

    .order-md-5 {
        order: 5 !important
    }

    .order-md-last {
        order: 6 !important
    }

    .m-md-0 {
        margin: 0 !important
    }

    .m-md-1 {
        margin: .25rem !important
    }

    .m-md-2 {
        margin: .5rem !important
    }

    .m-md-3 {
        margin: 1rem !important
    }

    .m-md-4 {
        margin: 1.5rem !important
    }

    .m-md-5 {
        margin: 3rem !important
    }

    .m-md-auto {
        margin: auto !important
    }

    .mx-md-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-md-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-md-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-md-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-md-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-md-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-md-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .mt-md-0 {
        margin-top: 0 !important
    }

    .mt-md-1 {
        margin-top: .25rem !important
    }

    .mt-md-2 {
        margin-top: .5rem !important
    }

    .mt-md-3 {
        margin-top: 1rem !important
    }

    .mt-md-4 {
        margin-top: 1.5rem !important
    }

    .mt-md-5 {
        margin-top: 3rem !important
    }

    .mt-md-auto {
        margin-top: auto !important
    }

    .me-md-0 {
        margin-right: 0 !important
    }

    .me-md-1 {
        margin-right: .25rem !important
    }

    .me-md-2 {
        margin-right: .5rem !important
    }

    .me-md-3 {
        margin-right: 1rem !important
    }

    .me-md-4 {
        margin-right: 1.5rem !important
    }

    .me-md-5 {
        margin-right: 3rem !important
    }

    .me-md-auto {
        margin-right: auto !important
    }

    .mb-md-0 {
        margin-bottom: 0 !important
    }

    .mb-md-1 {
        margin-bottom: .25rem !important
    }

    .mb-md-2 {
        margin-bottom: .5rem !important
    }

    .mb-md-3 {
        margin-bottom: 1rem !important
    }

    .mb-md-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-md-5 {
        margin-bottom: 3rem !important
    }

    .mb-md-auto {
        margin-bottom: auto !important
    }

    .ms-md-0 {
        margin-left: 0 !important
    }

    .ms-md-1 {
        margin-left: .25rem !important
    }

    .ms-md-2 {
        margin-left: .5rem !important
    }

    .ms-md-3 {
        margin-left: 1rem !important
    }

    .ms-md-4 {
        margin-left: 1.5rem !important
    }

    .ms-md-5 {
        margin-left: 3rem !important
    }

    .ms-md-auto {
        margin-left: auto !important
    }

    .p-md-0 {
        padding: 0 !important
    }

    .p-md-1 {
        padding: .25rem !important
    }

    .p-md-2 {
        padding: .5rem !important
    }

    .p-md-3 {
        padding: 1rem !important
    }

    .p-md-4 {
        padding: 1.5rem !important
    }

    .p-md-5 {
        padding: 3rem !important
    }

    .px-md-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-md-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-md-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-md-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-md-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-md-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .pt-md-0 {
        padding-top: 0 !important
    }

    .pt-md-1 {
        padding-top: .25rem !important
    }

    .pt-md-2 {
        padding-top: .5rem !important
    }

    .pt-md-3 {
        padding-top: 1rem !important
    }

    .pt-md-4 {
        padding-top: 1.5rem !important
    }

    .pt-md-5 {
        padding-top: 3rem !important
    }

    .pe-md-0 {
        padding-right: 0 !important
    }

    .pe-md-1 {
        padding-right: .25rem !important
    }

    .pe-md-2 {
        padding-right: .5rem !important
    }

    .pe-md-3 {
        padding-right: 1rem !important
    }

    .pe-md-4 {
        padding-right: 1.5rem !important
    }

    .pe-md-5 {
        padding-right: 3rem !important
    }

    .pb-md-0 {
        padding-bottom: 0 !important
    }

    .pb-md-1 {
        padding-bottom: .25rem !important
    }

    .pb-md-2 {
        padding-bottom: .5rem !important
    }

    .pb-md-3 {
        padding-bottom: 1rem !important
    }

    .pb-md-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-md-5 {
        padding-bottom: 3rem !important
    }

    .ps-md-0 {
        padding-left: 0 !important
    }

    .ps-md-1 {
        padding-left: .25rem !important
    }

    .ps-md-2 {
        padding-left: .5rem !important
    }

    .ps-md-3 {
        padding-left: 1rem !important
    }

    .ps-md-4 {
        padding-left: 1.5rem !important
    }

    .ps-md-5 {
        padding-left: 3rem !important
    }

    .gap-md-0 {
        gap: 0 !important
    }

    .gap-md-1 {
        gap: .25rem !important
    }

    .gap-md-2 {
        gap: .5rem !important
    }

    .gap-md-3 {
        gap: 1rem !important
    }

    .gap-md-4 {
        gap: 1.5rem !important
    }

    .gap-md-5 {
        gap: 3rem !important
    }

    .text-md-start {
        text-align: left !important
    }

    .text-md-end {
        text-align: right !important
    }

    .text-md-center {
        text-align: center !important
    }
}

@media (min-width:992px) {
    .d-lg-inline {
        display: inline !important
    }

    .d-lg-inline-block {
        display: inline-block !important
    }

    .d-lg-block {
        display: block !important
    }

    .d-lg-grid {
        display: grid !important
    }

    .d-lg-table {
        display: table !important
    }

    .d-lg-table-row {
        display: table-row !important
    }

    .d-lg-table-cell {
        display: table-cell !important
    }

    .d-lg-flex {
        display: flex !important
    }

    .d-lg-inline-flex {
        display: inline-flex !important
    }

    .d-lg-none {
        display: none !important
    }

    .flex-lg-fill {
        flex: 1 1 auto !important
    }

    .flex-lg-row {
        flex-direction: row !important
    }

    .flex-lg-column {
        flex-direction: column !important
    }

    .flex-lg-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-lg-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-lg-grow-0 {
        flex-grow: 0 !important
    }

    .flex-lg-grow-1 {
        flex-grow: 1 !important
    }

    .flex-lg-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-lg-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-lg-wrap {
        flex-wrap: wrap !important
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-lg-start {
        justify-content: flex-start !important
    }

    .justify-content-lg-end {
        justify-content: flex-end !important
    }

    .justify-content-lg-center {
        justify-content: center !important
    }

    .justify-content-lg-between {
        justify-content: space-between !important
    }

    .justify-content-lg-around {
        justify-content: space-around !important
    }

    .justify-content-lg-evenly {
        justify-content: space-evenly !important
    }

    .align-items-lg-start {
        align-items: flex-start !important
    }

    .align-items-lg-end {
        align-items: flex-end !important
    }

    .align-items-lg-center {
        align-items: center !important
    }

    .align-items-lg-baseline {
        align-items: baseline !important
    }

    .align-items-lg-stretch {
        align-items: stretch !important
    }

    .align-content-lg-start {
        align-content: flex-start !important
    }

    .align-content-lg-end {
        align-content: flex-end !important
    }

    .align-content-lg-center {
        align-content: center !important
    }

    .align-content-lg-between {
        align-content: space-between !important
    }

    .align-content-lg-around {
        align-content: space-around !important
    }

    .align-content-lg-stretch {
        align-content: stretch !important
    }

    .align-self-lg-auto {
        align-self: auto !important
    }

    .align-self-lg-start {
        align-self: flex-start !important
    }

    .align-self-lg-end {
        align-self: flex-end !important
    }

    .align-self-lg-center {
        align-self: center !important
    }

    .align-self-lg-baseline {
        align-self: baseline !important
    }

    .align-self-lg-stretch {
        align-self: stretch !important
    }

    .order-lg-first {
        order: -1 !important
    }

    .order-lg-0 {
        order: 0 !important
    }

    .order-lg-1 {
        order: 1 !important
    }

    .order-lg-2 {
        order: 2 !important
    }

    .order-lg-3 {
        order: 3 !important
    }

    .order-lg-4 {
        order: 4 !important
    }

    .order-lg-5 {
        order: 5 !important
    }

    .order-lg-last {
        order: 6 !important
    }

    .m-lg-0 {
        margin: 0 !important
    }

    .m-lg-1 {
        margin: .25rem !important
    }

    .m-lg-2 {
        margin: .5rem !important
    }

    .m-lg-3 {
        margin: 1rem !important
    }

    .m-lg-4 {
        margin: 1.5rem !important
    }

    .m-lg-5 {
        margin: 3rem !important
    }

    .m-lg-auto {
        margin: auto !important
    }

    .mx-lg-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-lg-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-lg-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-lg-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-lg-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-lg-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-lg-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .mt-lg-0 {
        margin-top: 0 !important
    }

    .mt-lg-1 {
        margin-top: .25rem !important
    }

    .mt-lg-2 {
        margin-top: .5rem !important
    }

    .mt-lg-3 {
        margin-top: 1rem !important
    }

    .mt-lg-4 {
        margin-top: 1.5rem !important
    }

    .mt-lg-5 {
        margin-top: 3rem !important
    }

    .mt-lg-auto {
        margin-top: auto !important
    }

    .me-lg-0 {
        margin-right: 0 !important
    }

    .me-lg-1 {
        margin-right: .25rem !important
    }

    .me-lg-2 {
        margin-right: .5rem !important
    }

    .me-lg-3 {
        margin-right: 1rem !important
    }

    .me-lg-4 {
        margin-right: 1.5rem !important
    }

    .me-lg-5 {
        margin-right: 3rem !important
    }

    .me-lg-auto {
        margin-right: auto !important
    }

    .mb-lg-0 {
        margin-bottom: 0 !important
    }

    .mb-lg-1 {
        margin-bottom: .25rem !important
    }

    .mb-lg-2 {
        margin-bottom: .5rem !important
    }

    .mb-lg-3 {
        margin-bottom: 1rem !important
    }

    .mb-lg-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-lg-5 {
        margin-bottom: 3rem !important
    }

    .mb-lg-auto {
        margin-bottom: auto !important
    }

    .ms-lg-0 {
        margin-left: 0 !important
    }

    .ms-lg-1 {
        margin-left: .25rem !important
    }

    .ms-lg-2 {
        margin-left: .5rem !important
    }

    .ms-lg-3 {
        margin-left: 1rem !important
    }

    .ms-lg-4 {
        margin-left: 1.5rem !important
    }

    .ms-lg-5 {
        margin-left: 3rem !important
    }

    .ms-lg-auto {
        margin-left: auto !important
    }

    .p-lg-0 {
        padding: 0 !important
    }

    .p-lg-1 {
        padding: .25rem !important
    }

    .p-lg-2 {
        padding: .5rem !important
    }

    .p-lg-3 {
        padding: 1rem !important
    }

    .p-lg-4 {
        padding: 1.5rem !important
    }

    .p-lg-5 {
        padding: 3rem !important
    }

    .px-lg-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-lg-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-lg-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-lg-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-lg-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-lg-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .pt-lg-0 {
        padding-top: 0 !important
    }

    .pt-lg-1 {
        padding-top: .25rem !important
    }

    .pt-lg-2 {
        padding-top: .5rem !important
    }

    .pt-lg-3 {
        padding-top: 1rem !important
    }

    .pt-lg-4 {
        padding-top: 1.5rem !important
    }

    .pt-lg-5 {
        padding-top: 3rem !important
    }

    .pe-lg-0 {
        padding-right: 0 !important
    }

    .pe-lg-1 {
        padding-right: .25rem !important
    }

    .pe-lg-2 {
        padding-right: .5rem !important
    }

    .pe-lg-3 {
        padding-right: 1rem !important
    }

    .pe-lg-4 {
        padding-right: 1.5rem !important
    }

    .pe-lg-5 {
        padding-right: 3rem !important
    }

    .pb-lg-0 {
        padding-bottom: 0 !important
    }

    .pb-lg-1 {
        padding-bottom: .25rem !important
    }

    .pb-lg-2 {
        padding-bottom: .5rem !important
    }

    .pb-lg-3 {
        padding-bottom: 1rem !important
    }

    .pb-lg-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-lg-5 {
        padding-bottom: 3rem !important
    }

    .ps-lg-0 {
        padding-left: 0 !important
    }

    .ps-lg-1 {
        padding-left: .25rem !important
    }

    .ps-lg-2 {
        padding-left: .5rem !important
    }

    .ps-lg-3 {
        padding-left: 1rem !important
    }

    .ps-lg-4 {
        padding-left: 1.5rem !important
    }

    .ps-lg-5 {
        padding-left: 3rem !important
    }

    .gap-lg-0 {
        gap: 0 !important
    }

    .gap-lg-1 {
        gap: .25rem !important
    }

    .gap-lg-2 {
        gap: .5rem !important
    }

    .gap-lg-3 {
        gap: 1rem !important
    }

    .gap-lg-4 {
        gap: 1.5rem !important
    }

    .gap-lg-5 {
        gap: 3rem !important
    }

    .text-lg-start {
        text-align: left !important
    }

    .text-lg-end {
        text-align: right !important
    }

    .text-lg-center {
        text-align: center !important
    }
}

@media (min-width:1200px) {
    .d-xl-inline {
        display: inline !important
    }

    .d-xl-inline-block {
        display: inline-block !important
    }

    .d-xl-block {
        display: block !important
    }

    .d-xl-grid {
        display: grid !important
    }

    .d-xl-table {
        display: table !important
    }

    .d-xl-table-row {
        display: table-row !important
    }

    .d-xl-table-cell {
        display: table-cell !important
    }

    .d-xl-flex {
        display: flex !important
    }

    .d-xl-inline-flex {
        display: inline-flex !important
    }

    .d-xl-none {
        display: none !important
    }

    .flex-xl-fill {
        flex: 1 1 auto !important
    }

    .flex-xl-row {
        flex-direction: row !important
    }

    .flex-xl-column {
        flex-direction: column !important
    }

    .flex-xl-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-xl-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-xl-grow-0 {
        flex-grow: 0 !important
    }

    .flex-xl-grow-1 {
        flex-grow: 1 !important
    }

    .flex-xl-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-xl-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-xl-wrap {
        flex-wrap: wrap !important
    }

    .flex-xl-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-xl-start {
        justify-content: flex-start !important
    }

    .justify-content-xl-end {
        justify-content: flex-end !important
    }

    .justify-content-xl-center {
        justify-content: center !important
    }

    .justify-content-xl-between {
        justify-content: space-between !important
    }

    .justify-content-xl-around {
        justify-content: space-around !important
    }

    .justify-content-xl-evenly {
        justify-content: space-evenly !important
    }

    .align-items-xl-start {
        align-items: flex-start !important
    }

    .align-items-xl-end {
        align-items: flex-end !important
    }

    .align-items-xl-center {
        align-items: center !important
    }

    .align-items-xl-baseline {
        align-items: baseline !important
    }

    .align-items-xl-stretch {
        align-items: stretch !important
    }

    .align-content-xl-start {
        align-content: flex-start !important
    }

    .align-content-xl-end {
        align-content: flex-end !important
    }

    .align-content-xl-center {
        align-content: center !important
    }

    .align-content-xl-between {
        align-content: space-between !important
    }

    .align-content-xl-around {
        align-content: space-around !important
    }

    .align-content-xl-stretch {
        align-content: stretch !important
    }

    .align-self-xl-auto {
        align-self: auto !important
    }

    .align-self-xl-start {
        align-self: flex-start !important
    }

    .align-self-xl-end {
        align-self: flex-end !important
    }

    .align-self-xl-center {
        align-self: center !important
    }

    .align-self-xl-baseline {
        align-self: baseline !important
    }

    .align-self-xl-stretch {
        align-self: stretch !important
    }

    .order-xl-first {
        order: -1 !important
    }

    .order-xl-0 {
        order: 0 !important
    }

    .order-xl-1 {
        order: 1 !important
    }

    .order-xl-2 {
        order: 2 !important
    }

    .order-xl-3 {
        order: 3 !important
    }

    .order-xl-4 {
        order: 4 !important
    }

    .order-xl-5 {
        order: 5 !important
    }

    .order-xl-last {
        order: 6 !important
    }

    .m-xl-0 {
        margin: 0 !important
    }

    .m-xl-1 {
        margin: .25rem !important
    }

    .m-xl-2 {
        margin: .5rem !important
    }

    .m-xl-3 {
        margin: 1rem !important
    }

    .m-xl-4 {
        margin: 1.5rem !important
    }

    .m-xl-5 {
        margin: 3rem !important
    }

    .m-xl-auto {
        margin: auto !important
    }

    .mx-xl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-xl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .mt-xl-0 {
        margin-top: 0 !important
    }

    .mt-xl-1 {
        margin-top: .25rem !important
    }

    .mt-xl-2 {
        margin-top: .5rem !important
    }

    .mt-xl-3 {
        margin-top: 1rem !important
    }

    .mt-xl-4 {
        margin-top: 1.5rem !important
    }

    .mt-xl-5 {
        margin-top: 3rem !important
    }

    .mt-xl-auto {
        margin-top: auto !important
    }

    .me-xl-0 {
        margin-right: 0 !important
    }

    .me-xl-1 {
        margin-right: .25rem !important
    }

    .me-xl-2 {
        margin-right: .5rem !important
    }

    .me-xl-3 {
        margin-right: 1rem !important
    }

    .me-xl-4 {
        margin-right: 1.5rem !important
    }

    .me-xl-5 {
        margin-right: 3rem !important
    }

    .me-xl-auto {
        margin-right: auto !important
    }

    .mb-xl-0 {
        margin-bottom: 0 !important
    }

    .mb-xl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xl-5 {
        margin-bottom: 3rem !important
    }

    .mb-xl-auto {
        margin-bottom: auto !important
    }

    .ms-xl-0 {
        margin-left: 0 !important
    }

    .ms-xl-1 {
        margin-left: .25rem !important
    }

    .ms-xl-2 {
        margin-left: .5rem !important
    }

    .ms-xl-3 {
        margin-left: 1rem !important
    }

    .ms-xl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xl-5 {
        margin-left: 3rem !important
    }

    .ms-xl-auto {
        margin-left: auto !important
    }

    .p-xl-0 {
        padding: 0 !important
    }

    .p-xl-1 {
        padding: .25rem !important
    }

    .p-xl-2 {
        padding: .5rem !important
    }

    .p-xl-3 {
        padding: 1rem !important
    }

    .p-xl-4 {
        padding: 1.5rem !important
    }

    .p-xl-5 {
        padding: 3rem !important
    }

    .px-xl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-xl-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-xl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-xl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-xl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-xl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .pt-xl-0 {
        padding-top: 0 !important
    }

    .pt-xl-1 {
        padding-top: .25rem !important
    }

    .pt-xl-2 {
        padding-top: .5rem !important
    }

    .pt-xl-3 {
        padding-top: 1rem !important
    }

    .pt-xl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xl-5 {
        padding-top: 3rem !important
    }

    .pe-xl-0 {
        padding-right: 0 !important
    }

    .pe-xl-1 {
        padding-right: .25rem !important
    }

    .pe-xl-2 {
        padding-right: .5rem !important
    }

    .pe-xl-3 {
        padding-right: 1rem !important
    }

    .pe-xl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xl-5 {
        padding-right: 3rem !important
    }

    .pb-xl-0 {
        padding-bottom: 0 !important
    }

    .pb-xl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xl-5 {
        padding-bottom: 3rem !important
    }

    .ps-xl-0 {
        padding-left: 0 !important
    }

    .ps-xl-1 {
        padding-left: .25rem !important
    }

    .ps-xl-2 {
        padding-left: .5rem !important
    }

    .ps-xl-3 {
        padding-left: 1rem !important
    }

    .ps-xl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xl-5 {
        padding-left: 3rem !important
    }

    .gap-xl-0 {
        gap: 0 !important
    }

    .gap-xl-1 {
        gap: .25rem !important
    }

    .gap-xl-2 {
        gap: .5rem !important
    }

    .gap-xl-3 {
        gap: 1rem !important
    }

    .gap-xl-4 {
        gap: 1.5rem !important
    }

    .gap-xl-5 {
        gap: 3rem !important
    }

    .text-xl-start {
        text-align: left !important
    }

    .text-xl-end {
        text-align: right !important
    }

    .text-xl-center {
        text-align: center !important
    }
}

@media (min-width:1400px) {
    .d-xxl-inline {
        display: inline !important
    }

    .d-xxl-inline-block {
        display: inline-block !important
    }

    .d-xxl-block {
        display: block !important
    }

    .d-xxl-grid {
        display: grid !important
    }

    .d-xxl-table {
        display: table !important
    }

    .d-xxl-table-row {
        display: table-row !important
    }

    .d-xxl-table-cell {
        display: table-cell !important
    }

    .d-xxl-flex {
        display: flex !important
    }

    .d-xxl-inline-flex {
        display: inline-flex !important
    }

    .d-xxl-none {
        display: none !important
    }

    .flex-xxl-fill {
        flex: 1 1 auto !important
    }

    .flex-xxl-row {
        flex-direction: row !important
    }

    .flex-xxl-column {
        flex-direction: column !important
    }

    .flex-xxl-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-xxl-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-xxl-grow-0 {
        flex-grow: 0 !important
    }

    .flex-xxl-grow-1 {
        flex-grow: 1 !important
    }

    .flex-xxl-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-xxl-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-xxl-wrap {
        flex-wrap: wrap !important
    }

    .flex-xxl-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-xxl-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-xxl-start {
        justify-content: flex-start !important
    }

    .justify-content-xxl-end {
        justify-content: flex-end !important
    }

    .justify-content-xxl-center {
        justify-content: center !important
    }

    .justify-content-xxl-between {
        justify-content: space-between !important
    }

    .justify-content-xxl-around {
        justify-content: space-around !important
    }

    .justify-content-xxl-evenly {
        justify-content: space-evenly !important
    }

    .align-items-xxl-start {
        align-items: flex-start !important
    }

    .align-items-xxl-end {
        align-items: flex-end !important
    }

    .align-items-xxl-center {
        align-items: center !important
    }

    .align-items-xxl-baseline {
        align-items: baseline !important
    }

    .align-items-xxl-stretch {
        align-items: stretch !important
    }

    .align-content-xxl-start {
        align-content: flex-start !important
    }

    .align-content-xxl-end {
        align-content: flex-end !important
    }

    .align-content-xxl-center {
        align-content: center !important
    }

    .align-content-xxl-between {
        align-content: space-between !important
    }

    .align-content-xxl-around {
        align-content: space-around !important
    }

    .align-content-xxl-stretch {
        align-content: stretch !important
    }

    .align-self-xxl-auto {
        align-self: auto !important
    }

    .align-self-xxl-start {
        align-self: flex-start !important
    }

    .align-self-xxl-end {
        align-self: flex-end !important
    }

    .align-self-xxl-center {
        align-self: center !important
    }

    .align-self-xxl-baseline {
        align-self: baseline !important
    }

    .align-self-xxl-stretch {
        align-self: stretch !important
    }

    .order-xxl-first {
        order: -1 !important
    }

    .order-xxl-0 {
        order: 0 !important
    }

    .order-xxl-1 {
        order: 1 !important
    }

    .order-xxl-2 {
        order: 2 !important
    }

    .order-xxl-3 {
        order: 3 !important
    }

    .order-xxl-4 {
        order: 4 !important
    }

    .order-xxl-5 {
        order: 5 !important
    }

    .order-xxl-last {
        order: 6 !important
    }

    .m-xxl-0 {
        margin: 0 !important
    }

    .m-xxl-1 {
        margin: .25rem !important
    }

    .m-xxl-2 {
        margin: .5rem !important
    }

    .m-xxl-3 {
        margin: 1rem !important
    }

    .m-xxl-4 {
        margin: 1.5rem !important
    }

    .m-xxl-5 {
        margin: 3rem !important
    }

    .m-xxl-auto {
        margin: auto !important
    }

    .mx-xxl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xxl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xxl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xxl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xxl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xxl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-xxl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .mt-xxl-0 {
        margin-top: 0 !important
    }

    .mt-xxl-1 {
        margin-top: .25rem !important
    }

    .mt-xxl-2 {
        margin-top: .5rem !important
    }

    .mt-xxl-3 {
        margin-top: 1rem !important
    }

    .mt-xxl-4 {
        margin-top: 1.5rem !important
    }

    .mt-xxl-5 {
        margin-top: 3rem !important
    }

    .mt-xxl-auto {
        margin-top: auto !important
    }

    .me-xxl-0 {
        margin-right: 0 !important
    }

    .me-xxl-1 {
        margin-right: .25rem !important
    }

    .me-xxl-2 {
        margin-right: .5rem !important
    }

    .me-xxl-3 {
        margin-right: 1rem !important
    }

    .me-xxl-4 {
        margin-right: 1.5rem !important
    }

    .me-xxl-5 {
        margin-right: 3rem !important
    }

    .me-xxl-auto {
        margin-right: auto !important
    }

    .mb-xxl-0 {
        margin-bottom: 0 !important
    }

    .mb-xxl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xxl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xxl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xxl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xxl-5 {
        margin-bottom: 3rem !important
    }

    .mb-xxl-auto {
        margin-bottom: auto !important
    }

    .ms-xxl-0 {
        margin-left: 0 !important
    }

    .ms-xxl-1 {
        margin-left: .25rem !important
    }

    .ms-xxl-2 {
        margin-left: .5rem !important
    }

    .ms-xxl-3 {
        margin-left: 1rem !important
    }

    .ms-xxl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xxl-5 {
        margin-left: 3rem !important
    }

    .ms-xxl-auto {
        margin-left: auto !important
    }

    .p-xxl-0 {
        padding: 0 !important
    }

    .p-xxl-1 {
        padding: .25rem !important
    }

    .p-xxl-2 {
        padding: .5rem !important
    }

    .p-xxl-3 {
        padding: 1rem !important
    }

    .p-xxl-4 {
        padding: 1.5rem !important
    }

    .p-xxl-5 {
        padding: 3rem !important
    }

    .px-xxl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-xxl-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-xxl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-xxl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-xxl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-xxl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .pt-xxl-0 {
        padding-top: 0 !important
    }

    .pt-xxl-1 {
        padding-top: .25rem !important
    }

    .pt-xxl-2 {
        padding-top: .5rem !important
    }

    .pt-xxl-3 {
        padding-top: 1rem !important
    }

    .pt-xxl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xxl-5 {
        padding-top: 3rem !important
    }

    .pe-xxl-0 {
        padding-right: 0 !important
    }

    .pe-xxl-1 {
        padding-right: .25rem !important
    }

    .pe-xxl-2 {
        padding-right: .5rem !important
    }

    .pe-xxl-3 {
        padding-right: 1rem !important
    }

    .pe-xxl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xxl-5 {
        padding-right: 3rem !important
    }

    .pb-xxl-0 {
        padding-bottom: 0 !important
    }

    .pb-xxl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xxl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xxl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xxl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xxl-5 {
        padding-bottom: 3rem !important
    }

    .ps-xxl-0 {
        padding-left: 0 !important
    }

    .ps-xxl-1 {
        padding-left: .25rem !important
    }

    .ps-xxl-2 {
        padding-left: .5rem !important
    }

    .ps-xxl-3 {
        padding-left: 1rem !important
    }

    .ps-xxl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xxl-5 {
        padding-left: 3rem !important
    }

    .gap-xxl-0 {
        gap: 0 !important
    }

    .gap-xxl-1 {
        gap: .25rem !important
    }

    .gap-xxl-2 {
        gap: .5rem !important
    }

    .gap-xxl-3 {
        gap: 1rem !important
    }

    .gap-xxl-4 {
        gap: 1.5rem !important
    }

    .gap-xxl-5 {
        gap: 3rem !important
    }

    .text-xxl-start {
        text-align: left !important
    }

    .text-xxl-end {
        text-align: right !important
    }

    .text-xxl-center {
        text-align: center !important
    }
}

@media print {
    .d-print-inline {
        display: inline !important
    }

    .d-print-inline-block {
        display: inline-block !important
    }

    .d-print-block {
        display: block !important
    }

    .d-print-grid {
        display: grid !important
    }

    .d-print-table {
        display: table !important
    }

    .d-print-table-row {
        display: table-row !important
    }

    .d-print-table-cell {
        display: table-cell !important
    }

    .d-print-flex {
        display: flex !important
    }

    .d-print-inline-flex {
        display: inline-flex !important
    }

    .d-print-none {
        display: none !important
    }
}


/*!
 * animate.css -https://daneden.github.io/animate.css/
 * Version - 3.7.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2019 Daniel Eden
 */

@-webkit-keyframes bounce {

    0%,
    20%,
    53%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    40%,
    43% {
        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0)
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0)
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0);
        transform: translate3d(0, -4px, 0)
    }
}

@keyframes bounce {

    0%,
    20%,
    53%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    40%,
    43% {
        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0)
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0)
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0);
        transform: translate3d(0, -4px, 0)
    }
}

@-webkit-keyframes flash {

    0%,
    50%,
    to {
        opacity: 1
    }

    25%,
    75% {
        opacity: 0
    }
}

@keyframes flash {

    0%,
    50%,
    to {
        opacity: 1
    }

    25%,
    75% {
        opacity: 0
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes pulse {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@-webkit-keyframes rubberBand {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    30% {
        -webkit-transform: scale3d(1.25, .75, 1);
        transform: scale3d(1.25, .75, 1)
    }

    40% {
        -webkit-transform: scale3d(.75, 1.25, 1);
        transform: scale3d(.75, 1.25, 1)
    }

    50% {
        -webkit-transform: scale3d(1.15, .85, 1);
        transform: scale3d(1.15, .85, 1)
    }

    65% {
        -webkit-transform: scale3d(.95, 1.05, 1);
        transform: scale3d(.95, 1.05, 1)
    }

    75% {
        -webkit-transform: scale3d(1.05, .95, 1);
        transform: scale3d(1.05, .95, 1)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes rubberBand {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    30% {
        -webkit-transform: scale3d(1.25, .75, 1);
        transform: scale3d(1.25, .75, 1)
    }

    40% {
        -webkit-transform: scale3d(.75, 1.25, 1);
        transform: scale3d(.75, 1.25, 1)
    }

    50% {
        -webkit-transform: scale3d(1.15, .85, 1);
        transform: scale3d(1.15, .85, 1)
    }

    65% {
        -webkit-transform: scale3d(.95, 1.05, 1);
        transform: scale3d(.95, 1.05, 1)
    }

    75% {
        -webkit-transform: scale3d(1.05, .95, 1);
        transform: scale3d(1.05, .95, 1)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@-webkit-keyframes shake {

    0%,
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }

    20%,
    40%,
    60%,
    80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
}

@keyframes shake {

    0%,
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }

    20%,
    40%,
    60%,
    80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
}

@-webkit-keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg)
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg)
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg)
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg)
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg)
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg)
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg)
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg)
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes swing {
    20% {
        -webkit-transform: rotate(15deg);
        transform: rotate(15deg)
    }

    40% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg)
    }

    60% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }

    80% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }

    to {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@keyframes swing {
    20% {
        -webkit-transform: rotate(15deg);
        transform: rotate(15deg)
    }

    40% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg)
    }

    60% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }

    80% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }

    to {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

.swing {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-animation-name: swing;
    animation-name: swing
}

@-webkit-keyframes tada {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    10%,
    20% {
        -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);
        transform: scale3d(.9, .9, .9) rotate(-3deg)
    }

    30%,
    50%,
    70%,
    90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
    }

    40%,
    60%,
    80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes tada {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    10%,
    20% {
        -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);
        transform: scale3d(.9, .9, .9) rotate(-3deg)
    }

    30%,
    50%,
    70%,
    90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
    }

    40%,
    60%,
    80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@-webkit-keyframes wobble {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        transform: translate3d(-25%, 0, 0) rotate(-5deg)
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
        transform: translate3d(20%, 0, 0) rotate(3deg)
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        transform: translate3d(-15%, 0, 0) rotate(-3deg)
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
        transform: translate3d(10%, 0, 0) rotate(2deg)
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        transform: translate3d(-5%, 0, 0) rotate(-1deg)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes wobble {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        transform: translate3d(-25%, 0, 0) rotate(-5deg)
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
        transform: translate3d(20%, 0, 0) rotate(3deg)
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        transform: translate3d(-15%, 0, 0) rotate(-3deg)
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
        transform: translate3d(10%, 0, 0) rotate(2deg)
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        transform: translate3d(-5%, 0, 0) rotate(-1deg)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@-webkit-keyframes jello {

    0%,
    11.1%,
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg)
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg)
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg)
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg)
    }

    66.6% {
        -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
        transform: skewX(-.78125deg) skewY(-.78125deg)
    }

    77.7% {
        -webkit-transform: skewX(.390625deg) skewY(.390625deg);
        transform: skewX(.390625deg) skewY(.390625deg)
    }

    88.8% {
        -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
        transform: skewX(-.1953125deg) skewY(-.1953125deg)
    }
}

@keyframes jello {

    0%,
    11.1%,
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg)
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg)
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg)
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg)
    }

    66.6% {
        -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
        transform: skewX(-.78125deg) skewY(-.78125deg)
    }

    77.7% {
        -webkit-transform: skewX(.390625deg) skewY(.390625deg);
        transform: skewX(.390625deg) skewY(.390625deg)
    }

    88.8% {
        -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
        transform: skewX(-.1953125deg) skewY(-.1953125deg)
    }
}

@-webkit-keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-webkit-keyframes bounceIn {

    0%,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes bounceIn {

    0%,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

.bounceIn {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn
}

@-webkit-keyframes bounceInDown {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0);
        transform: translate3d(0, -3000px, 0)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0);
        transform: translate3d(0, 25px, 0)
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0);
        transform: translate3d(0, 5px, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInDown {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0);
        transform: translate3d(0, -3000px, 0)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0);
        transform: translate3d(0, 25px, 0)
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0);
        transform: translate3d(0, 5px, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown
}

@-webkit-keyframes bounceInLeft {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0);
        transform: translate3d(-3000px, 0, 0)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0);
        transform: translate3d(25px, 0, 0)
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInLeft {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0);
        transform: translate3d(-3000px, 0, 0)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0);
        transform: translate3d(25px, 0, 0)
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft
}

@-webkit-keyframes bounceInRight {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0);
        transform: translate3d(3000px, 0, 0)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0);
        transform: translate3d(-25px, 0, 0)
    }

    75% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }

    90% {
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInRight {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0);
        transform: translate3d(3000px, 0, 0)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0);
        transform: translate3d(-25px, 0, 0)
    }

    75% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }

    90% {
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.bounceInRight {
    -webkit-animation-name: bounceInRight;
    animation-name: bounceInRight
}

@-webkit-keyframes bounceInUp {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
        transform: translate3d(0, 3000px, 0)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    75% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }

    90% {
        -webkit-transform: translate3d(0, -5px, 0);
        transform: translate3d(0, -5px, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInUp {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
        transform: translate3d(0, 3000px, 0)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    75% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }

    90% {
        -webkit-transform: translate3d(0, -5px, 0);
        transform: translate3d(0, -5px, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp
}

@-webkit-keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    50%,
    55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
}

@keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    50%,
    55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
}

@-webkit-keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }

    40%,
    45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }

    40%,
    45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@-webkit-keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@-webkit-keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@-webkit-keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }

    40%,
    45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }

    40%,
    45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

@-webkit-keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

@-webkit-keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

@-webkit-keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

@-webkit-keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut
}

@-webkit-keyframes fadeOutDown {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

@keyframes fadeOutDown {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

.fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown
}

@-webkit-keyframes fadeOutDownBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@keyframes fadeOutDownBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

.fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig
}

@-webkit-keyframes fadeOutLeft {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@keyframes fadeOutLeft {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft
}

@-webkit-keyframes fadeOutLeftBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@keyframes fadeOutLeftBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

.fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig
}

@-webkit-keyframes fadeOutRight {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
}

@keyframes fadeOutRight {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
}

.fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight
}

@-webkit-keyframes fadeOutRightBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@keyframes fadeOutRightBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

.fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig
}

@-webkit-keyframes fadeOutUp {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
}

@keyframes fadeOutUp {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
}

.fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp
}

@-webkit-keyframes fadeOutUpBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@keyframes fadeOutUpBig {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

.fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig
}

@-webkit-keyframes flip {
    0% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }

    40% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }

    50% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
        transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    to {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
}

@keyframes flip {
    0% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }

    40% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }

    50% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
        transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    to {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
}

.animated.flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-animation-name: flip;
    animation-name: flip
}

@-webkit-keyframes flipInX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    60% {
        -webkit-transform: perspective(400px) rotateX(10deg);
        transform: perspective(400px) rotateX(10deg);
        opacity: 1
    }

    80% {
        -webkit-transform: perspective(400px) rotateX(-5deg);
        transform: perspective(400px) rotateX(-5deg)
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

@keyframes flipInX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    60% {
        -webkit-transform: perspective(400px) rotateX(10deg);
        transform: perspective(400px) rotateX(10deg);
        opacity: 1
    }

    80% {
        -webkit-transform: perspective(400px) rotateX(-5deg);
        transform: perspective(400px) rotateX(-5deg)
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

@-webkit-keyframes flipInY {
    0% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        -webkit-transform: perspective(400px) rotateY(-20deg);
        transform: perspective(400px) rotateY(-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    60% {
        -webkit-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg);
        opacity: 1
    }

    80% {
        -webkit-transform: perspective(400px) rotateY(-5deg);
        transform: perspective(400px) rotateY(-5deg)
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

@keyframes flipInY {
    0% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        -webkit-transform: perspective(400px) rotateY(-20deg);
        transform: perspective(400px) rotateY(-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    60% {
        -webkit-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg);
        opacity: 1
    }

    80% {
        -webkit-transform: perspective(400px) rotateY(-5deg);
        transform: perspective(400px) rotateY(-5deg)
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

@-webkit-keyframes flipOutX {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }

    30% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg);
        opacity: 1
    }

    to {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

@keyframes flipOutX {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }

    30% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg);
        opacity: 1
    }

    to {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

@-webkit-keyframes flipOutY {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }

    30% {
        -webkit-transform: perspective(400px) rotateY(-15deg);
        transform: perspective(400px) rotateY(-15deg);
        opacity: 1
    }

    to {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

@keyframes flipOutY {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }

    30% {
        -webkit-transform: perspective(400px) rotateY(-15deg);
        transform: perspective(400px) rotateY(-15deg);
        opacity: 1
    }

    to {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

@-webkit-keyframes lightSpeedIn {
    0% {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes lightSpeedIn {
    0% {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@-webkit-keyframes lightSpeedOut {
    0% {
        opacity: 1
    }

    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0
    }
}

@keyframes lightSpeedOut {
    0% {
        opacity: 1
    }

    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateIn {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate(-200deg);
        transform: rotate(-200deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateIn {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate(-200deg);
        transform: rotate(-200deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateInDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateInDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateInDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateInDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateInUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateInUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateInUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateInUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        opacity: 0
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateOut {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        opacity: 1
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate(200deg);
        transform: rotate(200deg);
        opacity: 0
    }
}

@keyframes rotateOut {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        opacity: 1
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate(200deg);
        transform: rotate(200deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateOutDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }
}

@keyframes rotateOutDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateOutDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
}

@keyframes rotateOutDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateOutUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
}

@keyframes rotateOutUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateOutUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        opacity: 0
    }
}

@keyframes rotateOutUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        opacity: 0
    }
}

@-webkit-keyframes hinge {
    0% {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out
    }

    20%,
    60% {
        -webkit-transform: rotate(80deg);
        transform: rotate(80deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out
    }

    40%,
    80% {
        -webkit-transform: rotate(60deg);
        transform: rotate(60deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1
    }

    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0
    }
}

@keyframes hinge {
    0% {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out
    }

    20%,
    60% {
        -webkit-transform: rotate(80deg);
        transform: rotate(80deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out
    }

    40%,
    80% {
        -webkit-transform: rotate(60deg);
        transform: rotate(60deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1
    }

    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0
    }
}

@-webkit-keyframes jackInTheBox {
    0% {
        opacity: 0;
        -webkit-transform: scale(.1) rotate(30deg);
        transform: scale(.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom
    }

    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg)
    }

    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes jackInTheBox {
    0% {
        opacity: 0;
        -webkit-transform: scale(.1) rotate(30deg);
        transform: scale(.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom
    }

    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg)
    }

    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-webkit-keyframes rollIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
        transform: translate3d(-100%, 0, 0) rotate(-120deg)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes rollIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
        transform: translate3d(-100%, 0, 0) rotate(-120deg)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@-webkit-keyframes rollOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
        transform: translate3d(100%, 0, 0) rotate(120deg)
    }
}

@keyframes rollOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
        transform: translate3d(100%, 0, 0) rotate(120deg)
    }
}

@-webkit-keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    50% {
        opacity: 1
    }
}

@keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    50% {
        opacity: 1
    }
}

.zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn
}

@-webkit-keyframes zoomInDown {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomInDown {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInDown {
    -webkit-animation-name: zoomInDown;
    animation-name: zoomInDown
}

@-webkit-keyframes zoomInLeft {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomInLeft {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInLeft {
    -webkit-animation-name: zoomInLeft;
    animation-name: zoomInLeft
}

@-webkit-keyframes zoomInRight {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomInRight {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInRight {
    -webkit-animation-name: zoomInRight;
    animation-name: zoomInRight
}

@-webkit-keyframes zoomInUp {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomInUp {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInUp {
    -webkit-animation-name: zoomInUp;
    animation-name: zoomInUp
}

@-webkit-keyframes zoomOut {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 0
    }
}

@keyframes zoomOut {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 0
    }
}

@-webkit-keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@-webkit-keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
        transform: scale(.1) translate3d(-2000px, 0, 0);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
        transform: scale(.1) translate3d(-2000px, 0, 0);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }
}

@-webkit-keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
        transform: scale(.1) translate3d(2000px, 0, 0);
        -webkit-transform-origin: right center;
        transform-origin: right center
    }
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
    }

    to {
        opacity: 0;
        -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
        transform: scale(.1) translate3d(2000px, 0, 0);
        -webkit-transform-origin: right center;
        transform-origin: right center
    }
}

@-webkit-keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@-webkit-keyframes slideInDown {
    0% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes slideInDown {
    0% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown
}

@-webkit-keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft
}

@-webkit-keyframes slideInRight {
    0% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes slideInRight {
    0% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight
}

@-webkit-keyframes slideInUp {
    0% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes slideInUp {
    0% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp
}

@-webkit-keyframes slideOutDown {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

@keyframes slideOutDown {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

@-webkit-keyframes slideOutLeft {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@keyframes slideOutLeft {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@-webkit-keyframes slideOutRight {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
}

@keyframes slideOutRight {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
}

@-webkit-keyframes slideOutUp {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
}

@keyframes slideOutUp {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

.animated.fast {
    -webkit-animation-duration: .8s;
    animation-duration: .8s
}

.animated.faster {
    -webkit-animation-duration: .5s;
    animation-duration: .5s
}

.animated.slow {
    -webkit-animation-duration: 2s;
    animation-duration: 2s
}

@media (prefers-reduced-motion:reduce),
(print) {
    .animated {
        -webkit-animation-duration: 1ms !important;
        animation-duration: 1ms !important;
        -webkit-transition-duration: 1ms !important;
        transition-duration: 1ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important
    }
}


/*fancybox*/

.fancybox-enabled {
    overflow: hidden
}

.fancybox-enabled body {
    overflow: visible;
    height: 100%
}

.fancybox-is-hidden {
    position: absolute;
    top: -9999px;
    left: -9999px;
    visibility: hidden
}

.fancybox-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99993;
    -webkit-tap-highlight-color: transparent;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.fancybox-container~.fancybox-container {
    z-index: 99992
}

.fancybox-bg,
.fancybox-inner,
.fancybox-outer,
.fancybox-stage {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.fancybox-outer {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

.fancybox-bg {
    background: #1e1e1e;
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71)
}

.fancybox-is-open .fancybox-bg {
    opacity: .87;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1)
}

.fancybox-caption-wrap,
.fancybox-infobar,
.fancybox-toolbar {
    position: absolute;
    direction: ltr;
    z-index: 99997;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s, visibility 0s linear .25s;
    box-sizing: border-box
}

.fancybox-show-caption .fancybox-caption-wrap,
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar {
    opacity: 1;
    visibility: visible;
    transition: opacity .25s, visibility 0s
}

.fancybox-infobar {
    top: 0;
    left: 50%;
    margin-left: -79px
}

.fancybox-infobar__body {
    display: inline-block;
    width: 70px;
    line-height: 44px;
    font-size: 13px;
    font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
    text-align: center;
    color: #ddd;
    background-color: rgba(30, 30, 30, .7);
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: subpixel-antialiased
}

.fancybox-toolbar {
    top: 0;
    right: 0
}

.fancybox-stage {
    overflow: hidden;
    direction: ltr;
    z-index: 99994;
    -webkit-transform: translateZ(0)
}

.fancybox-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: auto;
    outline: none;
    white-space: normal;
    box-sizing: border-box;
    text-align: center;
    z-index: 99994;
    -webkit-overflow-scrolling: touch;
    display: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.fancybox-slide:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
    width: 0
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--current,
.fancybox-slide--next,
.fancybox-slide--previous {
    display: block
}

.fancybox-slide--next {
    z-index: 99995
}

.fancybox-slide>* {
    display: inline-block;
    position: relative;
    padding: 24px;
    margin: 44px 0;
    border-width: 0;
    vertical-align: middle;
    text-align: left;
    background-color: #fff;
    overflow: auto;
    box-sizing: border-box
}

.fancybox-slide .fancybox-image-wrap {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    border: 0;
    z-index: 99995;
    background: transparent;
    cursor: default;
    overflow: visible;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.fancybox-can-zoomOut .fancybox-image-wrap {
    cursor: zoom-out
}

.fancybox-can-zoomIn .fancybox-image-wrap {
    cursor: zoom-in
}

.fancybox-can-drag .fancybox-image-wrap {
    cursor: -webkit-grab;
    cursor: grab
}

.fancybox-image,
.fancybox-spaceball {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    max-width: none;
    max-height: none
}

.fancybox-spaceball {
    z-index: 1
}

.fancybox-iframe {
    display: block;
    padding: 0;
    border: 0;
    height: 100%
}

.fancybox-error,
.fancybox-iframe {
    margin: 0;
    width: 100%;
    background: #fff
}

.fancybox-error {
    padding: 40px;
    max-width: 380px;
    cursor: default
}

.fancybox-error p {
    margin: 0;
    padding: 0;
    color: #444;
    font: 16px/20px Helvetica Neue, Helvetica, Arial, sans-serif
}

.fancybox-close-small {
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    outline: none;
    background: transparent;
    z-index: 10;
    cursor: pointer
}

.fancybox-close-small:after {
    content: "×";
    position: absolute;
    top: 5px;
    right: 5px;
    width: 30px;
    height: 30px;
    font: 20px/30px Arial, Helvetica Neue, Helvetica, sans-serif;
    color: #888;
    font-weight: 300;
    text-align: center;
    border-radius: 50%;
    border-width: 0;
    background: #fff;
    transition: background .25s;
    box-sizing: border-box;
    z-index: 2
}

.fancybox-close-small:focus:after {
    outline: 1px dotted #888
}

.fancybox-close-small:hover:after {
    color: #555;
    background: #eee
}

.fancybox-caption-wrap {
    bottom: 0;
    left: 0;
    right: 0;
    padding: 60px 30px 0;
    background: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, .1) 20%, rgba(0, 0, 0, .2) 40%, rgba(0, 0, 0, .6) 80%, rgba(0, 0, 0, .8));
    pointer-events: none
}

.fancybox-caption {
    padding: 30px 0;
    border-top: 1px solid hsla(0, 0%, 100%, .4);
    font-size: 14px;
    font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
    color: #fff;
    line-height: 20px;
    -webkit-text-size-adjust: none
}

.fancybox-caption a,
.fancybox-caption button,
.fancybox-caption select {
    pointer-events: all
}

.fancybox-caption a {
    color: #fff;
    text-decoration: underline
}

.fancybox-button {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    width: 44px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    background: transparent;
    color: #ddd;
    border-radius: 0;
    cursor: pointer;
    vertical-align: top;
    outline: none
}

.fancybox-button[disabled] {
    cursor: default;
    pointer-events: none
}

.fancybox-button,
.fancybox-infobar__body {
    background: rgba(30, 30, 30, .6)
}

.fancybox-button:hover:not([disabled]) {
    color: #fff;
    background: rgba(0, 0, 0, .8)
}

.fancybox-button:after,
.fancybox-button:before {
    content: "";
    pointer-events: none;
    position: absolute;
    background-color: currentColor;
    color: currentColor;
    opacity: .9;
    box-sizing: border-box;
    display: inline-block
}

.fancybox-button[disabled]:after,
.fancybox-button[disabled]:before {
    opacity: .3
}

.fancybox-button--left:after,
.fancybox-button--right:after {
    top: 18px;
    width: 6px;
    height: 6px;
    background: transparent;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor
}

.fancybox-button--left:after {
    left: 20px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

.fancybox-button--right:after {
    right: 20px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.fancybox-button--left {
    border-bottom-left-radius: 5px
}

.fancybox-button--right {
    border-bottom-right-radius: 5px
}

.fancybox-button--close:after,
.fancybox-button--close:before {
    content: "";
    display: inline-block;
    position: absolute;
    height: 2px;
    width: 16px;
    top: calc(50% - 1px);
    left: calc(50% - 8px)
}

.fancybox-button--close:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.fancybox-button--close:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.fancybox-arrow {
    position: absolute;
    top: 50%;
    margin: -50px 0 0;
    height: 100px;
    width: 54px;
    padding: 0;
    border: 0;
    outline: none;
    background: none;
    cursor: pointer;
    z-index: 99995;
    opacity: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: opacity .25s
}

.fancybox-arrow:after {
    content: "";
    position: absolute;
    top: 28px;
    width: 44px;
    height: 44px;
    background-color: rgba(30, 30, 30, .8);
    background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 24px 24px
}

.fancybox-arrow--right {
    right: 0
}

.fancybox-arrow--left {
    left: 0;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.fancybox-arrow--left:after,
.fancybox-arrow--right:after {
    left: 0
}

.fancybox-show-nav .fancybox-arrow {
    opacity: .6
}

.fancybox-show-nav .fancybox-arrow[disabled] {
    opacity: .3
}

.fancybox-loading {
    border: 6px solid hsla(0, 0%, 39%, .4);
    border-top: 6px solid hsla(0, 0%, 100%, .6);
    border-radius: 100%;
    height: 50px;
    width: 50px;
    -webkit-animation: a .8s infinite linear;
    animation: a .8s infinite linear;
    background: transparent;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -25px;
    margin-left: -25px;
    z-index: 99999
}

@-webkit-keyframes a {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

@keyframes a {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1)
}

@media (max-width:800px) {
    .fancybox-infobar {
        left: 0;
        margin-left: 0
    }

    .fancybox-button--left,
    .fancybox-button--right {
        display: none !important
    }

    .fancybox-caption {
        padding: 20px 0;
        margin: 0
    }
}

.fancybox-button--fullscreen:before {
    width: 15px;
    height: 11px;
    left: calc(50% - 7px);
    top: calc(50% - 6px);
    border: 2px solid;
    background: none
}

.fancybox-button--pause:before,
.fancybox-button--play:before {
    top: calc(50% - 6px);
    left: calc(50% - 4px);
    background: transparent
}

.fancybox-button--play:before {
    width: 0;
    height: 0;
    border-top: 6px inset transparent;
    border-bottom: 6px inset transparent;
    border-left: 10px solid;
    border-radius: 1px
}

.fancybox-button--pause:before {
    width: 7px;
    height: 11px;
    border-style: solid;
    border-width: 0 2px
}

.fancybox-button--thumbs,
.fancybox-thumbs {
    display: none
}

@media (min-width:800px) {
    .fancybox-button--thumbs {
        display: inline-block
    }

    .fancybox-button--thumbs span {
        font-size: 23px
    }

    .fancybox-button--thumbs:before {
        width: 3px;
        height: 3px;
        top: calc(50% - 2px);
        left: calc(50% - 2px);
        box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, inset 0 0 0 32px, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0
    }

    .fancybox-thumbs {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: 220px;
        margin: 0;
        padding: 5px 5px 0 0;
        background: #fff;
        word-break: normal;
        -webkit-tap-highlight-color: transparent;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        box-sizing: border-box;
        z-index: 99995
    }

    .fancybox-show-thumbs .fancybox-thumbs {
        display: block
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 220px
    }

    .fancybox-thumbs>ul {
        list-style: none;
        position: absolute;
        position: relative;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow-x: hidden;
        overflow-y: auto;
        font-size: 0
    }

    .fancybox-thumbs>ul>li {
        float: left;
        overflow: hidden;
        max-width: 50%;
        padding: 0;
        margin: 0;
        width: 105px;
        height: 75px;
        position: relative;
        cursor: pointer;
        outline: none;
        border: 5px solid transparent;
        border-top-width: 0;
        border-right-width: 0;
        -webkit-tap-highlight-color: transparent;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        box-sizing: border-box
    }

    li.fancybox-thumbs-loading {
        background: rgba(0, 0, 0, .1)
    }

    .fancybox-thumbs>ul>li>img {
        position: absolute;
        top: 0;
        left: 0;
        min-width: 100%;
        min-height: 100%;
        max-width: none;
        max-height: none;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none
    }

    .fancybox-thumbs>ul>li:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        border-radius: 2px;
        border: 4px solid #4ea7f9;
        z-index: 99991;
        opacity: 0;
        transition: all .2s cubic-bezier(.25, .46, .45, .94)
    }

    .fancybox-thumbs>ul>li.fancybox-thumbs-active:before {
        opacity: 1
    }
}


/*slick*/
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block
}

.slick-track:after,
.slick-track:before {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-slide:focus {
    outline: 0
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-dots {
    position: absolute;
    bottom: 20px;
    right: 0;
    left: 0;
    display: block;
    padding: 0 15px;
    margin: 0 auto;
    border-radius: 3px;
    list-style: none;
    width: 1140px
}

.slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 6px 0 0;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 12px;
    height: 12px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    outline: 0;
    background: #fff;
    border: none;
    border-radius: 200px
}

.slick-dots li.slick-active button {
    background: #ea333f;
    border: none
}

.slick-next,
.slick-prev {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    z-index: 100;
    display: block;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: 0;
    background: 0 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%)
}

.slick-prev {
    left: 15px
}

.slick-next {
    right: 15px
}

.slick-next:before,
.slick-prev:before {
    font-family: icomoon !important;
    color: #fff;
    font-size: 50px;
    line-height: 1
}

.slick-prev:before {
    content: '\e958'
}

.slick-next:before {
    content: '\e957'
}

.slick-next:hover:before,
.slick-prev:hover:before {
    color: #ea333f
}

.slick-dots {
    position: absolute;
    bottom: 30px;
    right: 0;
    left: 0;
    display: block;
    padding: 0 15px;
    margin: 0 auto;
    border-radius: 3px;
    list-style: none;
    width: 1140px;
    text-align: left
}

.slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 20px 0 0;
    padding: 0;
    cursor: pointer
}

.slick-dots li a {
    line-height: 35px;
    display: block;
    width: 35px;
    height: 35px;
    padding: 0;
    cursor: pointer;
    color: #fff;
    outline: 0;
    border: none;
    border-radius: 200px;
    text-align: center;
    border: 1px solid #000;
    transition: all .3s ease-in-out
}

.slick-dots li a:hover {
    color: #fff
}

.slick-dots li.slick-active a {
    background: #ea333f;
    color: #fff;
    border: 1px solid #ea333f
}

.next-btn,
.prev-btn {
    width: 35px;
    height: 35px;
    background-color: #ea333f;
    border-radius: 100%;
    position: relative;
    display: inline-block;
    cursor: pointer;
    text-align: center
}

.next-btn:hover,
.prev-btn:hover {
    background-color: #000
}

.next-btn:before,
.prev-btn:before {
    font-family: icomoon !important;
    color: #fff;
    font-size: 13px;
    line-height: 35px
}

.prev-btn:before {
    content: "\e920"
}

.next-btn:before {
    content: "\e91f"
}

/* =====================================================
   Smooth near-start entrance animations (override)
   Soft bounce + opacity version
   ===================================================== */

/* ----- Duration ----- */
.fadeInLeft,
.fadeInRight,
.fadeInLeftBig,
.fadeInRightBig,
.slideInLeft,
.slideInRight,
.bounceInLeft,
.bounceInRight,
.bounceInUp,
.bounceInDown,
.zoomInLeft,
.zoomInRight,
.zoomInUp,
.zoomInDown,
.lightSpeedIn,
.rollIn {
  -webkit-animation-duration: 0.55s;
  animation-duration: 0.55s;
}

/* ----- fadeInLeft ----- */
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-35px, 0, 0);
    transform: translate3d(-35px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-35px, 0, 0);
    transform: translate3d(-35px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- fadeInRight ----- */
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(35px, 0, 0);
    transform: translate3d(35px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(35px, 0, 0);
    transform: translate3d(35px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- fadeInLeftBig ----- */
@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50px, 0, 0);
    transform: translate3d(-50px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50px, 0, 0);
    transform: translate3d(-50px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- fadeInRightBig ----- */
@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(50px, 0, 0);
    transform: translate3d(50px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(50px, 0, 0);
    transform: translate3d(50px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- slideInLeft ----- */
@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- slideInRight ----- */
@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0);
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0);
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- bounceInLeft (Soft + Opacity) ----- */
@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  80% {
    -webkit-transform: translate3d(-4px, 0, 0);
    transform: translate3d(-4px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  80% {
    -webkit-transform: translate3d(-4px, 0, 0);
    transform: translate3d(-4px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- bounceInRight (Soft + Opacity) ----- */
@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  80% {
    -webkit-transform: translate3d(4px, 0, 0);
    transform: translate3d(4px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  80% {
    -webkit-transform: translate3d(4px, 0, 0);
    transform: translate3d(4px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- bounceInUp (Soft + Opacity) ----- */
@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  80% {
    -webkit-transform: translate3d(0, 4px, 0);
    transform: translate3d(0, 4px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  80% {
    -webkit-transform: translate3d(0, 4px, 0);
    transform: translate3d(0, 4px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- bounceInDown (Soft + Opacity) ----- */
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -40px, 0);
    transform: translate3d(0, -40px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  80% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -40px, 0);
    transform: translate3d(0, -40px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  80% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- zoomInLeft ----- */
@-webkit-keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3) translate3d(-40px, 0, 0);
    transform: scale3d(0.3, 0.3, 0.3) translate3d(-40px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3) translate3d(-40px, 0, 0);
    transform: scale3d(0.3, 0.3, 0.3) translate3d(-40px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

/* ----- zoomInRight ----- */
@-webkit-keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3) translate3d(40px, 0, 0);
    transform: scale3d(0.3, 0.3, 0.3) translate3d(40px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3) translate3d(40px, 0, 0);
    transform: scale3d(0.3, 0.3, 0.3) translate3d(40px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

/* ----- zoomInUp ----- */
@-webkit-keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3) translate3d(0, 40px, 0);
    transform: scale3d(0.3, 0.3, 0.3) translate3d(0, 40px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -20px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -20px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3) translate3d(0, 40px, 0);
    transform: scale3d(0.3, 0.3, 0.3) translate3d(0, 40px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -20px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -20px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

/* ----- zoomInDown ----- */
@-webkit-keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3) translate3d(0, -40px, 0);
    transform: scale3d(0.3, 0.3, 0.3) translate3d(0, -40px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 20px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 20px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3) translate3d(0, -40px, 0);
    transform: scale3d(0.3, 0.3, 0.3) translate3d(0, -40px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 20px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 20px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

/* ----- lightSpeedIn ----- */
@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translate3d(40px, 0, 0) skewX(-30deg);
    transform: translate3d(40px, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translate3d(40px, 0, 0) skewX(-30deg);
    transform: translate3d(40px, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ----- rollIn ----- */
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0) rotate(-120deg);
    transform: translate3d(-40px, 0, 0) rotate(-120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0) rotate(-120deg);
    transform: translate3d(-40px, 0, 0) rotate(-120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
:root {
  /* --- Brand Teal --- */
  --bp-primary: #008474;
  --bp-primary-hover: #006b5e;
  --bp-primary-dark: #005249;
  --bp-primary-mid: #4db6a8;
  --bp-primary-light: #e6f5f3;
  --bp-primary-rgb: 0, 132, 116;

  /* --- Neutral / Dark Scale --- */
  --bp-navy: #0a1628;
  --bp-dark: #0f1f1d;
  --bp-dark-2: #1a1a1a;
  --bp-dark-3: #2e2e2e;
  --bp-dark-text: #0f2e2a;

  /* --- Backgrounds --- */
  --bp-bg: #f0f7f6;
  --bp-bg-light: #f7fafa;
  --bp-surface: #ffffff;
  --bp-surface-glass: rgba(255, 255, 255, 0.51);

  /* --- Text & UI --- */
  --bp-text: #0f2e2a;
  --bp-muted: #b0c4c1;
  --bp-border-light: #e0ecea;

  --bp-accent-muted: rgba(var(--bp-primary-rgb), 0.15);
  --bp-border: var(--bp-border-light);

  /* --- RGB helpers --- */
  --dark-color: 15, 31, 29;
  --light-color: 255, 255, 255;
  --clr-1: 0, 132, 116;
  --clr-2: 77, 182, 168;

  /* --- Accent / UI helpers --- */
  --bp-accent: var(--bp-primary);
  --bp-accent-2: var(--bp-primary-mid);
  --bp-soft: var(--bp-primary-light);
  --bp-gold: var(--bp-primary); /* legacy alias */
  --bp-on-accent: var(--bp-dark-text);

  /* --- Motion --- */
  --trans-timing: cubic-bezier(0.65, 0, 0.35, 1);

  /* --- Typography --- */
  --bp-font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-font-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);

  --site-header-height: 131px; /* match your actual header height */

  --line: rgba(20, 20, 26, 0.08);

  --shadow-xs: 0 1px 2px rgba(20, 20, 26, 0.05);
  --shadow-sm: 0 4px 18px rgba(20, 20, 26, 0.06);
  --shadow-md: 0 18px 50px -18px rgba(20, 20, 26, 0.22);
  --shadow-lg: 0 40px 90px -30px rgba(20, 20, 26, 0.28);
  --shadow-pink: 0 24px 60px -22px rgba(233, 30, 143, 0.55);
  --shadow-glow: 0 0 0 1px rgba(255, 255, 255, 0.5) inset, 0 30px 70px -25px rgba(106, 63, 181, 0.35);
}

body:has(.site-notice:not([hidden])) {
  --site-header-height: 194px;
}

/* :root {
  --theme-color-1: var(--bp-primary);
  --bp-navy: var(--bp-navy);
  --dark-color: 53, 67, 77;
  --light-color: 255, 255, 255;
  --clr-1: 96, 59, 165;
  --clr-2: 1, 135, 137;
  --trans-timing: cubic-bezier(0.65, 0, 0.35, 1);
  --bp-font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-font-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
} */

html {
  font-family: var(--bp-font-sans);
  font-weight: normal;
  scroll-behavior: smooth;
  /* Do not set overflow-x here — it breaks position:sticky stacking cards */
  overflow-y: scroll;
  width: 100%;
  max-width: 100%;
  scrollbar-gutter: auto;
  scrollbar-color: var(--bp-soft) var(--bp-primary-dark);
  scrollbar-width: thin;
}

html::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

html::-webkit-scrollbar-track {
  background: var(--bp-primary-dark);
}

html::-webkit-scrollbar-thumb {
  background: var(--bp-soft);
  border: 3px solid var(--bp-primary-dark);
  border-radius: 999px;
}

html::-webkit-scrollbar-thumb:hover {
  background: var(--bp-primary-mid);
}

* {
  scrollbar-color: var(--bp-soft) var(--bp-primary-dark);
  scrollbar-width: thin;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-track {
  background: var(--bp-primary-dark);
}

*::-webkit-scrollbar-thumb {
  background: var(--bp-soft);
  border: 2px solid var(--bp-primary-dark);
  border-radius: 999px;
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--bp-primary-mid);
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
input,
textarea,
select,
button {
  font-family: var(--bp-font-sans);
}

body {
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-height: 100%;
  -webkit-transition: margin-left 0.3s ease-in-out;
  transition: margin-left 0.3s ease-in-out;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  font-weight: normal;
  color: var(--bp-dark-3);
  background: var(--bp-bg);
  font-weight: 400;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

footer,
section:not(.stack-card),
.counter {
  overflow-x: hidden;
  overflow-y: clip;
}

/* stack-card must stay overflow:visible so position:sticky can pin while scrolling */
.stack-card {
  overflow: visible;
}

/* Clip horizontal bleed (marquees/rows) without breaking sticky stacking cards */
#smooth-wrapper,
#smooth-content {
  overflow-x: clip;
}

.marquee-inner-banner-main {
  overflow: hidden;
}

.container-fluid.px-0 {
  overflow-x: clip;
}

* {
  box-sizing: border-box;
}

*,
:after,
:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:after,
:before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

a {
  outline: 0;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition-duration: 0.8s;
  position: relative;
}

a:active,
a:focus {
  color: var(--bp-bg-light);
  outline: 0 !important;
  text-decoration: none;
}

a:hover {
  color: var(--bp-primary);
  outline: 0 !important;
  text-decoration: none;
}

b,
strong {
  font-weight: 700;
}

audio,
img,
video {
  max-width: 100%;
  max-width: 100%;
  height: auto;
}

h5 {
  font-size: 24px;
}

h4 {
  font-size: 30px;
}

h3 {
  font-size: 40px;
}

h2 {
  font-size: 68px;
}

h1 {
  font-size: 118px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--bp-font-sans);
}
.font-brico {
  font-family: var(--bp-font-sans);
}
.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}
.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: bold;
}

.clr-1 {
  color: var(--bp-primary);
}

.clr-2 {
  color: var(--bp-primary-mid);
}

.clr-3 {
  color: var(--bp-primary-hover);
}

.lh-27 {
  line-height: 27px;
}
em { 
  color: var(--bp-primary); 
  font-family: Georgia, serif; 
  font-weight: 400; 
  /* letter-spacing: -.04em;  */
}
.text-soft {
  color: var(--bp-soft) !important;
}
.text-light {
  color: var(--bp-surface) !important;
}
.text-dark {
  color: var(--bp-text) !important;
}
.form-control,
input,
select {
  background: unset;
  color: var(--bp-muted);
  padding: 16px 8px 12px 0px;
  transition: 0.3s linear;
  height: auto;
  border-radius: unset;
  font-size: 16px !important;
  box-shadow: unset;
  width: 100%;
  border-bottom: 1px solid rgba(var(--bp-primary-rgb), 0.56);
  border-left: unset;
  border-right: unset;
  border-top: unset;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  box-shadow: unset;
  background: unset;
  color: var(--bp-muted);
  outline: unset;
}

.form-control:focus::placeholder,
input:focus::placeholder {
  color: var(--bp-muted);
}

.form-control::placeholder,
input::placeholder {
  color: var(--bp-muted);
  font-size: 12px;
  opacity: 1;
}

input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="date"],
input[type="datetime-local"],
input[type="datetime"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
select,
textarea {
  font-size: 16px;
}
.btn,
button {
  padding: unset;
}
.btn .span-1,
button .span-1 {
  background: var(--bp-surface);
  font-size: 16px;
  font-family: var(--bp-font-sans);
  padding: 15px 36px;
  font-weight: 700;
  border-radius: 15px;
  border: 1px solid var(--bp-primary-dark);
  display: inline-block;
  position: relative;
  transition: 0.3s linear;
  overflow: hidden;
  color: var(--bp-dark);
}
.btn .span-2,
button .span-2 {
  background: var(--bp-primary-dark);
  color: var(--bp-surface);
  width: 55px;
  height: 55px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  border-radius: 15px;
  margin-left: 8px;
  border: 1px solid var(--bp-dark);
  transition: 0.3s linear;
}
.btn .span-2 i,
button .span-2 i {
  transform: rotate(313deg);
  transition: 0.3s linear;
}
.btn:active .span-2 i,
.btn:focus .span-2 i,
.btn:hover .span-2 i,
button:active .span-2 i,
button:focus .span-2 i,
button:hover .span-2 i {
  transform: rotate(360deg);
}
.btn:active .span-2,
.btn:focus .span-2,
.btn:hover .span-2,
button:active .span-2,
button:focus .span-2,
button:hover .span-2 {
  box-shadow: 4px 4px 0px var(--bp-surface);
}
.btn .span-1 .b-1,
button .span-1 .b-1 {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  transition: 0.3s linear;
}
.btn .span-1 .b-2,
button .span-1 .b-2 {
  transform: translateY(40px);
  display: inline-block;
  transition: 0.3s linear;
}
.btn:active .span-1 .b-2,
.btn:focus .span-1 .b-2,
.btn:hover .span-1 .b-2,
button:active .span-1 .b-2,
button:focus .span-1 .b-2,
button:hover .span-1 .b-2 {
  transform: translateY(0px);
}
.btn:active .span-1 .b-1,
.btn:focus .span-1 .b-1,
.btn:hover .span-1 .b-1,
button:active .span-1 .b-1,
button:focus .span-1 .b-1,
button:hover .span-1 .b-1 {
  top: -80px;
}
.btn:active .span-1,
.btn:focus .span-1,
.btn:hover .span-1,
button:active .span-1,
button:focus .span-1,
button:hover .span-1 {
  box-shadow: 4px 4px 0px var(--bp-primary-dark);
}

.btn:active,
.btn:focus,
.btn:hover,
button:active,
button:focus,
button:hover {
  background: unset;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-gradient {
  -webkit-text-fill-color: transparent;
  background: linear-gradient(88deg, var(--bp-primary-mid) 0%, var(--bp-primary-dark) 67%);
  -text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  background-size: 200% 100%;
  animation: movinggradient ease-in-out 2s infinite alternate;
}
@keyframes movinggradient {
  0% {
    background-position: 100% 100%;
  }
  100% {
    background-position: 0 100%;
  }
}
.invisible-scroll::-webkit-scrollbar-track {
  background: var(--bp-primary-dark);
}
.invisible-scroll::-webkit-scrollbar {
  width: 5px;
  background: var(--bp-primary-dark);
}
.invisible-scroll::-webkit-scrollbar-thumb {
  background: var(--bp-soft);
  border-radius: 999px;
}

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000; /* above hero content/marquee (which uses z-index: 1, 11) */
}

/* nav-wrap no longer needs its own sticky positioning while inside .site-header */
.site-header .nav-wrap {
  position: static;
  background: transparent;
  border-bottom: 1px solid transparent;
}

.site-header.is-fixed .topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

/* Keep header + toggle above the dim overlay while the drawer is open */
.site-header.is-nav-open {
  z-index: 10050;
}

.site-header.is-nav-open .topbar {
  z-index: 0 !important;
}

.site-header.is-nav-open .nav-wrap {
  position: relative;
  z-index: 2;
}

.site-header.is-nav-open .nav-overlay {
  z-index: 1;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 111;
  padding-top: 0px;
}

.services-wrap-1-span,
.contact-wrap-1-span,
.our-work-wrap-1-span,
.index-wrap-1-span,
.about-wrap-1-span {
  display: inline-flex;      /* was inline-block */
  align-items: center;
  gap: 10px;

  background: /* broken alpha */ var(--bp-surface);
  border: 2px solid /* broken alpha */ var(--bp-surface);
  /* display: inline-block; */
  padding: 7px 9px;
  border-radius: 50px;
  color: black;
}

.services-wrap-1-span > span,
.contact-wrap-1-span > span,
.our-work-wrap-1-span > span,
.about-wrap-1-span > span,
.index-wrap-1-span > span {
  display: inline-flex;
  align-items: center;
  line-height: 0;            /* kills extra inline height from the img */
}
.marquee-banner {
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 12%,
    #000 88%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 12%,
    #000 88%,
    transparent 100%
  );
}

.marquee-banner {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  transform: unset;
  padding-top: 0px;
  opacity: 1;
  margin-right: 5px;
  width: -webkit-fill-available;
  pointer-events: none;
  width: 200px;
}

.marquee-banner span {
  will-change: transform;
  transform: translateY(0);
  white-space: nowrap;
  -webkit-animation: marquee 6s linear infinite;
  animation: marquee 6s linear infinite;
  font-size: 18px;
  text-align: center;
  color: black;
  display: inline-block;
  margin: 0 6px;
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

.services-wrap-1,
.contact-wrap-1,
.our-work-wrap-1,
.index-wrap-1,
.about-wrap-1 {
  height: 100vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  /* padding: 160px 0px 220px; */
  overflow: hidden;
}

/* Shared creative hero background (homepage + all service/inner heroes) */
.hero-wrap-1,
.index-wrap-1,
.about-wrap-1,
.our-work-wrap-1,
.contact-wrap-1,
.services-wrap-1,
.thank-wrap-1,
.service-wrap-1 {
  background-image: url("../images/hero-banner-bg.webp");
  background-image: image-set(
    url("../images/hero-banner-bg.webp") type("image/webp"),
    url("../images/hero-banner-bg.png") type("image/png")
  );
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Keep hero copy readable on the dark teal banner */
.hero-wrap-1 h1,
.hero-wrap-1 h1.text-dark,
.index-wrap-1 h1,
.about-wrap-1 h1,
.our-work-wrap-1 h1,
.contact-wrap-1 h1,
.services-wrap-1 h1,
.thank-wrap-1 h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

.hero-wrap-1 h1 .text-dark,
.hero-wrap-1 h1 em.text-dark,
.index-wrap-1 h1 .text-dark,
.about-wrap-1 h1 .text-dark,
.our-work-wrap-1 h1 .text-dark,
.contact-wrap-1 h1 .text-dark,
.services-wrap-1 h1 .text-dark {
  color: #b7ebe3 !important;
}

.hero-wrap-1 h1 .text-soft,
.hero-wrap-1 h1 em.text-soft,
.index-wrap-1 h1 .text-soft,
.about-wrap-1 h1 .text-soft,
.about-wrap-1 h1 em.text-soft,
.our-work-wrap-1 h1 .text-soft,
.our-work-wrap-1 h1 em.text-soft,
.contact-wrap-1 h1 .text-soft,
.contact-wrap-1 h1 em.text-soft {
  color: #9adfd4 !important;
  -webkit-text-fill-color: #9adfd4;
}

.hero-wrap-1 p,
.hero-wrap-1 .services-wrap-1-p,
.hero-wrap-1 .index-wrap-1-p,
.hero-wrap-1 .contact-wrap-1-p,
.hero-wrap-1 .about-wrap-1-p,
.hero-wrap-1 .our-work-wrap-1-p {
  color: rgba(255, 255, 255, 0.94) !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.22);
}

.hero-wrap-1 p a,
.hero-wrap-1 .index-wrap-1-p a {
  color: #d7f5f0 !important;
}

.services-wrap-1-section-row,
.contact-wrap-1-section-row,
.our-work-wrap-1-section-row,
.index-wrap-1-section-row,
.about-wrap-1-section-row {
  height: 100%;
}
.services-wrap-1 h1,
.contact-wrap-1 h1,
.our-work-wrap-1 h1,
.index-wrap-1 h1,
.about-wrap-1 h1 {
  font-size: 60px;
  line-height: 60px;
  padding: 16px 0px 16px 0px;
}
.services-wrap-1-p,
.contact-wrap-1-p,
.our-work-wrap-1-p,
.about-wrap-1-p,
.index-wrap-1-p {
  /* width: 75%; */
  /* padding-bottom: 17px; */
}.index-wrap-1-p a{
  text-decoration: underline;
  color: var(--bp-text);
}
.wrap-1-book-slider-1 li {
  margin: 8px 0px;
}
.marquee-inner {
  display: block;
  height: 200%;
  width: fit-content;
  position: absolute;
  margin: 70px;
}
.marquee-inner.to-left {
  animation: marqueeTop 25s linear infinite;
  left: 0;
}
.marquee-inner.to-right {
  animation: marqueeBottom 25s linear infinite;
  right: 0;
  left: 0;
  bottom: 0;
  top: 0;
  margin: auto;
}
.marquee-inner.to-right-right {
  animation: marqueeTop 25s linear infinite;
  right: 0;
}
.marquee-item {
  width: 225px;
  height: auto;
  display: block;
  margin: 0px;
  transition: all 0.2s ease-out;
  background: unset;
  margin: 24px 0px;
  overflow: hidden;
}
.marquee-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@keyframes marqueeTop {
  0% {
    top: 0;
  }
  100% {
    top: -100%;
  }
}
@keyframes marqueeBottom {
  0% {
    top: -100%;
  }
  100% {
    top: 0;
  }
}
.marquee-inner-banner-main {
  transform: rotate(20deg);
  height: 200%;
  width: 720px;
  position: absolute;
  right: 0;
  z-index: 1;
  top: 0;
}
.banner-shade {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 11;
    display: block;
    width: min(1200px, 110%);          /* expanded width */
    aspect-ratio: 1200 / 560;          /* taller + wider */
    pointer-events: none;
    background: radial-gradient(
        ellipse 140% 150% at 105% -8%,  /* larger ellipse, slightly further out */
        var(--bp-primary-dark) 0%,
        var(--bp-primary) 18%,
        rgba(0, 132, 117, 0.22) 38%,
        rgba(0, 132, 117, 0.10) 58%,
        rgba(0, 132, 117, 0.04) 72%,
        transparent 88%                 /* fade out later = more coverage */
    );
}

.contact-wrap-1-section-2 picture,
.our-work-wrap-1-section-2 picture {
  position: absolute;
  right: 2%;
  bottom: 0px;
  z-index: 11;
  width: 50%;
  height: auto;
  aspect-ratio: 1000 / 735;
  display: block;
  line-height: 0;
}
.wrap-1-girl {
  position: absolute;
  right: 2%;
  bottom: 0px;
  z-index: 11;
  width: min(40vw, 626px);
  height: auto;
  aspect-ratio: 626 / 735;
  display: block;
  line-height: 0;
}
.services-wrap-1-section-2 picture {
  position: absolute;
  right: auto;
  bottom: 0px;
  z-index: 11;
  width: min(40vw, 750px);
  height: auto;
  aspect-ratio: 700 / 700;
  display: block;
  line-height: 0;
}
.b-marketing-wrap-1-section-2 picture {
  width: min(50vw, 850px);
  aspect-ratio: 850 / 700;
}
.b-publishing-wrap-1-section-2 picture {
  right: 3%;
  width: min(50vw, 1000px);
  aspect-ratio: 750 / 600;
}
.b-printing-wrap-1-section-2 picture {
  width: min(50vw, 850px);
  aspect-ratio: 800 / 700;
}
.services-wrap-1-section-2 picture img,
.contact-wrap-1-section-2 picture img,
.our-work-wrap-1-section-2 picture img {
  width: 100%;
  height: auto;
  display: block;
}
.wrap-1-girl .wrap-1-girl-img {
  width: 100%;
  height: auto;
  display: block;
}
.wrap-1-fur {
  position: absolute;
  left: 0;
  right: 0;
  top: 18%;
  margin: 0 auto;
  display: block;
  line-height: 0;
}
.wrap-1-fur img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}
.index-wrap-2 h2 {
  line-height: 65px;
}
.index-wrap-2 .p-head {
  color: rgba(255, 255, 255, 0.6);
}
.wrap-2-text-input {
  margin: 50px 0px 31px;
}
.index-wrap-2-form-box button {
  width: 60px;
  height: 60px;
  border-radius: 15px;
  background: var(--bp-primary);
  outline: unset;
  border: unset;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 25px;
  transition: 0.3s linear;
  color: var(--bp-surface);
}
.index-wrap-2-form-box button:hover {
  background: var(--bp-surface);
  color: var(--bp-primary-dark);
  box-shadow: 0px 15px 27px rgba(var(--bp-primary-rgb), 0.49);
  transform: translateY(-10px) scale(1.1);
}
.index-wrap-2-form-box {
  padding: 160px 85px 100px 85px;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-radius: 50px;
  margin-top: 60px;
  transition: all 0.6s cubic-bezier(0.615, 0, 0.07, 1);
}
.index-wrap-2-form-box.active {
  transform: translateY(-46%);
  background: var(--bp-dark-2);
}
.forem-click-btn span {
  padding: 10px 5px;
  border-radius: 22px;
  background: var(--bp-primary);
  width: 35px;
  height: 65px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--bp-surface);
  box-shadow: 0px 10px 21px /* broken alpha */ var(--bp-surface);
}
.index-wrap-2-form-tag {
  opacity: 0;
  transition: 0.4s linear;
}
.index-wrap-2-form-box.active .index-wrap-2-form-tag {
  opacity: 1;
}
.forem-click-btn p {
  font-size: 35px;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(88deg, var(--bp-surface) 0%, var(--bp-muted) 67%);
  -text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  background-size: 200% 100%;
  font-family: var(--bp-font-sans);
  animation: movinggradient ease-in-out 2s infinite alternate;
}
.forem-click-btn {
  position: absolute;
  top: -23px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: fit-content;
}
.index-wrap-2 {
  padding-top: 220px;
  clip-path: ellipse(127% 100% at 50% 110%);
  background: linear-gradient(
    180deg,
    var(--bp-navy) 16%,
    var(--bp-dark-2) 56%,
    var(--bp-primary-dark) 100%
  );
  margin-top: -10%;
  position: relative;
  z-index: 11;
}
.wrap-2-award-ul {
  position: absolute;
  display: inline-block;
  background: rgba(255, 255, 255, 0.6);
  border: 3px solid rgba(255, 255, 255, 0.2);
  padding: 12px 18px;
  border-radius: 70px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: fit-content;
  top: 43px;
  z-index: 99;
}
.index-wrap-3-item {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 100% !important;
  height: 550px;
  width: auto;
  border-radius: 35px;
  overflow: hidden;
  position: relative;
  padding: 0px 30px 30px;
  transition: 0.4s linear;
}
.index-wrap-3-item::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgb(7 7 7 / 0%) 16%,
    rgb(2 2 2 / 72%) 56%
  );
  transition: 0.4s linear;
}
.index-wrap-3-item .index-wrap-3-item-content h3 {
  font-size: 25px;
  padding-bottom: 45px;
  transition: 0.4s linear;
}
/* .index-wrap-3-item .index-wrap-3-item-content-parah {
  margin-bottom: unset;
  height: 95px;
  overflow-y: scroll;
} */
.index-wrap-3-item .index-wrap-3-item-content {
  transition: 0.4s linear;
  transform: translateY(125px);
  color: var(--bp-surface);
}
.index-wrap-3-item:hover .index-wrap-3-item-content {
  transform: translateY(0px);
}
.index-wrap-3-item:hover .index-wrap-3-item-content h3 {
  padding-bottom: 20px;
}
.index-wrap-3-item:hover {
  background-size: 120% !important;
}
.index-wrap-3-item:hover::before {
  backdrop-filter: blur(5px) brightness(80%);
}
.index-wrap-3-section-2-numbers li h4 {
  margin-bottom: unset;
  font-size: 60px;
}
.index-wrap-3-section-2-numbers li h4 span {
  font-size: 70px;
}
.index-wrap-3-section-2-numbers {
  gap: 40px;
  padding-top: 35px;
}
.index-wrap-3-section-2 {
  background: var(--bp-surface);
  margin-top: 70px;
  border: 1px solid var(--line);
  border-radius: 60px;
  padding: 60px;
  box-shadow: var(--shadow-md);
}
.index-wrap-3-section-2-img {
  height: 600px;
  width: 100%;
  overflow: hidden;
  border-radius: 50px;
}
.index-wrap-3-section-2-img img {
  height: 100% !important;
  width: 100%;
  object-fit: cover;
}
/* .index-wrap-3-section-2-content {
  width: 90%;
} */
.index-wrap-3-section-2-content h2 {
  line-height: 75px;
}
.index-wrap-3-section-2-content .p-head {
  padding: 10px 0px 10px;
}
.disclaimer-text {
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.02em;
  color: rgba(var(--dark-color), 0.65);
  font-style: italic;
}
.disclaimer-text {
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.02em;
  color: rgba(var(--dark-color), 0.65);
  font-style: italic;
}
.index-wrap-3-section-3-item {
  width: 100%;
  height: 650px;
  overflow: hidden;
  border-radius: 50px;
}
.index-wrap-3-section-3-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.index-wrap-3-section-3-item-main {
  width: 100%;
  display: inline-block;
}
.index-wrap-3-section-3 .swiper-3d .swiper-slide-shadow {
  background: unset;
}
.index-wrap-3-section-3 h2 {
  font-size: 40px;
}
.index-wrap-3-section-3 p {
  line-height: 26px;
}
.index-wrap-3-section-3-content {
  /* height: 240px; */
  /* overflow-y: scroll; */
  /* margin-bottom: 40px; */
}
.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}
.swiper-button-next,
.swiper-button-prev {
  width: 55px;
  height: 55px;
  border-radius: 15px;
  overflow: hidden;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--bp-primary-dark);
  color: var(--bp-surface);
  font-size: 25px;
}
.index-wrap-3-section-3 {
  padding: 0px 0px 94px;
}
.marquee-cta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  transform: unset;
  padding: 15px 0;
  opacity: 1;
  margin-right: 5px;
  width: -webkit-fill-available;
  pointer-events: none;
  width: 100%;
}

.marquee-cta span {
  will-change: transform;
  transform: translateY(0);
  white-space: nowrap;
  -webkit-animation: marquee 24s linear infinite;
  animation: marquee 24s linear infinite;
  font-size: 68px;
  text-align: center;
  color: var(--bp-dark-3);
  display: inline-block;
  font-weight: 700;
  font-family: var(--bp-font-sans);
  margin: 0 0px;
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.index-wrap-3-section-3 .container {
  /*margin-top: -4%;*/
}
.index-wrap-3 {
  position: relative;
  margin-top: -18%;
  z-index: 11;
}
.index-wrap-3::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  background: linear-gradient(
    180deg,
    var(--bp-bg) 16%,
    var(--bp-bg-light) 56%,
    rgba(240, 247, 246, 0) 100%
  );
  height: 86.5%;
}
.index-wrap-3-section-3-shade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -56%;
  margin: 0 auto;
  width: 100%;
}
.index-wrap-4-item h3 {
  font-size: 24px;
  padding-bottom: 7px;
}
.index-wrap-4-item .index-wrap-4-item-parah {
  font-size: 14px;
  line-height: 22px;
  margin-bottom: unset;
  height: 110px;
  /* overflow-y: scroll; */
}
.index-wrap-4-item.index-wrap-4-item-margin {
  margin-bottom: 40px;
}
.index-wrap-4-img-item {
  position: relative;
  width: 100%;
  display: inline-block;
  margin-top: 80px;
}
.index-wrap-4-img-item-img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.index-wrap-4 {
  padding: 100px 0px 100px;
  /* clip-path: ellipse(185% 100% at 50% 110%);
  margin-top: -7%;
  z-index: 11;
  background: var(--bp-surface); */
}
.wrap-4-text-img {
  position: absolute;
  left: 0;
  right: 0;
  top: 20%;
  margin: 0 auto;
  opacity: 0.1;
}
.index-wrap-5 .tabs li,
.portfolio-wrap-2 .tabs li {
  padding: 16px 25px;
  border-radius: 12px;
  background: var(--bp-surface);
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  border: 1px solid var(--bp-primary);
  color: var(--bp-text);
  transition: 0.3s linear;
}
.index-wrap-5 .tabs li:hover,
.index-wrap-5 .tabs li.current,
.portfolio-wrap-2 .tabs li:hover,
.portfolio-wrap-2 .tabs li.current {
  box-shadow: 4px 4px 0px var(--bp-primary);
}
.index-wrap-5 .tabs,
.portfolio-wrap-2 .tabs {
  gap: 30px;
}
.index-wrap-5 {
  background: linear-gradient(
    180deg,
    var(--bp-navy) 16%,
    var(--bp-dark) 77%
  );
  padding: 130px 0px 230px;
}
.portfolio-item {
  height: 340px;
  width: 100%;
  overflow: hidden;
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.6s linear;
  border-radius: 17px;
  margin-bottom: 25px;
  box-shadow: 0px 4px 44px #00000042;
}
.portfolio-item img {
  transition: 0.3s linear;
  width: 150px;
  box-shadow: 0px 4px 37px #000000;
}
.portfolio-item:hover {
  background-size: 120%;
}
.index-wrap-5-text-img {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 55px;
  margin: 0 auto;
}
.marquee-cta-2 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  transform: unset;
  padding: 5px;
  opacity: 1;
  margin-right: 5px;
  width: -webkit-fill-available;
  pointer-events: none;
  width: 100%;
  background: var(--bp-primary);
  border: 1px solid var(--bp-dark);
  transform: rotate(358deg) translateY(39px);
  z-index: 1;
  position: relative;
}
.marquee-cta-2 h2 {
  will-change: transform;
  transform: translateY(0);
  white-space: nowrap;
  -webkit-animation: marquee 24s linear infinite;
  animation: marquee 24s linear infinite;
  /* font-size: 70px; */
  text-align: center;
  color: var(--bp-primary-light);
  display: inline-block;
  /* font-weight: 700; */
  /* font-family: var(--bp-font-sans); */
  margin: 0 0px;
}
/* .index-wrap-6 h2 {
  font-size: 60px;
} */
.review-item .review-item-content p {
  font-size: 19px;
  font-weight: 500;
  line-height: 25.5px;
}
.review-item .user-name h6 {
  font-size: 16px;
  font-weight: 700;
}
.review-item .user-name p {
  font-size: 13px;
  font-weight: 400;
}
.review-item {
  border: 1.5px solid var(--bp-border-light);
  background: var(--bp-surface);
  padding: 34px 34px 28px 34px;
  border-radius: 38px;
}
.review-item .review-item-content {
  margin: 28px 0px 30px;
  height: 153px;
  overflow-y: scroll;
}
.review-item .user-profile {
  width: 45px;
  height: 45px;
  overflow: hidden;
  border-radius: 50%;
}
.user-profile img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.index-wrap-6 {
  padding: 100px 0px 140px;
}
/* .index-wrap-6-review .index-wrap-6 {
  padding: 200px 0px 300px;
  background: var(--bp-bg);
  clip-path: ellipse(126% 100% at 50% 110%);
  margin-top: -12%;
} */


.review-slider {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.review-slider.slick-initialized {
    opacity: 1;
}

.service-slider, 
.service-slider-2 {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
.service-slider.slick-initialized,
.service-slider-2.slick-initialized {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.review-slider .slick-dots {
  position: absolute;
  bottom: -16%;
  right: 0;
  left: 0;
  display: block;
  padding: 0 15px;
  margin: 0 auto;
  border-radius: 3px;
  list-style: none;
  width: fit-content;
  text-align: left;
  height: fit-content;
}
.review-slider .slick-dots li button {
  transition: 0.3s linear;
  background: var(--bp-surface);
}
.review-slider .slick-dots li {
  margin: 0 15px 0 0;
}
.review-slider .slick-dots li.slick-active button {
  background: var(--bp-primary);
  border: none;
  width: 40px;
}
.footer-cta h2 {
  font-size: 82px;
}
.footer-cta input {
  color: var(--bp-dark-2);
  border-bottom: 1px solid var(--bp-dark-2);
}
.footer-cta input:focus {
  color: var(--bp-dark-2);
  border-bottom: 1px solid var(--bp-dark-2);
}
.footer-cta input::placeholder {
  color: var(--bp-dark-2);
}
.footer-cta input:focus::placeholder {
  color: var(--bp-dark-2);
}
.footer-cta-custom-margin {
  margin-top: 30px;
}
.footer-cta {
  background: linear-gradient(
    4deg,
    var(--bp-primary-mid) 0%,
    var(--bp-primary) 70%
  );
  border-radius: 50px;
  padding: 50px 70px 70px;
}
.footer-cta button {
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: var(--bp-surface);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  outline: unset;
  border: unset;
  position: relative;
  transition: 0.3s linear;
}
.footer-cta button:hover {
  transform: translateY(-10px) scale(1.05);
  box-shadow: 0px 25px 50px #00000036;
}
.footer-list-item h4 {
  font-size: 24px;
  position: relative;
  padding-bottom: 7px;
}
.footer-list-item ul {
  margin-top: 14px;
  line-height: 27px;
}
.footer-list-item h4::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 45px;
  height: 1px;
  background: var(--bp-primary);
}
.footer-list-item ul li a {
  font-size: 14px;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1rem;
}

.footer-social__btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bp-navy);
  color: #fff !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.footer-social__btn i {
  font-size: 16px;
  line-height: 1;
}

.footer-social__btn:hover,
.footer-social__btn:focus-visible {
  background: var(--bp-primary);
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 575.98px) {
  .footer-social {
    justify-content: center;
    margin-bottom: 0.85rem;
  }

  .footer-social__btn {
    width: 36px;
    height: 36px;
  }

  .footer-social__btn i {
    font-size: 15px;
  }
}

.copyright-div {
  padding: 25px 35px;
  background: linear-gradient(
    180deg,
    var(--bp-navy) 18%,
    var(--bp-dark-2) 71%,
    var(--bp-primary-dark) 165%
  );
  border-radius: 30px 30px 0px 0px;
  color: var(--bp-surface);
}
.copyright-div p {
  color: var(--bp-surface) !important;
}
.custom-main-col-footer-margin {
  margin: 50px 0px 50px;
}

/* Company info + payment row (full width below logo / link columns) */
footer .footer-meta-row {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 2.25rem;
  padding-bottom: 0.25rem;
  border-top: 1px solid rgba(var(--dark-color), 0.12);
}

footer .footer-meta-row .footer-company-details {
  margin: 0;
  padding: 0;
  border: none;
  margin-bottom: 20px;
}

footer .footer-company-details__title {
  font-size: 24px;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 0.6rem;
}

footer .footer-company-details__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 45px;
  height: 1px;
  background: var(--bp-primary);
}

footer .footer-company-details__dl {
  margin: 0;
  padding: 0;
  font-size: 15px;
  line-height: 1.6;
}

footer .footer-company-details__dl dt {
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: rgba(var(--dark-color), 0.55);
}

footer .footer-company-details__dl dt:not(:first-child) {
  margin-top: 1.35rem;
}

footer .footer-company-details__dl dd {
  margin: 0.4rem 0 0;
  padding: 0;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.5;
  color: var(--bp-dark-2);
}

footer .footer-company-details__dl dd .footer-company-details__sub {
  display: block;
  margin-top: 0.55rem;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 400;
  color: rgba(var(--dark-color), 0.52);
}

footer .footer-meta-row .pay_cards {
  padding-top: 0.15rem;
}

footer .footer-meta-row .pay_cards img {
  max-width: 100%;
  display: inline-block;
  vertical-align: top;
}

footer .disclaimer-text {
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: rgba(var(--dark-color), 0.55);
}

footer {
  position: relative;
}
.index-footer-margin {
  padding-top: 100px;
}
/* .index-footer-margin footer {
  margin-top: -10%;
} */
.character-1 {
  position: absolute;
  left: 8px;
  bottom: 162px;
  z-index: 1;
}
.character-2 {
  position: absolute;
  left: 22%;
  bottom: 205px;
  z-index: 1;
}
.character-3 {
  position: absolute;
  right: 22%;
  bottom: 210px;
  z-index: 1;
}
.character-4 {
  position: absolute;
  right: 8px;
  bottom: 190px;
  z-index: 1;
}
.about-wrap-1-text {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  /* top: 42%; */
  bottom: -71px;
}
.about-wrap-2 h4 {
  font-size: 24px;
}
.about-wrap-2 h2 {
  line-height: 65px;
}
.about-wrap-2 {
  padding: 100px 0px 100px;
}
.about-wrap-2-section {
  background: var(--bp-surface);
  margin-top: 70px auto;
  border-radius: 60px;
  padding: 65px 70px 65px 85px;
}
.about-wrap-2-img {
  height: 600px;
  width: 100%;
  overflow: hidden;
  border-radius: 50px;
}
.about-wrap-2-img img {
  height: 100% !important;
  width: 100%;
  object-fit: cover;
}
.about-wrap-2-section-content h2 {
  line-height: 75px;
}
.about-wrap-2-section-content .p-head {
  padding: 30px 0px 32px;
}
/* ── Section background stays dark ── */
.about-wrap-3 {
  background: linear-gradient(180deg, var(--bp-dark) 16%, var(--bp-dark) 77%);
  padding: 130px 0px 130px;
}

/* ── Card: white surface on dark bg ── */
.about-wrap-3-item {
  background: var(--bp-surface);
  border-radius: 30px;
  padding: 35px;
  border: 1px solid var(--bp-border-light);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
  transition: transform 0.35s var(--trans-timing), box-shadow 0.35s var(--trans-timing);
  color: var(--bp-text);
  position: relative;
  overflow: hidden;
  height: 100%;
}

/* Teal accent line at top of each card */
.about-wrap-3-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--bp-primary), var(--bp-primary-mid));
}

.about-wrap-3-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  border-color: rgba(var(--bp-primary-rgb), 0.35);
}

/* ── Icon sizing ── */
.about-wrap-3-item img {
  width: 75px;
  height: 75px;
  object-fit: contain;
  display: block;
  margin: 0 auto 10px;
}

/* ── Typography fixes ── */
.about-wrap-3-item h3 {
  font-size: 22px;
  font-weight: 700;
  padding: 15px 0 12px;
  color: var(--bp-text);
  line-height: 1.3;
}

.about-wrap-3-item p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--bp-dark-3);
  margin-bottom: 0;
}

/* ── Remove cramped scroll-box ── */
.about-wrap-3-item .about-wrap-3-item-content {
  margin-top: 0;
  height: auto;
  overflow: visible;
}

/* ── About page theme polish ── */
.about-page .about-wrap-2 {
  background: var(--bp-bg);
}

.about-page .about-wrap-2 h4 {
  color: var(--bp-primary-dark);
}

.about-page .about-wrap-2-section {
  border: 1px solid rgba(var(--bp-primary-rgb), 0.12);
  box-shadow: 0 18px 48px rgba(var(--dark-color), 0.06);
}

.about-page .about-wrap-3 {
  background: linear-gradient(165deg, var(--bp-primary-dark) 0%, var(--bp-dark) 58%, #061412 100%);
}

.about-page .about-wrap-3 .text-gradient {
  background: linear-gradient(88deg, var(--bp-primary-mid) 0%, #d7f5f0 70%);
  -webkit-background-clip: text;
  background-clip: text;
}

.about-page .about-wrap-3-item {
  background: rgba(255, 255, 255, 0.97);
}

.about-page .marquee-cta-2 {
  background: var(--bp-primary);
  border-color: var(--bp-primary-dark);
}

.about-page .marquee-cta-2 h2 {
  color: var(--bp-primary-light);
}

.about-page .faq-wrap-5 {
  background: var(--bp-bg-light);
  padding: 90px 0;
}

.about-page .accordion-list li {
  border: 1px solid var(--bp-border-light);
  box-shadow: 0 10px 28px rgba(var(--dark-color), 0.04);
}

.about-page .accordion-list li:hover,
.about-page .accordion-list li.active {
  border-color: rgba(var(--bp-primary-rgb), 0.35);
}

/* ── Our Works page theme polish ── */
.our-works-page {
  background: var(--bp-bg);
}

.our-works-page .index-wrap-4 {
  /* background:
    radial-gradient(70% 55% at 50% 0%, rgba(var(--bp-primary-rgb), 0.08), transparent 58%),
    var(--bp-bg-light); */
}

.our-works-page .index-wrap-4-item h3 {
  color: var(--bp-primary-dark);
}

.our-works-page .index-wrap-4-item-parah {
  color: rgba(var(--dark-color), 0.72);
}

.our-works-page .marquee-cta-2 {
  background: var(--bp-primary);
  border-color: var(--bp-primary-dark);
}

.our-works-page .marquee-cta-2 h2 {
  color: var(--bp-primary-light);
}

.our-works-page .book-covers-section {
  background: linear-gradient(
    165deg,
    var(--bp-primary-light) 0%,
    var(--bp-primary) 42%,
    var(--bp-primary-dark) 100%
  );
}

.our-works-page .faq-wrap-5,
.our-works-page .our-work-wrap-5 {
  background: var(--bp-bg-light);
  padding: 90px 0;
}

.our-works-page .accordion-list li {
  border: 1px solid var(--bp-border-light);
  box-shadow: 0 10px 28px rgba(var(--dark-color), 0.04);
}

.our-works-page .accordion-list li:hover,
.our-works-page .accordion-list li.active {
  border-color: rgba(var(--bp-primary-rgb), 0.35);
}

.our-works-page .faq-wrap-5 p a {
  color: var(--bp-primary);
}

/* ── Contact page theme polish ── */
.contact-page {
  background: var(--bp-bg);
}

.contact-page .contact-wrap-2 {
  background: linear-gradient(
    165deg,
    var(--bp-primary-dark) 0%,
    var(--bp-dark) 58%,
    #061412 100%
  );
}

.contact-page .contact-wrap-2 h2 .clr-1,
.contact-page .contact-wrap-2 h2 span {
  color: var(--bp-primary-mid);
}

.contact-page .contact-wrap-2 p,
.contact-page .contact-wrap-2-ul p,
.contact-page .contact-wrap-2-ul a {
  color: rgba(255, 255, 255, 0.9);
}

.contact-page .contact-wrap-2-ul h3 {
  color: #fff;
}

.contact-page .contact-wrap-2-ul .fa-solid {
  color: var(--bp-primary-mid);
}

.contact-page .contact-wrap-2-form-main {
  background:
    linear-gradient(
      160deg,
      rgba(var(--bp-primary-rgb), 0.42) 0%,
      rgba(0, 82, 73, 0.55) 55%,
      rgba(6, 20, 18, 0.35) 100%
    );
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.22);
}

.contact-page .contact-wrap-2-form-main h4 {
  color: #fff;
}

.contact-page .contact-wrap-2-form-main .form-control,
.contact-page .contact-wrap-2-form-main input {
  color: rgba(255, 255, 255, 0.92);
  border-bottom-color: rgba(255, 255, 255, 0.35);
}

.contact-page .contact-wrap-2-form-main .form-control::placeholder,
.contact-page .contact-wrap-2-form-main input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.contact-page .contact-wrap-2-form-main .form-control:focus,
.contact-page .contact-wrap-2-form-main input:focus {
  color: #fff;
  border-bottom-color: var(--bp-primary-mid);
}

/* ── About process: publishing spine layout, no center line ── */
.about-process-section {
  background:
    radial-gradient(60% 50% at 50% 12%, rgba(var(--bp-primary-rgb), 0.1), transparent 58%),
    linear-gradient(180deg, var(--bp-bg) 0%, var(--bp-bg-light) 100%);
}

.pub-process-section--no-line .pub-process-spine::before {
  content: none;
  display: none;
}

.about-wrap-4-item h4 {
  font-size: 24px;
}
.about-wrap-4-item p {
  font-size: 14px;
  height: 63px;
  overflow-y: scroll;
}
.about-wrap-4-item-one {
  margin-bottom: 100px;
}
/* ------------------------------ */
.about-wrap-4-section-2 {
  background: var(--bp-surface);
  margin: 70px auto 20px auto;
  border-radius: 60px;
  padding: 65px 70px 65px 85px;
}
.about-wrap-4-section-2-content {
  width: 90%;
}
.about-wrap-4-section-2-content h2 {
  line-height: normal;
  font-size: 60px;
}
.about-wrap-4-section-2-content .p-head {
  padding: 30px 0px 32px;
}
.about-wrap-4-section-2-img {
  width: 85%;
  display: inline-block;
}
.about-wrap-4 {
  background: linear-gradient(
    180deg,
    var(--bp-bg) 16%,
    var(--bp-bg-light) 56%,
    rgba(240, 247, 246, 0) 100%
  );
  padding: 224px 0px 30px;
  margin-top: -20%;
}
.about-wrap-4-shade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.faq-wrap-5 h2 {
  font-size: 60px;
  line-height: 60px;
}
.faq-wrap-5 p a {
  font-size: 24px;
  font-weight: 600;
  font-family: var(--bp-font-sans);
}
.accordion-list li h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: unset;
}
.accordion-list li {
  border-radius: 20px;
  color: var(--bp-text);
  background: var(--bp-surface);
  padding: 27px 30px 27px;
  margin-bottom: 20px;
  cursor: pointer;
}
.services-wrap-5 {
  padding: 60px 0px 60px !important;
}
.our-work-wrap-5 {
  padding: 60px 0px 60px !important;
}
.faq-wrap-5 {
  padding: 60px 0px 60px;
}
.accordion-list li p {
  margin-bottom: unset;
  padding-top: 15px;
}
.about-wrap-3-container {
  z-index: 1;
}
.service-wrap-1 {
  padding: 140px 0px 220px;
}
.service-wrap-1 h1 {
  font-size: 60px;
  line-height: 64px;
  padding: 23px 0px 16px;
}
.service-wrap-1-shape {
  position: absolute;
  right: 0;
  bottom: 18%;
  max-width: 40%;
}
.book-marketing-wrap-1-img {
  position: absolute;
  right: 141px;
  bottom: -70px;
  max-width: 38%;
}

/* Service pages hero: decorative assets stay behind copy (all .service-wrap-1 layouts) */
.service-wrap-1 > img {
  z-index: 0;
  pointer-events: none;
}
.service-wrap-1 .container {
  position: relative;
  z-index: 2;
}
.service-wrap-1 .container .row > [class*="col-"]:first-child {
  position: relative;
  z-index: 1;
}
.service-wrap-2-img {
  width: 100%;
  height: 700px;
  overflow: hidden;
  border-radius: 50px;
}
.service-wrap-2-img img,
.service-wrap-2-img video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.book-marketing-wrap-2-shade {
  position: absolute;
  top: -20%;
  width: 100%;
  right: 0;
  left: 0;
}
.service-wrap-3-main-item {
  border-radius: 65px;
  height: 600px;
  width: 100%;
  padding: 50px;
  background: var(--bp-soft);
  border: 4px solid var(--bp-accent);
}
.service-wrap-3-main-item-bg-1 {
  background: var(--bp-bg-light);
  border: 4px solid var(--bp-border-light);
}
.service-wrap-3-main-item-clr-1 {
  color: var(--bp-dark-3);
}
.service-wrap-3-main-item-bg-2 {
  background: #ffeded;
  border: 4px solid #ffa8a9;
}
.service-wrap-3-main-item-clr-2 {
  color: #a12d2f;
}
.service-wrap-3-main-item-bg-3 {
  background: #fef9ff;
  border: 4px solid #faa9f1;
}
.service-wrap-3-main-item-clr-3 {
  color: #723a6c;
}
.service-wrap-3-main-item-bg-4 {
  background: #fffbdd;
  border: 4px solid #e1d36a;
}
.service-wrap-3-main-item-clr-4 {
  color: #724d3a;
}
.service-wrap-3-main-item-bg-5 {
  background: #e9f1fa;
  border: 4px solid #c3dfff;
}
.service-wrap-3-main-item-clr-5 {
  color: #1e88ff;
}
/* .service-wrap-3-main-item h3 {
  font-size: 60px;
} */
/* .service-wrap-3-main-item-parah {
  padding: 18px 0px 20px;
} */
.service-wrap-3-main-item-img {
  width: 100%;
  height: 500px;
  display: inline-block;
  overflow: hidden;
  padding: 20px;
}
.service-wrap-3-main-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.service-wrap-3-main-item-content {
  height: 100%;
  overflow-y: auto
}
.service-wrap-3-main-item-content h3 {
  color: var(--bp-text)
}
.service-wrap-3-main-item-content i.fa-check {
  color: var(--bp-primary);
}
.service-slider .slick-next,
.service-slider .slick-prev {
  width: 50px;
  height: 50px;
  background: var(--bp-primary);
  border-radius: 5px;
  border: 1px solid var(--bp-surface);
}
.service-slider .slick-next::before,
.service-slider .slick-prev::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  width: 26px;
  height: 19px;
}
.service-slider .slick-next::before {
  background: url(../images/icons/arrow-right.png);
}
.service-slider .slick-prev::before {
  background: url(../images/icons/arrow-left.png);
}
.service-slider .slick-next {
  right: -10px;
}
.service-slider .slick-prev {
  left: -10px;
}
.service-wrap-4 {
  padding: 140px 0px 220px;
  /* background: var(--bp-surface); */
}
.service-wrap-4-shade {
  position: absolute;
  bottom: -55%;
  width: 100%;
  left: 0;
  right: 0;
}
.service-wrap-4-phone {
  position: absolute;
  right: 0;
  top: 35%;
  z-index: 1;
}
.service-wrap-4-cta {
  position: absolute;
  left: 5%;
  top: 25%;
  bottom: 0;
  margin: auto 0;
  z-index: 1;
}
.service-wrap-5-main-item {
  border-radius: 65px;
  height: auto;
  width: 100%;
  padding: 50px 50px 100px;
  background: var(--bp-surface);
}
.service-wrap-5-main-item-book {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
}
.service-wrap-5-main-item h3 {
  font-size: 40px;
}
.service-wrap-5-main-item h4 {
  font-size: 24px;
  padding: 11px 0px 14px;
}
.service-wrap-5-main-inner-item h6 {
  font-size: 16px;
  padding: 5px 0px 5px;
}
.service-wrap-5-main-inner-item p {
  font-size: 12px;
}
.service-wrap-5-main-item .p-custom {
  padding-bottom: 24px;
}
.service-wrap-3 {
  padding-top: 140px;
  /* background: var(--bp-surface); */
}
.service-wrap-5-main-item h2 {
  font-size: 60px;
  padding-bottom: 50px;
}
.service-slider-2 .slick-next,
.service-slider-2 .slick-prev {
  width: 50px;
  height: 50px;
  background: var(--bp-primary-dark);
  border-radius: 5px;
}
.service-slider-2 .slick-next::before,
.service-slider-2 .slick-prev::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  width: 26px;
  height: 19px;
}
.service-slider-2 .slick-next::before {
  background: url(../images/icons/arrow-right.png);
  filter: brightness(0) invert(1);
}
.service-slider-2 .slick-prev::before {
  background: url(../images/icons/arrow-left.png);
  filter: brightness(0) invert(1);
}
.service-slider-2 .slick-next {
  right: -10px;
}
.service-slider-2 .slick-prev {
  left: -10px;
}
.service-wrap-5 {
  padding: 80px 0px 0px;
}
.usp-img-1 {
  position: absolute;
  right: -140px;
  top: 14px;
}
.usp-img-2 {
  position: absolute;
  right: -60px;
  top: 15px;
}
.usp-img-3 {
  position: absolute;
  right: -50px;
  top: -70px;
}
.usp-img-4 {
  position: absolute;
  left: -158px;
  top: 13px;
}
.usp-img-5 {
  position: absolute;
  left: -65px;
  top: 13px;
}
.usp-img-6 {
  position: absolute;
  left: -80px;
  top: -28px;
  max-width: 28%;
}

/* -------------------------------------- */
.megamenu {
  width: 100%;
  height: 100vh;
  background: linear-gradient(
    0deg,
    var(--bp-primary-mid) 0%,
    var(--bp-primary) 37%,
    var(--bp-primary) 100%
  );
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  transition: 0.7s linear;
  z-index: 9;
  clip-path: circle(0% at 50% 0);
}
.megamenu.open {
  clip-path: circle(70.7% at 50% 50%);
}
.header-container-1 {
  z-index: 1;
}
.megamenu-inner .megamenu-main-ul li .megamenu-main-ul-a {
  font-size: 50px;
  font-weight: 700;
  position: relative;
}
.megamenu-inner .megamenu-main-ul {
  gap: 100px;
  padding-bottom: 200px;
}
.megamenu-inner .megamenu-main-ul li .megamenu-main-ul-a:hover {
  letter-spacing: 10px;
  color: var(--bp-dark);
}
.megamenu-inner .megamenu-main-ul li .megamenu-main-ul-a::before {
  content: "";
  position: absolute;
  right: -52px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 2px;
  height: 70%;
  background: /* broken alpha */ var(--bp-dark);
}
.megamenu-inner .megamenu-main-ul li .last-a::before {
  display: none;
}
.dropdown-mega-li {
  position: relative;
}
.dropdown-mega-li::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: min(560px, 48vw);
  max-width: calc(100vw - 48px);
  height: 18px;
  transform: translateX(-50%);
}
.service-a-anchor {
  display: inline-flex;
  align-items: center;
}

.service-a-anchor span,
.service-a-anchor .nav__chevron {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  transform: none;
}

.nav__chevron {
  transition: transform 0.3s ease;
}

.dropdown-mega-li:hover .nav__chevron,
.dropdown-mega-li:focus-within .nav__chevron,
.dropdown-mega-li.is-active .nav__chevron {
  transform: rotate(180deg);
}

.megamenu-inner-ul,
.nav__dropdown {
  position: absolute;
  left: 50%;
  top: calc(100% + 14px);
  width: min(560px, 52vw);
  min-width: 320px;
  max-width: calc(100vw - 32px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(0, 82, 73, 0.1);
  border-radius: 20px;
  box-shadow:
    0 28px 64px rgba(5, 28, 26, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.4) inset;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 14px;
  z-index: 9999;
  transform-origin: top center;
  transform: translateX(-50%) translateY(8px) scale(0.98);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
  font-size: 13px;
  color: var(--bp-text);
}

.megamenu-inner-ul::before,
.nav__dropdown::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #fff;
  border-left: 1px solid rgba(0, 82, 73, 0.1);
  border-top: 1px solid rgba(0, 82, 73, 0.1);
  transform: translateX(-50%) rotate(45deg);
}

.dropdown-mega-li:hover .megamenu-inner-ul,
.dropdown-mega-li:focus-within .megamenu-inner-ul {
  transform: translateX(-50%) translateY(0) scale(1);
  opacity: 1;
  pointer-events: auto;
}

.megamenu-inner-ul li {
  list-style: none;
  margin: 0;
}

.megamenu-inner-ul li a,
.nav__dropdown li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 12px;
  color: rgba(15, 46, 42, 0.88) !important;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.megamenu-inner-ul li a i,
.nav__dropdown li a i {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: rgba(var(--clr-1), 0.1);
  color: rgb(var(--clr-1));
  font-size: 12px;
  transition: background 0.2s ease, color 0.2s ease;
}

.megamenu-inner-ul li a:hover,
.nav__dropdown li a:hover {
  background: rgba(var(--clr-1), 0.08);
  color: rgb(var(--clr-1)) !important;
  transform: translateX(2px);
  text-decoration: none;
}

.megamenu-inner-ul li a:hover i,
.nav__dropdown li a:hover i {
  background: rgb(var(--clr-1));
  color: #fff;
}

.megamenu-inner-ul li.is-active > a,
.nav__dropdown li.is-active > a,
.megamenu-inner-ul li a.is-active,
.nav__dropdown li a.is-active {
  background: rgba(var(--bp-primary-rgb), 0.12);
  color: var(--bp-primary-dark) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--bp-primary-rgb), 0.18);
}

.megamenu-inner-ul li.is-active > a i,
.nav__dropdown li.is-active > a i,
.megamenu-inner-ul li a.is-active i,
.nav__dropdown li a.is-active i {
  background: var(--bp-primary);
  color: #fff;
}

.header-mobile-container .header-mobile-ul-1 li a {
  font-size: 25px;
  color: var(--bp-dark);
  font-weight: 700;
}
.header-mobile-container .header-mobile-ul-1 li {
  margin-bottom: 10px;
}
.mobile-ul-inner li {
  margin-bottom: 3px !important;
}
.mobile-ul-inner li a {
  font-size: 14px !important;
  color: rgb(0 0 0 / 53%) !important;
}
.mobile-ul-inner {
  padding: 12px 14px;
  margin-top: 8px;
  background: rgba(10, 22, 40, 0.03);
  border: 1px solid rgba(10, 22, 40, 0.06);
  border-radius: 12px;
}
.mobile-ul-inner {
  display: none;
}
.mobile-ul-inner.active {
  display: block;
}
.header-mobile-container .header-mobile-ul-1 li a span i {
  color: var(--bp-dark);
}
.my-tabs {
  display: none;
}
.my-tabs.current {
  display: block;
}
.ghostwriting-wrap-1-img {
  position: absolute;
  right: 2%;
  bottom: 0%;
}
.book-cover-wrap-1-img {
  position: absolute;
  right: 0%;
  bottom: 0%;
}
.services-wrap-1-img,
.contact-wrap-1-img,
.our-work-wrap-1-img {
  position: absolute;
  right: 5%;
  bottom: 0%;
  max-width: 42%;
}
.portfolio-wrap-2 {
  padding: 280px 0px 100px;
  clip-path: ellipse(160% 100% at 50% 110%);
  background: linear-gradient(
    180deg,
    var(--bp-navy) 16%,
    var(--bp-dark) 77%
  );
  margin-top: -14%;
  position: relative;
  z-index: 1;
}
.portfolio-wrap-2-award-ul {
  top: -60px
}
.book-publishing-wrap-1-img {
  position: absolute;
  right: 8%;
  bottom: 18%;
}
.contact-wrap-2-ul h3 {
  font-size: 25px;
}
.contact-wrap-2 h2 {
  font-size: 60px;
}
.contact-wrap-2 {
  padding: 100px 0px 100px;
  background: linear-gradient(
    180deg,
    var(--bp-navy) 16%,
    var(--bp-dark) 77%
  );
}
.contact-wrap-2-form-main {
  background: linear-gradient(180deg, rgba(var(--bp-primary-rgb), 0.33) 16%, rgba(var(--bp-primary-rgb), 0) 77%);
  border-radius: 50px;
  padding: 50px 65px 60px 65px;
}
.contact-wrap-2-form-main h4 {
  font-size: 40px;
}
.contact-wrap-1-img {
  position: absolute;
  right: 11%;
  bottom: 3%;
  max-width: 30%;
}
.thank-wrap-1 {
  padding: 0px 0px 150px;
}
.thank-wrap-1 h1{
  font-size: 60px;
}
.overlayS {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 999;
  transition: 2s ease;
  top: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  background: var(--bp-dark-2);
}

.overlayS.hide {
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}

.cube {
  position: absolute;
  width: 1em;
  height: 1em;
  background: var(--bp-primary-mid);
  animation: move 3s ease-in-out infinite;
  transform-style: preserve-3d;
  box-shadow: 4em 4em 0.3em 0.1em #00000014;
}

.cube::before,
.cube::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.cube::before {
  background-color: var(--bp-primary-dark);
  transform-origin: 100% 100%;
  transform: rotateY(-90deg);
}

.cube::after {
  background-color: var(--bp-primary-mid);
  transform-origin: 0% 100%;
  transform: rotateX(90deg);
}

.cube:nth-of-type(1) {
  animation-delay: -11.25s;
}

.cube:nth-of-type(2) {
  animation-delay: -10.5s;
}

.cube:nth-of-type(3) {
  animation-delay: -9.75s;
}

.cube:nth-of-type(4) {
  animation-delay: -9s;
}

@keyframes move {

  0%,
  87.5%,
  100% {
      transform: translate(1em, 0em);
  }

  12.5% {
      transform: translate(2em, 0em);
  }

  25% {
      transform: translate(2em, 1em);
  }

  37.5%,
  50% {
      transform: translate(1em, 1em);
  }

  62.5% {
      transform: translate(0em, 1em);
  }

  75% {
      transform: translate(0em, 0em);
  }
}

.box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 3em;
  height: 2em;
  margin: 39vmin auto;
  font-size: 50px;
  transform-style: preserve-3d;
  transform: rotateX(60deg) rotateZ(45deg);
}

.box:hover * {
  animation-play-state: paused;
}

.box:active * {
  animation-play-state: running;
}
/* ------------------------------------------------------ */
.terms-wrap-2{
  padding: 60px 0px;
}
.termss_textt h1{
  font-size: 60px;
  font-weight: 700;
}
.termss_textt h2{
  font-size: 25px;
  font-weight: 700;
}
.termss_textt h3{
  font-size: 20px;
  font-weight: 600;
}

.custom-main-col-footer-margin .col-lg-5 img:first-child {
  max-width: 300px;
    width: 100%;
    height: auto;
}

.honeypot-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}
/* 
header .col-lg-3 a img {
  max-width: 300px;
} */

/* Book Covers Section Styles */
.book-covers-section {
  background: linear-gradient(
    180deg,
    var(--bp-primary-light) 16%,
    var(--bp-primary-dark) 77%
  );
  padding: 130px 0px 230px;
  position: relative;
}

/* Search Input Styling */
.book-search-filter {
  max-width: 500px;
  margin: 0 auto;
}

.book-search-input {
  width: 100%;
  padding: 15px 20px;
  border-radius: 12px;
  border: 2px solid var(--bp-primary);
  background: rgba(255, 255, 255, 0.95);
  color: var(--bp-text);
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
  font-family: var(--bp-font-sans);
}

.book-search-input::placeholder {
  color: var(--bp-muted) !important;
  opacity: 0.8 !important;
  font-weight: 500;
}

.book-search-input::-webkit-input-placeholder {
  color: var(--bp-muted) !important;
  opacity: 0.8 !important;
}

.book-search-input::-moz-placeholder {
  color: var(--bp-muted) !important;
  opacity: 0.8 !important;
}

.book-search-input:-ms-input-placeholder {
  color: var(--bp-muted) !important;
  opacity: 0.8 !important;
}

.book-search-input:focus {
  outline: none;
  box-shadow: 0 0 20px rgba(var(--bp-primary-rgb), 0.5);
  border-color: var(--bp-primary);
  background: var(--bp-surface);
}

/* Book Cover Item Styling - Similar to Portfolio */
.book-cover-item {
  position: relative;
  margin-bottom: 35px;
}

.book-cover-wrapper {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 17px;
    overflow: hidden;
    box-shadow: 0px 4px 44px #00000042;
    /*background: linear-gradient(135deg, var(--bp-bg-light) 0%, var(--bp-surface) 100%);*/
    transition: all 0.6s linear;
    cursor: pointer;
    display: flex;
    background-size: contain;
    background-repeat: no-repeat;
    align-items: center;
    background-position: top;
    justify-content: center;
    padding: 20px 15px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.book-cover-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 0;
    border-radius: 17px;
    pointer-events: none;
}


.book-cover-wrapper:hover {
  box-shadow: 0px 8px 60px rgba(var(--bp-primary-rgb), 0.4);
  transform: translateY(-8px);
}

.book-cover-img {
  position: relative;
  z-index: 1;
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.3s linear;
  box-shadow: 0px 4px 37px #000000;
  border-radius: 8px;
  display: block;
  margin: 0 auto;
}

.book-cover-wrapper:hover .book-cover-img {
  transform: scale(1.05);
}

.book-cover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.85) 100%
  );
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 25px 20px;
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: 17px;
}

.book-cover-wrapper:hover .book-cover-overlay {
  opacity: 1;
}

.book-cover-info {
  text-align: center;
  width: 100%;
  transform: translateY(15px);
  transition: transform 0.4s ease;
}

.book-cover-wrapper:hover .book-cover-info {
  transform: translateY(0);
}

.book-title {
  color: var(--bp-surface);
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 18px;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
  line-height: 1.3;
}

/* Button Styling - Matching Portfolio Tabs Style */
.btn-view-book {
  background: var(--bp-surface);
  color: var(--bp-text);
  border: 1px solid var(--bp-primary);
  padding: 14px 28px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.3s linear;
  box-shadow: 0 0 0px var(--bp-primary);
  font-family: var(--bp-font-sans);
  text-transform: none;
  letter-spacing: 0.5px;
}

.btn-view-book:hover {
  background: var(--bp-primary);
  color: var(--bp-text);
  box-shadow: 4px 4px 0px var(--bp-primary);
  transform: translateY(-2px);
}

/* Book Label Below Cover */
.book-cover-label {
  text-align: center;
  color: var(--bp-surface);
  font-size: 16px;
  font-weight: 600;
  margin-top: 15px;
  padding: 0 10px;
  line-height: 1.4;
  min-height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Book Modal Styles */
.book-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.9);
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.book-modal-content {
  position: relative;
  margin: 5% auto;
  padding: 20px;
  width: 90%;
  max-width: 800px;
  background: var(--bp-surface);
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  animation: slideDown 0.4s ease;
}

@keyframes slideDown {
  from {
    transform: translateY(-50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.book-modal-close {
  position: absolute;
  right: 20px;
  top: 20px;
  color: var(--bp-text);
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  z-index: 10000;
  transition: all 0.3s ease;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(var(--bp-primary-rgb), 0.2);
}

.book-modal-close:hover {
  background: var(--bp-primary);
  transform: rotate(90deg);
}

.book-modal-body {
  text-align: center;
  padding: 20px;
}

.modal-book-img {
  max-width: 100%;
  max-height: 70vh;
  border-radius: 10px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  margin-bottom: 20px;
}

.modal-book-title {
  color: var(--bp-text);
  font-size: 28px;
  font-weight: 700;
  margin-top: 20px;
}

/* Lazy Loading Optimizations */
.lozad {
  opacity: 0;
  transition: opacity 0.3s;
  will-change: opacity;
}

.lozad.loaded {
  opacity: 1;
}

/* Prevent layout shift for lazy-loaded images */
.lozad:not([src]) {
  background: transparent;
  min-height: 1px;
}

/* Optimize image rendering */
img.lozad {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Font Loading Optimizations */
/* Optimize Font Awesome loading */
.fa, .fas, .far, .fab, .fal, .fad {
  font-display: swap;
}

/* Prevent layout shifts in marquee */
.marquee-inner {
  min-height: 200px;
  overflow: hidden;
}

.marquee-item {
  min-height: 200px;
  display: flex;
  align-items: center;
}

.marquee-item img {
  width: auto;
  height: 200px;
  object-fit: contain;
}

.index-wrap-2-slider {
    opacity: 0;
    transition: opacity 0.3s ease;
}
.index-wrap-2-slider.slick-initialized {
    opacity: 1;
}

/* Prevent layout shift for gen-img backgrounds */
.index-wrap-3-item {
  min-height: 300px;
  background-color: var(--bp-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.index-wrap-3-item.bg-loaded {
  transition: opacity 0.3s;
}

.mySwiper .swiper-slide {
    margin-right: var(--dynamic-gap, 8px);
}

.index-service-wrap-3 {
  padding: 50px 0;
  /* background: var(--bp-surface); */
}

/* ── Book proofreading detail sections ── */
.proof-detail-section {
  padding: 70px 0;
}

.proof-covers-section {
  padding-top: 80px;
}

.proof-cover-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--bp-border-light);
  border-radius: 12px;
  padding: 24px 22px;
  background: var(--bp-surface);
  height: 100%;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.proof-cover-item:hover {
  border-color: rgba(var(--bp-primary-rgb), 0.4);
  box-shadow: 0 8px 24px rgba(var(--dark-color), 0.06);
}

.proof-cover-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--bp-primary-rgb), 0.1);
  color: var(--bp-primary);
  font-size: 14px;
  flex-shrink: 0;
}

.proof-cover-item h3 {
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 0;
  color: var(--bp-text);
}

.proof-cover-item p {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(var(--dark-color), 0.72);
}

.proof-detail-section--alt {
  /* background: var(--bp-bg-light); */
}

.proof-detail-section h2 {
  line-height: 1.25;
  margin-bottom: 16px;
}

.proof-detail-section .p-head {
  padding: 0;
  margin-bottom: 0;
  color: rgba(var(--dark-color), 0.78);
}

.proof-detail-note {
  margin-top: 28px;
  text-align: center;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.proof-detail-note a {
  color: var(--bp-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.proof-stage-item,
.proof-genre-item {
  border: 1px solid var(--bp-border-light);
  border-radius: 12px;
  padding: 24px 22px;
  background: var(--bp-surface);
  height: 100%;
}

.proof-genre-item--media {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.proof-genre-media {
  position: relative;
  width: 100%;
  aspect-ratio: 900 / 680;
  overflow: hidden;
  background: var(--bp-bg-light);
}

.proof-genre-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.proof-genre-item--media:hover .proof-genre-media img {
  transform: scale(1.04);
}

.proof-genre-body {
  padding: 18px 18px 20px;
  flex: 1 1 auto;
}

.proof-genre-list {
  margin: 14px 0 0;
  display: grid;
  gap: 8px;
}

.proof-genre-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: rgba(var(--dark-color), 0.78);
}

.proof-genre-list i {
  margin-top: 3px;
  color: var(--bp-primary);
  flex-shrink: 0;
}

.proof-stage-item--active {
  border-color: rgba(var(--bp-primary-rgb), 0.45);
  box-shadow: inset 0 0 0 1px rgba(var(--bp-primary-rgb), 0.2);
}

.proof-stage-num {
  display: inline-block;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--bp-primary);
  margin-bottom: 12px;
}

.proof-stage-item h3,
.proof-genre-item h3 {
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 10px;
  color: var(--bp-text);
}

.proof-stage-item p,
.proof-genre-item p {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(var(--dark-color), 0.72);
}

/* ── Editing differences comparison (proofreading page) ── */
.proof-diff-compare {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.proof-diff-item {
  height: 100%;
  padding: 24px 22px;
  border: 1px solid var(--bp-border-light);
  border-radius: 16px;
  background: var(--bp-surface);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.proof-diff-item h3 {
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 10px;
  color: var(--bp-text);
}

.proof-diff-item p {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(var(--dark-color), 0.72);
}

.proof-diff-item--focus {
  border-color: rgba(var(--clr-1), 0.32);
  background: linear-gradient(
    160deg,
    rgba(var(--clr-1), 0.08) 0%,
    #fff 48%
  );
  box-shadow: 0 12px 28px rgba(var(--dark-color), 0.06);
}

.proof-diff-item:not(.proof-diff-item--focus):hover {
  border-color: rgba(var(--clr-1), 0.18);
  box-shadow: 0 8px 20px rgba(var(--dark-color), 0.05);
}

@media (max-width: 767.98px) {
  .proof-diff-item h3 {
    font-size: 18px;
  }
}

/* ── How proofreading works: manuscript margin notes ── */
.proof-works-board {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: 12px 0 8px;
}

.proof-works-spine {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: min(42%, 280px);
  transform: translateX(-50%);
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(var(--dark-color), 0.04), transparent 18%),
    repeating-linear-gradient(
      180deg,
      rgba(var(--dark-color), 0.045) 0 1px,
      transparent 1px 28px
    ),
    #fff;
  border: 1px solid rgba(var(--dark-color), 0.08);
  box-shadow: 0 18px 40px rgba(var(--dark-color), 0.06);
  z-index: 0;
  overflow: hidden;
}

.proof-works-spine::before {
  content: "";
  position: absolute;
  inset: 18px 22px;
  border-left: 2px solid rgba(var(--clr-1), 0.18);
  opacity: 0.7;
}

.proof-works-spine-label {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(var(--dark-color), 0.35);
  white-space: nowrap;
}

.proof-works-steps {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  padding: 42px 0 8px;
}

.proof-works-step {
  display: flex;
  width: 100%;
  opacity: 0;
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--works-delay, 0s);
}

.proof-works-step--left {
  justify-content: flex-start;
  transform: translateX(-28px);
}

.proof-works-step--right {
  justify-content: flex-end;
  transform: translateX(28px);
}

.proof-works-section.is-inview .proof-works-step {
  opacity: 1;
  transform: translateX(0);
}

.proof-works-note {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(46%, 420px);
  padding: 16px 18px;
  background: #fff;
  border: 1px solid rgba(var(--clr-1), 0.14);
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(var(--dark-color), 0.07);
}

.proof-works-step--left .proof-works-note {
  border-right: 3px solid rgba(var(--clr-1), 0.45);
}

.proof-works-step--right .proof-works-note {
  border-left: 3px solid rgba(var(--clr-1), 0.45);
  /* flex-direction: row-reverse;
  text-align: right; */
}

.proof-works-step--left .proof-works-note::after,
.proof-works-step--right .proof-works-note::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 2px;
  background: rgba(var(--clr-1), 0.35);
}

.proof-works-step--left .proof-works-note::after {
  right: -18px;
}

.proof-works-step--right .proof-works-note::after {
  left: -18px;
}

.proof-works-num {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: #fff;
  background: rgb(var(--clr-1));
}

.proof-works-copy {
  min-width: 0;
}

.proof-works-copy h3 {
  font-size: 17px;
  line-height: 1.3;
  margin-bottom: 4px;
}

.proof-works-copy p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(var(--dark-color), 0.72);
}

.proof-works-step--final .proof-works-note {
  background: linear-gradient(
    135deg,
    rgba(var(--clr-1), 0.08) 0%,
    #fff 48%
  );
  border-color: rgba(var(--clr-1), 0.28);
}

.proof-works-note:hover {
  box-shadow: 0 16px 34px rgba(var(--dark-color), 0.1);
}

@media (max-width: 991.98px) {
  .proof-works-spine {
    width: min(52%, 240px);
  }

  .proof-works-note {
    width: min(48%, 360px);
  }
}

@media (max-width: 767.98px) {
  .proof-works-spine {
    left: 22px;
    width: 12px;
    transform: none;
    border-radius: 999px;
    background: rgba(var(--clr-1), 0.12);
    box-shadow: none;
    border: 0;
  }

  .proof-works-spine::before,
  .proof-works-spine-label {
    display: none;
  }

  .proof-works-steps {
    padding-top: 8px;
    gap: 14px;
  }

  .proof-works-step,
  .proof-works-step--left,
  .proof-works-step--right {
    justify-content: flex-start;
    transform: translateY(18px);
  }

  .proof-works-section.is-inview .proof-works-step {
    transform: translateY(0);
  }

  .proof-works-note,
  .proof-works-step--right .proof-works-note {
    width: calc(100% - 36px);
    margin-left: 36px;
    /* flex-direction: row;
    text-align: left; */
    border-left: 3px solid rgba(var(--clr-1), 0.45);
    border-right: 1px solid rgba(var(--clr-1), 0.14);
  }

  .proof-works-step--left .proof-works-note::after,
  .proof-works-step--right .proof-works-note::after {
    left: -18px;
    right: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .proof-works-step {
    transition: none !important;
    opacity: 1;
    transform: none !important;
  }
}

.proof-sample-callout {
  border-left: 3px solid var(--bp-primary);
  padding: 18px 20px;
  margin-top: 24px;
  background: rgba(var(--bp-primary-rgb), 0.06);
  border-radius: 0 10px 10px 0;
}

.proof-sample-callout h3 {
  font-size: 20px;
  margin-bottom: 8px;
}

.proof-sample-callout p {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(var(--dark-color), 0.75);
}

.proof-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.proof-pricing-table {
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  font-size: 15px;
  margin: 0 0 20px;
  background: var(--bp-surface);
}

.proof-pricing-table th {
  background: var(--bp-primary);
  color: var(--bp-surface);
  font-weight: 600;
  padding: 14px 18px;
  border: none;
}

.proof-pricing-table td {
  padding: 14px 18px;
  border-color: var(--bp-border-light);
  vertical-align: middle;
  line-height: 1.5;
  color: var(--bp-text);
}

.proof-pricing-table tr:nth-child(even) td {
  background: var(--bp-bg-light);
}

.proof-pricing-table tr:hover td {
  background: rgba(var(--bp-primary-rgb), 0.06);
}

.proof-turnaround {
  margin: 28px 0 18px;
  padding: 22px 24px;
  border: 1px solid var(--bp-border-light);
  border-radius: 12px;
  background: var(--bp-surface);
}

.proof-turnaround h3 {
  font-size: 20px;
  margin-bottom: 8px;
}

.proof-turnaround p {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(var(--dark-color), 0.75);
}

.proof-process-steps {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.proof-process-step {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 20px 22px;
  border: 1px solid var(--bp-border-light);
  border-radius: 12px;
  background: var(--bp-surface);
}

.proof-process-num {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--bp-primary);
  background: rgba(var(--bp-primary-rgb), 0.1);
}

.proof-process-step h3 {
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 6px;
}

.proof-process-step p {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(var(--dark-color), 0.72);
}

/* ── Audiobook production process ── */
.audio-process-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 36px 48px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

.audio-process-visual {
  position: sticky;
  top: 110px;
  text-align: center;
}

.audio-process-mic {
  position: relative;
  width: 220px;
  height: 260px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.audio-process-mic-svg {
  position: relative;
  z-index: 2;
  width: 96px;
  height: auto;
  color: rgb(var(--clr-1));
}

.audio-process-ring {
  position: absolute;
  left: 50%;
  top: 42%;
  width: 92px;
  height: 92px;
  border: 2px solid rgba(var(--clr-1), 0.28);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: audioRingPulse 2.8s ease-out infinite;
}

.audio-process-ring--2 {
  width: 128px;
  height: 128px;
  animation-delay: 0.55s;
}

.audio-process-ring--3 {
  width: 168px;
  height: 168px;
  animation-delay: 1.1s;
}

.audio-process-eq {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  display: flex;
  align-items: flex-end;
  gap: 5px;
  height: 36px;
  z-index: 2;
}

.audio-process-eq span {
  display: block;
  width: 5px;
  border-radius: 999px;
  background: rgb(var(--clr-1));
  animation: audioEqBounce 1.1s ease-in-out infinite;
}

.audio-process-eq span:nth-child(1) { height: 12px; animation-delay: 0s; }
.audio-process-eq span:nth-child(2) { height: 22px; animation-delay: 0.1s; }
.audio-process-eq span:nth-child(3) { height: 30px; animation-delay: 0.2s; }
.audio-process-eq span:nth-child(4) { height: 18px; animation-delay: 0.3s; }
.audio-process-eq span:nth-child(5) { height: 28px; animation-delay: 0.15s; }
.audio-process-eq span:nth-child(6) { height: 14px; animation-delay: 0.25s; }
.audio-process-eq span:nth-child(7) { height: 24px; animation-delay: 0.05s; }

.audio-process-visual-caption {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(var(--dark-color), 0.4);
}

.audio-process-tracks {
  position: relative;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.audio-process-tracks::before {
  content: "";
  position: absolute;
  left: 27px;
  top: 24px;
  bottom: 24px;
  width: 2px;
  background: linear-gradient(
    180deg,
    rgba(var(--clr-1), 0.12),
    rgba(var(--clr-1), 0.55),
    rgba(var(--clr-1), 0.12)
  );
  transform-origin: top;
  transform: scaleY(0);
  transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.audio-process-section.is-inview .audio-process-tracks::before {
  transform: scaleY(1);
}

.audio-process-track {
  position: relative;
  display: grid;
  grid-template-columns: 54px 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 14px 16px 14px 8px;
  border: 1px solid rgba(var(--clr-1), 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 22px rgba(var(--dark-color), 0.04);
  opacity: 0;
  transform: translateX(24px);
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  transition-delay: var(--ap-delay, 0s);
}

.audio-process-section.is-inview .audio-process-track {
  opacity: 1;
  transform: translateX(0);
}

.audio-process-num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: rgb(var(--clr-1));
  background: #fff;
  border: 2px solid rgba(var(--clr-1), 0.28);
  box-shadow: 0 0 0 5px rgba(var(--clr-1), 0.05);
  z-index: 1;
}

.audio-process-wave {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 28px;
}

.audio-process-wave span {
  width: 3px;
  border-radius: 999px;
  background: rgba(var(--clr-1), 0.35);
  animation: audioEqBounce 1.2s ease-in-out infinite;
}

.audio-process-wave span:nth-child(1) { height: 8px; animation-delay: 0s; }
.audio-process-wave span:nth-child(2) { height: 16px; animation-delay: 0.12s; }
.audio-process-wave span:nth-child(3) { height: 22px; animation-delay: 0.24s; }
.audio-process-wave span:nth-child(4) { height: 12px; animation-delay: 0.08s; }
.audio-process-wave span:nth-child(5) { height: 18px; animation-delay: 0.18s; }

.audio-process-copy {
  min-width: 0;
}

.audio-process-copy h3 {
  font-size: 17px;
  line-height: 1.3;
  margin-bottom: 4px;
}

.audio-process-copy p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(var(--dark-color), 0.72);
}

.audio-process-track:hover {
  border-color: rgba(var(--clr-1), 0.28);
  box-shadow: 0 12px 28px rgba(var(--dark-color), 0.08);
}

.audio-process-track:hover .audio-process-num {
  background: rgb(var(--clr-1));
  color: #fff;
  border-color: rgb(var(--clr-1));
}

.audio-process-track:hover .audio-process-wave span {
  background: rgb(var(--clr-1));
}

@keyframes audioRingPulse {
  0% {
    opacity: 0.55;
    transform: translate(-50%, -50%) scale(0.86);
  }
  70% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.18);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.18);
  }
}

@keyframes audioEqBounce {
  0%,
  100% {
    transform: scaleY(0.55);
  }
  50% {
    transform: scaleY(1);
  }
}

@media (max-width: 991.98px) {
  .audio-process-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .audio-process-visual {
    position: static;
  }

  .audio-process-mic {
    width: 180px;
    height: 210px;
  }

  .audio-process-mic-svg {
    width: 78px;
  }
}

@media (max-width: 575.98px) {
  .audio-process-track {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 14px 14px 8px;
  }

  .audio-process-wave {
    display: none;
  }

  .audio-process-tracks::before {
    left: 22px;
  }

  .audio-process-num {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .audio-process-ring,
  .audio-process-eq span,
  .audio-process-wave span,
  .audio-process-track,
  .audio-process-tracks::before {
    animation: none !important;
    transition: none !important;
  }

  .audio-process-track,
  .audio-process-tracks::before {
    opacity: 1;
    transform: none;
  }
}

/* ── Publishing process spine flow ── */
.pub-process-board {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
}

.pub-process-cover {
  max-width: 420px;
  margin: 0 auto 42px;
}

.pub-process-cover .mkt-image {
  border-radius: 28px;
  box-shadow: 0 20px 48px rgba(var(--dark-color), 0.12);
}

.pub-process-spine {
  position: relative;
  margin: 0;
  padding: 8px 0 4px;
}

.pub-process-spine::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  margin-left: -1.5px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(var(--clr-1), 0.15),
    rgba(var(--clr-1), 0.55),
    rgba(var(--clr-1), 0.15)
  );
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.pub-process-section.is-inview .pub-process-spine::before {
  transform: scaleY(1);
}

.pub-process-step {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 56px 1fr;
  align-items: center;
  gap: 0 12px;
  margin: 0 0 22px;
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--pp-delay, 0s);
}

.pub-process-section.is-inview .pub-process-step {
  opacity: 1;
  transform: none;
}

.pub-process-step:last-child {
  margin-bottom: 0;
}

.pub-process-node {
  grid-column: 2;
  grid-row: 1;
  z-index: 2;
  width: 48px;
  height: 48px;
  margin: 0 auto;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(145deg, rgb(var(--clr-1)), var(--bp-primary-dark));
  box-shadow:
    0 0 0 6px rgba(255, 255, 255, 0.95),
    0 10px 24px rgba(var(--clr-1), 0.28);
}

.pub-process-card {
  grid-row: 1;
  padding: 20px 22px;
  border: 1px solid rgba(var(--clr-1), 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 34px rgba(var(--dark-color), 0.06);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.pub-process-step--left .pub-process-card {
  grid-column: 1;
  text-align: left;
}

.pub-process-step--right .pub-process-card {
  grid-column: 3;
  text-align: left;
}

.pub-process-card h3 {
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 8px;
  color: var(--bp-text);
}

.pub-process-card p {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(var(--dark-color), 0.72);
}

.pub-process-step:hover .pub-process-card {
  border-color: rgba(var(--clr-1), 0.35);
  box-shadow: 0 18px 40px rgba(var(--dark-color), 0.1);
  transform: translateY(-2px);
}

.pub-process-step:hover .pub-process-node {
  transform: scale(1.06);
}

@media (max-width: 767.98px) {
  .pub-process-cover {
    max-width: 320px;
    margin-bottom: 28px;
  }

  .pub-process-spine::before {
    left: 24px;
    margin-left: 0;
  }

  .pub-process-step {
    grid-template-columns: 48px 1fr;
    gap: 0 14px;
    margin-bottom: 16px;
  }

  .pub-process-node {
    grid-column: 1;
  }

  .pub-process-step--left .pub-process-card,
  .pub-process-step--right .pub-process-card {
    grid-column: 2;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pub-process-spine::before,
  .pub-process-step,
  .pub-process-card,
  .pub-process-node {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

.tr-process-curve {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 40%) minmax(0, 1fr);
  align-items: center;
  gap: 0 12px;
  isolation: isolate;
}

.tr-process-visual {
  position: relative;
  z-index: 1;
  align-self: center;
  width: 100%;
  max-width: 460px;
}

.tr-process-visual .mkt-image {
  border-radius: 28px;
  box-shadow: 0 18px 40px rgba(var(--dark-color), 0.1);
}

.tr-process-timeline {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 8px 0 8px 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tr-process-timeline::before {
  content: "";
  position: absolute;
  inset: 18px 8% 18px auto;
  width: 56%;
  border-radius: 999px;
  border: 2px solid rgba(var(--clr-1), 0.14);
  border-left: 0;
  pointer-events: none;
  opacity: 0;
  transform: scaleY(0.85);
  transform-origin: center right;
  transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.tr-process-section.is-inview .tr-process-timeline::before {
  opacity: 1;
  transform: scaleY(1);
}

.tr-process-step {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(100%, 520px);
  margin-left: var(--tr-shift, 0%);
  padding: 16px 20px 16px 16px;
  border: 1px solid rgba(var(--clr-1), 0.12);
  border-radius: 999px 22px 22px 999px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 28px rgba(var(--dark-color), 0.06);
  opacity: 0;
  transform: translateX(36px) translateY(12px);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    background-color 0.25s ease;
  transition-delay: var(--tr-delay, 0s);
}

.tr-process-section.is-inview .tr-process-step {
  opacity: 1;
  transform: translateX(0) translateY(0);
}

.tr-process-num {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: rgb(var(--clr-1));
  background: #fff;
  border: 2px solid rgba(var(--clr-1), 0.28);
  box-shadow: 0 0 0 5px rgba(var(--clr-1), 0.06);
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.tr-process-body {
  min-width: 0;
}

.tr-process-body h3 {
  font-size: 17px;
  line-height: 1.3;
  margin-bottom: 4px;
}

.tr-process-body p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(var(--dark-color), 0.72);
}

.tr-process-step:hover {
  border-color: rgba(var(--clr-1), 0.28);
  box-shadow: 0 14px 34px rgba(var(--dark-color), 0.1);
  background: #fff;
}

.tr-process-step:hover .tr-process-num {
  background: rgb(var(--clr-1));
  color: #fff;
  border-color: rgb(var(--clr-1));
  transform: scale(1.05);
  animation: trProcessPulse 1.4s ease-in-out infinite;
}

@keyframes trProcessPulse {
  0%,
  100% {
    box-shadow: 0 0 0 5px rgba(var(--clr-1), 0.08);
  }
  50% {
    box-shadow: 0 0 0 9px rgba(var(--clr-1), 0.16);
  }
}

@media (max-width: 1199.98px) {
  .tr-process-step {
    width: min(100%, 460px);
  }
}

@media (max-width: 991.98px) {
  .tr-process-curve {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .tr-process-visual {
    max-width: 520px;
    margin: 0 auto;
  }

  .tr-process-timeline::before {
    display: none;
  }

  .tr-process-step {
    width: 100%;
    max-width: 640px;
    margin-left: 0 !important;
    margin-inline: auto;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tr-process-timeline::before,
  .tr-process-step,
  .tr-process-num {
    transition: none !important;
    animation: none !important;
  }

  .tr-process-timeline::before,
  .tr-process-step {
    opacity: 1;
    transform: none;
  }
}

/* ── Book marketing images ── */
.mkt-image {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: var(--bp-bg-light);
}

.mkt-image picture,
.mkt-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.mkt-image img {
  transition: transform 0.7s ease;
}

.mkt-image:hover img {
  transform: scale(1.04);
}

/* Override absolute hero picture rules when using .mkt-image */
.services-wrap-1-section-2 .mkt-image,
.b-marketing-wrap-1-section-2 .mkt-image,
.b-publishing-wrap-1-section-2 .mkt-image,
.b-printing-wrap-1-section-2 .mkt-image {
  position: relative;
  z-index: 2;
  max-height: min(70vh, 620px);
  width: 100%;
}

.services-wrap-1-section-2 .mkt-image picture,
.b-marketing-wrap-1-section-2 .mkt-image picture,
.b-publishing-wrap-1-section-2 .mkt-image picture,
.b-printing-wrap-1-section-2 .mkt-image picture {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: auto;
  z-index: 1;
}

.services-wrap-1-section-2 .mkt-image img,
.b-marketing-wrap-1-section-2 .mkt-image img,
.b-publishing-wrap-1-section-2 .mkt-image img,
.b-printing-wrap-1-section-2 .mkt-image img {
  width: 100%;
  height: 100%;
  max-height: min(70vh, 620px);
  object-fit: cover;
  object-position: center bottom;
}

.mkt-image--hero {
  --mkt-hero-radius: 28px 78px 28px 64px;
  position: relative;
  isolation: isolate;
  max-width: min(100%, 460px);
  margin-left: auto;
  margin-right: auto;
  padding: 12px;
  border-radius: var(--mkt-hero-radius);
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.05) 55%, rgba(var(--clr-1), 0.18));
  box-shadow:
    0 28px 56px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
  animation: mktHeroFloat 6.5s ease-in-out infinite;
  overflow: visible;
}

.mkt-image--hero::before {
  content: "";
  position: absolute;
  inset: 22px -22px -26px 26px;
  border-radius: 64px 36px 72px 40px;
  background: rgba(var(--clr-1), 0.38);
  z-index: -1;
  transform: rotate(4deg);
}

.mkt-image--hero::after {
  content: "";
  position: absolute;
  width: 96px;
  height: 96px;
  top: -18px;
  right: -10px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.32);
  box-shadow: 0 0 0 10px rgba(var(--clr-1), 0.12);
  z-index: -1;
  pointer-events: none;
}

.services-wrap-1-section-2 .mkt-image--hero,
.b-marketing-wrap-1-section-2 .mkt-image--hero,
.b-publishing-wrap-1-section-2 .mkt-image--hero,
.b-printing-wrap-1-section-2 .mkt-image--hero {
  max-height: none;
}

.services-wrap-1-section-2 .mkt-image--hero picture,
.b-marketing-wrap-1-section-2 .mkt-image--hero picture,
.b-publishing-wrap-1-section-2 .mkt-image--hero picture,
.b-printing-wrap-1-section-2 .mkt-image--hero picture {
  display: block;
  border-radius: calc(28px - 4px) calc(78px - 8px) calc(28px - 4px) calc(64px - 6px);
  overflow: hidden;
  aspect-ratio: 4 / 5 !important;
  background: rgba(0, 0, 0, 0.12);
}

.mkt-image--hero img {
  width: 100%;
  height: 100%;
  max-height: none;
  min-height: 0;
  object-fit: cover;
  object-position: center center;
  border-radius: inherit;
  display: block;
}

@keyframes mktHeroFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mkt-image--hero {
    animation: none;
  }

  .mkt-image img,
  .mkt-image:hover img,
  .mkt-image--hero:hover img,
  .proof-genre-item--media:hover .proof-genre-media img {
    transition: none;
    transform: none;
  }
}

.mkt-image--wide img {
  min-height: 240px;
  aspect-ratio: 16 / 7;
}

.mkt-image--square img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.mkt-image:not(.mkt-image--hero):not(.mkt-image--wide):not(.mkt-image--square) img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* Legacy placeholder styles (kept for reference if uncommented in markup) */
.mkt-image-placeholder {
  width: 100%;
  min-height: 360px;
  border: 2px dashed rgba(var(--bp-primary-rgb), 0.45);
  border-radius: 16px;
  background: repeating-linear-gradient(
    -45deg,
    var(--bp-bg-light),
    var(--bp-bg-light) 12px,
    rgba(var(--bp-primary-rgb), 0.04) 12px,
    rgba(var(--bp-primary-rgb), 0.04) 24px
  );
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.mkt-image-placeholder--hero {
  min-height: 480px;
}

.mkt-image-placeholder--wide {
  min-height: 280px;
}

.mkt-image-placeholder__inner {
  max-width: 520px;
  text-align: center;
  color: var(--bp-text);
}

.mkt-image-placeholder__inner strong {
  display: block;
  font-size: 16px;
  margin-bottom: 12px;
  color: var(--bp-primary);
  letter-spacing: 0.02em;
}

.mkt-image-placeholder__inner p {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(var(--dark-color), 0.72);
}

.mkt-image-placeholder__inner code {
  font-size: 12px;
  color: var(--bp-primary-dark);
  word-break: break-all;
}

.mkt-compliance-section {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mkt-compliance-text {
  text-align: center;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  font-size: 14px;
  line-height: 1.6;
}

/* ── Comparison Table Fixes ── */
.service-wrap-3-main-item .table {
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  font-size: 15px;
  margin: 18px 0 24px;
}

.service-wrap-3-main-item .table th {
  background: var(--bp-primary);
  color: var(--bp-surface);
  font-weight: 600;
  padding: 14px 18px;
  border: none;
}

.service-wrap-3-main-item .table td {
  padding: 14px 18px;
  border-color: var(--bp-border-light);
  vertical-align: middle;
  line-height: 1.5;
}

/* .service-wrap-3-main-item .table td:first-child {
  font-weight: 600;
  color: var(--bp-text);
  width: 22%;
} */

.service-wrap-3-main-item .table tr:nth-child(even) td {
  background: var(--bp-bg-light);
}

.service-wrap-3-main-item .table tr:hover td {
  background: rgba(var(--bp-primary-rgb), 0.06);
}

.index-wrap-4-section-2-item {
  padding : 40px 0 40px 0;
}

.index-wrap-4-section-2-item .table {
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  font-size: 15px;
  margin: 18px 0 24px;
}

.index-wrap-4-section-2-item .table th {
  background: var(--bp-primary);
  color: var(--bp-surface);
  font-weight: 600;
  padding: 14px 18px;
  border: none;
}

.index-wrap-4-section-2-item .table td {
  padding: 14px 18px;
  border-color: var(--bp-border-light);
  vertical-align: middle;
  line-height: 1.5;
}

.index-wrap-4-section-2-item .table td:first-child {
  font-weight: 600;
  color: var(--bp-text);
  width: 22%;
}

.index-wrap-4-section-2-item .table tr:nth-child(even) td {
  background: var(--bp-bg-light);
}

.index-wrap-4-section-2-item .table tr:hover td {
  background: rgba(var(--bp-primary-rgb), 0.06);
}


/* —— Top bar —— */
.topbar {
  background: var(--bp-navy);
  color: rgba(255, 255, 255, 0.88);
  font-size: 13px;
  padding: 0.6rem 0;
  position: relative;
  z-index: 1001;
}

.topbar__inner {
  /* max-width: 1300px; */
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.topbar a {
  color: inherit !important;
  text-decoration: none !important;
}

.topbar__group {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.topbar__item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  opacity: 0.95;
}

.topbar__item i {
  font-size: 12px;
  opacity: 0.85;
}

.topbar__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
  margin-left: auto;
}

.topbar__social {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.topbar__social-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  flex-shrink: 0;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.topbar__social-btn i {
  font-size: 14px;
  line-height: 1;
  opacity: 1;
}

.topbar__social-btn:hover,
.topbar__social-btn:focus-visible {
  color: #fff !important;
  text-decoration: none;
  transform: scale(1.08);
  filter: brightness(1.08);
}

.topbar__social-btn--whatsapp {
  background: #25d366;
}

.topbar__social-btn--messenger {
  background: #0084ff;
}

.topbar__social-btn--instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.topbar__chat {
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: var(--bp-surface);
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}

.topbar__chat:hover {
  background: rgba(var(--bp-primary-rgb), 0.25);
  border-color: rgba(var(--bp-primary-rgb), 0.55);
  text-decoration: none;
}

.topbar__chat:active {
  transform: scale(0.98);
}

@media screen and (max-width: 991.98px) {
  .topbar__inner {
    padding: 0 1rem;
    gap: 0.55rem;
  }

  .topbar__group {
    gap: 0.85rem;
  }

  .topbar__social-btn {
    width: 26px;
    height: 26px;
  }

  .topbar__social-btn i {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .topbar {
    font-size: 12px;
    padding: 0.5rem 0;
  }

  .topbar__group {
    gap: 0.65rem;
    min-width: 0;
    flex: 1 1 auto;
  }

  .topbar__item-text {
    max-width: 18ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .topbar__actions {
    gap: 0.4rem;
  }
}

@media screen and (max-width: 576px) {
  .topbar__inner {
    padding: 0 0.75rem;
    flex-wrap: nowrap;
    gap: 0.4rem;
  }

  .topbar__group {
    gap: 0.45rem;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .topbar__group::-webkit-scrollbar {
    display: none;
  }

  .topbar__item {
    flex-shrink: 0;
  }

  .topbar__item-text {
    display: none;
  }

  .topbar__item i {
    font-size: 13px;
    opacity: 1;
  }

  .topbar__social {
    gap: 0.3rem;
  }

  .topbar__social-btn {
    width: 28px;
    height: 28px;
  }

  .topbar__social-btn i {
    font-size: 14px;
  }
}

@media screen and (max-width: 400px) {
  .topbar__inner {
    padding: 0 0.55rem;
  }

  .topbar__social-btn {
    width: 26px;
    height: 26px;
  }

  .topbar__social-btn i {
    font-size: 13px;
  }
}

/* —— Site maintenance / revamp notice —— */
.site-notice {
  position: relative;
  z-index: 1001;
  overflow: hidden;
  color: #06201c;
  background: linear-gradient(90deg, #ffe08a 0%, #ffd24d 45%, #f5c518 100%);
  border-bottom: 2px solid #c99700;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.site-notice[hidden] {
  display: none !important;
}

.site-notice__pulse {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 0%,
    rgba(255, 255, 255, 0.35) 45%,
    transparent 70%
  );
  transform: translateX(-120%);
  animation: siteNoticeShine 3.2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes siteNoticeShine {
  0%,
  35% {
    transform: translateX(-120%);
  }
  65%,
  100% {
    transform: translateX(120%);
  }
}

.site-notice__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0.72rem 1.5rem;
  text-align: center;
}

.site-notice__badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  background: #1a1a1a;
  color: #ffd24d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: 0 0 0 0 rgba(26, 26, 26, 0.35);
  animation: siteNoticeBadgePulse 2s ease-in-out infinite;
}

.site-notice__badge i {
  color: #ffd24d;
  font-size: 11px;
}

@keyframes siteNoticeBadgePulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(26, 26, 26, 0.28);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(26, 26, 26, 0);
    transform: scale(1.03);
  }
}

.site-notice__text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 6px 10px;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  color: #1a1a1a;
}

.site-notice__text strong {
  font-weight: 800;
  letter-spacing: -0.01em;
}

.site-notice__sub {
  font-weight: 600;
  opacity: 0.82;
}

.site-notice__close {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  background: rgba(26, 26, 26, 0.12);
  color: #1a1a1a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.site-notice__close:hover {
  background: rgba(26, 26, 26, 0.2);
  transform: scale(1.05);
}

.site-notice__close:focus-visible {
  outline: 2px solid #1a1a1a;
  outline-offset: 2px;
}

@media (max-width: 767.98px) {
  .site-notice__inner {
    padding: 0.65rem 0.85rem;
    gap: 10px;
    flex-wrap: wrap;
  }

  .site-notice__text {
    font-size: 13.5px;
    width: calc(100% - 42px);
  }

  .site-notice__sub {
    display: block;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-notice__pulse,
  .site-notice__badge {
    animation: none !important;
  }
}

/* —— Navbar —— */

.nav-wrap {
  position: sticky;
  top: 0;
  z-index: 2;
  transition:
    background 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.nav-wrap.is-scrolled {
  box-shadow: 0 4px 24px rgba(10, 22, 40, 0.08);
}

.site-breadcrumb {
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
}

.site-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--bp-muted);
  font-size: 0.8125rem;
}

.site-breadcrumb li + li::before {
  content: "/";
  margin-right: 0.5rem;
  color: var(--bp-muted);
}

.site-breadcrumb a {
  color: inherit;
}

.nav {
  margin: 0 auto;
  padding: 0.85rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}

.nav__brand {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.nav__brand:hover {
  text-decoration: none;
}

.nav__brand img {
  height: 52px;
  width: auto;
  display: block;
  transition: transform 0.3s ease;
}

.nav__brand:hover img {
  transform: scale(1.03);
}

.nav__links {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  list-style: none;
  margin: 0;
  padding: 0.28rem;
  /* border-radius: 999px; */
  /* background: rgba(255, 255, 255, 0.08); */
  /* border: 1px solid rgba(255, 255, 255, 0.1); */
  /* backdrop-filter: blur(10px); */
  /* -webkit-backdrop-filter: blur(10px); */
}

.nav__item {
  position: relative;
}

.nav__link,
.nav__links > li > a.megamenu-main-ul-a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.55rem 0.9rem;
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 600;
  font-size: 14.5px;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  border-radius: 999px;
  transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.nav__link:hover,
.nav__links > li > a.megamenu-main-ul-a:hover,
.nav__item.is-active > .nav__link,
.nav__item.is-active > a.megamenu-main-ul-a {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  text-decoration: none !important;
}

.nav__item--cta {
  margin-left: 0.35rem;
}

.nav__cta {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 0.7rem 1.15rem !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--bp-primary-dark) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
  text-decoration: none !important;
}

.nav__cta::after {
  display: none !important;
}

.nav__cta i {
  font-size: 12px;
  transition: transform 0.25s ease;
}

.nav__cta:hover {
  background: #f3fffc !important;
  color: var(--bp-primary-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2);
  text-decoration: none !important;
}

.nav__cta:hover i {
  transform: translateX(3px);
}

.nav__toggle {
  display: none;
  position: relative;
  z-index: 5;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.08));
  width: 48px;
  height: 48px;
  border-radius: 14px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}

.nav__toggle:hover {
  background: rgba(255, 255, 255, 0.28);
  border-color: rgba(255, 255, 255, 0.55);
}

.nav__toggle:active {
  transform: scale(0.96);
}

.nav__toggle:focus-visible {
  outline: 2px solid #9adfd4;
  outline-offset: 3px;
}

.nav__toggle-box {
  position: relative;
  width: 18px;
  height: 14px;
  display: block;
}

.nav__toggle-line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 0.3s ease, opacity 0.3s ease, top 0.3s ease, width 0.3s ease;
}

.nav__toggle-line:nth-child(1) { top: 0; width: 100%; }
.nav__toggle-line:nth-child(2) { top: 6px; width: 70%; }
.nav__toggle-line:nth-child(3) { top: 12px; width: 100%; }

.nav__toggle.is-open {
  background: #ffffff;
  color: var(--bp-primary-dark);
  border-color: #ffffff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.nav__toggle.is-open .nav__toggle-line:nth-child(1) {
  top: 6px;
  width: 100%;
  transform: rotate(45deg);
}

.nav__toggle.is-open .nav__toggle-line:nth-child(2) {
  opacity: 0;
  width: 0;
}

.nav__toggle.is-open .nav__toggle-line:nth-child(3) {
  top: 6px;
  width: 100%;
  transform: rotate(-45deg);
}

.nav__drawer-head,
.nav__drawer-note,
.nav__drawer-label {
  display: none;
}

.nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1;
  background: rgba(5, 28, 26, 0.58);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.nav-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.nav-open {
  overflow: hidden;
}

body.nav-open .modal,
body.nav-open .modal-backdrop {
  visibility: hidden !important;
  pointer-events: none !important;
}

.hero-wrap-1 {
  padding-top: var(--site-header-height);
}

.wow {
  visibility: hidden;
}

.min-vh-100 {
    min-height: 100vh !important
}

/* Hero Banner Form Style Start */
/* Hero form card */
/* ---- Form wrapper: lift it visually ---- */
.lp-hero__form-wrap {
  position: relative;
  z-index: 11;
  /* subtle float animation so the card feels alive */
  animation: lpFadeUp 0.85s ease 0.2s forwards, lpFormHover 6s ease-in-out 2s infinite;
  /* opacity: 0; */
}

@keyframes lpFormHover {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* Ensure the white form card pops against the dark photo */
.lp-hero__form-wrap .lp-form-card {
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(var(--bp-primary-rgb), 0.2);
}
/* ============================================
   CREATIVE FORM CARD — Coupon + Enhanced UI
   ============================================ */

.lp-form-card {
  background: var(--bp-surface);
  color: var(--bp-text);
  border-radius: 24px;
  padding: clamp(1.35rem, 3vw, 2rem);
  box-shadow:
    0 18px 50px rgba(10, 22, 40, 0.12),
    0 0 0 1px rgba(var(--bp-primary-rgb), 0.15);
  /* allow the coupon to overflow the top edge */
  overflow: visible;
  position: relative;
}

/* Decorative top gold line */
/* .lp-form-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--bp-accent-2), var(--bp-accent), var(--bp-accent-2));
  z-index: 2;
} */

/* ---- Coupon Banner ---- */
.lp-form-card__coupon {
  position: relative;
  z-index: 10;
  margin: -65px 0 1.25rem;
  display: flex;
  justify-content: center;
  pointer-events: none; /* clicks pass through to form */
}

.lp-form-card__coupon-badge {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.05rem;
  background: linear-gradient(180deg, var(--bp-primary-mid) 0%, var(--bp-primary) 50%, var(--bp-primary-hover) 100%);
  color: var(--bp-surface);
  padding: 0.85rem 2.8rem 0.75rem;
  border-radius: 16px;
  box-shadow:
    0 10px 30px rgba(var(--bp-primary-rgb), 0.4),
    0 2px 8px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  pointer-events: auto;
  min-width: 240px;
  text-align: center;
}

.lp-form-card__coupon-ribbon {
  position: relative;
  display: inline-block;
  background: linear-gradient(180deg, var(--bp-accent) 0%, var(--bp-accent-2) 100%);
  color: var(--bp-surface);
  padding: 0.6rem 2.2rem;
  border-radius: 10px;
  box-shadow:
    0 4px 14px rgba(248, 186, 33, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  z-index: 2;
  animation: lpCouponPulse 2.5s ease-in-out infinite;
}

/* Ribbon tails (CSS triangles) */
/* .lp-form-card__coupon-ribbon::before,
.lp-form-card__coupon-ribbon::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  transform: translateY(-50%);
} */

.lp-form-card__coupon-ribbon::before {
  left: -12px;
  border-width: 14px 12px 14px 0;
  border-color: transparent var(--bp-accent-2) transparent transparent;
}

.lp-form-card__coupon-ribbon::after {
  right: -12px;
  border-width: 14px 0 14px 12px;
  border-color: transparent transparent transparent var(--bp-accent);
}

/* Ticket notches */
.lp-form-card__coupon-notch {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: var(--bp-surface); /* blends with the form card */
  border-radius: 50%;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.lp-form-card__coupon-notch--left { left: -10px; }
.lp-form-card__coupon-notch--right { right: -10px; }

/* Scissors icon */
.lp-form-card__coupon-scissors {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 18px;
  color: var(--bp-accent-2);
  opacity: 0.7;
  animation: lpSnip 3s ease-in-out infinite;
  z-index: 3;
}

.lp-form-card__coupon-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
}

.lp-form-card__coupon-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bp-primary-light);
  line-height: 1;
  margin-bottom: 0.25rem;
}

.lp-form-card__coupon-label em {
  color: var(--bp-surface);
}

/* "50% OFF" */
.lp-form-card__coupon-value {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--bp-surface);
  margin: 0.15rem 0;
}

.lp-form-card__coupon-value em{
  color: var(--bp-surface);
}

.lp-form-card__coupon-pill {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--bp-primary-light);
  background: rgba(255, 255, 255, 0.25);
  border: 1px dashed rgba(255, 255, 255, 0.4);

  border-radius: 999px;
  border: 1px dashed rgba(122, 90, 14, 0.4);
  margin-top: 0.35rem;
}

.lp-form-card__coupon-pill strong {
  font-weight: 800;
  color: var(--bp-surface);
  font-size: 11px;
}

/* Slight top padding so form fields don't feel cramped under the badge */
.lp-form-card form {
  padding-top: 0.5rem;
}

/* Mobile */
@media (max-width: 480px) {
  .lp-form-card {
    padding: 1.1rem;
    border-radius: 18px;
  }
  /* Coupon badge — slimmer but still punchy */
  .lp-form-card__coupon {
    margin: -48px 0 0.9rem;
  }
  .lp-form-card__coupon-badge {
    min-width: 170px;
    padding: 0.6rem 1.4rem 0.5rem;
    border-radius: 14px;
  }
  .lp-form-card__coupon-value {
    font-size: 24px;
  }
  .lp-form-card__coupon-label {
    font-size: 8px;
    letter-spacing: 0.18em;
  }
  .lp-form-card__title {
    font-size: 12px;
    letter-spacing: 0.08em;
    margin-bottom: 0.9rem;
  }
  /* .lp-form-card__coupon-value span {
    font-size: 15px;
  } */

  .lp-form-card .lp-field {
    margin-bottom: 0.8rem;
  }
  .lp-form-card label {
    font-size: 11px;
    margin-bottom: 0.25rem;
  }
  .form-control::placeholder,
  input::placeholder {
    font-size: 12px !important;
  }

  .lp-form-card input,
  .lp-form-card textarea {
    padding: 0.7rem 0.9rem !important;
    font-size: 12px !important;        /* critical: prevents iOS zoom on focus */
    border-radius: 10px !important;
  }
  .lp-form-card textarea {
    min-height: 80px;
  }
  .lp-form-card__submit {
    padding: 0.9rem 1rem;
    font-size: 14px;
    border-radius: 12px;
  }
  .lp-form-card__disclaimer {
    font-size: 10px;
    margin-bottom: 0.85rem;
    line-height: 1.45;
  }
}

.lp-form-card__coupon-value small {
  font-size: 14px;
  font-weight: 700;
  vertical-align: middle;
  margin-left: 2px;
}

.lp-form-card__coupon-code {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 0.3rem;
  padding: 0.2rem 0.7rem;
  color: var(--bp-primary-light);
  background: rgba(255, 255, 255, 0.25);
  border: 1px dashed rgba(255, 255, 255, 0.35);
  border-radius: 999px;
}

.lp-form-card__coupon-code strong {
  font-weight: 800;
  font-size: 12px;
  color: var(--bp-surface);
}

/* Ambient glow behind coupon */
.lp-form-card__coupon-glow {
  position: absolute;
  top: -40%;
  left: 50%;
  transform: translateX(-50%);
  width: 140%;
  height: 140%;
  background: radial-gradient(circle, rgba(var(--bp-primary-rgb), 0.18) 0%, transparent 70%);
  pointer-events: none;
.index-wrap-4-main-item-clr-1 {
  color: var(--bp-dark-3);
}
.index-wrap-4-main-item-clr-2 {
  color: #a12d2f;
}
.index-wrap-4-main-item-clr-3 {
  color: #723a6c;
}
.index-wrap-4-main-item-clr-4 {
  color: #724d3a;
}
.index-wrap-4-main-item-clr-5 {
  color: #1e88ff;
}
.index-wrap-4-main-item-img {
  width: 550px;
  height: 500px;
  display: inline-block;
  overflow: hidden;
}
.index-wrap-4-main-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.index-wrap-4-main-item-content {
  height: 100%;
  overflow-y: auto;
}
  z-index: 1;
}

.lp-hero__form-wrap .lp-form-card__title {
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bp-primary) !important;
  /* margin: 0 0 1.25rem; */
  padding: 0 clamp(1.35rem, 3vw, 2rem);
}

/* ---- Enhanced Inputs ---- */
.lp-form-card .lp-field {
  margin-bottom: 1rem;
  position: relative;
}

.lp-form-card label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--bp-dark-text);
  margin-bottom: 0.35rem;
  transition: color 0.2s;
}

.lp-form-card input,
.lp-form-card textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1.5px solid var(--bp-border);
  border-radius: 12px;
  font-family: inherit;
  font-size: 15px;
  background: #fdfcfb;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.lp-form-card input:hover,
.lp-form-card textarea:hover {
  border-color: rgba(var(--bp-primary-rgb), 0.5);
  background: #fff;
}

.lp-form-card input:focus,
.lp-form-card textarea:focus {
  border-color: var(--bp-accent);                  /* already correct */
  box-shadow: 0 0 0 4px var(--bp-accent-muted);
  background: #fff;
  outline: none;
}

.lp-form-card textarea {
  min-height: 90px;
  resize: vertical;
}

/* ---- Disclaimer ---- */
.lp-hero__form-wrap .lp-form-card__disclaimer {
  font-size: 11px;
  color: var(--bp-text) !important;
  line-height: 1.5;
  margin: 0 0 1rem;
}

.lp-hero__form-wrap .lp-form-card__disclaimer a {
  color: var(--bp-primary) !important;
}

/* ---- Enhanced Submit Button ---- */
.lp-form-card__submit {
  width: 100%;
  padding: 0.95rem 1.25rem;
  border-radius: 14px;
  border: none;
  background: linear-gradient(180deg, var(--bp-accent) 0%, var(--bp-accent-2) 100%);
  color: var(--bp-on-accent);
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition: filter 0.2s, transform 0.15s, box-shadow 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-shadow: 0 6px 20px rgba(var(--bp-primary-rgb), 0.3);
  position: relative;
  overflow: hidden;
}

.lp-form-card__submit::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transition: left 0.5s;
}

.lp-form-card__submit:hover {
  filter: brightness(1.05);
  box-shadow: 0 10px 28px rgba(var(--bp-primary-rgb), 0.4);
  transform: translateY(-1px);
}

.lp-form-card__submit:hover::after {
  left: 100%;
}

.lp-form-card__submit:active {
  transform: translateY(0);
}

.lp-form-card__submit svg {
  flex-shrink: 0;
  transition: transform 0.2s;
}

.lp-form-card__submit:hover svg {
  transform: translateX(3px);
}

/* ---- Animations ---- */
@keyframes lpCouponPulse {
  0%, 100% { box-shadow: 0 4px 14px rgba(var(--bp-primary-rgb), 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.35); }
  50% { box-shadow: 0 6px 24px rgba(var(--bp-primary-rgb), 0.5), inset 0 1px 0 rgba(255,255,255,0.35); }
}

@keyframes lpSnip {
  0%, 90%, 100% { transform: translateX(-50%) rotate(0deg); }
  92% { transform: translateX(-50%) rotate(-15deg); }
  94% { transform: translateX(-50%) rotate(10deg); }
  96% { transform: translateX(-50%) rotate(-8deg); }
}


@media (max-width: 991px) {
  .lp-hero__form-wrap {
    max-width: 480px;
    margin: 0 auto;
    animation: lpFadeUp 0.85s ease 0.2s forwards;
  }
  
  .lp-hero__form-wrap .lp-form-card {
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
  }
}

@media (max-width: 767px) {
  .index-wrap-1 > .container > .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }
  /* Prevent flex-centering from jamming the form against the headline */
  .services-wrap-1 .row.align-items-center,
  .contact-wrap-1 .row.align-items-center,
  .our-work-wrap-1 .row.align-items-center,
  .index-wrap-1 .row.align-items-center,
  .about-wrap-1 .row.align-items-center {
    align-items: flex-start !important;
  }
  .services-wrap-1 h1,
  .contact-wrap-1 h1,
  .our-work-wrap-1 h1,
  .index-wrap-1 h1,
  .about-wrap-1 h1 {
    font-size: 34px;
    line-height: 1.15;
    padding: 15px 0;
  }
  .services-wrap-1 p,
  .contact-wrap-1 p,
  .our-work-wrap-1 p,
  .index-wrap-1 p,
  .about-wrap-1 p {
    width: 100%;
  }
  .lp-hero__form-wrap {
    animation: lpFadeUp 0.85s ease 0.2s forwards; /* drop lpFormHover */
    max-width: 100%;
  }
  .lp-form-card {
    padding: 1.25rem;
    border-radius: 22px;
  }
  .lp-form-card__title {
    margin-bottom: 1rem;
  }
  .lp-form-card__coupon {
    margin: -55px 0 1rem;
  }
  
  .lp-form-card__coupon-badge {
    min-width: 200px;
    padding: 0.75rem 2rem 0.65rem;
  }
  
  .lp-form-card__coupon-value {
    font-size: 28px;
  }
  
  .lp-form-card__coupon-pill {
    font-size: 9px;
    padding: 0.3rem 0.8rem;
  }
}

/* Mobile tweaks */
@media (max-width: 480px) {
  .lp-form-card__coupon-ribbon {
    padding: 0.5rem 1.6rem;
  }
  .lp-form-card__coupon {
    padding: 1rem 1rem 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  
  .lp-hero__form-wrap {
    animation: none;
  }
  
  .marquee-cta span,
  .marquee-cta-2 span {
    animation: none;
  }
}

/* ============================================
   7.  LANDSCAPE MOBILE FIXES
   ============================================ */
@media (max-height: 500px) and (orientation: landscape) {
  
  .lp-hero__form-wrap {
    max-width: 360px;
  }
}
/* Hero Banner Form Style End */

.swiper,
.slick-slide {
  cursor: grab;
}

/* ============================================
   STACKING CARDS — scroll stack panels
   ============================================ */

.stacking-sections {
  position: relative;
  padding: 40px 0 80px;
}

.stack-card {
  position: sticky;
  top: calc(var(--site-header-height, 131px) + 12px);
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - var(--site-header-height, 131px) - 24px);
  padding: 18px 0;
  overflow: visible; /* required for sticky — do not inherit section overflow:hidden */
  will-change: transform;
}

.stack-panel {
  position: relative;
  width: 100%;
  margin: 0 auto;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 249, 247, 0.96) 55%, rgba(255, 255, 255, 0.99) 100%);
  border: 1px solid rgba(var(--clr-1), 0.12);
  border-radius: 36px;
  padding: 42px 48px 48px;
  box-shadow:
    0 18px 50px rgba(var(--dark-color), 0.08),
    0 2px 0 rgba(255, 255, 255, 0.7) inset;
  overflow: hidden;
  transform: translateY(28px) scale(1);
  opacity: 1;
  transition:
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.55s ease,
    box-shadow 0.55s ease,
    border-color 0.4s ease;
}

.stack-panel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(
    180deg,
    rgba(var(--clr-1), 0.15) 0%,
    rgba(var(--clr-1), 0.95) 45%,
    rgba(var(--clr-1), 0.25) 100%
  );
}

.stack-panel::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--clr-1), 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.stack-card.is-active .stack-panel,
.stack-card.is-passed .stack-panel {
  /* opacity: 1; */
  transform: translateY(0) scale(0.97);
  box-shadow:
    0 28px 70px rgba(var(--dark-color), 0.12),
    0 2px 0 rgba(255, 255, 255, 0.8) inset;
  border-color: rgba(var(--clr-1), 0.22);
}

.stack-card.is-passed .stack-panel {
  opacity: 0;
}

.stack-card.is-overlapping .stack-panel {
  opacity: 0.3;
}

.stack-panel__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}

.stack-panel__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 48px;
  padding: 0 12px;
  border-radius: 14px;
  background: rgba(var(--clr-1), 0.1);
  color: rgb(var(--clr-1));
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.04em;
  transform: scale(0.9);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s ease;
}

.stack-card.is-active .stack-panel__num {
  transform: scale(1);
  background: rgba(var(--clr-1), 0.16);
}

.stack-panel__label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(var(--dark-color), 0.45);
}

.stack-panel__title {
  position: relative;
  z-index: 1;
  max-width: 22ch;
  margin-bottom: 28px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.25;
}

.stack-panel__body {
  position: relative;
  z-index: 1;
}

.stack-panel__body .p-head {
  font-size: 16px;
  line-height: 1.7;
}

.stack-panel__body a:not(.btn) {
  color: rgb(var(--clr-1));
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Legacy class kept for compatibility */
.stack-wrap-3-section-2 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: var(--bp-surface);
  border: 1px solid var(--line);
  border-radius: 60px;
  padding: 60px;
  box-shadow: var(--shadow-lg);
}

@media (prefers-reduced-motion: reduce) {
  .stack-panel,
  .stack-panel__num {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ============================================
   HOMEPAGE — Process zigzag (all steps visible)
   ============================================ */

.hp-zigzag {
  position: relative;
  padding: 90px 0 100px;
  overflow: hidden;
  background: #fff;
}

.hp-zigzag__header {
  margin-bottom: 48px;
}

.hp-zigzag__eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgb(var(--clr-1));
}

.hp-zigzag__title {
  margin-bottom: 14px;
  font-size: clamp(2rem, 3.5vw, 2.85rem);
  line-height: 1.15;
}

.hp-zigzag__lead {
  max-width: 42ch;
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(var(--dark-color), 0.7);
}

.hp-zigzag__board {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: 12px 20px 24px;
}

.hp-zigzag__spine {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 120px;
  height: 100%;
  transform: translateX(-50%);
  z-index: 0;
  overflow: visible;
  pointer-events: none;
}

.hp-zigzag__spine-track {
  fill: none;
  stroke: rgba(var(--clr-1), 0.14);
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hp-zigzag__spine-draw {
  fill: none;
  stroke: rgb(var(--clr-1));
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke-dashoffset 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.hp-zigzag__list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 4.5vw, 52px);
}

.hp-zigzag__step {
  --zig-amp: 34px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 56px 1fr;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.55s ease,
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--z) * 0.08s);
}

.hp-zigzag.is-inview .hp-zigzag__step.is-shown {
  opacity: 1;
  transform: none;
}

.hp-zigzag__dot {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid rgb(var(--clr-1));
  color: rgb(var(--clr-1));
  box-shadow:
    0 0 0 8px rgba(var(--clr-1), 0.08),
    0 12px 28px rgba(var(--dark-color), 0.1);
  transform: scale(0.7);
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.35s ease,
    color 0.35s ease;
}

/* Sit on zigzag corners: odd = right peak, even = left peak */
.hp-zigzag__step:nth-child(odd) .hp-zigzag__dot {
  transform: translateX(var(--zig-amp)) scale(0.7);
}

.hp-zigzag__step:nth-child(even) .hp-zigzag__dot {
  transform: translateX(calc(var(--zig-amp) * -1)) scale(0.7);
}

.hp-zigzag__step.is-shown:nth-child(odd) .hp-zigzag__dot {
  transform: translateX(var(--zig-amp)) scale(1);
}

.hp-zigzag__step.is-shown:nth-child(even) .hp-zigzag__dot {
  transform: translateX(calc(var(--zig-amp) * -1)) scale(1);
}

.hp-zigzag__dot b {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.hp-zigzag__step.is-active .hp-zigzag__dot {
  background: rgb(var(--clr-1));
  color: #fff;
  animation: hpZigPulse 1.8s ease-out infinite;
}

@keyframes hpZigPulse {
  0% { box-shadow: 0 0 0 8px rgba(var(--clr-1), 0.08), 0 12px 28px rgba(var(--dark-color), 0.1); }
  70% { box-shadow: 0 0 0 16px rgba(var(--clr-1), 0), 0 12px 28px rgba(var(--dark-color), 0.08); }
  100% { box-shadow: 0 0 0 8px rgba(var(--clr-1), 0.08), 0 12px 28px rgba(var(--dark-color), 0.1); }
}

.hp-zigzag__panel {
  position: relative;
  padding: 26px 28px;
  border-radius: 24px;
  background: linear-gradient(160deg, #fff 0%, rgba(244, 249, 247, 0.95) 100%);
  border: 1px solid rgba(var(--clr-1), 0.14);
  box-shadow: 0 16px 40px rgba(var(--dark-color), 0.06);
}

.hp-zigzag__panel::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 2px;
  background: rgba(var(--clr-1), 0.3);
  transform: translateY(-50%);
}

.hp-zigzag__panel h3 {
  margin-bottom: 8px;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  line-height: 1.3;
  color: rgba(var(--dark-color), 0.95);
}

.hp-zigzag__panel p {
  font-size: 15.5px;
  line-height: 1.7;
  color: rgba(var(--dark-color), 0.72);
}

.hp-zigzag__step:nth-child(odd) .hp-zigzag__panel {
  grid-column: 1;
  grid-row: 1;
  /* text-align: right; */
  margin-right: 6px;
  border-right: 3px solid rgba(var(--clr-1), 0.45);
}

.hp-zigzag__step:nth-child(odd) .hp-zigzag__panel::after {
  right: -52px;
  width: calc(18px + var(--zig-amp));
}

.hp-zigzag__step:nth-child(even) .hp-zigzag__panel {
  grid-column: 3;
  grid-row: 1;
  text-align: left;
  margin-left: 6px;
  border-left: 3px solid rgba(var(--clr-1), 0.45);
}

.hp-zigzag__step:nth-child(even) .hp-zigzag__panel::after {
  left: -52px;
  width: calc(18px + var(--zig-amp));
}

@media (prefers-reduced-motion: reduce) {
  .hp-zigzag__dot {
    animation: none !important;
  }
  .hp-zigzag__step,
  .hp-zigzag__spine-draw {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    stroke-dashoffset: 0 !important;
  }
  .hp-zigzag__step:nth-child(odd) .hp-zigzag__dot,
  .hp-zigzag__step.is-shown:nth-child(odd) .hp-zigzag__dot {
    transform: translateX(var(--zig-amp)) scale(1) !important;
  }
  .hp-zigzag__step:nth-child(even) .hp-zigzag__dot,
  .hp-zigzag__step.is-shown:nth-child(even) .hp-zigzag__dot {
    transform: translateX(calc(var(--zig-amp) * -1)) scale(1) !important;
  }
}

/* ============================================
   TESTIMONIALS — Creative Card Grid
   ============================================ */

.index-wrap-6-review {
  position: relative;
}

.index-wrap-6-review .index-wrap-6 {
  padding: 100px 0 140px;
}

.testimonial-grid {
  /* Bootstrap g-4 already handles gap */
}

/* ---- Card shell ---- */
.testimonial-card {
  position: relative;
  background: var(--bp-surface);
  border-radius: 28px;
  border: 1px solid var(--bp-border-light);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform 0.4s var(--trans-timing),
              box-shadow 0.4s var(--trans-timing),
              border-color 0.35s ease;
  display: flex;
  flex-direction: column;
}

.testimonial-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-md);
  border-color: rgba(var(--bp-primary-rgb), 0.28);
}

/* Teal accent bar at top */
.testimonial-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--bp-primary), var(--bp-primary-mid));
  z-index: 2;
}

/* ---- Book cover area ---- */
.testimonial-card__book {
  position: relative;
  height: 210px;
  background: linear-gradient(160deg, var(--bp-primary-light) 0%, #d4ebe8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

/* subtle pattern / depth */
.testimonial-card__book::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 30%, rgba(var(--bp-primary-rgb), 0.12) 0%, transparent 60%);
  pointer-events: none;
}

.testimonial-card__book-img {
  position: relative;
  z-index: 1;
  height: 170px;
  width: auto;
  max-width: 120px;
  object-fit: cover;
  border-radius: 6px 10px 10px 6px;
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.22),
    0 0 0 1px rgba(0, 0, 0, 0.06);
  transition: transform 0.45s var(--trans-timing);
  /* slight 3D book tilt */
  transform: perspective(600px) rotateY(-6deg) rotateX(2deg);
}

.testimonial-card:hover .testimonial-card__book-img {
  transform: perspective(600px) rotateY(0deg) rotateX(0deg) scale(1.05);
}

/* ---- Body ---- */
.testimonial-card__body {
  padding: 1.6rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Stars */
.testimonial-card__stars {
  color: #f5a623;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 0.85rem;
  line-height: 1;
}

.testimonial-card__stars .far {
  color: #d0d0d0;
}

/* Quote */
.testimonial-card__quote {
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--bp-dark-3);
  margin: 0 0 1.4rem;
  padding: 0;
  border: none;
  font-style: normal;
  position: relative;
  flex-grow: 1;
}

/* Decorative open quote */
.testimonial-card__quote::before {
  content: "“";
  position: absolute;
  top: -0.55em;
  left: -0.15em;
  font-size: 3.2rem;
  font-family: Georgia, serif;
  color: rgba(var(--bp-primary-rgb), 0.18);
  line-height: 1;
  pointer-events: none;
}

/* Author row */
.testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--bp-border-light);
}

.testimonial-card__avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid var(--bp-primary-light);
  box-shadow: 0 2px 8px rgba(var(--bp-primary-rgb), 0.15);
}

.testimonial-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.testimonial-card__name {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: 15px;
  color: var(--bp-text);
  line-height: 1.3;
}

.testimonial-card__source {
  display: block;
  font-size: 12.5px;
  color: rgba(var(--dark-color), 0.55);
  margin-top: 2px;
  font-weight: 500;
}

/* Footer note */
.testimonial-footer-note {
  font-size: 14px;
  opacity: 0.8;
  color: var(--bp-dark-3);
}

.testimonial-footer-note a {
  color: var(--bp-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.testimonial-footer-note a:hover {
  color: var(--bp-primary-hover);
}

/* ---- Thank-you page (hero + confirmation card) ---- */
.thank-you-page .thank-wrap-1 {
  padding-bottom: clamp(5.5rem, 10vh, 7.5rem);
}

.thank-you-page .thank-you-hero-row {
  min-height: 0;
}

.thank-you-page .thank-wrap-1 .index-wrap-1-span {
  margin-left: auto;
  margin-right: auto;
}

.thank-you-page .thank-wrap-1 h1 {
  font-size: clamp(2.4rem, 5vw, 3.75rem);
  margin: 0.35rem 0 0;
  text-align: center;
}

.site-thx {
  box-sizing: border-box;
  padding: 0 1.25rem clamp(3.5rem, 7vh, 5rem);
  margin-top: -4.5rem;
  position: relative;
  z-index: 2;
  /* background: linear-gradient(180deg, transparent 0 3rem, var(--bp-bg) 3rem, var(--bp-surface) 100%); */
}

.site-thx__inner {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
}

.site-thx__card {
  width: 100%;
  margin: 0 auto;
  background: var(--bp-surface);
  border-radius: 24px;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  text-align: center;
  box-shadow:
    0 18px 50px rgba(10, 22, 40, 0.12),
    0 0 0 1px rgba(var(--bp-primary-rgb), 0.12);
}

.site-thx__icon {
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto 1.15rem;
  border-radius: 50%;
  background: linear-gradient(160deg, var(--bp-primary-mid) 0%, var(--bp-primary) 55%, var(--bp-primary-hover) 100%);
  color: var(--bp-surface);
  font-size: 1.35rem;
  box-shadow: 0 10px 24px rgba(var(--bp-primary-rgb), 0.35);
}

.site-thx__card h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.45rem, 2.8vw, 1.85rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--bp-navy);
}

.site-thx__card p {
  margin: 0 0 1.65rem;
  font-size: 1.02rem;
  line-height: 1.65;
  color: rgba(var(--dark-color), 0.72);
}

.site-thx__card p a {
  color: var(--bp-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-thx__card p a:hover {
  color: var(--bp-primary-hover);
}

.site-thx__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
}

.site-thx__link {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--bp-primary);
  text-decoration: none;
}

.site-thx__link:hover {
  color: var(--bp-primary-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 575.98px) {
  .thank-you-page .thank-wrap-1 {
    padding-bottom: 4.5rem;
  }

  .site-thx {
    margin-top: -3.25rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 2.5rem;
  }

  .site-thx__card {
    border-radius: 18px;
    padding: 1.5rem 1.15rem;
  }
}
/* Service hero: laptop / tablet — shape + art behind copy; narrow text column; solid headline colour */
@media screen and (max-width: 1599.98px) {
  .service-wrap-1-shape {
    max-width: min(30vw, 360px);
    right: max(-2%, -2.5rem);
    bottom: 12%;
    opacity: 0.88;
  }
  .services-wrap-1-img,
  .book-marketing-wrap-1-img,
  .book-publishing-wrap-1-img,
  .book-cover-wrap-1-img,
  .our-work-wrap-1-img,
  .contact-wrap-1-img {
    max-width: 36%;
  }
  .service-wrap-1 .container .row > [class*="col-lg-6"]:first-child {
    flex: 0 0 auto;
    width: 100%;
    max-width: min(100%, 36rem);
    padding-right: clamp(0.75rem, 3vw, 2.75rem);
  }
  .service-wrap-1 h1.fw-700.text-white,
  .service-wrap-1 h1.fw-700.text-white .text-dark {
    color: #1a1a1a !important;
  }
  .service-wrap-1 p.text-black {
    max-width: 36rem;
  }
}

@media screen and (max-width: 1537px) {
  .index-wrap-4-main-item-img {
    width: 470px;
    height: 380px;
  }
  .index-wrap-4-section-2-item h3 {
    font-size: 35px;
  }
  .index-wrap-4-main-item-parah {
    padding: 0;
  }
}

@media screen and (max-width: 1024px) {
  .index-wrap-4-main-item-img {
    width: 100%;
    height: 365px;
  }
  .index-wrap-4-section-2-item h3 {
    font-size: 25px;
  }

  .stack-card {
    min-height: calc(100vh - var(--site-header-height, 100px) - 40px);
  }

  .stack-panel {
    border-radius: 32px;
    padding: 34px 32px 38px;
  }

  .stack-panel__title {
    max-width: none;
  }

  .hp-orbit {
    padding: 72px 0 84px;
  }

  .hp-orbit__stage {
    width: min(520px, 94vw);
    --orbit-r: calc(min(520px, 94vw) * 0.36667);
  }

  .hp-orbit__node {
    width: 58px;
    height: 58px;
    margin: -29px 0 0 -29px;
  }

  .hp-orbit__node small {
    display: none;
  }

  .hp-orbit__hub {
    width: min(56%, 240px);
    padding: 20px 16px;
  }

  .hp-orbit__hub-copy {
    font-size: 12.5px;
  }

  .hp-zigzag {
    padding: 70px 0 80px;
  }

  .hp-zigzag__header {
    margin-bottom: 36px;
  }

  .hp-zigzag__step {
    grid-template-columns: 1fr 56px 1fr;
    gap: 12px;
  }

  .hp-zigzag__dot {
    width: 48px;
    height: 48px;
  }

  .hp-zigzag__panel {
    padding: 20px 18px;
  }

  .hp-zigzag__panel p {
    font-size: 14.5px;
  }
}

@media screen and (max-width: 767px) {
  .index-wrap-4-section-2-item h3 {
    font-size: 20px;
  }
  .index-wrap-4-section-2-item .table-responsive {
    border: none;
  }
  .index-wrap-4-section-2-item .table thead {
    display: none;
  }
  .index-wrap-4-section-2-item .table,
  .index-wrap-4-section-2-item .table tbody,
  .index-wrap-4-section-2-item .table tr,
  .index-wrap-4-section-2-item .table td {
    display: block;
    width: 100%;
  }
  .index-wrap-4-section-2-item .table tr {
    margin-bottom: 16px;
    border: 1px solid var(--bp-border-light);
    border-radius: 14px;
    overflow: hidden;
    background: var(--bp-surface);
  }
  .index-wrap-4-section-2-item .table td {
    position: relative;
    padding-left: 50%;
    padding-top: 12px;
    padding-bottom: 12px;
    border: none;
    border-bottom: 1px solid var(--bp-border-light);
    font-size: 14px;
  }
  .index-wrap-4-section-2-item .table td:last-child {
    border-bottom: none;
  }
  .index-wrap-4-section-2-item .table td::before {
    content: attr(data-label);
    position: absolute;
    left: 18px;
    top: 12px;
    font-weight: 700;
    color: var(--bp-primary);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .index-wrap-4-section-2-item .table td:nth-child(1)::before { content: "Factor"; }
  .index-wrap-4-section-2-item .table td:nth-child(2)::before { content: "Traditional"; }
  .index-wrap-4-section-2-item .table td:nth-child(3)::before { content: "Self-Publishing"; }
}

@media screen and (min-width: 992px) and (max-width: 1599.98px) {
  .service-wrap-1 .text-lg-start p.text-black {
    margin-left: 0;
    margin-right: 0;
  }
}

@media screen and (max-width: 991.98px) {
  .service-wrap-1 h1.fw-700.text-white,
  .service-wrap-1 h1.fw-700.text-white .text-dark {
    color: #1a1a1a !important;
  }
  .service-wrap-1 .container .row > [class*="col-lg-6"]:first-child {
    max-width: 100%;
    padding-right: 12px;
    padding-left: 12px;
  }
  .service-wrap-1 p.text-black {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  /* Service heroes: always stack full-width below lg (fixes col-sm-6 squeeze) */
  .services-wrap-1 {
    height: auto !important;
    min-height: 0;
    padding-bottom: 56px;
  }

  .services-wrap-1 .services-wrap-1-section-row {
    height: auto !important;
    row-gap: 28px;
  }

  .services-wrap-1 .services-wrap-1-section-1,
  .services-wrap-1 .services-wrap-1-section-2 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .services-wrap-1 .services-wrap-1-section-2 {
    display: flex;
    justify-content: center;
    margin-top: 8px;
  }

  .services-wrap-1-section-2 .mkt-image picture,
  .b-marketing-wrap-1-section-2 .mkt-image picture,
  .b-publishing-wrap-1-section-2 .mkt-image picture,
  .b-printing-wrap-1-section-2 .mkt-image picture,
  .services-wrap-1-section-2 .mkt-image--hero picture,
  .b-marketing-wrap-1-section-2 .mkt-image--hero picture,
  .b-publishing-wrap-1-section-2 .mkt-image--hero picture,
  .b-printing-wrap-1-section-2 .mkt-image--hero picture {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .services-wrap-1-section-2 .mkt-image--hero picture,
  .b-marketing-wrap-1-section-2 .mkt-image--hero picture,
  .b-publishing-wrap-1-section-2 .mkt-image--hero picture,
  .b-printing-wrap-1-section-2 .mkt-image--hero picture {
    aspect-ratio: 4 / 5 !important;
  }

  .mkt-image--hero {
    width: 100%;
    max-width: min(100%, 420px);
    margin-left: auto;
    margin-right: auto;
    --mkt-hero-radius: 24px 56px 24px 48px;
  }

  .mkt-image--hero::before {
    inset: 18px -12px -16px 14px;
  }

  .mkt-image--hero::after {
    width: 72px;
    height: 72px;
    top: -12px;
    right: -2px;
  }

  /* Tablet + mobile navbar drawer */
  .nav__toggle {
    display: inline-flex;
  }

  .nav__drawer-head {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.2rem 0.35rem 1rem;
    margin-bottom: 0.45rem;
    border-bottom: 1px solid rgba(0, 82, 73, 0.1);
  }

  .nav__drawer-kicker {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(0, 82, 73, 0.5);
  }

  .nav__drawer-title {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--bp-primary-dark);
  }

  .nav__drawer-note {
    display: block;
    margin-top: 0.85rem;
    padding: 0 0.35rem;
    font-size: 12.5px;
    line-height: 1.45;
    color: rgba(15, 46, 42, 0.55);
  }

  .nav__links {
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    width: min(380px, 92vw);
    height: 100vh;
    height: 100dvh;
    background:
      radial-gradient(120% 60% at 100% 0%, rgba(0, 132, 116, 0.12), transparent 55%),
      linear-gradient(165deg, #eef9f6 0%, #ffffff 24%, #ffffff 100%);
    flex-direction: column;
    align-items: stretch;
    padding: 5.4rem 1.1rem 1.6rem;
    gap: 0.2rem;
    margin: 0;
    border-left: 1px solid rgba(0, 82, 73, 0.08);
    border-radius: 28px 0 0 28px;
    box-shadow: -28px 0 64px rgba(5, 28, 26, 0.3);
    transform: translateX(105%);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 3;
    overflow-y: auto;
    list-style: none;
    visibility: visible;
    pointer-events: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  /* Keep close control above the sliding drawer */
  .site-header.is-nav-open .nav__toggle {
    position: fixed;
    top: max(12px, env(safe-area-inset-top, 0px) + 10px);
    right: max(12px, env(safe-area-inset-right, 0px) + 10px);
  }

  .site-header.is-nav-open .nav__brand {
    opacity: 0.1;
    pointer-events: none;
  }

  .nav__links.is-open {
    transform: translateX(0);
    pointer-events: auto;
  }

  .nav__links.is-open > .nav__item {
    animation: navDrawerItemIn 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .nav__links.is-open > .nav__item:nth-child(2) { animation-delay: 0.04s; }
  .nav__links.is-open > .nav__item:nth-child(3) { animation-delay: 0.08s; }
  .nav__links.is-open > .nav__item:nth-child(4) { animation-delay: 0.12s; }
  .nav__links.is-open > .nav__item:nth-child(5) { animation-delay: 0.16s; }
  .nav__links.is-open > .nav__item:nth-child(6) { animation-delay: 0.2s; }
  .nav__links.is-open > .nav__item:nth-child(7) { animation-delay: 0.24s; }
  .nav__links.is-open > .nav__item:nth-child(8) { animation-delay: 0.28s; }

  @keyframes navDrawerItemIn {
    from {
      opacity: 0;
      transform: translateX(18px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  .nav__item {
    width: 100%;
  }

  .nav__item--cta {
    margin: 1.15rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 82, 73, 0.1);
  }

  .nav__link,
  .nav__links > li > a.megamenu-main-ul-a {
    width: 100%;
    justify-content: space-between;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    color: var(--bp-dark-text) !important;
    font-size: 16px;
    background: transparent;
    box-shadow: none;
  }

  .nav__link::after,
  .nav__links > li > a.megamenu-main-ul-a::after {
    display: none;
  }

  .nav__link:hover,
  .nav__links > li > a.megamenu-main-ul-a:hover,
  .nav__item.is-active > .nav__link,
  .nav__item.is-active > a.megamenu-main-ul-a {
    background: rgba(var(--clr-1), 0.1);
    color: rgb(var(--clr-1)) !important;
    box-shadow: none;
  }

  .nav__cta {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.1rem !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgb(var(--clr-1)), var(--bp-primary-dark)) !important;
    color: #fff !important;
    box-shadow: 0 16px 32px rgba(var(--clr-1), 0.32);
  }

  .nav__cta:hover {
    background: var(--bp-primary-dark) !important;
    color: #fff !important;
  }

  .nav__links .dropdown-mega-li .megamenu-inner-ul,
  .nav__links .nav__dropdown {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    background: rgba(var(--clr-1), 0.06);
    box-shadow: none;
    border: 0;
    border-radius: 16px;
    margin-top: 0;
    padding: 0;
    max-height: 0;
    height: auto;
    overflow: hidden;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition: max-height 0.35s ease, padding 0.3s ease, margin 0.3s ease;
  }

  .nav__links .dropdown-mega-li .megamenu-inner-ul::before,
  .nav__links .nav__dropdown::before {
    display: none;
  }

  .nav__links .dropdown-mega-li.is-active .megamenu-inner-ul,
  .nav__links .dropdown-mega-li.is-active .nav__dropdown {
    max-height: 720px;
    padding: 8px;
    margin: 0 0 8px;
  }

  .nav__links .megamenu-inner-ul li a,
  .nav__links .nav__dropdown li a {
    font-size: 14.5px;
    padding: 11px 12px;
    border-radius: 12px;
    color: rgba(15, 46, 42, 0.82) !important;
  }

  .nav__links .megamenu-inner-ul li a:hover,
  .nav__links .nav__dropdown li a:hover {
    background: #fff;
    color: rgb(var(--clr-1)) !important;
  }

  .nav__links .service-a-anchor {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .nav__links .dropdown-mega-li.is-active .service-a-anchor {
    background: rgba(var(--clr-1), 0.1);
    color: rgb(var(--clr-1)) !important;
  }

  .nav__links .dropdown-mega-li.is-active .service-a-anchor .nav__chevron {
    transform: rotate(180deg);
  }

  .nav-overlay {
    display: block;
  }
}

@media (min-width: 992px) {
  footer .footer-meta-row .pay_cards {
    text-align: right;
  }

  .nav__drawer-head,
  .nav__drawer-note,
  .nav__drawer-label {
    display: none !important;
  }

  .nav__toggle {
    display: none !important;
  }

  .nav__links {
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    /* background: rgba(255, 255, 255, 0.08) !important; */
    /* box-shadow: none !important; */
    /* border: 1px solid rgba(255, 255, 255, 0.1) !important; */
    /* border-radius: 999px !important; */
    padding: 0.28rem !important;
    overflow: visible !important;
    pointer-events: auto !important;
    flex-direction: row !important;
    gap: 0.2rem !important;
  }

  .nav-overlay {
    display: none !important;
  }
}

@media screen and (max-width: 1601px) {
  .index-wrap-2 {
    margin-top: -15%;
  }
  /* .wrap-1-girl {
    right: -2%;
  } */
  .index-wrap-3-item {
    height: 468px;
  }
  .index-wrap-3-section-2-img {
    height: 695px;
    border-radius: 60px;
  }
  .usp-img-1 {
    right: -167px;
    top: 14px;
  }
  .book-cover-wrap-1-img {
    right: 0%;
    bottom: 0%;
  }
  .portfolio-wrap-2 {
    margin-top: -16%;
  }
  .contact-wrap-1-img {
    right: 6%;
    bottom: 1%;
    max-width: 38%;
  }
}

@media screen and (max-width: 1537px) {
  .index-wrap-3-item {
    height: 448px;
  }
  h3 {
    font-size: 50px;
  }
  h2 {
    font-size: 60px;
  }
  .index-wrap-3-section-2-content h2 {
    line-height: 65px;
  }
  .about-wrap-2-section-content h2 {
    line-height: 65px;
  }
  .service-wrap-3-main-item h3 {
    font-size: 35px;
  }
  .service-wrap-3-main-item-parah {
    padding: 0px 0px 0px;
  }
  .service-wrap-3-main-item {
    padding: 25px;
  }
  .service-wrap-5-main-item h3 {
    font-size: 30px;
  }
  .service-wrap-5-main-item h4 {
    font-size: 18px;
    padding: 0px 0px 0px;
  }
  .service-wrap-5-main-item .p-custom {
    padding-bottom: 5px;
  }
  .service-wrap-5-main-inner-item p {
    font-size: 11px;
  }
  .services-wrap-1-img {
    right: 3%;
    bottom: 10%;
  }
}

@media screen and (max-width: 1441px) {
  .index-wrap-3-item {
    height: 418px;
  }
  h3 {
    font-size: 40px;
  }
  h2 {
    font-size: 50px;
  }
  .index-wrap-2 h2 {
    line-height: 54px;
  }
  .index-wrap-3-section-2-content h2 {
    line-height: 55px;
  }
  .index-wrap-3-section-2-content .p-head {
    padding: 13px 0px 13px;
  }
  .about-wrap-2-section-content h2 {
    line-height: 55px;
  }
  .about-wrap-2-section-content .p-head {
    padding: 13px 0px 13px;
  }

  .btn .span-1,
  button .span-1 {
    font-size: 14px;
    padding: 13px 30px;
    border-radius: 12px;
  }
  .btn .span-2,
  button .span-2 {
    width: 50px;
    height: 50px;
    font-size: 20px;
    border-radius: 12px;
  }
  .index-wrap-3-section-2-numbers li h4 {
    font-size: 50px;
  }
  .index-wrap-3-section-2-numbers li h4 span {
    font-size: 55px;
  }
  .index-wrap-3-section-2-numbers li p {
    font-size: 14px;
  }
  .index-wrap-3-section-2-img {
    height: 560px;
    border-radius: 50px;
  }
  /* .index-wrap-6-review .index-wrap-6 {
    margin-top: -14%;
  } */
  .about-wrap-2 {
    /* clip-path: ellipse(162% 100% at 50% 110%);
    margin-top: -13%; */
  }
  .index-wrap-4 {
    /* margin-top: -9%; */
  }
  .service-wrap-5-main-item h2 {
    font-size: 50px;
  }
  .service-wrap-5-main-item h3 {
    font-size: 25px;
  }
  .service-wrap-5-main-item h4 {
    font-size: 16px;
  }
  .service-wrap-5-main-item .p-custom {
    padding-bottom: 0px;
  }
  .service-wrap-5-main-inner-item h6 {
    font-size: 14px;
    padding: 3px 0px 1px;
  }
  .service-wrap-5-main-inner-item p {
    font-size: 10px;
  }
  .megamenu-inner .megamenu-main-ul li .megamenu-main-ul-a {
    font-size: 40px;
  }
  .book-cover-wrap-1-img {
    right: 0%;
    bottom: 0%;
  }
  .portfolio-wrap-2 {
    margin-top: -18%;
    clip-path: ellipse(180% 100% at 50% 110%);
  }

  .wrap-1-fur {
    top: 14%;
    right: 10%;
  }

  .nav__brand img {
    height: 50px;
  }

  .services-wrap-1 h1,
  .contact-wrap-1 h1,
  .our-work-wrap-1 h1,
  .about-wrap-1 h1, 
  .index-wrap-1 h1 {
    font-size: 60px;
  }

  .services-wrap-1-section-2 picture {
    right: 5%;
    width: min(50vw, 750px);
    aspect-ratio: 600 / 600;
  }

  .b-marketing-wrap-1-section-2 picture {
    width: min(50vw, 850px);
    aspect-ratio: 850 / 700;
  }

  .b-printing-wrap-1-section-2 picture {
    width: min(50vw, 850px);
    aspect-ratio: 800 / 700;
  }

  .b-publishing-wrap-1-section-2 picture {
    right: 2%;
    width: min(50vw, 750px);
    aspect-ratio: 700 / 600;
  }
  
  .contact-wrap-1-section-2 picture {
    aspect-ratio: 900 / 735;
  }
  .our-work-wrap-1-section-2 picture {
    aspect-ratio: 900 / 735;
  }
}

@media screen and (max-width: 1367px) {
  .marquee-banner span {
    font-size: 13px;
  }
  .marquee-banner {
    width: 150px;
  }

  .services-wrap-1-span,
  .contact-wrap-1-span,
  .our-work-wrap-1-span,
  .about-wrap-1-span,
  .index-wrap-1-span {
    padding: 5px 7px;
  }

  .services-wrap-1 h1,
  .contact-wrap-1 h1,
  .our-work-wrap-1 h1,
  .about-wrap-1 h1,
  .index-wrap-1 h1 {
    font-size: 55px;
    line-height: 60px;
    padding: 16px 0px 11px 0px;
  }

  .services-wrap-1-p,
  .contact-wrap-1-p,
  .our-work-wrap-1-p,
  .about-wrap-1-p,
  .index-wrap-1-p {
    width: 100%;
    padding-bottom: 9px;
  }
  p {
    font-size: 14px;
  }
  .btn .span-1,
  button .span-1 {
    font-size: 14px;
    padding: 12px 26px;
    border-radius: 12px;
  }
  .btn .span-2,
  button .span-2 {
    width: 46px;
    height: 46px;
    font-size: 18px;
    border-radius: 11px;
  }
  .marquee-item {
    width: 170px;
    margin: 15px 0px;
  }
  .marquee-inner-banner-main {
    width: 550px;
  }
  /* .index-wrap-1 {
    padding: 130px 0px 175px;
  } */
  .index-wrap-2 {
    clip-path: ellipse(145% 100% at 50% 110%);
    margin-top: -18%;
  }
  /* .wrap-1-girl {
    right: -9%;
    max-width: 41%;
  } */
  .wrap-1-fur {
    max-width: 11%;
  }
  /* .banner-shade {
    max-width: 61%;
  } */
  .index-wrap-3-item {
    height: 364px;
  }
  .index-wrap-3-item .index-wrap-3-item-content h3 {
    font-size: 20px;
    padding-bottom: 28px;
  }
  .index-wrap-3-item:hover .index-wrap-3-item-content h3 {
    padding-bottom: 15px;
  }
  .index-wrap-3-item .index-wrap-3-item-content-parah {
    height: 65px;
  }
  .index-wrap-3-item .index-wrap-3-item-content {
    transform: translateY(98px);
  }
  .index-wrap-2-form-box {
    padding: 120px 85px 50px 85px;
  }
  .marquee-cta span {
    font-size: 48px;
  }
  .index-wrap-3-section-3-item {
    height: 510px;
    border-radius: 35px;
  }
  .index-wrap-3-section-3 h2 {
    font-size: 30px;
  }
  .index-wrap-3-section-3-content {
    height: 180px;
    margin-bottom: 30px;
  }
  .index-wrap-3-section-3 {
    /* padding: 0px 0px 155px; */
  }
  .index-wrap-4 {
    /* margin-top: -12%; */
  }
  .index-wrap-4-item h3 {
    font-size: 18px;
    padding-bottom: 0px;
  }
  .index-wrap-4-item .index-wrap-4-item-parah {
    line-height: 20px;
    height: 83px;
  }
  .index-wrap-4-img-item-img {
    max-width: 75%;
  }
  .usp-img-2 {
    right: -83px;
    top: 10px;
    max-width: 40%;
  }
  .usp-img-3 {
    right: -80px;
    top: 1px;
    max-width: 45% !important;
  }
  .wrap-4-text-img {
    top: 25%;
    max-width: 38%;
  }
  .index-wrap-5 {
    padding: 100px 0px 195px;
  }
  .portfolio-item {
    background-size: 122%;
  }
  .portfolio-item:hover {
    background-size: 135%;
  }
  .index-wrap-5 .tabs li,
  .portfolio-wrap-2 .tabs li {
    padding: 14px 22px;
    border-radius: 10px;
    font-size: 14px;
  }
  /* .index-wrap-6-review .index-wrap-6 {
    margin-top: -17%;
    clip-path: ellipse(144% 100% at 50% 110%);
    padding: 190px 0px 300px;
  } */
  /* .index-wrap-6 h2 {
    font-size: 45px;
  } */
  .review-item .review-item-content p {
    font-size: 15px;
    line-height: 22.5px;
  }
  .review-item .user-profile {
    width: 42px;
    height: 42px;
  }
  .review-item .user-name h6 {
    font-size: 13px;
  }
  .review-item .user-name p {
    font-size: 11px;
  }
  .review-item .review-item-content {
    margin: 15px 0px 20px;
    height: 130px;
  }
  .footer-list-item h4 {
    font-size: 20px;
    padding-bottom: 6px;
  }
  .footer-list-item ul li a {
    font-size: 12px;
  }
  .footer-list-item ul {
    margin-top: 10px;
    line-height: 25px;
  }
  .copyright-div a {
    font-size: 14px;
  }
  .usp-img-1 {
    right: -148px;
    top: 12px;
    max-width: 53% !important;
  }
  .about-wrap-2 {
    padding: 32px 0px 32px;
  }
  .character-4 {
    max-width: 25%;
  }
  .character-1 {
    bottom: 167px;
    max-width: 20%;
  }
  .character-3 {
    bottom: 166px;
    max-width: 16%;
  }
  .character-2 {
    left: 22%;
    bottom: 205px;
    max-width: 16%;
  }
  .about-wrap-2 h4 {
    font-size: 20px;
  }
  .about-wrap-2 h2 {
    line-height: 45px;
  }
  .index-wrap-3-section-2-numbers {
    padding-top: 27px;
  }
  h4 {
    font-size: 25px;
  }
  .about-wrap-3-item h3 {
    font-size: 22px;
    padding-bottom: 0px;
  }
  .about-wrap-3-item p {
    line-height: 20px;
  }
  .about-wrap-3-item .about-wrap-3-item-content {
    /* height: 115px; */
    margin-top: 16px;
  }
  .about-wrap-4 {
    padding: 192px 0px 30px;
    margin-top: -29%;
  }
  .about-wrap-4-item h4 {
    font-size: 20px;
  }
  .about-wrap-4-item p {
    font-size: 13px;
    height: 60px;
    overflow-y: scroll;
  }
  .about-wrap-4-item-one {
    margin-bottom: 40px;
  }
  .about-wrap-4-section-2-content h2 {
    font-size: 45px;
  }
  .about-wrap-4-section-2-content .p-head {
    padding: 0px 0px 5px;
  }
  .about-wrap-4-section-2 {
    border-radius: 50px;
    padding: 50px 30px 50px 58px;
  }
  .about-wrap-5 h2 {
    font-size: 40px;
    line-height: 50px;
  }
  .accordion-list li h3 {
    font-size: 17px !important;
  }
  
  .about-wrap-5 {
    padding: 0px 0px 20px;
  }
  .service-wrap-1 h1 {
    font-size: 50px;
    line-height: 50px;
    padding: 12px 0px 5px;
  }
  .service-wrap-1 {
    padding: 123px 0px 140px;
  }
  .service-wrap-1-shape {
    bottom: 31%;
    max-width: 42%;
  }
  .book-marketing-wrap-1-img {
    right: 52px;
    max-width: 42%;
  }
  .service-wrap-3-main-item-img {
    width: 470px;
    height: 380px;
  }
  .service-wrap-3-main-item h3 {
    font-size: 28px;
  }
  .service-wrap-3-main-item {
    height: 420px;
    border-radius: 60px;
  }
  .service-wrap-3 {
    padding-top: 40px;
  }
  .service-wrap-5-main-item h3 {
    font-size: 20px;
  }
  .service-wrap-5-main-item h4 {
    font-size: 15px;
  }
  .service-wrap-5-main-item-book {
    max-width: 80%;
  }
  .service-wrap-5-main-item {
    padding: 50px 50px 65px;
  }
  .megamenu-inner .megamenu-main-ul li .megamenu-main-ul-a {
    font-size: 30px;
  }
  .megamenu-inner .megamenu-main-ul {
    gap: 85px;
    padding-bottom: 177px;
  }
  .megamenu-inner .megamenu-main-ul li .megamenu-main-ul-a::before {
    right: -44px;
  }
  .megamenu-inner-ul li a {
    font-size: 16px;
  }
  .megamenu-inner-ul {
    line-height: 30px;
  }
  .megamenu-inner-ul {
    width: 300px;
    padding: 14px 12px;
    border-radius: 14px;
    border-top: 4px solid var(--bp-primary-dark);
    box-shadow: 0 18px 40px rgba(10, 22, 40, 0.15);
  }
  .services-wrap-1-img {
    right: 4%;
    bottom: 1%;
    max-width: 41%;
  }
  .book-cover-wrap-1-img {
    right: 0%;
    bottom: 0%;
    max-width: 41%;
  }
  .service-wrap-5-main-item h2 {
    font-size: 35px;
  }
  .portfolio-wrap-2 {
    margin-top: -19%;
    clip-path: ellipse(199% 100% at 50% 110%);
  }
  .book-publishing-wrap-1-img {
    right: 7%;
    bottom: 18%;
    max-width: 37%;
  }
  .contact-wrap-2 {
    padding: 100px 0px 100px;
  }
}

@media screen and (max-width: 1281px) {
}

@media screen and (max-width: 1180px) {

  .services-wrap-1 h1,
  .contact-wrap-1 h1,
  .our-work-wrap-1 h1,
  .index-wrap-1 h1,
  .about-wrap-1 h1 {
    font-size: 45px;
    line-height: 49px;
    padding: 11px 0px 4px 0px;
  }
  .btn .span-1,
  button .span-1 {
    font-size: 12px;
  }
  .index-wrap-3-item {
    background-size: 113% !important;
  }
  h3 {
    font-size: 30px;
  }
  h2 {
    font-size: 40px;
  }
  .index-wrap-3-section-2-content h2 {
    line-height: 46px;
  }
  .about-wrap-2-section-content h2 {
    line-height: 46px;
  }
  p {
    font-size: 12px;
  }
  .index-wrap-3-section-2-numbers {
    gap: 30px;
    padding-top: 18px;
  }
  .index-wrap-3-section-2-numbers li h4 {
    font-size: 35px;
  }
  .index-wrap-3-section-2-numbers li h4 span {
    font-size: 38px;
  }
  .index-wrap-3-section-2-numbers li p {
    font-size: 12px;
  }
  .index-wrap-3-section-2-img {
    height: 470px;
    border-radius: 50px;
  }
  .index-wrap-4-item h3 {
    font-size: 18px;
  }
  .index-wrap-4-item .index-wrap-4-item-parah {
    line-height: 18px;
    height: 69px;
  }
  .usp-img-1 {
      right: -158px;
      top: 11px;
      max-width: 70% !important;
  }
  .usp-img-2 {
    right: -50px;
    top: 10px;
    max-width: 33% !important;
  }
  .usp-img-3 {
    right: -60px;
    top: -30px;
  }
  .usp-img-4 {
    left: -140px;
    top: 8px;
    max-width: 60% !important;
  }
  .usp-img-5 {
    top: 9px;
  }
  .usp-img-6 {
    max-width: 40% !important;
  }
  .portfolio-item {
    height: 285px;
  }
  .review-item {
    padding: 24px 17px 18px 22px;
    border-radius: 32px;
  }
  .review-item .review-item-content p {
    font-size: 13px;
    line-height: 20.5px;
  }
  .review-item .user-name h6 {
    font-size: 11px;
  }
  .review-item .user-name p {
    font-size: 9px;
  }
  .review-item .review-item-content {
    margin: 12px 0px 12px;
    height: 103px;
  }
  /* .index-wrap-6-review .index-wrap-6 {
    padding: 146px 0px 170px;
  } */
  .footer-cta h2 {
    font-size: 60px;
  }
  .footer-cta button {
    width: 150px;
    height: 150px;
  }
  .footer-cta {
    border-radius: 43px;
    padding: 48px;
  }
  .service-wrap-2-img {
    height: 580px;
  }
  .service-wrap-3-main-item ul li {
    font-size: 14px;
  }
  .service-wrap-4-phone {
    top: 27%;
    right: -25px;
    max-width: 35% !important;
  }
  .service-wrap-4-cta {
    left: 5%;
    top: 20%;
    max-width: 21% !important;
  }
  .service-wrap-4 {
    padding: 108px 0px 250px;
  }
  .index-wrap-4 {
    padding: 60px 0px 60px;
  }
  .service-wrap-5-main-item h2 {
    font-size: 35px;
  }
  .footer-list-item h4 {
    font-size: 16px;
    padding-bottom: 6px;
  }
  .service-wrap-1 h1 {
    font-size: 48px;
  }
}

@media screen and (max-width: 1024px) {
  .index-wrap-3-item {
    height: 315px;
  }
  h3 {
    font-size: 25px;
  }
  h2 {
    font-size: 35px;
  }
  .index-wrap-3-section-2-content h2 {
    line-height: 40px;
  }
  .about-wrap-2-section-content h2 {
    line-height: 40px;
  }
  .btn .span-1,
  button .span-1 {
    font-size: 12px;
    padding: 10px 20px;
    border-radius: 7px;
  }
  .btn .span-2,
  button .span-2 {
    width: 40px;
    height: 40px;
    font-size: 13px;
    border-radius: 8px;
  }
  .about-wrap-4-section-2-content h2 {
    font-size: 35px;
  }
  .service-wrap-3-main-item-img {
    width: 100%;
    height: 300px;
  }

  /* .topbar__inner {
    padding: 0 7.5rem;
  } */

  .nav {
    padding: 0.65rem 0;
  }
  
  .services-wrap-1,
  .contact-wrap-1,
  .our-work-wrap-1,
  .index-wrap-1,
  .about-wrap-1 {
    height: 100vh;
    /* padding: 114px 0px 105px; */
  }

  .wrap-1-fur {
    top: 31.5%;
    right: 11%;
  }

  .index-wrap-4-img-item {
    margin-top: 40px;
  }

  .marquee-cta-2 {
    transform: rotate(358deg) translateY(25px);
  }

  .book-covers-section {
    padding: 100px 0px 200px !important;
  }

  .about-wrap-3-item {
    padding: 25px;
  }

  .index-wrap-3-section-3-shade {
    bottom: -30%;
  }

  .marquee-inner {
    margin: 10px;
  }

  .lp-form-card__coupon-value {
    font-size: 25px;
  }

  .lp-form-card__coupon {
    margin: -64px 0 1.25rem;
  }

  .wrap-1-girl {
    width: min(50vw, 626px);
  }

  .contact-wrap-1-section-2 picture {
    aspect-ratio: 950 / 735;
    width: 75%;
    left: 35%;
  }

  .services-wrap-1-section-2 picture {
    aspect-ratio: 600 / 700;
    width: min(52vw, 750px);
  }

  .b-marketing-wrap-1-section-2 picture {
    aspect-ratio: 600 / 700;
    width: min(45vw, 750px);
  }

  .b-printing-wrap-1-section-2 picture {
    aspect-ratio: 600 / 700;
    width: min(45vw, 750px);
  }

  .b-publishing-wrap-1-section-2 picture {
    right: 2%;
    aspect-ratio: 650 / 700;
    width: min(50vw, 750px);
  }

  .our-work-wrap-1-section-2 picture {
    aspect-ratio: 700 / 735;
    width: 50%;
  }

  .contact-wrap-2 h2 {
    font-size: 50px;
  }

  .accordion-list li {
    padding : 25px;
  }

  .about-wrap-5 p a {
    font-size: 20px !important;
  }
}

@media screen and (max-width: 995px) {

  .services-wrap-1 h1,
  .contact-wrap-1 h1,
  .our-work-wrap-1 h1,
  .about-wrap-1 h1,
  .index-wrap-1 h1 {
    font-size: 30px;
    line-height: 34px;
    padding: 11px 0px 4px 0px;
  }

  .services-wrap-1-p,
  .contact-wrap-1-p,
  .our-work-wrap-1-p,
  .about-wrap-1-p,
  .index-wrap-1-p {
    width: 80%;
    padding-bottom: 0px;
  }
  .marquee-item {
    width: 120px;
    margin: 10px 0px;
  }
  .marquee-inner-banner-main {
    width: 385px;
  }
  .index-wrap-2 {
    clip-path: ellipse(200% 100% at 50% 110%);
    margin-top: -18%;
    padding-top: 175px;
  }
  .wrap-2-award-ul li img {
    width: 200px;
  }
  .wrap-2-award-ul {
    padding: 9px 15px;
    top: 39px;
  }
  /* .wrap-1-girl {
    right: -19%;
    max-width: 43%;
    bottom: 0px;
  } */
  h3 {
    font-size: 20px;
  }
  h2 {
    font-size: 30px;
  }
  .index-wrap-2 h2 {
    line-height: 35px;
  }
  .forem-click-btn p {
    font-size: 25px;
  }
  .index-wrap-2-form-box {
    padding: 96px 45px 22px 45px;
  }
  .index-wrap-3-item {
    height: 235px;
    border-radius: 21px;
    padding: 0px 21px 18px;
  }
  .index-wrap-3-item .index-wrap-3-item-content h3 {
    font-size: 15px;
    padding-bottom: 28px;
  }
  .index-wrap-3-item:hover .index-wrap-3-item-content h3 {
    padding-bottom: 8px;
  }
  .index-wrap-3-item-content p {
    font-size: 10px;
  }
  .index-wrap-3::before {
    height: 94.5%;
  }
  .marquee-cta span {
    font-size: 30px;
  }
  .index-wrap-3-section-3-item {
    height: 390px;
    border-radius: 30px;
  }
  .index-wrap-3-section-3 h2 {
    font-size: 20px;
  }
  .index-wrap-3-section-3 p {
    line-height: 18px;
  }
  .index-wrap-3-section-3-content {
    height: 125px;
    margin-bottom: 20px;
  }
  .index-wrap-4 {
    /* margin-top: -30%;
    clip-path: ellipse(236% 100% at 50% 110%); */
  }
  .index-wrap-4-item h3 {
    font-size: 18px;
  }
  .index-wrap-4-item .index-wrap-4-item-parah {
    height: 50px;
  }
  .index-wrap-4 {
    /* margin-top: -19%;
    clip-path: ellipse(236% 100% at 50% 110%); */
    padding: 64px 0px 64px;
  }
  .index-wrap-5 {
    padding: 80px 0px 144px;
  }
  .index-wrap-5 .tabs,
  .portfolio-wrap-2 .tabs {
    gap: 19px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .index-wrap-5 .tabs li,
  .portfolio-wrap-2 .tabs li {
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 11px;
  }
  .portfolio-item {
    height: 205px;
    border-radius: 17px;
    background-size: 120%;
  }
  .portfolio-item img {
    width: 105px;
  }
  /* .index-wrap-6-review .index-wrap-6 {
    margin-top: -21%;
    clip-path: ellipse(184% 100% at 50% 110%);
    padding: 146px 0px 170px;
  } */
  .footer-cta-custom-margin {
    margin-top: 0px;
  }
  .footer-cta h2 {
    font-size: 40px;
  }
  .about-wrap-4 {
    padding: 50px 0px 30px;
    margin-top: 0%;
  }
  .character-4 {
    max-width: 28%;
  }
  .character-3 {
    bottom: 166px;
    max-width: 20%;
  }
  .character-2 {
    left: 22%;
    bottom: 205px;
    max-width: 20%;
  }
  .character-1 {
    bottom: 167px;
    max-width: 23%;
  }
  .about-wrap-2 {
    padding: 32px 0px 32px;
  }
  .about-wrap-3 {
    padding: 80px 0px 70px;
  }
  .about-wrap-4-item h4 {
    font-size: 15px;
  }
  .about-wrap-4-item p {
    font-size: 12px;
    height: 56px;
  }
  .about-wrap-4-section-2-content h2 {
    font-size: 25px;
  }
  .about-wrap-4-section-2-content {
    width: 100%;
  }
  .about-wrap-4-section-2-content .p-head {
    padding: 0px 0px 0px;
  }
  .about-wrap-5 h2 {
    font-size: 30px;
    line-height: 39px;
  }
  .service-wrap-1 h1 {
    font-size: 40px;
    line-height: 47px;
    padding: 12px 0px 5px;
  }
  .service-wrap-3-main-item h3 {
    font-size: 20px;
  }
  .service-wrap-3-main-item ul li {
    font-size: 12px;
  }
  .service-wrap-3-main-item {
    height: 335px;
    border-radius: 45px;
  }
  .megamenu-inner .megamenu-main-ul {
    display: block;
  }
  .header-mobile-container {
    padding-top: 80px;
  }
  .portfolio-wrap-2-award-ul {
    top: 84px;
  }
  .portfolio-wrap-2 {
    padding: 195px 0px 100px;
  }

  .stacking-sections {
    padding: 24px 0 48px;
  }

  .stack-card {
    position: sticky;
    top: calc(var(--site-header-height, 84px) + 10px);
    min-height: auto;
    padding: 12px 0;
  }

  .stack-panel {
    border-radius: 28px;
    padding: 28px 22px 30px;
  }

  .stack-panel__title {
    max-width: none;
    margin-bottom: 18px;
    font-size: 1.35rem;
  }

  .stack-panel__num {
    min-width: 42px;
    height: 42px;
    font-size: 13px;
  }

  .stack-panel__body .p-head {
    font-size: 15px;
  }

  .hp-orbit {
    padding: 56px 0 64px;
  }

  .hp-orbit__title {
    font-size: 1.7rem;
  }

  .hp-orbit__lead {
    font-size: 15px;
  }

  .hp-zigzag {
    padding: 52px 0 60px;
  }

  .hp-zigzag__title {
    font-size: 1.7rem;
  }

  .hp-zigzag__spine {
    display: none !important;
  }

  .hp-zigzag__list {
    gap: 16px;
  }

  .hp-zigzag__step,
  .hp-zigzag__step:nth-child(odd),
  .hp-zigzag__step:nth-child(even) {
    --zig-amp: 0px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    transform: translateY(20px);
  }

  .hp-zigzag.is-inview .hp-zigzag__step.is-shown,
  .hp-zigzag.is-inview .hp-zigzag__step:nth-child(odd).is-shown,
  .hp-zigzag.is-inview .hp-zigzag__step:nth-child(even).is-shown {
    transform: none;
  }

  .hp-zigzag__dot,
  .hp-zigzag__step:nth-child(odd) .hp-zigzag__dot,
  .hp-zigzag__step:nth-child(even) .hp-zigzag__dot,
  .hp-zigzag__step.is-shown:nth-child(odd) .hp-zigzag__dot,
  .hp-zigzag__step.is-shown:nth-child(even) .hp-zigzag__dot {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    grid-column: auto;
    transform: scale(1);
  }

  .hp-zigzag__panel {
    flex: 1;
    grid-column: auto !important;
    text-align: left !important;
    margin: 0 !important;
  }

  .hp-zigzag__panel::after {
    display: none;
  }

  .testimonial-card__book {
    height: 180px;
  }
  .testimonial-card__book-img {
    height: 145px;
    max-width: 105px;
  }
}

@media screen and (max-width: 821px) {
}

@media screen and (max-width: 768px) {
  .index-service-wrap-3 .service-wrap-3-main-item {
    height: 560px;
    overflow: hidden;
  }

  .index-service-wrap-3 .service-wrap-3-main-item > .row {
    height: 100% !important;
    align-content: flex-start;
  }

  .index-service-wrap-3 .service-wrap-3-main-item > .row > [class*="col-lg-5"] {
    flex: 0 0 100%;
    max-width: 100%;
    height: 180px;
  }

  .index-service-wrap-3 .service-wrap-3-main-item > .row > [class*="col-lg-7"] {
    flex: 0 0 100%;
    max-width: 100%;
    height: calc(100% - 180px);
    min-height: 0;
    overflow-y: auto;
    padding-bottom: 12px;
    box-sizing: border-box;
  }

  .index-service-wrap-3 .service-wrap-3-main-item-img {
    width: 100%;
    height: 180px;
  }

  .about-wrap-4-section-2 {
    border-radius: 43px;
    padding: 35px 20px 35px 30px;
  }

  .services-wrap-1-span,
  .contact-wrap-1-span,
  .our-work-wrap-1-span,
  .about-wrap-1-span,
  .index-wrap-1-span {
    padding: 5px 0px 5px 7px !important;
  }

  .wrap-1-girl {
    width: min(55vw, 626px) !important;
  }

  .contact-wrap-1-section-2 picture {
    aspect-ratio: 1050 / 735;
    left: auto;
    width: 85%;
  }

  .services-wrap-1-section-2 picture {
    width: min(55vw, 626px) !important;
    aspect-ratio: 500 / 500;
  }

  .b-marketing-wrap-1-section-2 picture {
    width: min(80vw, 626px) !important;
    aspect-ratio: 700 / 500;
  }

  .b-printing-wrap-1-section-2 picture {
    width: min(60vw, 626px) !important;
    aspect-ratio: 580 / 500;
  }

  .b-publishing-wrap-1-section-2 picture {
    right: auto;
    width: min(85vw, 650px) !important;
    aspect-ratio: 750 / 491;
  }

  .our-work-wrap-1-section-2 picture {
    width: min(80vw, 626px) !important;
    aspect-ratio: auto;
  }

  .wrap-1-fur {
    top: 29%;
    right: 7%;
  }
  
  .index-wrap-1 {
    height: auto;
    /* padding: 114px 0px 105px; */
  }

  .services-wrap-1 h1,
  .contact-wrap-1 h1,
  .our-work-wrap-1 h1,
  .about-wrap-1 h1,
  .index-wrap-1 h1 {
    text-align: center;
    font-size: 35px !important;
  }
  
  .index-wrap-3-section-2-content {
    text-align: center !important;
  }
  
  .index-wrap-3-section-2-content ul li{
    padding-bottom: 10px !important;
  }

  .about-wrap-2-section-content {
    text-align: center !important;
  }

  .about-wrap-2-section .popup-btn{

  }

  .about-wrap-3-item img {
    width: 55px;
  }

  .marquee-cta {
    padding: 0;
  }

  .book-cover-wrapper {
    height: 320px;
    padding: 10px;
  }
  
  .book-cover-img {
    height: 95%;
  }
  
  .book-title {
    font-size: 16px;
    margin-bottom: 15px;
  }
  
  .btn-view-book {
    padding: 12px 24px;
    font-size: 13px;
  }
  
  .book-cover-label {
    font-size: 14px;
    margin-top: 12px;
    min-height: 40px;
  }
  
  .book-search-input {
    padding: 12px 18px;
    font-size: 14px;
  }
  
  .book-modal-content {
    width: 95%;
    margin: 10% auto;
    padding: 15px;
  }
  
  .modal-book-title {
    font-size: 20px;
  }
  
  .modal-book-img {
    max-height: 60vh;
  }

  .index-wrap-3-section-3 {
    /* padding: 0px; */
  }

  .index-wrap-3-section-3-shade {
    bottom: -25%;
  }

  .footer-cta button {
    width: 100px;
    height: 100px;
  }

  .footer-cta button img {
    width: 80%;
  }

  .marquee-inner {
    display: none;
  }

  .wrap-1-fur img {
    display : none;
  }

  .banner-shade {
    display : none;
  }

  .lp-form-card__coupon-value {
    font-size: 20px;
  }
  
  .marquee-inner-banner-main {
    display: none;
  }

  .lp-hero__form-wrap {
    margin: 20px auto;
  }

  .lp-form-card__coupon {
    margin: -53px 0 1.25rem;
  }

  .services-wrap-1-section-1,
  .contact-wrap-1-section-1,
  .our-work-wrap-1-section-1,
  .about-wrap-1-section-1,
  .index-wrap-1-section-1 {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .services-wrap-1-section-row,
  .contact-wrap-1-section-row,
  .our-work-wrap-1-section-row,
  .index-wrap-1-section-row,
  .about-wrap-1-section-row {
    height: auto !important;
    margin-top: 50px;
  }

  .services-wrap-1-section-2,
  .contact-wrap-1-section-2,
  .our-work-wrap-1-section-2,
  .about-wrap-1-section-2 {
    display: flex;
    justify-content: center;
  }

  .services-wrap-1-text,
  .contact-wrap-1-text,
  .our-work-wrap-1-text,
  .about-wrap-1-text {
    bottom: -15px;
  }

  .marquee-cta-2 {
    padding: 10px;
  }

  .services-wrap-1-section-2 picture,
  .contact-wrap-1-section-2 picture,
  .our-work-wrap-1-section-2 picture,
  .wrap-1-girl {
    right: auto;
  }

  .index-wrap-1-section .popup-btn {
    display: none !important;
  }

  .nav {
    padding: 0.65rem;
  }

  .services-wrap-1-p,
  .contact-wrap-1-p,
  .our-work-wrap-1-p,
  .about-wrap-1-p,
  .index-wrap-1-p {
    text-align: center;
  }

  .lp-hero__form-wrap {
    margin: 40px auto;
  }

  .service-wrap-4 {
    padding: 108px 0px 180px;
  }

  .service-wrap-4-phone {
    top: 30%;
  }

  .service-wrap-3-main-item .table-responsive {
    border: none;
  }
  
  .service-wrap-3-main-item .table thead {
    display: none; /* hide header on mobile */
  }
  
  .service-wrap-3-main-item .table,
  .service-wrap-3-main-item .table tbody,
  .service-wrap-3-main-item .table tr,
  .service-wrap-3-main-item .table td {
    display: block;
    width: 100%;
  }
  
  .service-wrap-3-main-item .table tr {
    margin-bottom: 16px;
    border: 1px solid var(--bp-border-light);
    border-radius: 14px;
    overflow: hidden;
    background: var(--bp-surface);
  }
  
  .service-wrap-3-main-item .table td {
    position: relative;
    padding-left: 50%;
    padding-top: 12px;
    padding-bottom: 12px;
    border: none;
    border-bottom: 1px solid var(--bp-border-light);
    font-size: 14px;
  }
  
  .service-wrap-3-main-item .table td:last-child {
    border-bottom: none;
  }
  
  .service-wrap-3-main-item .table td::before {
    content: attr(data-label);
    position: absolute;
    left: 18px;
    top: 12px;
    font-weight: 700;
    color: var(--bp-primary);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  
  /* Add data-labels via CSS for mobile (or add to HTML) */
  .service-wrap-3-main-item .table td:nth-child(1)::before { content: "Factor"; }
  .service-wrap-3-main-item .table td:nth-child(2)::before { content: "Traditional"; }
  .service-wrap-3-main-item .table td:nth-child(3)::before { content: "Self-Publishing"; }

  .index-wrap-6-review .index-wrap-6 {
    padding: 70px 0 90px;
  }
  .testimonial-card {
    border-radius: 22px;
  }
  .testimonial-card__book {
    height: 160px;
  }
  .testimonial-card__book-img {
    height: 130px;
    max-width: 95px;
  }
  .testimonial-card__body {
    padding: 1.35rem 1.25rem 1.3rem;
  }
  .testimonial-card__quote {
    font-size: 14.5px;
  }
  .testimonial-card__avatar {
    width: 42px;
    height: 42px;
  }
}

@media screen and (max-width: 576px) {
  .index-wrap-2 {
    clip-path: unset;
    margin-top: unset;
    padding-top: 33px;
    padding-bottom: 22px;
  }
  h3 {
    font-size: 15px;
  }
  h2 {
    font-size: 25px;
  }
  .index-wrap-2 h2 {
    line-height: 30px;
  }
  .index-wrap-3 {
    margin-top: 0%;
    padding: 40px 0px 0px;
  }

  .services-wrap-1-p,
  .contact-wrap-1-p,
  .our-work-wrap-1-p,
  .about-wrap-1-p
  .index-wrap-1-p {
    width: 100%;
  }
  .index-wrap-3::before {
    height: 100%;
  }
  .index-wrap-3-section-2 {
    margin-top: 50px;
    border-radius: 35px;
    padding: 24px 28px 35px 28px;
  }
  .index-wrap-3-section-2-content h2 {
    line-height: 31px;
  }
  .about-wrap-2-section-content h2 {
    line-height: 31px;
  }
  .index-wrap-3-section-3 p {
    line-height: 16px;
  }
  .index-wrap-3-section-2-img {
    height: 400px;
    border-radius: 40px;
  }
  .index-wrap-3-section-3 {
    /* padding: 0px 0px 50px; */
  }
  /* .index-wrap-6-review .index-wrap-6 {
    margin-top: 0%;
    clip-path: unset;
    padding: 50px 0px 95px;
  } */
  .index-wrap-5 {
    padding: 80px 0px 86px;
  }
  /* .index-wrap-6 h2 {
    font-size: 25px;
  } */
  .about-wrap-2 {
    padding: 15px 0px 15px;
  }
  .about-wrap-2 h4 {
    font-size: 16px;
  }
  .about-wrap-2 h2 {
    line-height: 35px;
  }
  .about-wrap-4-section-2 {
    margin: 20px 22px 20px;
  }
  .about-wrap-4-section-2-img {
    width: 100%;
  }
  .about-wrap-5 {
    /* padding: 20px 0px 0px; */
  }
  .about-wrap-5 h2 {
    font-size: 25px;
    line-height: 30px;
  }
  .service-wrap-1 h1 {
    font-size: 30px;
    line-height: 33px;
    padding: 12px 0px 5px;
  }
  .service-wrap-1 {
    padding: 123px 0px 60px;
  }
  .service-wrap-3-main-item {
    height: 560px;
    border-radius: 45px;
  }
  .service-wrap-4-phone {
    display: none !important;
  }
  .service-wrap-4-cta {
    display: none !important;
  }
  .service-wrap-4 {
    padding: 50px 0px 50px;
  }
  .service-wrap-5-main-item h2 {
    font-size: 22px;
    padding-bottom: 20px;
  }
  .service-wrap-5-main-item {
    padding: 35px 35px 40px;
    border-radius: 43px;
  }
  .service-wrap-5 {
    padding: 60px 0px 40px !important;
  }
  .header-mobile-container .header-mobile-ul-1 li a {
    font-size: 20px;
  }
  .mega-menu-icon-main img {
    border-radius: 14px;
  }
  .service-wrap-2-img {
    height: 470px;
  }
  .portfolio-wrap-2 {
    margin-top: 0%;
    clip-path: unset;
    padding: 35px 0px 35px;
  }
  .contact-wrap-2 {
    padding: 30px 0px 30px;
  }
  .contact-wrap-2 h2 {
    font-size: 40px;
  }

  .contact-wrap-1-span,
  .our-work-wrap-1-span,
  .about-wrap-1-span,
  .index-wrap-1-span {
    padding: 3px 0px 3px 5px !important;
  }

  .index-wrap-4-item .index-wrap-4-item-parah {
      height: auto !important;
  }

  .index-wrap-4-item.index-wrap-4-item-margin {
    margin-bottom: 20px;
  }

  .index-wrap-4 h2 {
    padding-bottom: 30px;
  }

  .index-wrap-5-text-img {
    bottom: 10px;
  }

  .book-covers-section {
    padding: 100px 0px 100px !important;
  }

  .footer-cta button {
    width: 100px;
    height: 100px;
  }
  
  .footer-cta button img{
    width: 80%;
  }

  .marquee-cta-2 {
    /* padding: 5px; */
  }

  .custom-main-col-footer-margin {
    gap: .5rem !important;
  }

  .custom-main-col-footer-margin p {
    text-align: center;
  }

  footer .footer-meta-row {
    padding-left: 10px;
    padding-bottom: 20px;
  }

  .book-cover-wrapper {
    height: 280px;
  }
  
  .book-cover-label {
    font-size: 13px;
    min-height: 35px;
  }
  
  .btn-view-book {
    padding: 10px 20px;
    font-size: 12px;
  }

  .topbar__chat {
    display: none;
  }

  .lp-form-card__coupon-badge {
    min-width: 250px;
  }
  .lp-form-card__coupon {
    margin: -64px 0 1.25rem;
  }

  .wrap-1-girl {
    width: min(90vw, 626px) !important;
  }

  .our-work-wrap-1-section-2 picture  {
    width: min(100vw, 626px) !important;
    aspect-ratio: 1000 / 735;
  }

  .services-wrap-1-section-2 picture {
    width: min(75vw, 626px) !important;
    aspect-ratio: 720 / 700;
  }

  .b-marketing-wrap-1-section-2 picture {
    width: min(90vw, 626px) !important;
    aspect-ratio: 800 / 700;
  }

  .b-printing-wrap-1-section-2 picture {
    width: min(90vw, 626px) !important;
    aspect-ratio: 780 / 700;
  }

  .b-publishing-wrap-1-section-2 picture {
    right: auto;
    width: min(100vw, 626px) !important;
    aspect-ratio: 789 / 600;
  }

  .contact-wrap-1-section-2 picture {
    width: min(120vw, 626px) !important;
    aspect-ratio: 1050 / 735;
  }

  .accordion-list li h3 {
    font-size: 14px !important;
  }
}

@media screen and (max-width: 391px) {
  /* .index-wrap-1 {
    padding: 114px 0px 65px;
  } */
  .index-wrap-3-item {
    height: 217px;
  }
  .index-wrap-3-section-2-numbers li h4 {
    font-size: 22px;
  }
  .index-wrap-3-section-2-numbers li h4 span {
    font-size: 25px;
  }
  .index-wrap-3-section-2-numbers li p {
    font-size: 10px;
  }
  .index-wrap-3-section-2-img {
    height: 355px;
    border-radius: 35px;
  }
  .about-wrap-2 h4 {
    font-size: 14px;
  }
  .about-wrap-2 h2 {
    line-height: 30px;
  }
  h4 {
    font-size: 20px;
  }
  h3 {
    font-size: 10px;
  }
  h2 {
    font-size: 20px;
  }
  .about-wrap-3-item h3 {
    font-size: 18px;
  }
  .about-wrap-4-section-2-content h2 {
    font-size: 20px;
  }
  .about-wrap-5 {
    /* padding: 0px 0px 0px; */
  }
  .accordion-list li {
    border-radius: 15px;
    padding: 20px 20px 19px;
    margin-bottom: 10px;
  }
  .marquee-cta-2 {
    transform: rotate(358deg) translateY(20px);
    /* padding: 5px; */
  }
  .index-wrap-5-text-img {
    bottom: 15px;
  }

  .proof-detail-section {
    padding: 48px 0;
  }

  .proof-covers-section {
    padding-top: 56px;
  }

  .proof-stage-item,
  .proof-genre-item:not(.proof-genre-item--media),
  .proof-cover-item,
  .proof-process-step,
  .proof-turnaround {
    padding: 18px 16px;
  }

  .proof-process-step {
    gap: 12px;
  }

  .proof-process-num {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }

  .tr-process-curve {
    display: block;
  }

  .tr-process-visual {
    max-width: 100%;
    margin: 0 auto 24px;
  }

  .tr-process-timeline {
    padding: 0;
  }

  .tr-process-timeline::before {
    display: none;
  }

  .tr-process-step {
    width: 100%;
    margin-left: 0 !important;
    border-radius: 18px;
    padding: 14px 14px;
    gap: 12px;
  }

  .tr-process-num {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }

  .tr-process-body h3 {
    font-size: 16px;
  }

  .proof-stage-item h3,
  .proof-genre-item h3,
  .proof-cover-item h3,
  .proof-sample-callout h3,
  .proof-turnaround h3 {
    font-size: 18px;
  }

  .mkt-image-placeholder,
  .mkt-image-placeholder--hero {
    min-height: 280px;
    padding: 18px;
  }

  .mkt-image-placeholder--wide {
    min-height: 220px;
  }

  .mkt-image--hero {
    max-width: min(92vw, 340px);
    padding: 8px;
    animation: none;
    --mkt-hero-radius: 20px 44px 20px 36px;
  }

  .mkt-image--hero::before {
    inset: 14px -10px -14px 12px;
  }

  .mkt-image--hero::after {
    width: 56px;
    height: 56px;
    top: -8px;
    right: 0;
    box-shadow: 0 0 0 6px rgba(var(--clr-1), 0.12);
  }

  .mkt-image--hero img {
    min-height: 0;
    max-height: none;
  }

  .services-wrap-1-section-2 .mkt-image,
  .b-marketing-wrap-1-section-2 .mkt-image,
  .b-publishing-wrap-1-section-2 .mkt-image,
  .b-printing-wrap-1-section-2 .mkt-image {
    max-height: min(52vh, 380px);
  }

  .services-wrap-1-section-2 .mkt-image--hero,
  .b-marketing-wrap-1-section-2 .mkt-image--hero,
  .b-publishing-wrap-1-section-2 .mkt-image--hero,
  .b-printing-wrap-1-section-2 .mkt-image--hero {
    max-height: none;
  }

  .services-wrap-1-section-2 .mkt-image img,
  .b-marketing-wrap-1-section-2 .mkt-image img,
  .b-publishing-wrap-1-section-2 .mkt-image img,
  .b-printing-wrap-1-section-2 .mkt-image img {
    max-height: min(52vh, 380px);
  }

  .services-wrap-1-section-2 .mkt-image--hero img,
  .b-marketing-wrap-1-section-2 .mkt-image--hero img,
  .b-publishing-wrap-1-section-2 .mkt-image--hero img,
  .b-printing-wrap-1-section-2 .mkt-image--hero img {
    max-height: none;
  }

  .services-wrap-1-section-2 .mkt-image--hero picture,
  .b-marketing-wrap-1-section-2 .mkt-image--hero picture,
  .b-publishing-wrap-1-section-2 .mkt-image--hero picture,
  .b-printing-wrap-1-section-2 .mkt-image--hero picture {
    border-radius: 16px 36px 16px 28px;
  }

  .mkt-image--wide img {
    min-height: 180px;
  }
}

.testimonials-wrap-5-main-item {
  border-radius: 65px;
  align-items: center;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 42px 50px 52px;
  background: var(--bp-surface);
  overflow: hidden; /* prevent any child from escaping the card */
}

.testimonials-wrap-5-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimonials-wrap-5-heading {
  flex: 0 0 auto;
  margin-bottom: 30px;
}

.testimonials-wrap-5-slider {
  flex: 0 1 auto;
}

.testimonials-wrap-5-slide-title {
  width: 100%;
}

.testimonials-wrap-5-slide-title h2 {
  font-size: 42px;
  margin-bottom: 0;
  padding-bottom: 0;
}

.testimonials-wrap-5-layout {
  width: 100%;
  min-width: 0;
}

.testimonials-wrap-5-layout > [class*="col-"] {
  min-width: 0;
}

.testimonials-wrap-5-image-column {
  align-items: center;
  display: flex;
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

.testimonials-wrap-5-image-frame {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 100%;
}

/* .testimonials-wrap-5-author-frame {
  height: 360px;
  max-width: 260px;
} */

.testimonials-wrap-5-author-image,
.testimonials-wrap-5-main-item-book {
  display: block;
  height: calc(100% - 24px);
  max-height: 300px;
  max-width: 100%;
  object-fit: contain;
  position: relative;
  transition: filter 0.3s ease, transform 0.3s ease;
  width: auto;
}

.testimonials-wrap-5-author-image {
  border-radius: 0;
  box-shadow: none;
}

.testimonials-wrap-5-book-frame {
  height: 360px;
  max-width: 260px;
}

/* ---------- Book gallery (the main overflow culprit) ---------- */
.testimonials-wrap-5-book-gallery {
  height: 240px;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: visible; /* allow slight overlap but stay inside parent */
}

.testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(calc(-50% + var(--book-offset, 0px))) rotate(var(--book-rotation, 0deg));
  height: 220px;
  max-width: 150px;
  width: 100%;
  z-index: calc(10 + var(--book-index, 0));
  /* keep the frame itself from pushing layout */
  will-change: transform;
}

.testimonials-wrap-5-main-item-book {
  border: 6px solid #fff;
  border-radius: 16px;
  box-shadow: 0 7px 7px rgb(0 0 0 / 20%);
  margin: 0 auto;
}

.testimonials-wrap-5-image-frame:hover {
  transform: none;
}

.testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame:hover {
  transform: translateX(calc(-50% + var(--book-offset, 0px))) rotate(var(--book-rotation, 0deg));
  z-index: 30;
}

.testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame:hover .testimonials-wrap-5-main-item-book {
  filter: saturate(1.04);
  transform: scale(1.06);
}

.testimonials-wrap-5-main-item-content {
  display: flex;
  gap: 10px;
  flex-direction: column;
  min-width: 0;
}

.testimonials-wrap-5-main-item h3 {
  font-size: 40px;
  text-align: left !important;
}

.testimonials-wrap-5-main-item h4 {
  font-size: 24px;
  text-align: left !important;
  margin-bottom: 0 !important;
}

.testimonials-wrap-5-main-item p {
  height: 150px;
  overflow-y: auto;
  padding-right: 10px;
  text-align: left !important;
  margin-bottom: 0 !important;
}

.testimonials-wrap-5-main-inner-item h6 {
  font-size: 16px;
  padding: 5px 0;
}

.testimonials-wrap-5-main-inner-item p {
  font-size: 12px;
}

.testimonials-wrap-5-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.testimonials-wrap-5-social-link {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(25, 44, 54, 0.12);
  display: inline-flex;
  height: 54px;
  justify-content: center;
  padding: 10px;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  width: 54px;
}

.testimonials-wrap-5-social-link img {
  border-radius: 10px;
  display: block;
  height: 42px;
  object-fit: contain;
  width: 42px;
  transition: transform 0.2s ease;
}

.testimonials-wrap-5-social-link:hover img,
.testimonials-wrap-5-social-link:focus-visible img {
  transform: scale(1.12);
}

.testimonials-wrap-5-social-link i {
  font-size: 19px;
}

.testimonials-wrap-5-social-link:hover,
.testimonials-wrap-5-social-link:focus-visible {
  border-color: var(--bp-primary);
  box-shadow: 0 12px 24px rgba(25, 44, 54, 0.2);
  transform: translateY(-2px);
}

.testimonials-wrap-5-social-link:focus-visible {
  outline: 3px solid var(--bp-primary-mid);
  outline-offset: 3px;
}

.testimonials-wrap-5-main-item h2 {
  font-size: 60px;
}

.testimonials-wrap-5 {
  /* min-height: 100vh; */
  overflow: hidden;
  padding: 70px 0 60px;
}

/* ========== Desktop grid (≥992px) ========== */
@media screen and (min-width: 992px) {
  .testimonials-wrap-5-layout {
    display: grid;
    gap: clamp(16px, 2.2vw, 36px);
    grid-template-columns: minmax(140px, 0.75fr) minmax(0, 1.8fr) minmax(140px, 0.75fr);
    margin-left: 0;
    margin-right: 0;
  }

  .testimonials-wrap-5-layout:not(.has-author) {
    grid-template-columns: minmax(0, 1fr) minmax(140px, 0.75fr);
  }

  .testimonials-wrap-5-layout:not(.has-book) {
    grid-template-columns: minmax(140px, 0.75fr) minmax(0, 1fr);
  }

  .testimonials-wrap-5-layout:not(.has-author):not(.has-book) {
    display: block;
  }

  .testimonials-wrap-5-layout > [class*="col-"] {
    width: auto;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .testimonials-wrap-5-image-column,
  .testimonials-wrap-5-main-item-content {
    align-self: center;
  }

  /* .testimonials-wrap-5-author-frame,
  .testimonials-wrap-5-book-frame {
    width: min(100%, 220px);
    height: clamp(200px, 22vw, 340px);
  } */

  .testimonials-wrap-5-author-image,
  .testimonials-wrap-5-main-item-book {
    max-height: calc(clamp(200px, 22vw, 340px) - 24px);
  }

  /* Scale the book offset so it never overflows the column */
  .testimonials-wrap-5-book-gallery {
    height: clamp(200px, 22vw, 260px);
  }

  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
    height: clamp(180px, 20vw, 230px);
    max-width: clamp(110px, 12vw, 150px);
    /* scale the original 42px offset down on narrower desktops */
    --book-offset-scale: 1;
    transform: translateX(calc(-50% + (var(--book-offset, 0px) * var(--book-offset-scale)))) 
               rotate(var(--book-rotation, 0deg));
  }

  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame:hover {
    transform: translateX(calc(-50% + (var(--book-offset, 0px) * var(--book-offset-scale)))) 
               rotate(var(--book-rotation, 0deg));
  }
}

/* Critical range that was breaking (992–1150px) */
@media screen and (min-width: 992px) and (max-width: 1150px) {
  .testimonials-wrap-5-main-item {
    padding-left: 24px;
    padding-right: 24px;
  }

  .testimonials-wrap-5-layout {
    grid-template-columns: minmax(110px, 0.6fr) minmax(0, 1.8fr) minmax(110px, 0.6fr);
    gap: 12px;
  }

  .testimonials-wrap-5-layout:not(.has-author) {
    grid-template-columns: minmax(0, 1fr) minmax(110px, 0.6fr);
  }

  .testimonials-wrap-5-layout:not(.has-book) {
    grid-template-columns: minmax(110px, 0.6fr) minmax(0, 1fr);
  }

  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
    --book-offset-scale: 0.55; /* much smaller spread */
    max-width: 120px;
  }
}

/* 1024px specific safety (and a bit wider) */
@media screen and (min-width: 992px) and (max-width: 1100px) {
  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
    --book-offset-scale: 0.45;
    max-width: 110px;
  }
}

/* Larger desktop – restore fuller offset */
@media screen and (min-width: 1200px) {
  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
    --book-offset-scale: 0.85;
  }
}

@media screen and (min-width: 1400px) {
  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
    --book-offset-scale: 1;
  }
}

/* ========== Tablet & below ========== */
@media screen and (max-width: 1537px) {
  .testimonials-wrap-5-main-item h3 { font-size: 30px; }
  .testimonials-wrap-5-main-item h4 { font-size: 18px; }
  .testimonials-wrap-5-main-item .p-custom { padding-bottom: 5px; }
  .testimonials-wrap-5-main-inner-item p { font-size: 11px; }
}

@media screen and (max-width: 1441px) {
  .testimonials-wrap-5-main-item h3 { font-size: 25px; }
  .testimonials-wrap-5-main-item h4 { font-size: 16px; }
  .testimonials-wrap-5-main-item .p-custom { padding-bottom: 0; }
  .testimonials-wrap-5-main-inner-item h6 { font-size: 14px; padding: 3px 0 1px; }
  .testimonials-wrap-5-main-inner-item p { font-size: 10px; }
}

@media screen and (max-width: 1367px) {
  .testimonials-wrap-5-main-item h3 { font-size: 20px; }
  .testimonials-wrap-5-main-item h4 { font-size: 15px; }
  .testimonials-wrap-5-main-item-book { max-height: 280px; }
  .testimonials-wrap-5-main-item { padding: 50px 40px 65px; }
  .testimonials-wrap-5-main-item h2 { font-size: 35px; }
}

@media screen and (max-width: 1180px) {
  .testimonials-wrap-5-main-item h2 { font-size: 35px; }
}

@media screen and (max-width: 1024px) {
  .testimonials-wrap-5-main-item-content {
    gap: 10px;
  }

  .testimonials-wrap-5-social-link {
    height: 52px;
    width: 52px;
  }

  .testimonials-wrap-5-social-link img {
    height: 30px;
    width: 30px;
  }

  .testimonials-wrap-5-main-item-book,
  .testimonials-wrap-5-author-image {
    box-shadow: none;
    height: auto;
  }
}

/* Mobile */
@media screen and (max-width: 991.98px) {
  .testimonials-wrap-5-layout {
    display: block; /* fall back to normal Bootstrap stacking */
  }
}

@media screen and (max-width: 768px) {
  .testimonials-wrap-5 {
    min-height: auto;
    padding: 60px 0 50px;
  }

  .testimonials-wrap-5-container {
    min-height: auto;
  }

  .testimonials-wrap-5-heading {
    margin-bottom: 22px;
  }

  .testimonials-wrap-5-main-item {
    display: block;
    padding: 32px 24px 42px;
  }

  .testimonials-wrap-5-slide-title h2 {
    font-size: 30px;
  }

  .testimonials-wrap-5-image-column {
    margin: 14px auto;
  }

  /* .testimonials-wrap-5-author-frame,
  .testimonials-wrap-5-book-frame {
    height: 220px;
  } */

  .testimonials-wrap-5-author-image,
  .testimonials-wrap-5-main-item-book {
    max-height: 220px;
  }

  .testimonials-wrap-5-book-gallery {
    height: 230px;
    max-width: 280px;
    margin: 0 auto;
  }

  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
    height: 200px;
    max-width: 130px;
    --book-offset-scale: 0.7;
    transform: translateX(calc(-50% + (var(--book-offset, 0px) * var(--book-offset-scale)))) 
               rotate(var(--book-rotation, 0deg));
  }

  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame:hover {
    transform: translateX(calc(-50% + (var(--book-offset, 0px) * var(--book-offset-scale)))) 
               rotate(var(--book-rotation, 0deg));
  }

  .testimonials-wrap-5-social-links {
    justify-content: center;
  }

  .testimonials-wrap-5-main-item h3,
  .testimonials-wrap-5-main-item h4,
  .testimonials-wrap-5-main-item p {
    text-align: center !important;
  }

  .testimonials-wrap-5-main-item p {
    height: 140px;
  }
}

@media screen and (max-width: 576px) {
  .testimonials-wrap-5-main-item p {
    height: 120px;
  }
}

@media screen and (max-width: 576px) {
  .testimonials-wrap-5-main-item h2 {
    font-size: 22px;
  }

  .testimonials-wrap-5-main-item {
    padding: 28px 18px 36px;
    border-radius: 43px;
  }

  .testimonials-wrap-5-slide-title h2 {
    font-size: 23px;
  }

  /* .testimonials-wrap-5-author-frame,
  .testimonials-wrap-5-book-frame {
    height: 180px;
  } */

  .testimonials-wrap-5-author-image,
  .testimonials-wrap-5-main-item-book {
    max-height: 180px;
  }

  .testimonials-wrap-5-book-gallery {
    height: 200px;
    max-width: 240px;
  }

  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
    height: 170px;
    max-width: 110px;
    --book-offset-scale: 0.55;
  }
}

@media screen and (max-width: 400px) {
  .testimonials-wrap-5-book-gallery .testimonials-wrap-5-book-frame {
    --book-offset-scale: 0.4;
    max-width: 95px;
  }
}

/* LiveChat: isolate widget layout so late injection doesn't shift the page (CLS) */
#chat-widget-container,
[id^="chat-widget"] {
  contain: layout style;
}

/* —— Floating social chat stack (left) — LiveChat stays bottom-right —— */
.lp-float-social {
  position: fixed;
  z-index: 99998;
  bottom: 24px;
  left: 24px;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 12px;
}

.lp-float-btn {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  color: #fff !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.28);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lp-float-btn:hover,
.lp-float-btn:focus-visible {
  color: #fff !important;
  text-decoration: none;
  transform: scale(1.06);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.32);
}

.lp-float-btn i {
  font-size: 28px;
  line-height: 1;
}

.lp-float-whatsapp {
  background: #25d366;
}

.lp-float-messenger {
  background: #0084ff;
}

.lp-float-instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.lp-chat-fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.92);
  color: #fff;
  border: none;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 8px 32px rgba(47, 132, 117, 0.45),
    0 4px 16px rgba(10, 22, 40, 0.35);
  z-index: 99997;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: transform 0.2s, box-shadow 0.2s;
}

.lp-chat-fab i {
  color: #fff;
  pointer-events: none;
}

.lp-chat-fab:hover,
.lp-chat-fab:focus-visible {
  transform: scale(1.06);
  box-shadow: 0 0 0 1px rgba(47, 132, 117, 0.5), 0 10px 36px rgba(47, 132, 117, 0.5),
    0 4px 16px rgba(10, 22, 40, 0.35);
}

@media (max-width: 991.98px) {
  .lp-float-social {
    bottom: 20px;
    left: 20px;
    gap: 10px;
  }

  .lp-float-btn {
    width: 50px;
    height: 50px;
  }

  .lp-float-btn i {
    font-size: 24px;
  }

  .lp-chat-fab {
    width: 52px;
    height: 52px;
    bottom: 20px;
    right: 20px;
    font-size: 20px;
  }
}

@media (max-width: 575.98px) {
  .lp-float-social {
    bottom: 16px;
    left: 16px;
    gap: 8px;
  }

  .lp-float-btn {
    width: 48px;
    height: 48px;
  }

  .lp-float-btn i {
    font-size: 22px;
  }

  .lp-chat-fab {
    width: 50px;
    height: 50px;
    bottom: 16px;
    right: 16px;
    font-size: 18px;
  }
}

@media (max-width: 400px) {
  .lp-float-social {
    bottom: 12px;
  }

  .lp-chat-fab {
    bottom: 12px;
  }
}