/* ── bootstrap.min.css ── */
@charset "UTF-8";

/*!
 * Bootstrap v5.1.0 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 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-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-rgb: 33, 37, 41;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", 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
}

*,
::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;
    background-color: currentColor;
    border: 0;
    opacity: .25
}

hr:not([size]) {
    height: 1px
}

.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
}

abbr[data-bs-original-title],
abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit
}

ol,
ul {
    padding-left: 2rem
}

dl,
ol,
ul {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

b,
strong {
    font-weight: bolder
}

.small,
small {
    font-size: .875em
}

.mark,
mark {
    padding: .2em;
    background-color: #fcf8e3
}

sub,
sup {
    position: relative;
    font-size: .75em;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    color: #0d6efd;
    text-decoration: underline
}

a:hover {
    color: #0a58ca
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

code,
kbd,
pre,
samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em;
    direction: ltr;
    unicode-bidi: bidi-override
}

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: #d63384;
    word-wrap: break-word
}

a>code {
    color: inherit
}

kbd {
    padding: .2rem .4rem;
    font-size: .875em;
    color: #fff;
    background-color: #212529;
    border-radius: .2rem
}

kbd kbd {
    padding: 0;
    font-size: 1em;
    font-weight: 700
}

figure {
    margin: 0 0 1rem
}

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]::-webkit-calendar-picker-indicator {
    display: none
}

[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
}

::file-selector-button {
    font: inherit
}

::-webkit-file-upload-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
}

.display-1 {
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-1 {
        font-size: 5rem
    }
}

.display-2 {
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-2 {
        font-size: 4.5rem
    }
}

.display-3 {
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-3 {
        font-size: 4rem
    }
}

.display-4 {
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-4 {
        font-size: 3.5rem
    }
}

.display-5 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-5 {
        font-size: 3rem
    }
}

.display-6 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-6 {
        font-size: 2.5rem
    }
}

.list-unstyled {
    padding-left: 0;
    list-style: none
}

.list-inline {
    padding-left: 0;
    list-style: none
}

.list-inline-item {
    display: inline-block
}

.list-inline-item:not(:last-child) {
    margin-right: .5rem
}

.initialism {
    font-size: .875em;
    text-transform: uppercase
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem
}

.blockquote>:last-child {
    margin-bottom: 0
}

.blockquote-footer {
    margin-top: -1rem;
    margin-bottom: 1rem;
    font-size: .875em;
    color: #6c757d
}

.blockquote-footer::before {
    content: "— "
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    max-width: 100%;
    height: auto
}

.figure {
    display: inline-block
}

.figure-img {
    margin-bottom: .5rem;
    line-height: 1
}

.figure-caption {
    font-size: .875em;
    color: #6c757d
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    width: 100%;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    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(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) * -.5);
    margin-left: calc(var(--bs-gutter-x) * -.5)
}

.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%
}

.row-cols-auto>* {
    flex: 0 0 auto;
    width: auto
}

.row-cols-1>* {
    flex: 0 0 auto;
    width: 100%
}

.row-cols-2>* {
    flex: 0 0 auto;
    width: 50%
}

.row-cols-3>* {
    flex: 0 0 auto;
    width: 33.3333333333%
}

.row-cols-4>* {
    flex: 0 0 auto;
    width: 25%
}

.row-cols-5>* {
    flex: 0 0 auto;
    width: 20%
}

.row-cols-6>* {
    flex: 0 0 auto;
    width: 16.6666666667%
}

.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%
}

.offset-1 {
    margin-left: 8.33333333%
}

.offset-2 {
    margin-left: 16.66666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333333%
}

.offset-5 {
    margin-left: 41.66666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333333%
}

.offset-8 {
    margin-left: 66.66666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333333%
}

.offset-11 {
    margin-left: 91.66666667%
}

.g-0,
.gx-0 {
    --bs-gutter-x: 0
}

.g-0,
.gy-0 {
    --bs-gutter-y: 0
}

.g-1,
.gx-1 {
    --bs-gutter-x: 0.25rem
}

.g-1,
.gy-1 {
    --bs-gutter-y: 0.25rem
}

.g-2,
.gx-2 {
    --bs-gutter-x: 0.5rem
}

.g-2,
.gy-2 {
    --bs-gutter-y: 0.5rem
}

.g-3,
.gx-3 {
    --bs-gutter-x: 1rem
}

.g-3,
.gy-3 {
    --bs-gutter-y: 1rem
}

.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem
}

.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem
}

.g-5,
.gx-5 {
    --bs-gutter-x: 3rem
}

.g-5,
.gy-5 {
    --bs-gutter-y: 3rem
}

@media (min-width:576px) {
    .col-sm {
        flex: 1 0 0%
    }
    .row-cols-sm-auto>* {
        flex: 0 0 auto;
        width: auto
    }
    .row-cols-sm-1>* {
        flex: 0 0 auto;
        width: 100%
    }
    .row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 50%
    }
    .row-cols-sm-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }
    .row-cols-sm-4>* {
        flex: 0 0 auto;
        width: 25%
    }
    .row-cols-sm-5>* {
        flex: 0 0 auto;
        width: 20%
    }
    .row-cols-sm-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }
    .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%
    }
    .offset-sm-0 {
        margin-left: 0
    }
    .offset-sm-1 {
        margin-left: 8.33333333%
    }
    .offset-sm-2 {
        margin-left: 16.66666667%
    }
    .offset-sm-3 {
        margin-left: 25%
    }
    .offset-sm-4 {
        margin-left: 33.33333333%
    }
    .offset-sm-5 {
        margin-left: 41.66666667%
    }
    .offset-sm-6 {
        margin-left: 50%
    }
    .offset-sm-7 {
        margin-left: 58.33333333%
    }
    .offset-sm-8 {
        margin-left: 66.66666667%
    }
    .offset-sm-9 {
        margin-left: 75%
    }
    .offset-sm-10 {
        margin-left: 83.33333333%
    }
    .offset-sm-11 {
        margin-left: 91.66666667%
    }
    .g-sm-0,
    .gx-sm-0 {
        --bs-gutter-x: 0
    }
    .g-sm-0,
    .gy-sm-0 {
        --bs-gutter-y: 0
    }
    .g-sm-1,
    .gx-sm-1 {
        --bs-gutter-x: 0.25rem
    }
    .g-sm-1,
    .gy-sm-1 {
        --bs-gutter-y: 0.25rem
    }
    .g-sm-2,
    .gx-sm-2 {
        --bs-gutter-x: 0.5rem
    }
    .g-sm-2,
    .gy-sm-2 {
        --bs-gutter-y: 0.5rem
    }
    .g-sm-3,
    .gx-sm-3 {
        --bs-gutter-x: 1rem
    }
    .g-sm-3,
    .gy-sm-3 {
        --bs-gutter-y: 1rem
    }
    .g-sm-4,
    .gx-sm-4 {
        --bs-gutter-x: 1.5rem
    }
    .g-sm-4,
    .gy-sm-4 {
        --bs-gutter-y: 1.5rem
    }
    .g-sm-5,
    .gx-sm-5 {
        --bs-gutter-x: 3rem
    }
    .g-sm-5,
    .gy-sm-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:768px) {
    .col-md {
        flex: 1 0 0%
    }
    .row-cols-md-auto>* {
        flex: 0 0 auto;
        width: auto
    }
    .row-cols-md-1>* {
        flex: 0 0 auto;
        width: 100%
    }
    .row-cols-md-2>* {
        flex: 0 0 auto;
        width: 50%
    }
    .row-cols-md-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }
    .row-cols-md-4>* {
        flex: 0 0 auto;
        width: 25%
    }
    .row-cols-md-5>* {
        flex: 0 0 auto;
        width: 20%
    }
    .row-cols-md-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }
    .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-0 {
        margin-left: 0
    }
    .offset-md-1 {
        margin-left: 8.33333333%
    }
    .offset-md-2 {
        margin-left: 16.66666667%
    }
    .offset-md-3 {
        margin-left: 25%
    }
    .offset-md-4 {
        margin-left: 33.33333333%
    }
    .offset-md-5 {
        margin-left: 41.66666667%
    }
    .offset-md-6 {
        margin-left: 50%
    }
    .offset-md-7 {
        margin-left: 58.33333333%
    }
    .offset-md-8 {
        margin-left: 66.66666667%
    }
    .offset-md-9 {
        margin-left: 75%
    }
    .offset-md-10 {
        margin-left: 83.33333333%
    }
    .offset-md-11 {
        margin-left: 91.66666667%
    }
    .g-md-0,
    .gx-md-0 {
        --bs-gutter-x: 0
    }
    .g-md-0,
    .gy-md-0 {
        --bs-gutter-y: 0
    }
    .g-md-1,
    .gx-md-1 {
        --bs-gutter-x: 0.25rem
    }
    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: 0.25rem
    }
    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: 0.5rem
    }
    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: 0.5rem
    }
    .g-md-3,
    .gx-md-3 {
        --bs-gutter-x: 1rem
    }
    .g-md-3,
    .gy-md-3 {
        --bs-gutter-y: 1rem
    }
    .g-md-4,
    .gx-md-4 {
        --bs-gutter-x: 1.5rem
    }
    .g-md-4,
    .gy-md-4 {
        --bs-gutter-y: 1.5rem
    }
    .g-md-5,
    .gx-md-5 {
        --bs-gutter-x: 3rem
    }
    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:992px) {
    .col-lg {
        flex: 1 0 0%
    }
    .row-cols-lg-auto>* {
        flex: 0 0 auto;
        width: auto
    }
    .row-cols-lg-1>* {
        flex: 0 0 auto;
        width: 100%
    }
    .row-cols-lg-2>* {
        flex: 0 0 auto;
        width: 50%
    }
    .row-cols-lg-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }
    .row-cols-lg-4>* {
        flex: 0 0 auto;
        width: 25%
    }
    .row-cols-lg-5>* {
        flex: 0 0 auto;
        width: 20%
    }
    .row-cols-lg-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }
    .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-0 {
        margin-left: 0
    }
    .offset-lg-1 {
        margin-left: 8.33333333%
    }
    .offset-lg-2 {
        margin-left: 16.66666667%
    }
    .offset-lg-3 {
        margin-left: 25%
    }
    .offset-lg-4 {
        margin-left: 33.33333333%
    }
    .offset-lg-5 {
        margin-left: 41.66666667%
    }
    .offset-lg-6 {
        margin-left: 50%
    }
    .offset-lg-7 {
        margin-left: 58.33333333%
    }
    .offset-lg-8 {
        margin-left: 66.66666667%
    }
    .offset-lg-9 {
        margin-left: 75%
    }
    .offset-lg-10 {
        margin-left: 83.33333333%
    }
    .offset-lg-11 {
        margin-left: 91.66666667%
    }
    .g-lg-0,
    .gx-lg-0 {
        --bs-gutter-x: 0
    }
    .g-lg-0,
    .gy-lg-0 {
        --bs-gutter-y: 0
    }
    .g-lg-1,
    .gx-lg-1 {
        --bs-gutter-x: 0.25rem
    }
    .g-lg-1,
    .gy-lg-1 {
        --bs-gutter-y: 0.25rem
    }
    .g-lg-2,
    .gx-lg-2 {
        --bs-gutter-x: 0.5rem
    }
    .g-lg-2,
    .gy-lg-2 {
        --bs-gutter-y: 0.5rem
    }
    .g-lg-3,
    .gx-lg-3 {
        --bs-gutter-x: 1rem
    }
    .g-lg-3,
    .gy-lg-3 {
        --bs-gutter-y: 1rem
    }
    .g-lg-4,
    .gx-lg-4 {
        --bs-gutter-x: 1.5rem
    }
    .g-lg-4,
    .gy-lg-4 {
        --bs-gutter-y: 1.5rem
    }
    .g-lg-5,
    .gx-lg-5 {
        --bs-gutter-x: 3rem
    }
    .g-lg-5,
    .gy-lg-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:1200px) {
    .col-xl {
        flex: 1 0 0%
    }
    .row-cols-xl-auto>* {
        flex: 0 0 auto;
        width: auto
    }
    .row-cols-xl-1>* {
        flex: 0 0 auto;
        width: 100%
    }
    .row-cols-xl-2>* {
        flex: 0 0 auto;
        width: 50%
    }
    .row-cols-xl-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }
    .row-cols-xl-4>* {
        flex: 0 0 auto;
        width: 25%
    }
    .row-cols-xl-5>* {
        flex: 0 0 auto;
        width: 20%
    }
    .row-cols-xl-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }
    .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%
    }
    .offset-xl-0 {
        margin-left: 0
    }
    .offset-xl-1 {
        margin-left: 8.33333333%
    }
    .offset-xl-2 {
        margin-left: 16.66666667%
    }
    .offset-xl-3 {
        margin-left: 25%
    }
    .offset-xl-4 {
        margin-left: 33.33333333%
    }
    .offset-xl-5 {
        margin-left: 41.66666667%
    }
    .offset-xl-6 {
        margin-left: 50%
    }
    .offset-xl-7 {
        margin-left: 58.33333333%
    }
    .offset-xl-8 {
        margin-left: 66.66666667%
    }
    .offset-xl-9 {
        margin-left: 75%
    }
    .offset-xl-10 {
        margin-left: 83.33333333%
    }
    .offset-xl-11 {
        margin-left: 91.66666667%
    }
    .g-xl-0,
    .gx-xl-0 {
        --bs-gutter-x: 0
    }
    .g-xl-0,
    .gy-xl-0 {
        --bs-gutter-y: 0
    }
    .g-xl-1,
    .gx-xl-1 {
        --bs-gutter-x: 0.25rem
    }
    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: 0.25rem
    }
    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: 0.5rem
    }
    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: 0.5rem
    }
    .g-xl-3,
    .gx-xl-3 {
        --bs-gutter-x: 1rem
    }
    .g-xl-3,
    .gy-xl-3 {
        --bs-gutter-y: 1rem
    }
    .g-xl-4,
    .gx-xl-4 {
        --bs-gutter-x: 1.5rem
    }
    .g-xl-4,
    .gy-xl-4 {
        --bs-gutter-y: 1.5rem
    }
    .g-xl-5,
    .gx-xl-5 {
        --bs-gutter-x: 3rem
    }
    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:1400px) {
    .col-xxl {
        flex: 1 0 0%
    }
    .row-cols-xxl-auto>* {
        flex: 0 0 auto;
        width: auto
    }
    .row-cols-xxl-1>* {
        flex: 0 0 auto;
        width: 100%
    }
    .row-cols-xxl-2>* {
        flex: 0 0 auto;
        width: 50%
    }
    .row-cols-xxl-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }
    .row-cols-xxl-4>* {
        flex: 0 0 auto;
        width: 25%
    }
    .row-cols-xxl-5>* {
        flex: 0 0 auto;
        width: 20%
    }
    .row-cols-xxl-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }
    .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-0 {
        margin-left: 0
    }
    .offset-xxl-1 {
        margin-left: 8.33333333%
    }
    .offset-xxl-2 {
        margin-left: 16.66666667%
    }
    .offset-xxl-3 {
        margin-left: 25%
    }
    .offset-xxl-4 {
        margin-left: 33.33333333%
    }
    .offset-xxl-5 {
        margin-left: 41.66666667%
    }
    .offset-xxl-6 {
        margin-left: 50%
    }
    .offset-xxl-7 {
        margin-left: 58.33333333%
    }
    .offset-xxl-8 {
        margin-left: 66.66666667%
    }
    .offset-xxl-9 {
        margin-left: 75%
    }
    .offset-xxl-10 {
        margin-left: 83.33333333%
    }
    .offset-xxl-11 {
        margin-left: 91.66666667%
    }
    .g-xxl-0,
    .gx-xxl-0 {
        --bs-gutter-x: 0
    }
    .g-xxl-0,
    .gy-xxl-0 {
        --bs-gutter-y: 0
    }
    .g-xxl-1,
    .gx-xxl-1 {
        --bs-gutter-x: 0.25rem
    }
    .g-xxl-1,
    .gy-xxl-1 {
        --bs-gutter-y: 0.25rem
    }
    .g-xxl-2,
    .gx-xxl-2 {
        --bs-gutter-x: 0.5rem
    }
    .g-xxl-2,
    .gy-xxl-2 {
        --bs-gutter-y: 0.5rem
    }
    .g-xxl-3,
    .gx-xxl-3 {
        --bs-gutter-x: 1rem
    }
    .g-xxl-3,
    .gy-xxl-3 {
        --bs-gutter-y: 1rem
    }
    .g-xxl-4,
    .gx-xxl-4 {
        --bs-gutter-x: 1.5rem
    }
    .g-xxl-4,
    .gy-xxl-4 {
        --bs-gutter-y: 1.5rem
    }
    .g-xxl-5,
    .gx-xxl-5 {
        --bs-gutter-x: 3rem
    }
    .g-xxl-5,
    .gy-xxl-5 {
        --bs-gutter-y: 3rem
    }
}

.table {
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: #212529;
    --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
    --bs-table-active-color: #212529;
    --bs-table-active-bg: rgba(0, 0, 0, 0.1);
    --bs-table-hover-color: #212529;
    --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
    width: 100%;
    margin-bottom: 1rem;
    color: #212529;
    vertical-align: top;
    border-color: #dee2e6
}

.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
}

.table>:not(:last-child)>:last-child>* {
    border-bottom-color: currentColor
}

.caption-top {
    caption-side: top
}

.table-sm>:not(caption)>*>* {
    padding: .25rem .25rem
}

.table-bordered>:not(caption)>* {
    border-width: 1px 0
}

.table-bordered>:not(caption)>*>* {
    border-width: 0 1px
}

.table-borderless>:not(caption)>*>* {
    border-bottom-width: 0
}

.table-striped>tbody>tr:nth-of-type(odd) {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
    color: var(--bs-table-striped-color)
}

.table-active {
    --bs-table-accent-bg: var(--bs-table-active-bg);
    color: var(--bs-table-active-color)
}

.table-hover>tbody>tr:hover {
    --bs-table-accent-bg: var(--bs-table-hover-bg);
    color: var(--bs-table-hover-color)
}

.table-primary {
    --bs-table-bg: #cfe2ff;
    --bs-table-striped-bg: #c5d7f2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bacbe6;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfd1ec;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #bacbe6
}

.table-secondary {
    --bs-table-bg: #e2e3e5;
    --bs-table-striped-bg: #d7d8da;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #cbccce;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #d1d2d4;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #cbccce
}

.table-success {
    --bs-table-bg: #d1e7dd;
    --bs-table-striped-bg: #c7dbd2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bcd0c7;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #c1d6cc;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #bcd0c7
}

.table-info {
    --bs-table-bg: #cff4fc;
    --bs-table-striped-bg: #c5e8ef;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #badce3;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfe2e9;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #badce3
}

.table-warning {
    --bs-table-bg: #fff3cd;
    --bs-table-striped-bg: #f2e7c3;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #e6dbb9;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #ece1be;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #e6dbb9
}

.table-danger {
    --bs-table-bg: #f8d7da;
    --bs-table-striped-bg: #eccccf;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #dfc2c4;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #e5c7ca;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #dfc2c4
}

.table-light {
    --bs-table-bg: #f8f9fa;
    --bs-table-striped-bg: #ecedee;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #dfe0e1;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #e5e6e7;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #dfe0e1
}

.table-dark {
    --bs-table-bg: #212529;
    --bs-table-striped-bg: #2c3034;
    --bs-table-striped-color: #fff;
    --bs-table-active-bg: #373b3e;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #323539;
    --bs-table-hover-color: #fff;
    color: #fff;
    border-color: #373b3e
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
}

@media (max-width:575.98px) {
    .table-responsive-sm {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width:767.98px) {
    .table-responsive-md {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width:991.98px) {
    .table-responsive-lg {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width:1199.98px) {
    .table-responsive-xl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width:1399.98px) {
    .table-responsive-xxl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

.form-label {
    margin-bottom: .5rem
}

.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-text {
    margin-top: .25rem;
    font-size: .875em;
    color: #6c757d
}

.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: .25rem;
    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,
.form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1
}

.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::file-selector-button {
        transition: none
    }
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: #dde0e3
}

.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
}

@media (prefers-reduced-motion:reduce) {
    .form-control::-webkit-file-upload-button {
        -webkit-transition: none;
        transition: none
    }
}

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
    background-color: #dde0e3
}

.form-control-plaintext {
    display: block;
    width: 100%;
    padding: .375rem 0;
    margin-bottom: 0;
    line-height: 1.5;
    color: #212529;
    background-color: transparent;
    border: solid transparent;
    border-width: 1px 0
}

.form-control-plaintext.form-control-lg,
.form-control-plaintext.form-control-sm {
    padding-right: 0;
    padding-left: 0
}

.form-control-sm {
    min-height: calc(1.5em + .5rem + 2px);
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem
}

.form-control-sm::file-selector-button {
    padding: .25rem .5rem;
    margin: -.25rem -.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem
}

.form-control-sm::-webkit-file-upload-button {
    padding: .25rem .5rem;
    margin: -.25rem -.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem
}

.form-control-lg {
    min-height: calc(1.5em + 1rem + 2px);
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .3rem
}

.form-control-lg::file-selector-button {
    padding: .5rem 1rem;
    margin: -.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end: 1rem
}

.form-control-lg::-webkit-file-upload-button {
    padding: .5rem 1rem;
    margin: -.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end: 1rem
}

textarea.form-control {
    min-height: calc(1.5em + .75rem + 2px)
}

textarea.form-control-sm {
    min-height: calc(1.5em + .5rem + 2px)
}

textarea.form-control-lg {
    min-height: calc(1.5em + 1rem + 2px)
}

.form-control-color {
    width: 3rem;
    height: auto;
    padding: .375rem
}

.form-control-color:not(:disabled):not([readonly]) {
    cursor: pointer
}

.form-control-color::-moz-color-swatch {
    height: 1.5em;
    border-radius: .25rem
}

.form-control-color::-webkit-color-swatch {
    height: 1.5em;
    border-radius: .25rem
}

.form-select {
    display: block;
    width: 100%;
    padding: .375rem 2.25rem .375rem .75rem;
    -moz-padding-start: calc(0.75rem - 3px);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

@media (prefers-reduced-motion:reduce) {
    .form-select {
        transition: none
    }
}

.form-select:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
    padding-right: .75rem;
    background-image: none
}

.form-select:disabled {
    background-color: #e9ecef
}

.form-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #212529
}

.form-select-sm {
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: .5rem;
    font-size: .875rem
}

.form-select-lg {
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    font-size: 1.25rem
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem
}

.form-check .form-check-input {
    float: left;
    margin-left: -1.5em
}

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, .25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact
}

.form-check-input[type=checkbox] {
    border-radius: .25em
}

.form-check-input[type=radio] {
    border-radius: 50%
}

.form-check-input:active {
    filter: brightness(90%)
}

.form-check-input:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd
}

.form-check-input:checked[type=checkbox] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")
}

.form-check-input:checked[type=radio] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")
}

.form-check-input[type=checkbox]:indeterminate {
    background-color: #0d6efd;
    border-color: #0d6efd;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")
}

.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: .5
}

.form-check-input:disabled~.form-check-label,
.form-check-input[disabled]~.form-check-label {
    opacity: .5
}

.form-switch {
    padding-left: 2.5em
}

.form-switch .form-check-input {
    width: 2em;
    margin-left: -2.5em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    background-position: left center;
    border-radius: 2em;
    transition: background-position .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-switch .form-check-input {
        transition: none
    }
}

.form-switch .form-check-input:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")
}

.form-switch .form-check-input:checked {
    background-position: right center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")
}

.form-check-inline {
    display: inline-block;
    margin-right: 1rem
}

.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-range {
    width: 100%;
    height: 1.5rem;
    padding: 0;
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.form-range:focus {
    outline: 0
}

.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-range::-moz-focus-outer {
    border: 0
}

.form-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -.25rem;
    background-color: #0d6efd;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -webkit-appearance: none;
    appearance: none
}

@media (prefers-reduced-motion:reduce) {
    .form-range::-webkit-slider-thumb {
        -webkit-transition: none;
        transition: none
    }
}

.form-range::-webkit-slider-thumb:active {
    background-color: #b6d4fe
}

.form-range::-webkit-slider-runnable-track {
    width: 100%;
    height: .5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem
}

.form-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #0d6efd;
    border: 0;
    border-radius: 1rem;
    -moz-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -moz-appearance: none;
    appearance: none
}

@media (prefers-reduced-motion:reduce) {
    .form-range::-moz-range-thumb {
        -moz-transition: none;
        transition: none
    }
}

.form-range::-moz-range-thumb:active {
    background-color: #b6d4fe
}

.form-range::-moz-range-track {
    width: 100%;
    height: .5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem
}

.form-range:disabled {
    pointer-events: none
}

.form-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd
}

.form-range:disabled::-moz-range-thumb {
    background-color: #adb5bd
}

.form-floating {
    position: relative
}

.form-floating>.form-control,
.form-floating>.form-select {
    height: calc(3.5rem + 2px);
    line-height: 1.25
}

.form-floating>label {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    padding: 1rem .75rem;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-floating>label {
        transition: none
    }
}

.form-floating>.form-control {
    padding: 1rem .75rem
}

.form-floating>.form-control::-moz-placeholder {
    color: transparent
}

.form-floating>.form-control::placeholder {
    color: transparent
}

.form-floating>.form-control:not(:-moz-placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:focus,
.form-floating>.form-control:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:-webkit-autofill {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-select {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:not(:-moz-placeholder-shown)~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label,
.form-floating>.form-select~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.form-floating>.form-control:-webkit-autofill~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%
}

.input-group>.form-control,
.input-group>.form-select {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0
}

.input-group>.form-control:focus,
.input-group>.form-select:focus {
    z-index: 3
}

.input-group .btn {
    position: relative;
    z-index: 2
}

.input-group .btn:focus {
    z-index: 3
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    white-space: nowrap;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-radius: .25rem
}

.input-group-lg>.btn,
.input-group-lg>.form-control,
.input-group-lg>.form-select,
.input-group-lg>.input-group-text {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .3rem
}

.input-group-sm>.btn,
.input-group-sm>.form-control,
.input-group-sm>.form-select,
.input-group-sm>.input-group-text {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem
}

.input-group-lg>.form-select,
.input-group-sm>.form-select {
    padding-right: 3rem
}

.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.valid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: #198754
}

.valid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    color: #fff;
    background-color: rgba(25, 135, 84, .9);
    border-radius: .25rem
}

.is-valid~.valid-feedback,
.is-valid~.valid-tooltip,
.was-validated :valid~.valid-feedback,
.was-validated :valid~.valid-tooltip {
    display: block
}

.form-control.is-valid,
.was-validated .form-control: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.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
    border-color: #198754;
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .25)
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-select.is-valid,
.was-validated .form-select:valid {
    border-color: #198754
}

.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"],
.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"] {
    padding-right: 4.125rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), 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.73L.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-position: right .75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-select.is-valid:focus,
.was-validated .form-select:valid:focus {
    border-color: #198754;
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .25)
}

.form-check-input.is-valid,
.was-validated .form-check-input:valid {
    border-color: #198754
}

.form-check-input.is-valid:checked,
.was-validated .form-check-input:valid:checked {
    background-color: #198754
}

.form-check-input.is-valid:focus,
.was-validated .form-check-input:valid:focus {
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .25)
}

.form-check-input.is-valid~.form-check-label,
.was-validated .form-check-input:valid~.form-check-label {
    color: #198754
}

.form-check-inline .form-check-input~.valid-feedback {
    margin-left: .5em
}

.input-group .form-control.is-valid,
.input-group .form-select.is-valid,
.was-validated .input-group .form-control:valid,
.was-validated .input-group .form-select:valid {
    z-index: 1
}

.input-group .form-control.is-valid:focus,
.input-group .form-select.is-valid:focus,
.was-validated .input-group .form-control:valid:focus,
.was-validated .input-group .form-select:valid:focus {
    z-index: 3
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: #dc3545
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    color: #fff;
    background-color: rgba(220, 53, 69, .9);
    border-radius: .25rem
}

.is-invalid~.invalid-feedback,
.is-invalid~.invalid-tooltip,
.was-validated :invalid~.invalid-feedback,
.was-validated :invalid~.invalid-tooltip {
    display: block
}

.form-control.is-invalid,
.was-validated .form-control: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,
.was-validated .form-control:invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25)
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-select.is-invalid,
.was-validated .form-select:invalid {
    border-color: #dc3545
}

.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"],
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"] {
    padding-right: 4.125rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), 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-position: right .75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-select.is-invalid:focus,
.was-validated .form-select:invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25)
}

.form-check-input.is-invalid,
.was-validated .form-check-input:invalid {
    border-color: #dc3545
}

.form-check-input.is-invalid:checked,
.was-validated .form-check-input:invalid:checked {
    background-color: #dc3545
}

.form-check-input.is-invalid:focus,
.was-validated .form-check-input:invalid:focus {
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25)
}

.form-check-input.is-invalid~.form-check-label,
.was-validated .form-check-input:invalid~.form-check-label {
    color: #dc3545
}

.form-check-inline .form-check-input~.invalid-feedback {
    margin-left: .5em
}

.input-group .form-control.is-invalid,
.input-group .form-select.is-invalid,
.was-validated .input-group .form-control:invalid,
.was-validated .input-group .form-select:invalid {
    z-index: 2
}

.input-group .form-control.is-invalid:focus,
.input-group .form-select.is-invalid:focus,
.was-validated .input-group .form-control:invalid:focus,
.was-validated .input-group .form-select:invalid:focus {
    z-index: 3
}

.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    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: #212529
}

.btn-check:focus+.btn,
.btn:focus {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
    pointer-events: none;
    opacity: .65
}

.btn-primary {
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd
}

.btn-primary:hover {
    color: #fff;
    background-color: #0b5ed7;
    border-color: #0a58ca
}

.btn-check:focus+.btn-primary,
.btn-primary:focus {
    color: #fff;
    background-color: #0b5ed7;
    border-color: #0a58ca;
    box-shadow: 0 0 0 .25rem rgba(49, 132, 253, .5)
}

.btn-check:active+.btn-primary,
.btn-check:checked+.btn-primary,
.btn-primary.active,
.btn-primary:active,
.show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0a58ca;
    border-color: #0a53be
}

.btn-check:active+.btn-primary:focus,
.btn-check:checked+.btn-primary:focus,
.btn-primary.active:focus,
.btn-primary:active:focus,
.show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(49, 132, 253, .5)
}

.btn-primary.disabled,
.btn-primary:disabled {
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd
}

.btn-secondary {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d
}

.btn-secondary:hover {
    color: #fff;
    background-color: #5c636a;
    border-color: #565e64
}

.btn-check:focus+.btn-secondary,
.btn-secondary:focus {
    color: #fff;
    background-color: #5c636a;
    border-color: #565e64;
    box-shadow: 0 0 0 .25rem rgba(130, 138, 145, .5)
}

.btn-check:active+.btn-secondary,
.btn-check:checked+.btn-secondary,
.btn-secondary.active,
.btn-secondary:active,
.show>.btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #565e64;
    border-color: #51585e
}

.btn-check:active+.btn-secondary:focus,
.btn-check:checked+.btn-secondary:focus,
.btn-secondary.active:focus,
.btn-secondary:active:focus,
.show>.btn-secondary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(130, 138, 145, .5)
}

.btn-secondary.disabled,
.btn-secondary:disabled {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d
}

.btn-success {
    color: #fff;
    background-color: #198754;
    border-color: #198754
}

.btn-success:hover {
    color: #fff;
    background-color: #157347;
    border-color: #146c43
}

.btn-check:focus+.btn-success,
.btn-success:focus {
    color: #fff;
    background-color: #157347;
    border-color: #146c43;
    box-shadow: 0 0 0 .25rem rgba(60, 153, 110, .5)
}

.btn-check:active+.btn-success,
.btn-check:checked+.btn-success,
.btn-success.active,
.btn-success:active,
.show>.btn-success.dropdown-toggle {
    color: #fff;
    background-color: #146c43;
    border-color: #13653f
}

.btn-check:active+.btn-success:focus,
.btn-check:checked+.btn-success:focus,
.btn-success.active:focus,
.btn-success:active:focus,
.show>.btn-success.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(60, 153, 110, .5)
}

.btn-success.disabled,
.btn-success:disabled {
    color: #fff;
    background-color: #198754;
    border-color: #198754
}

.btn-info {
    color: #000;
    background-color: #0dcaf0;
    border-color: #0dcaf0
}

.btn-info:hover {
    color: #000;
    background-color: #31d2f2;
    border-color: #25cff2
}

.btn-check:focus+.btn-info,
.btn-info:focus {
    color: #000;
    background-color: #31d2f2;
    border-color: #25cff2;
    box-shadow: 0 0 0 .25rem rgba(11, 172, 204, .5)
}

.btn-check:active+.btn-info,
.btn-check:checked+.btn-info,
.btn-info.active,
.btn-info:active,
.show>.btn-info.dropdown-toggle {
    color: #000;
    background-color: #3dd5f3;
    border-color: #25cff2
}

.btn-check:active+.btn-info:focus,
.btn-check:checked+.btn-info:focus,
.btn-info.active:focus,
.btn-info:active:focus,
.show>.btn-info.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(11, 172, 204, .5)
}

.btn-info.disabled,
.btn-info:disabled {
    color: #000;
    background-color: #0dcaf0;
    border-color: #0dcaf0
}

.btn-warning {
    color: #000;
    background-color: #ffc107;
    border-color: #ffc107
}

.btn-warning:hover {
    color: #000;
    background-color: #ffca2c;
    border-color: #ffc720
}

.btn-check:focus+.btn-warning,
.btn-warning:focus {
    color: #000;
    background-color: #ffca2c;
    border-color: #ffc720;
    box-shadow: 0 0 0 .25rem rgba(217, 164, 6, .5)
}

.btn-check:active+.btn-warning,
.btn-check:checked+.btn-warning,
.btn-warning.active,
.btn-warning:active,
.show>.btn-warning.dropdown-toggle {
    color: #000;
    background-color: #ffcd39;
    border-color: #ffc720
}

.btn-check:active+.btn-warning:focus,
.btn-check:checked+.btn-warning:focus,
.btn-warning.active:focus,
.btn-warning:active:focus,
.show>.btn-warning.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(217, 164, 6, .5)
}

.btn-warning.disabled,
.btn-warning:disabled {
    color: #000;
    background-color: #ffc107;
    border-color: #ffc107
}

.btn-danger {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545
}

.btn-danger:hover {
    color: #fff;
    background-color: #bb2d3b;
    border-color: #b02a37
}

.btn-check:focus+.btn-danger,
.btn-danger:focus {
    color: #fff;
    background-color: #bb2d3b;
    border-color: #b02a37;
    box-shadow: 0 0 0 .25rem rgba(225, 83, 97, .5)
}

.btn-check:active+.btn-danger,
.btn-check:checked+.btn-danger,
.btn-danger.active,
.btn-danger:active,
.show>.btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #b02a37;
    border-color: #a52834
}

.btn-check:active+.btn-danger:focus,
.btn-check:checked+.btn-danger:focus,
.btn-danger.active:focus,
.btn-danger:active:focus,
.show>.btn-danger.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(225, 83, 97, .5)
}

.btn-danger.disabled,
.btn-danger:disabled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545
}

.btn-light {
    color: #000;
    background-color: #f8f9fa;
    border-color: #f8f9fa
}

.btn-light:hover {
    color: #000;
    background-color: #f9fafb;
    border-color: #f9fafb
}

.btn-check:focus+.btn-light,
.btn-light:focus {
    color: #000;
    background-color: #f9fafb;
    border-color: #f9fafb;
    box-shadow: 0 0 0 .25rem rgba(211, 212, 213, .5)
}

.btn-check:active+.btn-light,
.btn-check:checked+.btn-light,
.btn-light.active,
.btn-light:active,
.show>.btn-light.dropdown-toggle {
    color: #000;
    background-color: #f9fafb;
    border-color: #f9fafb
}

.btn-check:active+.btn-light:focus,
.btn-check:checked+.btn-light:focus,
.btn-light.active:focus,
.btn-light:active:focus,
.show>.btn-light.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(211, 212, 213, .5)
}

.btn-light.disabled,
.btn-light:disabled {
    color: #000;
    background-color: #f8f9fa;
    border-color: #f8f9fa
}

.btn-dark {
    color: #fff;
    background-color: #212529;
    border-color: #212529
}

.btn-dark:hover {
    color: #fff;
    background-color: #1c1f23;
    border-color: #1a1e21
}

.btn-check:focus+.btn-dark,
.btn-dark:focus {
    color: #fff;
    background-color: #1c1f23;
    border-color: #1a1e21;
    box-shadow: 0 0 0 .25rem rgba(66, 70, 73, .5)
}

.btn-check:active+.btn-dark,
.btn-check:checked+.btn-dark,
.btn-dark.active,
.btn-dark:active,
.show>.btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #1a1e21;
    border-color: #191c1f
}

.btn-check:active+.btn-dark:focus,
.btn-check:checked+.btn-dark:focus,
.btn-dark.active:focus,
.btn-dark:active:focus,
.show>.btn-dark.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(66, 70, 73, .5)
}

.btn-dark.disabled,
.btn-dark:disabled {
    color: #fff;
    background-color: #212529;
    border-color: #212529
}

.btn-outline-primary {
    color: #0d6efd;
    border-color: #0d6efd
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd
}

.btn-check:focus+.btn-outline-primary,
.btn-outline-primary:focus {
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .5)
}

.btn-check:active+.btn-outline-primary,
.btn-check:checked+.btn-outline-primary,
.btn-outline-primary.active,
.btn-outline-primary.dropdown-toggle.show,
.btn-outline-primary:active {
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd
}

.btn-check:active+.btn-outline-primary:focus,
.btn-check:checked+.btn-outline-primary:focus,
.btn-outline-primary.active:focus,
.btn-outline-primary.dropdown-toggle.show:focus,
.btn-outline-primary:active:focus {
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .5)
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
    color: #0d6efd;
    background-color: transparent
}

.btn-outline-secondary {
    color: #6c757d;
    border-color: #6c757d
}

.btn-outline-secondary:hover {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d
}

.btn-check:focus+.btn-outline-secondary,
.btn-outline-secondary:focus {
    box-shadow: 0 0 0 .25rem rgba(108, 117, 125, .5)
}

.btn-check:active+.btn-outline-secondary,
.btn-check:checked+.btn-outline-secondary,
.btn-outline-secondary.active,
.btn-outline-secondary.dropdown-toggle.show,
.btn-outline-secondary:active {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d
}

.btn-check:active+.btn-outline-secondary:focus,
.btn-check:checked+.btn-outline-secondary:focus,
.btn-outline-secondary.active:focus,
.btn-outline-secondary.dropdown-toggle.show:focus,
.btn-outline-secondary:active:focus {
    box-shadow: 0 0 0 .25rem rgba(108, 117, 125, .5)
}

.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
    color: #6c757d;
    background-color: transparent
}

.btn-outline-success {
    color: #198754;
    border-color: #198754
}

.btn-outline-success:hover {
    color: #fff;
    background-color: #198754;
    border-color: #198754
}

.btn-check:focus+.btn-outline-success,
.btn-outline-success:focus {
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .5)
}

.btn-check:active+.btn-outline-success,
.btn-check:checked+.btn-outline-success,
.btn-outline-success.active,
.btn-outline-success.dropdown-toggle.show,
.btn-outline-success:active {
    color: #fff;
    background-color: #198754;
    border-color: #198754
}

.btn-check:active+.btn-outline-success:focus,
.btn-check:checked+.btn-outline-success:focus,
.btn-outline-success.active:focus,
.btn-outline-success.dropdown-toggle.show:focus,
.btn-outline-success:active:focus {
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .5)
}

.btn-outline-success.disabled,
.btn-outline-success:disabled {
    color: #198754;
    background-color: transparent
}

.btn-outline-info {
    color: #0dcaf0;
    border-color: #0dcaf0
}

.btn-outline-info:hover {
    color: #000;
    background-color: #0dcaf0;
    border-color: #0dcaf0
}

.btn-check:focus+.btn-outline-info,
.btn-outline-info:focus {
    box-shadow: 0 0 0 .25rem rgba(13, 202, 240, .5)
}

.btn-check:active+.btn-outline-info,
.btn-check:checked+.btn-outline-info,
.btn-outline-info.active,
.btn-outline-info.dropdown-toggle.show,
.btn-outline-info:active {
    color: #000;
    background-color: #0dcaf0;
    border-color: #0dcaf0
}

.btn-check:active+.btn-outline-info:focus,
.btn-check:checked+.btn-outline-info:focus,
.btn-outline-info.active:focus,
.btn-outline-info.dropdown-toggle.show:focus,
.btn-outline-info:active:focus {
    box-shadow: 0 0 0 .25rem rgba(13, 202, 240, .5)
}

.btn-outline-info.disabled,
.btn-outline-info:disabled {
    color: #0dcaf0;
    background-color: transparent
}

.btn-outline-warning {
    color: #ffc107;
    border-color: #ffc107
}

.btn-outline-warning:hover {
    color: #000;
    background-color: #ffc107;
    border-color: #ffc107
}

.btn-check:focus+.btn-outline-warning,
.btn-outline-warning:focus {
    box-shadow: 0 0 0 .25rem rgba(255, 193, 7, .5)
}

.btn-check:active+.btn-outline-warning,
.btn-check:checked+.btn-outline-warning,
.btn-outline-warning.active,
.btn-outline-warning.dropdown-toggle.show,
.btn-outline-warning:active {
    color: #000;
    background-color: #ffc107;
    border-color: #ffc107
}

.btn-check:active+.btn-outline-warning:focus,
.btn-check:checked+.btn-outline-warning:focus,
.btn-outline-warning.active:focus,
.btn-outline-warning.dropdown-toggle.show:focus,
.btn-outline-warning:active:focus {
    box-shadow: 0 0 0 .25rem rgba(255, 193, 7, .5)
}

.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
    color: #ffc107;
    background-color: transparent
}

.btn-outline-danger {
    color: #dc3545;
    border-color: #dc3545
}

.btn-outline-danger:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545
}

.btn-check:focus+.btn-outline-danger,
.btn-outline-danger:focus {
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .5)
}

.btn-check:active+.btn-outline-danger,
.btn-check:checked+.btn-outline-danger,
.btn-outline-danger.active,
.btn-outline-danger.dropdown-toggle.show,
.btn-outline-danger:active {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545
}

.btn-check:active+.btn-outline-danger:focus,
.btn-check:checked+.btn-outline-danger:focus,
.btn-outline-danger.active:focus,
.btn-outline-danger.dropdown-toggle.show:focus,
.btn-outline-danger:active:focus {
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .5)
}

.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
    color: #dc3545;
    background-color: transparent
}

.btn-outline-light {
    color: #f8f9fa;
    border-color: #f8f9fa
}

.btn-outline-light:hover {
    color: #000;
    background-color: #f8f9fa;
    border-color: #f8f9fa
}

.btn-check:focus+.btn-outline-light,
.btn-outline-light:focus {
    box-shadow: 0 0 0 .25rem rgba(248, 249, 250, .5)
}

.btn-check:active+.btn-outline-light,
.btn-check:checked+.btn-outline-light,
.btn-outline-light.active,
.btn-outline-light.dropdown-toggle.show,
.btn-outline-light:active {
    color: #000;
    background-color: #f8f9fa;
    border-color: #f8f9fa
}

.btn-check:active+.btn-outline-light:focus,
.btn-check:checked+.btn-outline-light:focus,
.btn-outline-light.active:focus,
.btn-outline-light.dropdown-toggle.show:focus,
.btn-outline-light:active:focus {
    box-shadow: 0 0 0 .25rem rgba(248, 249, 250, .5)
}

.btn-outline-light.disabled,
.btn-outline-light:disabled {
    color: #f8f9fa;
    background-color: transparent
}

.btn-outline-dark {
    color: #212529;
    border-color: #212529
}

.btn-outline-dark:hover {
    color: #fff;
    background-color: #212529;
    border-color: #212529
}

.btn-check:focus+.btn-outline-dark,
.btn-outline-dark:focus {
    box-shadow: 0 0 0 .25rem rgba(33, 37, 41, .5)
}

.btn-check:active+.btn-outline-dark,
.btn-check:checked+.btn-outline-dark,
.btn-outline-dark.active,
.btn-outline-dark.dropdown-toggle.show,
.btn-outline-dark:active {
    color: #fff;
    background-color: #212529;
    border-color: #212529
}

.btn-check:active+.btn-outline-dark:focus,
.btn-check:checked+.btn-outline-dark:focus,
.btn-outline-dark.active:focus,
.btn-outline-dark.dropdown-toggle.show:focus,
.btn-outline-dark:active:focus {
    box-shadow: 0 0 0 .25rem rgba(33, 37, 41, .5)
}

.btn-outline-dark.disabled,
.btn-outline-dark:disabled {
    color: #212529;
    background-color: transparent
}

.btn-link {
    font-weight: 400;
    color: #0d6efd;
    text-decoration: underline
}

.btn-link:hover {
    color: #0a58ca
}

.btn-link.disabled,
.btn-link:disabled {
    color: #6c757d
}

.btn-group-lg>.btn,
.btn-lg {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .3rem
}

.btn-group-sm>.btn,
.btn-sm {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem
}

.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,
.dropend,
.dropstart,
.dropup {
    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 {
    position: absolute;
    z-index: 1000;
    display: none;
    min-width: 10rem;
    padding: .5rem 0;
    margin: 0;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: .25rem
}

.dropdown-menu[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: .125rem
}

.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: .125rem
}

.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: .125rem
}

.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: .125rem
}

.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: .5rem 0;
    overflow: hidden;
    border-top: 1px solid rgba(0, 0, 0, .15)
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: .25rem 1rem;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0
}

.dropdown-item:focus,
.dropdown-item:hover {
    color: #1e2125;
    background-color: #e9ecef
}

.dropdown-item.active,
.dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #0d6efd
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    color: #adb5bd;
    pointer-events: none;
    background-color: transparent
}

.dropdown-menu.show {
    display: block
}

.dropdown-header {
    display: block;
    padding: .5rem 1rem;
    margin-bottom: 0;
    font-size: .875rem;
    color: #6c757d;
    white-space: nowrap
}

.dropdown-item-text {
    display: block;
    padding: .25rem 1rem;
    color: #212529
}

.dropdown-menu-dark {
    color: #dee2e6;
    background-color: #343a40;
    border-color: rgba(0, 0, 0, .15)
}

.dropdown-menu-dark .dropdown-item {
    color: #dee2e6
}

.dropdown-menu-dark .dropdown-item:focus,
.dropdown-menu-dark .dropdown-item:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, .15)
}

.dropdown-menu-dark .dropdown-item.active,
.dropdown-menu-dark .dropdown-item:active {
    color: #fff;
    background-color: #0d6efd
}

.dropdown-menu-dark .dropdown-item.disabled,
.dropdown-menu-dark .dropdown-item:disabled {
    color: #adb5bd
}

.dropdown-menu-dark .dropdown-divider {
    border-color: rgba(0, 0, 0, .15)
}

.dropdown-menu-dark .dropdown-item-text {
    color: #dee2e6
}

.dropdown-menu-dark .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-toolbar .input-group {
    width: auto
}

.btn-group>.btn-group:not(:first-child),
.btn-group>.btn:not(:first-child) {
    margin-left: -1px
}

.btn-group>.btn-group:not(:last-child)>.btn,
.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 {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.nav-link {
    display: block;
    padding: .5rem 1rem;
    color: #0d6efd;
    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: #0a58ca
}

.nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default
}

.nav-tabs {
    border-bottom: 1px solid #dee2e6
}

.nav-tabs .nav-link {
    margin-bottom: -1px;
    background: 0 0;
    border: 1px solid transparent;
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
    border-color: #e9ecef #e9ecef #dee2e6;
    isolation: isolate
}

.nav-tabs .nav-link.disabled {
    color: #6c757d;
    background-color: transparent;
    border-color: transparent
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff
}

.nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.nav-pills .nav-link {
    background: 0 0;
    border: 0;
    border-radius: .25rem
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    color: #fff;
    background-color: #0d6efd
}

.nav-fill .nav-item,
.nav-fill>.nav-link {
    flex: 1 1 auto;
    text-align: center
}

.nav-justified .nav-item,
.nav-justified>.nav-link {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
    width: 100%
}

.tab-content>.tab-pane {
    display: none
}

.tab-content>.active {
    display: block
}

.navbar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding-top: .5rem;
    padding-bottom: .5rem
}

.navbar>.container,
.navbar>.container-fluid,
.navbar>.container-lg,
.navbar>.container-md,
.navbar>.container-sm,
.navbar>.container-xl,
.navbar>.container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between
}

.navbar-brand {
    padding-top: .3125rem;
    padding-bottom: .3125rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    text-decoration: none;
    white-space: nowrap
}

.navbar-nav {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0
}

.navbar-nav .dropdown-menu {
    position: static
}

.navbar-text {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center
}

.navbar-toggler {
    padding: .25rem .75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .25rem;
    transition: box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .navbar-toggler {
        transition: none
    }
}

.navbar-toggler:hover {
    text-decoration: none
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 .25rem
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 75vh);
    overflow-y: auto
}

@media (min-width:576px) {
    .navbar-expand-sm {
        flex-wrap: nowrap;
        justify-content: flex-start
    }
    .navbar-expand-sm .navbar-nav {
        flex-direction: row
    }
    .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute
    }
    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem
    }
    .navbar-expand-sm .navbar-nav-scroll {
        overflow: visible
    }
    .navbar-expand-sm .navbar-collapse {
        display: flex!important;
        flex-basis: auto
    }
    .navbar-expand-sm .navbar-toggler {
        display: none
    }
    .navbar-expand-sm .offcanvas-header {
        display: none
    }
    .navbar-expand-sm .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        flex-grow: 1;
        visibility: visible!important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        transform: none
    }
    .navbar-expand-sm .offcanvas-bottom,
    .navbar-expand-sm .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0
    }
    .navbar-expand-sm .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:768px) {
    .navbar-expand-md {
        flex-wrap: nowrap;
        justify-content: flex-start
    }
    .navbar-expand-md .navbar-nav {
        flex-direction: row
    }
    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute
    }
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem
    }
    .navbar-expand-md .navbar-nav-scroll {
        overflow: visible
    }
    .navbar-expand-md .navbar-collapse {
        display: flex!important;
        flex-basis: auto
    }
    .navbar-expand-md .navbar-toggler {
        display: none
    }
    .navbar-expand-md .offcanvas-header {
        display: none
    }
    .navbar-expand-md .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        flex-grow: 1;
        visibility: visible!important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        transform: none
    }
    .navbar-expand-md .offcanvas-bottom,
    .navbar-expand-md .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0
    }
    .navbar-expand-md .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:992px) {
    .navbar-expand-lg {
        flex-wrap: nowrap;
        justify-content: flex-start
    }
    .navbar-expand-lg .navbar-nav {
        flex-direction: row
    }
    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem
    }
    .navbar-expand-lg .navbar-nav-scroll {
        overflow: visible
    }
    .navbar-expand-lg .navbar-collapse {
        display: flex!important;
        flex-basis: auto
    }
    .navbar-expand-lg .navbar-toggler {
        display: none
    }
    .navbar-expand-lg .offcanvas-header {
        display: none
    }
    .navbar-expand-lg .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        flex-grow: 1;
        visibility: visible!important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        transform: none
    }
    .navbar-expand-lg .offcanvas-bottom,
    .navbar-expand-lg .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0
    }
    .navbar-expand-lg .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:1200px) {
    .navbar-expand-xl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }
    .navbar-expand-xl .navbar-nav {
        flex-direction: row
    }
    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute
    }
    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem
    }
    .navbar-expand-xl .navbar-nav-scroll {
        overflow: visible
    }
    .navbar-expand-xl .navbar-collapse {
        display: flex!important;
        flex-basis: auto
    }
    .navbar-expand-xl .navbar-toggler {
        display: none
    }
    .navbar-expand-xl .offcanvas-header {
        display: none
    }
    .navbar-expand-xl .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        flex-grow: 1;
        visibility: visible!important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        transform: none
    }
    .navbar-expand-xl .offcanvas-bottom,
    .navbar-expand-xl .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0
    }
    .navbar-expand-xl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:1400px) {
    .navbar-expand-xxl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }
    .navbar-expand-xxl .navbar-nav {
        flex-direction: row
    }
    .navbar-expand-xxl .navbar-nav .dropdown-menu {
        position: absolute
    }
    .navbar-expand-xxl .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem
    }
    .navbar-expand-xxl .navbar-nav-scroll {
        overflow: visible
    }
    .navbar-expand-xxl .navbar-collapse {
        display: flex!important;
        flex-basis: auto
    }
    .navbar-expand-xxl .navbar-toggler {
        display: none
    }
    .navbar-expand-xxl .offcanvas-header {
        display: none
    }
    .navbar-expand-xxl .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        flex-grow: 1;
        visibility: visible!important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        transform: none
    }
    .navbar-expand-xxl .offcanvas-bottom,
    .navbar-expand-xxl .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0
    }
    .navbar-expand-xxl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

.navbar-expand {
    flex-wrap: nowrap;
    justify-content: flex-start
}

.navbar-expand .navbar-nav {
    flex-direction: row
}

.navbar-expand .navbar-nav .dropdown-menu {
    position: absolute
}

.navbar-expand .navbar-nav .nav-link {
    padding-right: .5rem;
    padding-left: .5rem
}

.navbar-expand .navbar-nav-scroll {
    overflow: visible
}

.navbar-expand .navbar-collapse {
    display: flex!important;
    flex-basis: auto
}

.navbar-expand .navbar-toggler {
    display: none
}

.navbar-expand .offcanvas-header {
    display: none
}

.navbar-expand .offcanvas {
    position: inherit;
    bottom: 0;
    z-index: 1000;
    flex-grow: 1;
    visibility: visible!important;
    background-color: transparent;
    border-right: 0;
    border-left: 0;
    transition: none;
    transform: none
}

.navbar-expand .offcanvas-bottom,
.navbar-expand .offcanvas-top {
    height: auto;
    border-top: 0;
    border-bottom: 0
}

.navbar-expand .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible
}

.navbar-light .navbar-brand {
    color: rgba(0, 0, 0, .9)
}

.navbar-light .navbar-brand:focus,
.navbar-light .navbar-brand:hover {
    color: rgba(0, 0, 0, .9)
}

.navbar-light .navbar-nav .nav-link {
    color: rgba(0, 0, 0, .55)
}

.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
    color: rgba(0, 0, 0, .7)
}

.navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(0, 0, 0, .3)
}

.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .show>.nav-link {
    color: rgba(0, 0, 0, .9)
}

.navbar-light .navbar-toggler {
    color: rgba(0, 0, 0, .55);
    border-color: rgba(0, 0, 0, .1)
}

.navbar-light .navbar-toggler-icon {
    background-image: 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")
}

.navbar-light .navbar-text {
    color: rgba(0, 0, 0, .55)
}

.navbar-light .navbar-text a,
.navbar-light .navbar-text a:focus,
.navbar-light .navbar-text a:hover {
    color: rgba(0, 0, 0, .9)
}

.navbar-dark .navbar-brand {
    color: #fff
}

.navbar-dark .navbar-brand:focus,
.navbar-dark .navbar-brand:hover {
    color: #fff
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, .55)
}

.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover {
    color: rgba(255, 255, 255, .75)
}

.navbar-dark .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, .25)
}

.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show>.nav-link {
    color: #fff
}

.navbar-dark .navbar-toggler {
    color: rgba(255, 255, 255, .55);
    border-color: rgba(255, 255, 255, .1)
}

.navbar-dark .navbar-toggler-icon {
    background-image: 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")
}

.navbar-dark .navbar-text {
    color: rgba(255, 255, 255, .55)
}

.navbar-dark .navbar-text a,
.navbar-dark .navbar-text a:focus,
.navbar-dark .navbar-text a:hover {
    color: #fff
}

.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, .125);
    border-radius: .25rem
}

.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: calc(.25rem - 1px);
    border-top-right-radius: calc(.25rem - 1px)
}

.card>.list-group:last-child {
    border-bottom-width: 0;
    border-bottom-right-radius: calc(.25rem - 1px);
    border-bottom-left-radius: calc(.25rem - 1px)
}

.card>.card-header+.list-group,
.card>.list-group+.card-footer {
    border-top: 0
}

.card-body {
    flex: 1 1 auto;
    padding: 1rem 1rem
}

.card-title {
    margin-bottom: .5rem
}

.card-subtitle {
    margin-top: -.25rem;
    margin-bottom: 0
}

.card-text:last-child {
    margin-bottom: 0
}

.card-link+.card-link {
    margin-left: 1rem
}

.card-header {
    padding: .5rem 1rem;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, .03);
    border-bottom: 1px solid rgba(0, 0, 0, .125)
}

.card-header:first-child {
    border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0
}

.card-footer {
    padding: .5rem 1rem;
    background-color: rgba(0, 0, 0, .03);
    border-top: 1px solid rgba(0, 0, 0, .125)
}

.card-footer:last-child {
    border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px)
}

.card-header-tabs {
    margin-right: -.5rem;
    margin-bottom: -.5rem;
    margin-left: -.5rem;
    border-bottom: 0
}

.card-header-pills {
    margin-right: -.5rem;
    margin-left: -.5rem
}

.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1rem;
    border-radius: calc(.25rem - 1px)
}

.card-img,
.card-img-bottom,
.card-img-top {
    width: 100%
}

.card-img,
.card-img-top {
    border-top-left-radius: calc(.25rem - 1px);
    border-top-right-radius: calc(.25rem - 1px)
}

.card-img,
.card-img-bottom {
    border-bottom-right-radius: calc(.25rem - 1px);
    border-bottom-left-radius: calc(.25rem - 1px)
}

.card-group>.card {
    margin-bottom: .75rem
}

@media (min-width:576px) {
    .card-group {
        display: flex;
        flex-flow: row wrap
    }
    .card-group>.card {
        flex: 1 0 0%;
        margin-bottom: 0
    }
    .card-group>.card+.card {
        margin-left: 0;
        border-left: 0
    }
    .card-group>.card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }
    .card-group>.card:not(:last-child) .card-header,
    .card-group>.card:not(:last-child) .card-img-top {
        border-top-right-radius: 0
    }
    .card-group>.card:not(:last-child) .card-footer,
    .card-group>.card:not(:last-child) .card-img-bottom {
        border-bottom-right-radius: 0
    }
    .card-group>.card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }
    .card-group>.card:not(:first-child) .card-header,
    .card-group>.card:not(:first-child) .card-img-top {
        border-top-left-radius: 0
    }
    .card-group>.card:not(:first-child) .card-footer,
    .card-group>.card:not(:first-child) .card-img-bottom {
        border-bottom-left-radius: 0
    }
}

.accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    background-color: #fff;
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease
}

@media (prefers-reduced-motion:reduce) {
    .accordion-button {
        transition: none
    }
}

.accordion-button:not(.collapsed) {
    color: #0c63e4;
    background-color: #e7f1ff;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .125)
}

.accordion-button:not(.collapsed)::after {
    background-image: 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");
    transform: rotate(-180deg)
}

.accordion-button::after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: 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");
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform .2s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .accordion-button::after {
        transition: none
    }
}

.accordion-button:hover {
    z-index: 2
}

.accordion-button:focus {
    z-index: 3;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.accordion-header {
    margin-bottom: 0
}

.accordion-item {
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .125)
}

.accordion-item:first-of-type {
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem
}

.accordion-item:first-of-type .accordion-button {
    border-top-left-radius: calc(.25rem - 1px);
    border-top-right-radius: calc(.25rem - 1px)
}

.accordion-item:not(:first-of-type) {
    border-top: 0
}

.accordion-item:last-of-type {
    border-bottom-right-radius: .25rem;
    border-bottom-left-radius: .25rem
}

.accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: calc(.25rem - 1px);
    border-bottom-left-radius: calc(.25rem - 1px)
}

.accordion-item:last-of-type .accordion-collapse {
    border-bottom-right-radius: .25rem;
    border-bottom-left-radius: .25rem
}

.accordion-body {
    padding: 1rem 1.25rem
}

.accordion-flush .accordion-collapse {
    border-width: 0
}

.accordion-flush .accordion-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0
}

.accordion-flush .accordion-item:first-child {
    border-top: 0
}

.accordion-flush .accordion-item:last-child {
    border-bottom: 0
}

.accordion-flush .accordion-item .accordion-button {
    border-radius: 0
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0;
    margin-bottom: 1rem;
    list-style: none
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: .5rem
}

.breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: .5rem;
    color: #6c757d;
    content: var(--bs-breadcrumb-divider, "/")
}

.breadcrumb-item.active {
    color: #6c757d
}

.pagination {
    display: flex;
    padding-left: 0;
    list-style: none
}

.page-link {
    position: relative;
    display: block;
    color: #0d6efd;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dee2e6;
    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) {
    .page-link {
        transition: none
    }
}

.page-link:hover {
    z-index: 2;
    color: #0a58ca;
    background-color: #e9ecef;
    border-color: #dee2e6
}

.page-link:focus {
    z-index: 3;
    color: #0a58ca;
    background-color: #e9ecef;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.page-item:not(:first-child) .page-link {
    margin-left: -1px
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd
}

.page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6
}

.page-link {
    padding: .375rem .75rem
}

.page-item:first-child .page-link {
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem
}

.page-item:last-child .page-link {
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem
}

.pagination-lg .page-link {
    padding: .75rem 1.5rem;
    font-size: 1.25rem
}

.pagination-lg .page-item:first-child .page-link {
    border-top-left-radius: .3rem;
    border-bottom-left-radius: .3rem
}

.pagination-lg .page-item:last-child .page-link {
    border-top-right-radius: .3rem;
    border-bottom-right-radius: .3rem
}

.pagination-sm .page-link {
    padding: .25rem .5rem;
    font-size: .875rem
}

.pagination-sm .page-item:first-child .page-link {
    border-top-left-radius: .2rem;
    border-bottom-left-radius: .2rem
}

.pagination-sm .page-item:last-child .page-link {
    border-top-right-radius: .2rem;
    border-bottom-right-radius: .2rem
}

.badge {
    display: inline-block;
    padding: .35em .65em;
    font-size: .75em;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem
}

.badge:empty {
    display: none
}

.btn .badge {
    position: relative;
    top: -1px
}

.alert {
    position: relative;
    padding: 1rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem
}

.alert-heading {
    color: inherit
}

.alert-link {
    font-weight: 700
}

.alert-dismissible {
    padding-right: 3rem
}

.alert-dismissible .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 1.25rem 1rem
}

.alert-primary {
    color: #084298;
    background-color: #cfe2ff;
    border-color: #b6d4fe
}

.alert-primary .alert-link {
    color: #06357a
}

.alert-secondary {
    color: #41464b;
    background-color: #e2e3e5;
    border-color: #d3d6d8
}

.alert-secondary .alert-link {
    color: #34383c
}

.alert-success {
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc
}

.alert-success .alert-link {
    color: #0c4128
}

.alert-info {
    color: #055160;
    background-color: #cff4fc;
    border-color: #b6effb
}

.alert-info .alert-link {
    color: #04414d
}

.alert-warning {
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5
}

.alert-warning .alert-link {
    color: #523e02
}

.alert-danger {
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7
}

.alert-danger .alert-link {
    color: #6a1a21
}

.alert-light {
    color: #636464;
    background-color: #fefefe;
    border-color: #fdfdfe
}

.alert-light .alert-link {
    color: #4f5050
}

.alert-dark {
    color: #141619;
    background-color: #d3d3d4;
    border-color: #bcbebf
}

.alert-dark .alert-link {
    color: #101214
}

@-webkit-keyframes progress-bar-stripes {
    0% {
        background-position-x: 1rem
    }
}

@keyframes progress-bar-stripes {
    0% {
        background-position-x: 1rem
    }
}

.progress {
    display: flex;
    height: 1rem;
    overflow: hidden;
    font-size: .75rem;
    background-color: #e9ecef;
    border-radius: .25rem
}

.progress-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    background-color: #0d6efd;
    transition: width .6s ease
}

@media (prefers-reduced-motion:reduce) {
    .progress-bar {
        transition: none
    }
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
    background-size: 1rem 1rem
}

.progress-bar-animated {
    -webkit-animation: 1s linear infinite progress-bar-stripes;
    animation: 1s linear infinite progress-bar-stripes
}

@media (prefers-reduced-motion:reduce) {
    .progress-bar-animated {
        -webkit-animation: none;
        animation: none
    }
}

.list-group {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: .25rem
}

.list-group-numbered {
    list-style-type: none;
    counter-reset: section
}

.list-group-numbered>li::before {
    content: counters(section, ".") ". ";
    counter-increment: section
}

.list-group-item-action {
    width: 100%;
    color: #495057;
    text-align: inherit
}

.list-group-item-action:focus,
.list-group-item-action:hover {
    z-index: 1;
    color: #495057;
    text-decoration: none;
    background-color: #f8f9fa
}

.list-group-item-action:active {
    color: #212529;
    background-color: #e9ecef
}

.list-group-item {
    position: relative;
    display: block;
    padding: .5rem 1rem;
    color: #212529;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .125)
}

.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: #6c757d;
    pointer-events: none;
    background-color: #fff
}

.list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd
}

.list-group-item+.list-group-item {
    border-top-width: 0
}

.list-group-item+.list-group-item.active {
    margin-top: -1px;
    border-top-width: 1px
}

.list-group-horizontal {
    flex-direction: row
}

.list-group-horizontal>.list-group-item:first-child {
    border-bottom-left-radius: .25rem;
    border-top-right-radius: 0
}

.list-group-horizontal>.list-group-item:last-child {
    border-top-right-radius: .25rem;
    border-bottom-left-radius: 0
}

.list-group-horizontal>.list-group-item.active {
    margin-top: 0
}

.list-group-horizontal>.list-group-item+.list-group-item {
    border-top-width: 1px;
    border-left-width: 0
}

.list-group-horizontal>.list-group-item+.list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px
}

@media (min-width:576px) {
    .list-group-horizontal-sm {
        flex-direction: row
    }
    .list-group-horizontal-sm>.list-group-item:first-child {
        border-bottom-left-radius: .25rem;
        border-top-right-radius: 0
    }
    .list-group-horizontal-sm>.list-group-item:last-child {
        border-top-right-radius: .25rem;
        border-bottom-left-radius: 0
    }
    .list-group-horizontal-sm>.list-group-item.active {
        margin-top: 0
    }
    .list-group-horizontal-sm>.list-group-item+.list-group-item {
        border-top-width: 1px;
        border-left-width: 0
    }
    .list-group-horizontal-sm>.list-group-item+.list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px
    }
}

@media (min-width:768px) {
    .list-group-horizontal-md {
        flex-direction: row
    }
    .list-group-horizontal-md>.list-group-item:first-child {
        border-bottom-left-radius: .25rem;
        border-top-right-radius: 0
    }
    .list-group-horizontal-md>.list-group-item:last-child {
        border-top-right-radius: .25rem;
        border-bottom-left-radius: 0
    }
    .list-group-horizontal-md>.list-group-item.active {
        margin-top: 0
    }
    .list-group-horizontal-md>.list-group-item+.list-group-item {
        border-top-width: 1px;
        border-left-width: 0
    }
    .list-group-horizontal-md>.list-group-item+.list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px
    }
}

@media (min-width:992px) {
    .list-group-horizontal-lg {
        flex-direction: row
    }
    .list-group-horizontal-lg>.list-group-item:first-child {
        border-bottom-left-radius: .25rem;
        border-top-right-radius: 0
    }
    .list-group-horizontal-lg>.list-group-item:last-child {
        border-top-right-radius: .25rem;
        border-bottom-left-radius: 0
    }
    .list-group-horizontal-lg>.list-group-item.active {
        margin-top: 0
    }
    .list-group-horizontal-lg>.list-group-item+.list-group-item {
        border-top-width: 1px;
        border-left-width: 0
    }
    .list-group-horizontal-lg>.list-group-item+.list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px
    }
}

@media (min-width:1200px) {
    .list-group-horizontal-xl {
        flex-direction: row
    }
    .list-group-horizontal-xl>.list-group-item:first-child {
        border-bottom-left-radius: .25rem;
        border-top-right-radius: 0
    }
    .list-group-horizontal-xl>.list-group-item:last-child {
        border-top-right-radius: .25rem;
        border-bottom-left-radius: 0
    }
    .list-group-horizontal-xl>.list-group-item.active {
        margin-top: 0
    }
    .list-group-horizontal-xl>.list-group-item+.list-group-item {
        border-top-width: 1px;
        border-left-width: 0
    }
    .list-group-horizontal-xl>.list-group-item+.list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px
    }
}

@media (min-width:1400px) {
    .list-group-horizontal-xxl {
        flex-direction: row
    }
    .list-group-horizontal-xxl>.list-group-item:first-child {
        border-bottom-left-radius: .25rem;
        border-top-right-radius: 0
    }
    .list-group-horizontal-xxl>.list-group-item:last-child {
        border-top-right-radius: .25rem;
        border-bottom-left-radius: 0
    }
    .list-group-horizontal-xxl>.list-group-item.active {
        margin-top: 0
    }
    .list-group-horizontal-xxl>.list-group-item+.list-group-item {
        border-top-width: 1px;
        border-left-width: 0
    }
    .list-group-horizontal-xxl>.list-group-item+.list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px
    }
}

.list-group-flush {
    border-radius: 0
}

.list-group-flush>.list-group-item {
    border-width: 0 0 1px
}

.list-group-flush>.list-group-item:last-child {
    border-bottom-width: 0
}

.list-group-item-primary {
    color: #084298;
    background-color: #cfe2ff
}

.list-group-item-primary.list-group-item-action:focus,
.list-group-item-primary.list-group-item-action:hover {
    color: #084298;
    background-color: #bacbe6
}

.list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #084298;
    border-color: #084298
}

.list-group-item-secondary {
    color: #41464b;
    background-color: #e2e3e5
}

.list-group-item-secondary.list-group-item-action:focus,
.list-group-item-secondary.list-group-item-action:hover {
    color: #41464b;
    background-color: #cbccce
}

.list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #41464b;
    border-color: #41464b
}

.list-group-item-success {
    color: #0f5132;
    background-color: #d1e7dd
}

.list-group-item-success.list-group-item-action:focus,
.list-group-item-success.list-group-item-action:hover {
    color: #0f5132;
    background-color: #bcd0c7
}

.list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #0f5132;
    border-color: #0f5132
}

.list-group-item-info {
    color: #055160;
    background-color: #cff4fc
}

.list-group-item-info.list-group-item-action:focus,
.list-group-item-info.list-group-item-action:hover {
    color: #055160;
    background-color: #badce3
}

.list-group-item-info.list-group-item-action.active {
    color: #fff;
    background-color: #055160;
    border-color: #055160
}

.list-group-item-warning {
    color: #664d03;
    background-color: #fff3cd
}

.list-group-item-warning.list-group-item-action:focus,
.list-group-item-warning.list-group-item-action:hover {
    color: #664d03;
    background-color: #e6dbb9
}

.list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #664d03;
    border-color: #664d03
}

.list-group-item-danger {
    color: #842029;
    background-color: #f8d7da
}

.list-group-item-danger.list-group-item-action:focus,
.list-group-item-danger.list-group-item-action:hover {
    color: #842029;
    background-color: #dfc2c4
}

.list-group-item-danger.list-group-item-action.active {
    color: #fff;
    background-color: #842029;
    border-color: #842029
}

.list-group-item-light {
    color: #636464;
    background-color: #fefefe
}

.list-group-item-light.list-group-item-action:focus,
.list-group-item-light.list-group-item-action:hover {
    color: #636464;
    background-color: #e5e5e5
}

.list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #636464;
    border-color: #636464
}

.list-group-item-dark {
    color: #141619;
    background-color: #d3d3d4
}

.list-group-item-dark.list-group-item-action:focus,
.list-group-item-dark.list-group-item-action:hover {
    color: #141619;
    background-color: #bebebf
}

.list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: #141619;
    border-color: #141619
}

.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 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    border: 0;
    border-radius: .25rem;
    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 {
    width: 350px;
    max-width: 100%;
    font-size: .875rem;
    pointer-events: auto;
    background-color: rgba(255, 255, 255, .85);
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .1);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    border-radius: .25rem
}

.toast.showing {
    opacity: 0
}

.toast:not(.show) {
    display: none
}

.toast-container {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    pointer-events: none
}

.toast-container>:not(:last-child) {
    margin-bottom: .75rem
}

.toast-header {
    display: flex;
    align-items: center;
    padding: .5rem .75rem;
    color: #6c757d;
    background-color: rgba(255, 255, 255, .85);
    background-clip: padding-box;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    border-top-left-radius: calc(.25rem - 1px);
    border-top-right-radius: calc(.25rem - 1px)
}

.toast-header .btn-close {
    margin-right: -.375rem;
    margin-left: .75rem
}

.toast-body {
    padding: .75rem;
    word-wrap: break-word
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1055;
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: .5rem;
    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% - 1rem)
}

.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% - 1rem)
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: .3rem;
    outline: 0
}

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    width: 100vw;
    height: 100vh;
    background-color: #000
}

.modal-backdrop.fade {
    opacity: 0
}

.modal-backdrop.show {
    opacity: .5
}

.modal-header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: calc(.3rem - 1px);
    border-top-right-radius: calc(.3rem - 1px)
}

.modal-header .btn-close {
    padding: .5rem .5rem;
    margin: -.5rem -.5rem -.5rem auto
}

.modal-title {
    margin-bottom: 0;
    line-height: 1.5
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 1rem
}

.modal-footer {
    display: flex;
    flex-wrap: wrap;
    flex-shrink: 0;
    align-items: center;
    justify-content: flex-end;
    padding: .75rem;
    border-top: 1px solid #dee2e6;
    border-bottom-right-radius: calc(.3rem - 1px);
    border-bottom-left-radius: calc(.3rem - 1px)
}

.modal-footer>* {
    margin: .25rem
}

@media (min-width:576px) {
    .modal-dialog {
        max-width: 500px;
        margin: 1.75rem auto
    }
    .modal-dialog-scrollable {
        height: calc(100% - 3.5rem)
    }
    .modal-dialog-centered {
        min-height: calc(100% - 3.5rem)
    }
    .modal-sm {
        max-width: 300px
    }
}

@media (min-width:992px) {
    .modal-lg,
    .modal-xl {
        max-width: 800px
    }
}

@media (min-width:1200px) {
    .modal-xl {
        max-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-header {
    border-radius: 0
}

.modal-fullscreen .modal-body {
    overflow-y: auto
}

.modal-fullscreen .modal-footer {
    border-radius: 0
}

@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-header {
        border-radius: 0
    }
    .modal-fullscreen-sm-down .modal-body {
        overflow-y: auto
    }
    .modal-fullscreen-sm-down .modal-footer {
        border-radius: 0
    }
}

@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-header {
        border-radius: 0
    }
    .modal-fullscreen-md-down .modal-body {
        overflow-y: auto
    }
    .modal-fullscreen-md-down .modal-footer {
        border-radius: 0
    }
}

@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-header {
        border-radius: 0
    }
    .modal-fullscreen-lg-down .modal-body {
        overflow-y: auto
    }
    .modal-fullscreen-lg-down .modal-footer {
        border-radius: 0
    }
}

@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-header {
        border-radius: 0
    }
    .modal-fullscreen-xl-down .modal-body {
        overflow-y: auto
    }
    .modal-fullscreen-xl-down .modal-footer {
        border-radius: 0
    }
}

@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-header {
        border-radius: 0
    }
    .modal-fullscreen-xxl-down .modal-body {
        overflow-y: auto
    }
    .modal-fullscreen-xxl-down .modal-footer {
        border-radius: 0
    }
}

.tooltip {
    position: absolute;
    z-index: 1080;
    display: block;
    margin: 0;
    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;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: .875rem;
    word-wrap: break-word;
    opacity: 0
}

.tooltip.show {
    opacity: .9
}

.tooltip .tooltip-arrow {
    position: absolute;
    display: block;
    width: .8rem;
    height: .4rem
}

.tooltip .tooltip-arrow::before {
    position: absolute;
    content: "";
    border-color: transparent;
    border-style: solid
}

.bs-tooltip-auto[data-popper-placement^=top],
.bs-tooltip-top {
    padding: .4rem 0
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,
.bs-tooltip-top .tooltip-arrow {
    bottom: 0
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before {
    top: -1px;
    border-width: .4rem .4rem 0;
    border-top-color: #000
}

.bs-tooltip-auto[data-popper-placement^=right],
.bs-tooltip-end {
    padding: 0 .4rem
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,
.bs-tooltip-end .tooltip-arrow {
    left: 0;
    width: .4rem;
    height: .8rem
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,
.bs-tooltip-end .tooltip-arrow::before {
    right: -1px;
    border-width: .4rem .4rem .4rem 0;
    border-right-color: #000
}

.bs-tooltip-auto[data-popper-placement^=bottom],
.bs-tooltip-bottom {
    padding: .4rem 0
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,
.bs-tooltip-bottom .tooltip-arrow {
    top: 0
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,
.bs-tooltip-bottom .tooltip-arrow::before {
    bottom: -1px;
    border-width: 0 .4rem .4rem;
    border-bottom-color: #000
}

.bs-tooltip-auto[data-popper-placement^=left],
.bs-tooltip-start {
    padding: 0 .4rem
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,
.bs-tooltip-start .tooltip-arrow {
    right: 0;
    width: .4rem;
    height: .8rem
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,
.bs-tooltip-start .tooltip-arrow::before {
    left: -1px;
    border-width: .4rem 0 .4rem .4rem;
    border-left-color: #000
}

.tooltip-inner {
    max-width: 200px;
    padding: .25rem .5rem;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: .25rem
}

.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1070;
    display: block;
    max-width: 276px;
    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;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: .875rem;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: .3rem
}

.popover .popover-arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: .5rem
}

.popover .popover-arrow::after,
.popover .popover-arrow::before {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,
.bs-popover-top>.popover-arrow {
    bottom: calc(-.5rem - 1px)
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,
.bs-popover-top>.popover-arrow::before {
    bottom: 0;
    border-width: .5rem .5rem 0;
    border-top-color: rgba(0, 0, 0, .25)
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,
.bs-popover-top>.popover-arrow::after {
    bottom: 1px;
    border-width: .5rem .5rem 0;
    border-top-color: #fff
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,
.bs-popover-end>.popover-arrow {
    left: calc(-.5rem - 1px);
    width: .5rem;
    height: 1rem
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,
.bs-popover-end>.popover-arrow::before {
    left: 0;
    border-width: .5rem .5rem .5rem 0;
    border-right-color: rgba(0, 0, 0, .25)
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,
.bs-popover-end>.popover-arrow::after {
    left: 1px;
    border-width: .5rem .5rem .5rem 0;
    border-right-color: #fff
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,
.bs-popover-bottom>.popover-arrow {
    top: calc(-.5rem - 1px)
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,
.bs-popover-bottom>.popover-arrow::before {
    top: 0;
    border-width: 0 .5rem .5rem .5rem;
    border-bottom-color: rgba(0, 0, 0, .25)
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,
.bs-popover-bottom>.popover-arrow::after {
    top: 1px;
    border-width: 0 .5rem .5rem .5rem;
    border-bottom-color: #fff
}

.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,
.bs-popover-bottom .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -.5rem;
    content: "";
    border-bottom: 1px solid #f0f0f0
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,
.bs-popover-start>.popover-arrow {
    right: calc(-.5rem - 1px);
    width: .5rem;
    height: 1rem
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,
.bs-popover-start>.popover-arrow::before {
    right: 0;
    border-width: .5rem 0 .5rem .5rem;
    border-left-color: rgba(0, 0, 0, .25)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,
.bs-popover-start>.popover-arrow::after {
    right: 1px;
    border-width: .5rem 0 .5rem .5rem;
    border-left-color: #fff
}

.popover-header {
    padding: .5rem 1rem;
    margin-bottom: 0;
    font-size: 1rem;
    background-color: #f0f0f0;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    border-top-left-radius: calc(.3rem - 1px);
    border-top-right-radius: calc(.3rem - 1px)
}

.popover-header:empty {
    display: none
}

.popover-body {
    padding: 1rem 1rem;
    color: #212529
}

.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
}

@-webkit-keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

.spinner-border {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: -.125em;
    border: .25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: .75s linear infinite spinner-border;
    animation: .75s linear infinite spinner-border
}

.spinner-border-sm {
    width: 1rem;
    height: 1rem;
    border-width: .2em
}

@-webkit-keyframes spinner-grow {
    0% {
        transform: scale(0)
    }
    50% {
        opacity: 1;
        transform: none
    }
}

@keyframes spinner-grow {
    0% {
        transform: scale(0)
    }
    50% {
        opacity: 1;
        transform: none
    }
}

.spinner-grow {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: -.125em;
    background-color: currentColor;
    border-radius: 50%;
    opacity: 0;
    -webkit-animation: .75s linear infinite spinner-grow;
    animation: .75s linear infinite spinner-grow
}

.spinner-grow-sm {
    width: 1rem;
    height: 1rem
}

@media (prefers-reduced-motion:reduce) {
    .spinner-border,
    .spinner-grow {
        -webkit-animation-duration: 1.5s;
        animation-duration: 1.5s
    }
}

.offcanvas {
    position: fixed;
    bottom: 0;
    z-index: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    visibility: hidden;
    background-color: #fff;
    background-clip: padding-box;
    outline: 0;
    transition: transform .3s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .offcanvas {
        transition: none
    }
}

.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: 1rem 1rem
}

.offcanvas-header .btn-close {
    padding: .5rem .5rem;
    margin-top: -.5rem;
    margin-right: -.5rem;
    margin-bottom: -.5rem
}

.offcanvas-title {
    margin-bottom: 0;
    line-height: 1.5
}

.offcanvas-body {
    flex-grow: 1;
    padding: 1rem 1rem;
    overflow-y: auto
}

.offcanvas-start {
    top: 0;
    left: 0;
    width: 400px;
    border-right: 1px solid rgba(0, 0, 0, .2);
    transform: translateX(-100%)
}

.offcanvas-end {
    top: 0;
    right: 0;
    width: 400px;
    border-left: 1px solid rgba(0, 0, 0, .2);
    transform: translateX(100%)
}

.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: 30vh;
    max-height: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    transform: translateY(-100%)
}

.offcanvas-bottom {
    right: 0;
    left: 0;
    height: 30vh;
    max-height: 100%;
    border-top: 1px solid rgba(0, 0, 0, .2);
    transform: translateY(100%)
}

.offcanvas.show {
    transform: none
}

.placeholder {
    display: inline-block;
    min-height: 1em;
    vertical-align: middle;
    cursor: wait;
    background-color: currentColor;
    opacity: .5
}

.placeholder.btn::before {
    display: inline-block;
    content: ""
}

.placeholder-xs {
    min-height: .6em
}

.placeholder-sm {
    min-height: .8em
}

.placeholder-lg {
    min-height: 1.2em
}

.placeholder-glow .placeholder {
    -webkit-animation: placeholder-glow 2s ease-in-out infinite;
    animation: placeholder-glow 2s ease-in-out infinite
}

@-webkit-keyframes placeholder-glow {
    50% {
        opacity: .2
    }
}

@keyframes placeholder-glow {
    50% {
        opacity: .2
    }
}

.placeholder-wave {
    -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
    -webkit-mask-size: 200% 100%;
    mask-size: 200% 100%;
    -webkit-animation: placeholder-wave 2s linear infinite;
    animation: placeholder-wave 2s linear infinite
}

@-webkit-keyframes placeholder-wave {
    100% {
        -webkit-mask-position: -200% 0%;
        mask-position: -200% 0%
    }
}

@keyframes placeholder-wave {
    100% {
        -webkit-mask-position: -200% 0%;
        mask-position: -200% 0%
    }
}

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.link-primary {
    color: #0d6efd
}

.link-primary:focus,
.link-primary:hover {
    color: #0a58ca
}

.link-secondary {
    color: #6c757d
}

.link-secondary:focus,
.link-secondary:hover {
    color: #565e64
}

.link-success {
    color: #198754
}

.link-success:focus,
.link-success:hover {
    color: #146c43
}

.link-info {
    color: #0dcaf0
}

.link-info:focus,
.link-info:hover {
    color: #3dd5f3
}

.link-warning {
    color: #ffc107
}

.link-warning:focus,
.link-warning:hover {
    color: #ffcd39
}

.link-danger {
    color: #dc3545
}

.link-danger:focus,
.link-danger:hover {
    color: #b02a37
}

.link-light {
    color: #f8f9fa
}

.link-light:focus,
.link-light:hover {
    color: #f9fafb
}

.link-dark {
    color: #212529
}

.link-dark:focus,
.link-dark:hover {
    color: #1a1e21
}

.ratio {
    position: relative;
    width: 100%
}

.ratio::before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: ""
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ratio-1x1 {
    --bs-aspect-ratio: 100%
}

.ratio-4x3 {
    --bs-aspect-ratio: calc(3 / 4 * 100%)
}

.ratio-16x9 {
    --bs-aspect-ratio: calc(9 / 16 * 100%)
}

.ratio-21x9 {
    --bs-aspect-ratio: calc(9 / 21 * 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
}

@media (min-width:576px) {
    .sticky-sm-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }
}

@media (min-width:768px) {
    .sticky-md-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }
}

@media (min-width:992px) {
    .sticky-lg-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }
}

@media (min-width:1200px) {
    .sticky-xl-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }
}

@media (min-width:1400px) {
    .sticky-xxl-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }
}

.hstack {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch
}

.vstack {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-self: stretch
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute!important;
    width: 1px!important;
    height: 1px!important;
    padding: 0!important;
    margin: -1px!important;
    overflow: hidden!important;
    clip: rect(0, 0, 0, 0)!important;
    white-space: nowrap!important;
    border: 0!important
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: ""
}

.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
}

.float-start {
    float: left!important
}

.float-end {
    float: right!important
}

.float-none {
    float: none!important
}

.opacity-0 {
    opacity: 0!important
}

.opacity-25 {
    opacity: .25!important
}

.opacity-50 {
    opacity: .5!important
}

.opacity-75 {
    opacity: .75!important
}

.opacity-100 {
    opacity: 1!important
}

.overflow-auto {
    overflow: auto!important
}

.overflow-hidden {
    overflow: hidden!important
}

.overflow-visible {
    overflow: visible!important
}

.overflow-scroll {
    overflow: scroll!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
}

.translate-middle {
    transform: translate(-50%, -50%)!important
}

.translate-middle-x {
    transform: translateX(-50%)!important
}

.translate-middle-y {
    transform: translateY(-50%)!important
}

.border {
    border: 1px solid #dee2e6!important
}

.border-0 {
    border: 0!important
}

.border-top {
    border-top: 1px solid #dee2e6!important
}

.border-top-0 {
    border-top: 0!important
}

.border-end {
    border-right: 1px solid #dee2e6!important
}

.border-end-0 {
    border-right: 0!important
}

.border-bottom {
    border-bottom: 1px solid #dee2e6!important
}

.border-bottom-0 {
    border-bottom: 0!important
}

.border-start {
    border-left: 1px solid #dee2e6!important
}

.border-start-0 {
    border-left: 0!important
}

.border-primary {
    border-color: #0d6efd!important
}

.border-secondary {
    border-color: #6c757d!important
}

.border-success {
    border-color: #198754!important
}

.border-info {
    border-color: #0dcaf0!important
}

.border-warning {
    border-color: #ffc107!important
}

.border-danger {
    border-color: #dc3545!important
}

.border-light {
    border-color: #f8f9fa!important
}

.border-dark {
    border-color: #212529!important
}

.border-white {
    border-color: #fff!important
}

.border-1 {
    border-width: 1px!important
}

.border-2 {
    border-width: 2px!important
}

.border-3 {
    border-width: 3px!important
}

.border-4 {
    border-width: 4px!important
}

.border-5 {
    border-width: 5px!important
}

.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
}

.mw-100 {
    max-width: 100%!important
}

.vw-100 {
    width: 100vw!important
}

.min-vw-100 {
    min-width: 100vw!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
}

.mh-100 {
    max-height: 100%!important
}

.vh-100 {
    height: 100vh!important
}

.min-vh-100 {
    min-height: 100vh!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
}

.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
}

.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-0 {
    margin-top: 0!important;
    margin-bottom: 0!important
}

.my-1 {
    margin-top: .25rem!important;
    margin-bottom: .25rem!important
}

.my-2 {
    margin-top: .5rem!important;
    margin-bottom: .5rem!important
}

.my-3 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important
}

.my-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important
}

.my-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important
}

.my-auto {
    margin-top: auto!important;
    margin-bottom: auto!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-0 {
    padding-top: 0!important;
    padding-bottom: 0!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
}

.font-monospace {
    font-family: var(--bs-font-monospace)!important
}

.fs-1 {
    font-size: calc(1.375rem + 1.5vw)!important
}

.fs-2 {
    font-size: calc(1.325rem + .9vw)!important
}

.fs-3 {
    font-size: calc(1.3rem + .6vw)!important
}

.fs-4 {
    font-size: calc(1.275rem + .3vw)!important
}

.fs-5 {
    font-size: 1.25rem!important
}

.fs-6 {
    font-size: 1rem!important
}

.fst-italic {
    font-style: italic!important
}

.fst-normal {
    font-style: normal!important
}

.fw-light {
    font-weight: 300!important
}

.fw-lighter {
    font-weight: lighter!important
}

.fw-normal {
    font-weight: 400!important
}

.fw-bold {
    font-weight: 700!important
}

.fw-bolder {
    font-weight: bolder!important
}

.lh-1 {
    line-height: 1!important
}

.lh-sm {
    line-height: 1.25!important
}

.lh-base {
    line-height: 1.5!important
}

.lh-lg {
    line-height: 2!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-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-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
}

.user-select-all {
    -webkit-user-select: all!important;
    -moz-user-select: all!important;
    user-select: all!important
}

.user-select-auto {
    -webkit-user-select: auto!important;
    -moz-user-select: auto!important;
    user-select: auto!important
}

.user-select-none {
    -webkit-user-select: none!important;
    -moz-user-select: none!important;
    user-select: none!important
}

.pe-none {
    pointer-events: none!important
}

.pe-auto {
    pointer-events: auto!important
}

.rounded {
    border-radius: .25rem!important
}

.rounded-0 {
    border-radius: 0!important
}

.rounded-1 {
    border-radius: .2rem!important
}

.rounded-2 {
    border-radius: .25rem!important
}

.rounded-3 {
    border-radius: .3rem!important
}

.rounded-circle {
    border-radius: 50%!important
}

.rounded-pill {
    border-radius: 50rem!important
}

.rounded-top {
    border-top-left-radius: .25rem!important;
    border-top-right-radius: .25rem!important
}

.rounded-end {
    border-top-right-radius: .25rem!important;
    border-bottom-right-radius: .25rem!important
}

.rounded-bottom {
    border-bottom-right-radius: .25rem!important;
    border-bottom-left-radius: .25rem!important
}

.rounded-start {
    border-bottom-left-radius: .25rem!important;
    border-top-left-radius: .25rem!important
}

.visible {
    visibility: visible!important
}

.invisible {
    visibility: hidden!important
}

@media (min-width:576px) {
    .float-sm-start {
        float: left!important
    }
    .float-sm-end {
        float: right!important
    }
    .float-sm-none {
        float: none!important
    }
    .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
    }
    .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
    }
    .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
    }
    .my-sm-0 {
        margin-top: 0!important;
        margin-bottom: 0!important
    }
    .my-sm-1 {
        margin-top: .25rem!important;
        margin-bottom: .25rem!important
    }
    .my-sm-2 {
        margin-top: .5rem!important;
        margin-bottom: .5rem!important
    }
    .my-sm-3 {
        margin-top: 1rem!important;
        margin-bottom: 1rem!important
    }
    .my-sm-4 {
        margin-top: 1.5rem!important;
        margin-bottom: 1.5rem!important
    }
    .my-sm-5 {
        margin-top: 3rem!important;
        margin-bottom: 3rem!important
    }
    .my-sm-auto {
        margin-top: auto!important;
        margin-bottom: 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
    }
    .py-sm-0 {
        padding-top: 0!important;
        padding-bottom: 0!important
    }
    .py-sm-1 {
        padding-top: .25rem!important;
        padding-bottom: .25rem!important
    }
    .py-sm-2 {
        padding-top: .5rem!important;
        padding-bottom: .5rem!important
    }
    .py-sm-3 {
        padding-top: 1rem!important;
        padding-bottom: 1rem!important
    }
    .py-sm-4 {
        padding-top: 1.5rem!important;
        padding-bottom: 1.5rem!important
    }
    .py-sm-5 {
        padding-top: 3rem!important;
        padding-bottom: 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
    }
    .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) {
    .float-md-start {
        float: left!important
    }
    .float-md-end {
        float: right!important
    }
    .float-md-none {
        float: none!important
    }
    .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
    }
    .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
    }
    .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
    }
    .my-md-0 {
        margin-top: 0!important;
        margin-bottom: 0!important
    }
    .my-md-1 {
        margin-top: .25rem!important;
        margin-bottom: .25rem!important
    }
    .my-md-2 {
        margin-top: .5rem!important;
        margin-bottom: .5rem!important
    }
    .my-md-3 {
        margin-top: 1rem!important;
        margin-bottom: 1rem!important
    }
    .my-md-4 {
        margin-top: 1.5rem!important;
        margin-bottom: 1.5rem!important
    }
    .my-md-5 {
        margin-top: 3rem!important;
        margin-bottom: 3rem!important
    }
    .my-md-auto {
        margin-top: auto!important;
        margin-bottom: 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
    }
    .py-md-0 {
        padding-top: 0!important;
        padding-bottom: 0!important
    }
    .py-md-1 {
        padding-top: .25rem!important;
        padding-bottom: .25rem!important
    }
    .py-md-2 {
        padding-top: .5rem!important;
        padding-bottom: .5rem!important
    }
    .py-md-3 {
        padding-top: 1rem!important;
        padding-bottom: 1rem!important
    }
    .py-md-4 {
        padding-top: 1.5rem!important;
        padding-bottom: 1.5rem!important
    }
    .py-md-5 {
        padding-top: 3rem!important;
        padding-bottom: 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
    }
    .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) {
    .float-lg-start {
        float: left!important
    }
    .float-lg-end {
        float: right!important
    }
    .float-lg-none {
        float: none!important
    }
    .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
    }
    .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
    }
    .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
    }
    .my-lg-0 {
        margin-top: 0!important;
        margin-bottom: 0!important
    }
    .my-lg-1 {
        margin-top: .25rem!important;
        margin-bottom: .25rem!important
    }
    .my-lg-2 {
        margin-top: .5rem!important;
        margin-bottom: .5rem!important
    }
    .my-lg-3 {
        margin-top: 1rem!important;
        margin-bottom: 1rem!important
    }
    .my-lg-4 {
        margin-top: 1.5rem!important;
        margin-bottom: 1.5rem!important
    }
    .my-lg-5 {
        margin-top: 3rem!important;
        margin-bottom: 3rem!important
    }
    .my-lg-auto {
        margin-top: auto!important;
        margin-bottom: 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
    }
    .py-lg-0 {
        padding-top: 0!important;
        padding-bottom: 0!important
    }
    .py-lg-1 {
        padding-top: .25rem!important;
        padding-bottom: .25rem!important
    }
    .py-lg-2 {
        padding-top: .5rem!important;
        padding-bottom: .5rem!important
    }
    .py-lg-3 {
        padding-top: 1rem!important;
        padding-bottom: 1rem!important
    }
    .py-lg-4 {
        padding-top: 1.5rem!important;
        padding-bottom: 1.5rem!important
    }
    .py-lg-5 {
        padding-top: 3rem!important;
        padding-bottom: 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
    }
    .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) {
    .float-xl-start {
        float: left!important
    }
    .float-xl-end {
        float: right!important
    }
    .float-xl-none {
        float: none!important
    }
    .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
    }
    .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
    }
    .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
    }
    .my-xl-0 {
        margin-top: 0!important;
        margin-bottom: 0!important
    }
    .my-xl-1 {
        margin-top: .25rem!important;
        margin-bottom: .25rem!important
    }
    .my-xl-2 {
        margin-top: .5rem!important;
        margin-bottom: .5rem!important
    }
    .my-xl-3 {
        margin-top: 1rem!important;
        margin-bottom: 1rem!important
    }
    .my-xl-4 {
        margin-top: 1.5rem!important;
        margin-bottom: 1.5rem!important
    }
    .my-xl-5 {
        margin-top: 3rem!important;
        margin-bottom: 3rem!important
    }
    .my-xl-auto {
        margin-top: auto!important;
        margin-bottom: 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
    }
    .py-xl-0 {
        padding-top: 0!important;
        padding-bottom: 0!important
    }
    .py-xl-1 {
        padding-top: .25rem!important;
        padding-bottom: .25rem!important
    }
    .py-xl-2 {
        padding-top: .5rem!important;
        padding-bottom: .5rem!important
    }
    .py-xl-3 {
        padding-top: 1rem!important;
        padding-bottom: 1rem!important
    }
    .py-xl-4 {
        padding-top: 1.5rem!important;
        padding-bottom: 1.5rem!important
    }
    .py-xl-5 {
        padding-top: 3rem!important;
        padding-bottom: 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
    }
    .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) {
    .float-xxl-start {
        float: left!important
    }
    .float-xxl-end {
        float: right!important
    }
    .float-xxl-none {
        float: none!important
    }
    .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
    }
    .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
    }
    .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
    }
    .my-xxl-0 {
        margin-top: 0!important;
        margin-bottom: 0!important
    }
    .my-xxl-1 {
        margin-top: .25rem!important;
        margin-bottom: .25rem!important
    }
    .my-xxl-2 {
        margin-top: .5rem!important;
        margin-bottom: .5rem!important
    }
    .my-xxl-3 {
        margin-top: 1rem!important;
        margin-bottom: 1rem!important
    }
    .my-xxl-4 {
        margin-top: 1.5rem!important;
        margin-bottom: 1.5rem!important
    }
    .my-xxl-5 {
        margin-top: 3rem!important;
        margin-bottom: 3rem!important
    }
    .my-xxl-auto {
        margin-top: auto!important;
        margin-bottom: 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
    }
    .py-xxl-0 {
        padding-top: 0!important;
        padding-bottom: 0!important
    }
    .py-xxl-1 {
        padding-top: .25rem!important;
        padding-bottom: .25rem!important
    }
    .py-xxl-2 {
        padding-top: .5rem!important;
        padding-bottom: .5rem!important
    }
    .py-xxl-3 {
        padding-top: 1rem!important;
        padding-bottom: 1rem!important
    }
    .py-xxl-4 {
        padding-top: 1.5rem!important;
        padding-bottom: 1.5rem!important
    }
    .py-xxl-5 {
        padding-top: 3rem!important;
        padding-bottom: 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
    }
    .text-xxl-start {
        text-align: left!important
    }
    .text-xxl-end {
        text-align: right!important
    }
    .text-xxl-center {
        text-align: center!important
    }
}

@media (min-width:1200px) {
    .fs-1 {
        font-size: 2.5rem!important
    }
    .fs-2 {
        font-size: 2rem!important
    }
    .fs-3 {
        font-size: 1.75rem!important
    }
    .fs-4 {
        font-size: 1.5rem!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
    }
}


/*# sourceMappingURL=bootstrap.min.css.map */

/* ── cursor.css ── */
.cursor{width:6px;height:6px;border-radius:50%;position:absolute;transform:translate3d(-50%,-50%,0);top:0;left:0;background-color:#fff;background-image:linear-gradient(90deg,#1345e6 0,#ed239f 100%);border:1px solid #fff;transition:none;pointer-events:none;overflow:hidden;z-index:999999}.cursor-lazy{width:25px;height:25px;border-radius:50%;border:2px solid #6e13e6;box-shadow:0 0 0 1px #fff,0 0 0 1px #fff inset;position:absolute;transform:translate3d(-50%,-50%,0) scale(1);top:0;left:0;transition:50ms ease;pointer-events:none;z-index:999999}.cursor-lazy::after{content:'';width:30px;height:30px;border-radius:50%;border:5px solid #6e13e6;box-shadow:0 0 0 1px #fff,0 0 0 1px #fff inset;position:absolute;transform:translate3d(-18%,-18%,0);top:0;left:0;opacity:0;overflow:hidden}@keyframes cursor{0%{transform:translate3d(-50%,-50%,0) scale(1)}100%{transform:translate3d(-50%,-50%,0) scale(1.3)}}.cursor.hide,.cursor.hide+.cursor-lazy{opacity:0;display:none}.cursor.active+.cursor-lazy{animation:clickCursor .3s ease-in-out}@keyframes clickCursor{0%{transform:translate3d(-50%,-50%,0) scale(1)}50%{transform:translate3d(-50%,-50%,0) scale(.6)}100%{transform:translate3d(-50%,-50%,0) scale(1)}}.cursor.active+.cursor-lazy::after{animation:clickCursorAfter .5s ease-in-out}@keyframes clickCursorAfter{0%{transform:translate3d(-18%,-18%,0) scale(0);opacity:1}100%{transform:translate3d(-18%,-18%,0) scale(1.7);opacity:0}}.cursor.mousedown+.cursor-lazy::after{animation:clickCursorDownAfter .8s infinite}.cursor.mousedown+.cursor-lazy{animation:clickCursorDown .5s infinite;transform:translate3d(-50%,-50%,0) scale(.7)}@keyframes clickCursorDown{0%{transform:translate3d(-50%,-50%,0) scale(.7)}100%{transform:translate3d(-50%,-50%,0) scale(.7)}}@keyframes clickCursorDownAfter{0%{transform:translate3d(-18%,-18%,0) scale(0);opacity:1}100%{transform:translate3d(-18%,-18%,0) scale(1.5);opacity:0}}.cursor.mode{width:4px;height:4px;background-color:#fff;border:none;background-image:none}.cursor.mode+.cursor-lazy,.cursor.mode+.cursor-lazy::after{border-color:#fff;box-shadow:none}@media screen and (max-width:768px){*{cursor:auto!important}.cursor{display:none!important}.cursor-lazy{display:none!important}}@media screen and (max-width:812px) and (max-height:430px) and (orientation:landscape){*{cursor:auto!important}.cursor{display:none!important}.cursor-lazy{display:none!important}}


/* ── custom.context-menu.css ── */
#context-menu{position:fixed!important;z-index:99999!important;width:250px!important;background:linear-gradient(0deg,#1345e6 0,#ed239f 100%)!important;border-radius:10px!important;padding:5px!important;transform:scale(0)!important;transform-origin:top left!important;transition:all .1s ease!important}#context-menu.active{transform:scale(1)!important;transition:all .3s ease!important}#context-menu .menu-wrap{background:#fff!important;border-radius:7px!important;overflow:hidden!important;padding:0!important}#context-menu .item-background{box-shadow:inset 0 0 0 0 #d3d3d3!important;padding:5px!important}#context-menu .item-background:hover{box-shadow:inset 0 0 5px 0 #d3d3d3!important}#context-menu .item{position:relative!important;padding:8px 15px!important;font-size:13px!important;color:#929292!important;border:2px solid rgba(255,255,255,0)!important;transition:all .3s ease!important;overflow:hidden!important;margin:0!important}#context-menu .item-background:hover .item{background:#8034c3!important;background:linear-gradient(to right,#1345e6 0,#ed239f 100%)!important;box-shadow:inset 0 0 8px rgb(41,41,41,.3),0 0 10px 3px #d3d3d3!important;color:#fff!important;border-radius:50px!important;border:2px solid rgba(255,255,255,1)!important}#context-menu .item i{display:inline-block!important;margin-right:5px!important}#context-menu .item span{float:right!important}#context-menu hr{margin:0!important;border-color:#d6d6d6!important}

/* ── hover-min.css ── */
/*!
 * Hover.css (http://ianlunn.github.io/Hover/)
 * Version: 2.3.2
 * Author: Ian Lunn @IanLunn
 * Author URL: http://ianlunn.co.uk/
 * Github: https://github.com/IanLunn/Hover

 * Hover.css Copyright Ian Lunn 2017. Generated with Sass.
 */.hvr-grow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-grow:active,.hvr-grow:focus,.hvr-grow:hover{-webkit-transform:scale(1.1);transform:scale(1.1)}.hvr-shrink{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-shrink:active,.hvr-shrink:focus,.hvr-shrink:hover{-webkit-transform:scale(0.9);transform:scale(0.9)}@-webkit-keyframes hvr-pulse{25%{-webkit-transform:scale(1.1);transform:scale(1.1)}75%{-webkit-transform:scale(0.9);transform:scale(0.9)}}@keyframes hvr-pulse{25%{-webkit-transform:scale(1.1);transform:scale(1.1)}75%{-webkit-transform:scale(0.9);transform:scale(0.9)}}.hvr-pulse{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-pulse:active,.hvr-pulse:focus,.hvr-pulse:hover{-webkit-animation-name:hvr-pulse;animation-name:hvr-pulse;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes hvr-pulse-grow{to{-webkit-transform:scale(1.1);transform:scale(1.1)}}@keyframes hvr-pulse-grow{to{-webkit-transform:scale(1.1);transform:scale(1.1)}}.hvr-pulse-grow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-pulse-grow:active,.hvr-pulse-grow:focus,.hvr-pulse-grow:hover{-webkit-animation-name:hvr-pulse-grow;animation-name:hvr-pulse-grow;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate}@-webkit-keyframes hvr-pulse-shrink{to{-webkit-transform:scale(0.9);transform:scale(0.9)}}@keyframes hvr-pulse-shrink{to{-webkit-transform:scale(0.9);transform:scale(0.9)}}.hvr-pulse-shrink{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-pulse-shrink:active,.hvr-pulse-shrink:focus,.hvr-pulse-shrink:hover{-webkit-animation-name:hvr-pulse-shrink;animation-name:hvr-pulse-shrink;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate}@-webkit-keyframes hvr-push{50%{-webkit-transform:scale(0.8);transform:scale(0.8)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes hvr-push{50%{-webkit-transform:scale(0.8);transform:scale(0.8)}100%{-webkit-transform:scale(1);transform:scale(1)}}.hvr-push{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-push:active,.hvr-push:focus,.hvr-push:hover{-webkit-animation-name:hvr-push;animation-name:hvr-push;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes hvr-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}.hvr-pop{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-pop:active,.hvr-pop:focus,.hvr-pop:hover{-webkit-animation-name:hvr-pop;animation-name:hvr-pop;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.hvr-bounce-in{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.5s;transition-duration:.5s}.hvr-bounce-in:active,.hvr-bounce-in:focus,.hvr-bounce-in:hover{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-transition-timing-function:cubic-bezier(0.47,2.02,.31,-.36);transition-timing-function:cubic-bezier(0.47,2.02,.31,-.36)}.hvr-bounce-out{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.5s;transition-duration:.5s}.hvr-bounce-out:active,.hvr-bounce-out:focus,.hvr-bounce-out:hover{-webkit-transform:scale(0.8);transform:scale(0.8);-webkit-transition-timing-function:cubic-bezier(0.47,2.02,.31,-.36);transition-timing-function:cubic-bezier(0.47,2.02,.31,-.36)}.hvr-rotate{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-rotate:active,.hvr-rotate:focus,.hvr-rotate:hover{-webkit-transform:rotate(4deg);transform:rotate(4deg)}.hvr-grow-rotate{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-grow-rotate:active,.hvr-grow-rotate:focus,.hvr-grow-rotate:hover{-webkit-transform:scale(1.1) rotate(4deg);transform:scale(1.1) rotate(4deg)}.hvr-float{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-float:active,.hvr-float:focus,.hvr-float:hover{-webkit-transform:translateY(-8px);transform:translateY(-8px)}.hvr-sink{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-sink:active,.hvr-sink:focus,.hvr-sink:hover{-webkit-transform:translateY(8px);transform:translateY(8px)}@-webkit-keyframes hvr-bob{0%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}50%{-webkit-transform:translateY(-4px);transform:translateY(-4px)}100%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}@keyframes hvr-bob{0%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}50%{-webkit-transform:translateY(-4px);transform:translateY(-4px)}100%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}@-webkit-keyframes hvr-bob-float{100%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}@keyframes hvr-bob-float{100%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}.hvr-bob{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-bob:active,.hvr-bob:focus,.hvr-bob:hover{-webkit-animation-name:hvr-bob-float,hvr-bob;animation-name:hvr-bob-float,hvr-bob;-webkit-animation-duration:.3s,1.5s;animation-duration:.3s,1.5s;-webkit-animation-delay:0s,.3s;animation-delay:0s,.3s;-webkit-animation-timing-function:ease-out,ease-in-out;animation-timing-function:ease-out,ease-in-out;-webkit-animation-iteration-count:1,infinite;animation-iteration-count:1,infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-direction:normal,alternate;animation-direction:normal,alternate}@-webkit-keyframes hvr-hang{0%{-webkit-transform:translateY(8px);transform:translateY(8px)}50%{-webkit-transform:translateY(4px);transform:translateY(4px)}100%{-webkit-transform:translateY(8px);transform:translateY(8px)}}@keyframes hvr-hang{0%{-webkit-transform:translateY(8px);transform:translateY(8px)}50%{-webkit-transform:translateY(4px);transform:translateY(4px)}100%{-webkit-transform:translateY(8px);transform:translateY(8px)}}@-webkit-keyframes hvr-hang-sink{100%{-webkit-transform:translateY(8px);transform:translateY(8px)}}@keyframes hvr-hang-sink{100%{-webkit-transform:translateY(8px);transform:translateY(8px)}}.hvr-hang{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-hang:active,.hvr-hang:focus,.hvr-hang:hover{-webkit-animation-name:hvr-hang-sink,hvr-hang;animation-name:hvr-hang-sink,hvr-hang;-webkit-animation-duration:.3s,1.5s;animation-duration:.3s,1.5s;-webkit-animation-delay:0s,.3s;animation-delay:0s,.3s;-webkit-animation-timing-function:ease-out,ease-in-out;animation-timing-function:ease-out,ease-in-out;-webkit-animation-iteration-count:1,infinite;animation-iteration-count:1,infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-direction:normal,alternate;animation-direction:normal,alternate}.hvr-skew{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-skew:active,.hvr-skew:focus,.hvr-skew:hover{-webkit-transform:skew(-10deg);transform:skew(-10deg)}.hvr-skew-forward{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transform-origin:0 100%;transform-origin:0 100%}.hvr-skew-forward:active,.hvr-skew-forward:focus,.hvr-skew-forward:hover{-webkit-transform:skew(-10deg);transform:skew(-10deg)}.hvr-skew-backward{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transform-origin:0 100%;transform-origin:0 100%}.hvr-skew-backward:active,.hvr-skew-backward:focus,.hvr-skew-backward:hover{-webkit-transform:skew(10deg);transform:skew(10deg)}@-webkit-keyframes hvr-wobble-vertical{16.65%{-webkit-transform:translateY(8px);transform:translateY(8px)}33.3%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}49.95%{-webkit-transform:translateY(4px);transform:translateY(4px)}66.6%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}83.25%{-webkit-transform:translateY(1px);transform:translateY(1px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes hvr-wobble-vertical{16.65%{-webkit-transform:translateY(8px);transform:translateY(8px)}33.3%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}49.95%{-webkit-transform:translateY(4px);transform:translateY(4px)}66.6%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}83.25%{-webkit-transform:translateY(1px);transform:translateY(1px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.hvr-wobble-vertical{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-wobble-vertical:active,.hvr-wobble-vertical:focus,.hvr-wobble-vertical:hover{-webkit-animation-name:hvr-wobble-vertical;animation-name:hvr-wobble-vertical;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-wobble-horizontal{16.65%{-webkit-transform:translateX(8px);transform:translateX(8px)}33.3%{-webkit-transform:translateX(-6px);transform:translateX(-6px)}49.95%{-webkit-transform:translateX(4px);transform:translateX(4px)}66.6%{-webkit-transform:translateX(-2px);transform:translateX(-2px)}83.25%{-webkit-transform:translateX(1px);transform:translateX(1px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes hvr-wobble-horizontal{16.65%{-webkit-transform:translateX(8px);transform:translateX(8px)}33.3%{-webkit-transform:translateX(-6px);transform:translateX(-6px)}49.95%{-webkit-transform:translateX(4px);transform:translateX(4px)}66.6%{-webkit-transform:translateX(-2px);transform:translateX(-2px)}83.25%{-webkit-transform:translateX(1px);transform:translateX(1px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.hvr-wobble-horizontal{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-wobble-horizontal:active,.hvr-wobble-horizontal:focus,.hvr-wobble-horizontal:hover{-webkit-animation-name:hvr-wobble-horizontal;animation-name:hvr-wobble-horizontal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-wobble-to-bottom-right{16.65%{-webkit-transform:translate(8px,8px);transform:translate(8px,8px)}33.3%{-webkit-transform:translate(-6px,-6px);transform:translate(-6px,-6px)}49.95%{-webkit-transform:translate(4px,4px);transform:translate(4px,4px)}66.6%{-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}83.25%{-webkit-transform:translate(1px,1px);transform:translate(1px,1px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes hvr-wobble-to-bottom-right{16.65%{-webkit-transform:translate(8px,8px);transform:translate(8px,8px)}33.3%{-webkit-transform:translate(-6px,-6px);transform:translate(-6px,-6px)}49.95%{-webkit-transform:translate(4px,4px);transform:translate(4px,4px)}66.6%{-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}83.25%{-webkit-transform:translate(1px,1px);transform:translate(1px,1px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}.hvr-wobble-to-bottom-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-wobble-to-bottom-right:active,.hvr-wobble-to-bottom-right:focus,.hvr-wobble-to-bottom-right:hover{-webkit-animation-name:hvr-wobble-to-bottom-right;animation-name:hvr-wobble-to-bottom-right;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-wobble-to-top-right{16.65%{-webkit-transform:translate(8px,-8px);transform:translate(8px,-8px)}33.3%{-webkit-transform:translate(-6px,6px);transform:translate(-6px,6px)}49.95%{-webkit-transform:translate(4px,-4px);transform:translate(4px,-4px)}66.6%{-webkit-transform:translate(-2px,2px);transform:translate(-2px,2px)}83.25%{-webkit-transform:translate(1px,-1px);transform:translate(1px,-1px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes hvr-wobble-to-top-right{16.65%{-webkit-transform:translate(8px,-8px);transform:translate(8px,-8px)}33.3%{-webkit-transform:translate(-6px,6px);transform:translate(-6px,6px)}49.95%{-webkit-transform:translate(4px,-4px);transform:translate(4px,-4px)}66.6%{-webkit-transform:translate(-2px,2px);transform:translate(-2px,2px)}83.25%{-webkit-transform:translate(1px,-1px);transform:translate(1px,-1px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}.hvr-wobble-to-top-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-wobble-to-top-right:active,.hvr-wobble-to-top-right:focus,.hvr-wobble-to-top-right:hover{-webkit-animation-name:hvr-wobble-to-top-right;animation-name:hvr-wobble-to-top-right;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-wobble-top{16.65%{-webkit-transform:skew(-12deg);transform:skew(-12deg)}33.3%{-webkit-transform:skew(10deg);transform:skew(10deg)}49.95%{-webkit-transform:skew(-6deg);transform:skew(-6deg)}66.6%{-webkit-transform:skew(4deg);transform:skew(4deg)}83.25%{-webkit-transform:skew(-2deg);transform:skew(-2deg)}100%{-webkit-transform:skew(0);transform:skew(0)}}@keyframes hvr-wobble-top{16.65%{-webkit-transform:skew(-12deg);transform:skew(-12deg)}33.3%{-webkit-transform:skew(10deg);transform:skew(10deg)}49.95%{-webkit-transform:skew(-6deg);transform:skew(-6deg)}66.6%{-webkit-transform:skew(4deg);transform:skew(4deg)}83.25%{-webkit-transform:skew(-2deg);transform:skew(-2deg)}100%{-webkit-transform:skew(0);transform:skew(0)}}.hvr-wobble-top{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transform-origin:0 100%;transform-origin:0 100%}.hvr-wobble-top:active,.hvr-wobble-top:focus,.hvr-wobble-top:hover{-webkit-animation-name:hvr-wobble-top;animation-name:hvr-wobble-top;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-wobble-bottom{16.65%{-webkit-transform:skew(-12deg);transform:skew(-12deg)}33.3%{-webkit-transform:skew(10deg);transform:skew(10deg)}49.95%{-webkit-transform:skew(-6deg);transform:skew(-6deg)}66.6%{-webkit-transform:skew(4deg);transform:skew(4deg)}83.25%{-webkit-transform:skew(-2deg);transform:skew(-2deg)}100%{-webkit-transform:skew(0);transform:skew(0)}}@keyframes hvr-wobble-bottom{16.65%{-webkit-transform:skew(-12deg);transform:skew(-12deg)}33.3%{-webkit-transform:skew(10deg);transform:skew(10deg)}49.95%{-webkit-transform:skew(-6deg);transform:skew(-6deg)}66.6%{-webkit-transform:skew(4deg);transform:skew(4deg)}83.25%{-webkit-transform:skew(-2deg);transform:skew(-2deg)}100%{-webkit-transform:skew(0);transform:skew(0)}}.hvr-wobble-bottom{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transform-origin:100% 0;transform-origin:100% 0}.hvr-wobble-bottom:active,.hvr-wobble-bottom:focus,.hvr-wobble-bottom:hover{-webkit-animation-name:hvr-wobble-bottom;animation-name:hvr-wobble-bottom;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-wobble-skew{16.65%{-webkit-transform:skew(-12deg);transform:skew(-12deg)}33.3%{-webkit-transform:skew(10deg);transform:skew(10deg)}49.95%{-webkit-transform:skew(-6deg);transform:skew(-6deg)}66.6%{-webkit-transform:skew(4deg);transform:skew(4deg)}83.25%{-webkit-transform:skew(-2deg);transform:skew(-2deg)}100%{-webkit-transform:skew(0);transform:skew(0)}}@keyframes hvr-wobble-skew{16.65%{-webkit-transform:skew(-12deg);transform:skew(-12deg)}33.3%{-webkit-transform:skew(10deg);transform:skew(10deg)}49.95%{-webkit-transform:skew(-6deg);transform:skew(-6deg)}66.6%{-webkit-transform:skew(4deg);transform:skew(4deg)}83.25%{-webkit-transform:skew(-2deg);transform:skew(-2deg)}100%{-webkit-transform:skew(0);transform:skew(0)}}.hvr-wobble-skew{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-wobble-skew:active,.hvr-wobble-skew:focus,.hvr-wobble-skew:hover{-webkit-animation-name:hvr-wobble-skew;animation-name:hvr-wobble-skew;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-buzz{50%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}100%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}}@keyframes hvr-buzz{50%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}100%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}}.hvr-buzz{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-buzz:active,.hvr-buzz:focus,.hvr-buzz:hover{-webkit-animation-name:hvr-buzz;animation-name:hvr-buzz;-webkit-animation-duration:.15s;animation-duration:.15s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes hvr-buzz-out{10%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}20%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}30%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}40%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}50%{-webkit-transform:translateX(2px) rotate(1deg);transform:translateX(2px) rotate(1deg)}60%{-webkit-transform:translateX(-2px) rotate(-1deg);transform:translateX(-2px) rotate(-1deg)}70%{-webkit-transform:translateX(2px) rotate(1deg);transform:translateX(2px) rotate(1deg)}80%{-webkit-transform:translateX(-2px) rotate(-1deg);transform:translateX(-2px) rotate(-1deg)}90%{-webkit-transform:translateX(1px) rotate(0);transform:translateX(1px) rotate(0)}100%{-webkit-transform:translateX(-1px) rotate(0);transform:translateX(-1px) rotate(0)}}@keyframes hvr-buzz-out{10%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}20%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}30%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}40%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}50%{-webkit-transform:translateX(2px) rotate(1deg);transform:translateX(2px) rotate(1deg)}60%{-webkit-transform:translateX(-2px) rotate(-1deg);transform:translateX(-2px) rotate(-1deg)}70%{-webkit-transform:translateX(2px) rotate(1deg);transform:translateX(2px) rotate(1deg)}80%{-webkit-transform:translateX(-2px) rotate(-1deg);transform:translateX(-2px) rotate(-1deg)}90%{-webkit-transform:translateX(1px) rotate(0);transform:translateX(1px) rotate(0)}100%{-webkit-transform:translateX(-1px) rotate(0);transform:translateX(-1px) rotate(0)}}.hvr-buzz-out{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-buzz-out:active,.hvr-buzz-out:focus,.hvr-buzz-out:hover{-webkit-animation-name:hvr-buzz-out;animation-name:hvr-buzz-out;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.hvr-forward{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-forward:active,.hvr-forward:focus,.hvr-forward:hover{-webkit-transform:translateX(8px);transform:translateX(8px)}.hvr-backward{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-backward:active,.hvr-backward:focus,.hvr-backward:hover{-webkit-transform:translateX(-8px);transform:translateX(-8px)}.hvr-fade{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);overflow:hidden;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:color,background-color;transition-property:color,background-color}.hvr-fade:active,.hvr-fade:focus,.hvr-fade:hover{background-color:#2098D1;color:#fff}@-webkit-keyframes hvr-back-pulse{50%{background-color:rgba(32,152,209,.75)}}@keyframes hvr-back-pulse{50%{background-color:rgba(32,152,209,.75)}}.hvr-back-pulse{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);overflow:hidden;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-property:color,background-color;transition-property:color,background-color}.hvr-back-pulse:active,.hvr-back-pulse:focus,.hvr-back-pulse:hover{-webkit-animation-name:hvr-back-pulse;animation-name:hvr-back-pulse;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;background-color:#2098D1;background-color:#2098d1;color:#fff}.hvr-sweep-to-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-sweep-to-right:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-sweep-to-right:active,.hvr-sweep-to-right:focus,.hvr-sweep-to-right:hover{color:#fff}.hvr-sweep-to-right:active:before,.hvr-sweep-to-right:focus:before,.hvr-sweep-to-right:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.hvr-sweep-to-left{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-sweep-to-left:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-sweep-to-left:active,.hvr-sweep-to-left:focus,.hvr-sweep-to-left:hover{color:#fff}.hvr-sweep-to-left:active:before,.hvr-sweep-to-left:focus:before,.hvr-sweep-to-left:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.hvr-sweep-to-bottom{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-sweep-to-bottom:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-sweep-to-bottom:active,.hvr-sweep-to-bottom:focus,.hvr-sweep-to-bottom:hover{color:#fff}.hvr-sweep-to-bottom:active:before,.hvr-sweep-to-bottom:focus:before,.hvr-sweep-to-bottom:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1)}.hvr-sweep-to-top{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-sweep-to-top:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-sweep-to-top:active,.hvr-sweep-to-top:focus,.hvr-sweep-to-top:hover{color:#fff}.hvr-sweep-to-top:active:before,.hvr-sweep-to-top:focus:before,.hvr-sweep-to-top:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1)}.hvr-bounce-to-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.hvr-bounce-to-right:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-bounce-to-right:active,.hvr-bounce-to-right:focus,.hvr-bounce-to-right:hover{color:#fff}.hvr-bounce-to-right:active:before,.hvr-bounce-to-right:focus:before,.hvr-bounce-to-right:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition-timing-function:cubic-bezier(0.52,1.64,.37,.66);transition-timing-function:cubic-bezier(0.52,1.64,.37,.66)}.hvr-bounce-to-left{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.hvr-bounce-to-left:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-bounce-to-left:active,.hvr-bounce-to-left:focus,.hvr-bounce-to-left:hover{color:#fff}.hvr-bounce-to-left:active:before,.hvr-bounce-to-left:focus:before,.hvr-bounce-to-left:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition-timing-function:cubic-bezier(0.52,1.64,.37,.66);transition-timing-function:cubic-bezier(0.52,1.64,.37,.66)}.hvr-bounce-to-bottom{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.hvr-bounce-to-bottom:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-bounce-to-bottom:active,.hvr-bounce-to-bottom:focus,.hvr-bounce-to-bottom:hover{color:#fff}.hvr-bounce-to-bottom:active:before,.hvr-bounce-to-bottom:focus:before,.hvr-bounce-to-bottom:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition-timing-function:cubic-bezier(0.52,1.64,.37,.66);transition-timing-function:cubic-bezier(0.52,1.64,.37,.66)}.hvr-bounce-to-top{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.hvr-bounce-to-top:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-bounce-to-top:active,.hvr-bounce-to-top:focus,.hvr-bounce-to-top:hover{color:#fff}.hvr-bounce-to-top:active:before,.hvr-bounce-to-top:focus:before,.hvr-bounce-to-top:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition-timing-function:cubic-bezier(0.52,1.64,.37,.66);transition-timing-function:cubic-bezier(0.52,1.64,.37,.66)}.hvr-radial-out{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden;background:#e1e1e1;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-radial-out:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;border-radius:100%;-webkit-transform:scale(0);transform:scale(0);-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-radial-out:active,.hvr-radial-out:focus,.hvr-radial-out:hover{color:#fff}.hvr-radial-out:active:before,.hvr-radial-out:focus:before,.hvr-radial-out:hover:before{-webkit-transform:scale(2);transform:scale(2)}.hvr-radial-in{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden;background:#2098D1;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-radial-in:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#e1e1e1;border-radius:100%;-webkit-transform:scale(2);transform:scale(2);-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-radial-in:active,.hvr-radial-in:focus,.hvr-radial-in:hover{color:#fff}.hvr-radial-in:active:before,.hvr-radial-in:focus:before,.hvr-radial-in:hover:before{-webkit-transform:scale(0);transform:scale(0)}.hvr-rectangle-in{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;background:#2098D1;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-rectangle-in:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#e1e1e1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-rectangle-in:active,.hvr-rectangle-in:focus,.hvr-rectangle-in:hover{color:#fff}.hvr-rectangle-in:active:before,.hvr-rectangle-in:focus:before,.hvr-rectangle-in:hover:before{-webkit-transform:scale(0);transform:scale(0)}.hvr-rectangle-out{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;background:#e1e1e1;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-rectangle-out:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098D1;-webkit-transform:scale(0);transform:scale(0);-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-rectangle-out:active,.hvr-rectangle-out:focus,.hvr-rectangle-out:hover{color:#fff}.hvr-rectangle-out:active:before,.hvr-rectangle-out:focus:before,.hvr-rectangle-out:hover:before{-webkit-transform:scale(1);transform:scale(1)}.hvr-shutter-in-horizontal{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;background:#2098D1;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-shutter-in-horizontal:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;right:0;background:#e1e1e1;-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:50%;transform-origin:50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-shutter-in-horizontal:active,.hvr-shutter-in-horizontal:focus,.hvr-shutter-in-horizontal:hover{color:#fff}.hvr-shutter-in-horizontal:active:before,.hvr-shutter-in-horizontal:focus:before,.hvr-shutter-in-horizontal:hover:before{-webkit-transform:scaleX(0);transform:scaleX(0)}.hvr-shutter-out-horizontal{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;background:#e1e1e1;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-shutter-out-horizontal:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;right:0;background:#2098D1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:50%;transform-origin:50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-shutter-out-horizontal:active,.hvr-shutter-out-horizontal:focus,.hvr-shutter-out-horizontal:hover{color:#fff}.hvr-shutter-out-horizontal:active:before,.hvr-shutter-out-horizontal:focus:before,.hvr-shutter-out-horizontal:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.hvr-shutter-in-vertical{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;background:#2098D1;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-shutter-in-vertical:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;right:0;background:#e1e1e1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:50%;transform-origin:50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-shutter-in-vertical:active,.hvr-shutter-in-vertical:focus,.hvr-shutter-in-vertical:hover{color:#fff}.hvr-shutter-in-vertical:active:before,.hvr-shutter-in-vertical:focus:before,.hvr-shutter-in-vertical:hover:before{-webkit-transform:scaleY(0);transform:scaleY(0)}.hvr-shutter-out-vertical{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;background:#e1e1e1;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-shutter-out-vertical:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;right:0;background:#2098D1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50%;transform-origin:50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-shutter-out-vertical:active,.hvr-shutter-out-vertical:focus,.hvr-shutter-out-vertical:hover{color:#fff}.hvr-shutter-out-vertical:active:before,.hvr-shutter-out-vertical:focus:before,.hvr-shutter-out-vertical:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1)}.hvr-border-fade{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:box-shadow;transition-property:box-shadow;box-shadow:inset 0 0 0 4px #e1e1e1,0 0 1px rgba(0,0,0,0)}.hvr-border-fade:active,.hvr-border-fade:focus,.hvr-border-fade:hover{box-shadow:inset 0 0 0 4px #2098D1,0 0 1px rgba(0,0,0,0)}.hvr-hollow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background;transition-property:background;box-shadow:inset 0 0 0 4px #e1e1e1,0 0 1px rgba(0,0,0,0)}.hvr-hollow:active,.hvr-hollow:focus,.hvr-hollow:hover{background:0 0}.hvr-trim{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-trim:before{content:'';position:absolute;border:#fff solid 4px;top:4px;left:4px;right:4px;bottom:4px;opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity;transition-property:opacity}.hvr-trim:active:before,.hvr-trim:focus:before,.hvr-trim:hover:before{opacity:1}@-webkit-keyframes hvr-ripple-out{100%{top:-12px;right:-12px;bottom:-12px;left:-12px;opacity:0}}@keyframes hvr-ripple-out{100%{top:-12px;right:-12px;bottom:-12px;left:-12px;opacity:0}}.hvr-ripple-out{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-ripple-out:before{content:'';position:absolute;border:#e1e1e1 solid 6px;top:0;right:0;bottom:0;left:0;-webkit-animation-duration:1s;animation-duration:1s}.hvr-ripple-out:active:before,.hvr-ripple-out:focus:before,.hvr-ripple-out:hover:before{-webkit-animation-name:hvr-ripple-out;animation-name:hvr-ripple-out}@-webkit-keyframes hvr-ripple-in{100%{top:0;right:0;bottom:0;left:0;opacity:1}}@keyframes hvr-ripple-in{100%{top:0;right:0;bottom:0;left:0;opacity:1}}.hvr-ripple-in{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-ripple-in:before{content:'';position:absolute;border:#e1e1e1 solid 4px;top:-12px;right:-12px;bottom:-12px;left:-12px;opacity:0;-webkit-animation-duration:1s;animation-duration:1s}.hvr-ripple-in:active:before,.hvr-ripple-in:focus:before,.hvr-ripple-in:hover:before{-webkit-animation-name:hvr-ripple-in;animation-name:hvr-ripple-in}.hvr-outline-out{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-outline-out:before{content:'';position:absolute;border:#e1e1e1 solid 4px;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:top,right,bottom,left;transition-property:top,right,bottom,left}.hvr-outline-out:active:before,.hvr-outline-out:focus:before,.hvr-outline-out:hover:before{top:-8px;right:-8px;bottom:-8px;left:-8px}.hvr-outline-in{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-outline-in:before{pointer-events:none;content:'';position:absolute;border:#e1e1e1 solid 4px;top:-16px;right:-16px;bottom:-16px;left:-16px;opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:top,right,bottom,left;transition-property:top,right,bottom,left}.hvr-outline-in:active:before,.hvr-outline-in:focus:before,.hvr-outline-in:hover:before{top:-8px;right:-8px;bottom:-8px;left:-8px;opacity:1}.hvr-round-corners{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:border-radius;transition-property:border-radius}.hvr-round-corners:active,.hvr-round-corners:focus,.hvr-round-corners:hover{border-radius:1em}.hvr-underline-from-left{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-underline-from-left:before{content:"";position:absolute;z-index:-1;left:0;right:100%;bottom:0;background:#2098D1;height:4px;-webkit-transition-property:right;transition-property:right;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-underline-from-left:active:before,.hvr-underline-from-left:focus:before,.hvr-underline-from-left:hover:before{right:0}.hvr-underline-from-center{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-underline-from-center:before{content:"";position:absolute;z-index:-1;left:51%;right:51%;bottom:0;background:#2098D1;height:4px;-webkit-transition-property:left,right;transition-property:left,right;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-underline-from-center:active:before,.hvr-underline-from-center:focus:before,.hvr-underline-from-center:hover:before{left:0;right:0}.hvr-underline-from-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-underline-from-right:before{content:"";position:absolute;z-index:-1;left:100%;right:0;bottom:0;background:#2098D1;height:4px;-webkit-transition-property:left;transition-property:left;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-underline-from-right:active:before,.hvr-underline-from-right:focus:before,.hvr-underline-from-right:hover:before{left:0}.hvr-overline-from-left{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-overline-from-left:before{content:"";position:absolute;z-index:-1;left:0;right:100%;top:0;background:#2098D1;height:4px;-webkit-transition-property:right;transition-property:right;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-overline-from-left:active:before,.hvr-overline-from-left:focus:before,.hvr-overline-from-left:hover:before{right:0}.hvr-overline-from-center{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-overline-from-center:before{content:"";position:absolute;z-index:-1;left:51%;right:51%;top:0;background:#2098D1;height:4px;-webkit-transition-property:left,right;transition-property:left,right;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-overline-from-center:active:before,.hvr-overline-from-center:focus:before,.hvr-overline-from-center:hover:before{left:0;right:0}.hvr-overline-from-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-overline-from-right:before{content:"";position:absolute;z-index:-1;left:100%;right:0;top:0;background:#2098D1;height:4px;-webkit-transition-property:left;transition-property:left;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-overline-from-right:active:before,.hvr-overline-from-right:focus:before,.hvr-overline-from-right:hover:before{left:0}.hvr-reveal{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-reveal:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;bottom:0;border-color:#2098D1;border-style:solid;border-width:0;-webkit-transition-property:border-width;transition-property:border-width;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-reveal:active:before,.hvr-reveal:focus:before,.hvr-reveal:hover:before{-webkit-transform:translateY(0);transform:translateY(0);border-width:4px}.hvr-underline-reveal{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-underline-reveal:before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;background:#2098D1;height:4px;-webkit-transform:translateY(4px);transform:translateY(4px);-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-underline-reveal:active:before,.hvr-underline-reveal:focus:before,.hvr-underline-reveal:hover:before{-webkit-transform:translateY(0);transform:translateY(0)}.hvr-overline-reveal{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}.hvr-overline-reveal:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;background:#2098D1;height:4px;-webkit-transform:translateY(-4px);transform:translateY(-4px);-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-overline-reveal:active:before,.hvr-overline-reveal:focus:before,.hvr-overline-reveal:hover:before{-webkit-transform:translateY(0);transform:translateY(0)}.hvr-glow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:box-shadow;transition-property:box-shadow}.hvr-glow:active,.hvr-glow:focus,.hvr-glow:hover{box-shadow:0 0 8px rgba(0,0,0,.6)}.hvr-shadow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:box-shadow;transition-property:box-shadow}.hvr-shadow:active,.hvr-shadow:focus,.hvr-shadow:hover{box-shadow:0 10px 10px -10px rgba(0,0,0,.5)}.hvr-grow-shadow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:box-shadow,transform;transition-property:box-shadow,transform}.hvr-grow-shadow:active,.hvr-grow-shadow:focus,.hvr-grow-shadow:hover{box-shadow:0 10px 10px -10px rgba(0,0,0,.5);-webkit-transform:scale(1.1);transform:scale(1.1)}.hvr-box-shadow-outset{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:box-shadow;transition-property:box-shadow}.hvr-box-shadow-outset:active,.hvr-box-shadow-outset:focus,.hvr-box-shadow-outset:hover{box-shadow:2px 2px 2px rgba(0,0,0,.6)}.hvr-box-shadow-inset{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:box-shadow;transition-property:box-shadow;box-shadow:inset 0 0 0 rgba(0,0,0,.6),0 0 1px rgba(0,0,0,0)}.hvr-box-shadow-inset:active,.hvr-box-shadow-inset:focus,.hvr-box-shadow-inset:hover{box-shadow:inset 2px 2px 2px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,0)}.hvr-float-shadow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-float-shadow:before{pointer-events:none;position:absolute;z-index:-1;content:'';top:100%;left:5%;height:10px;width:90%;opacity:0;background:-webkit-radial-gradient(center,ellipse,rgba(0,0,0,.35) 0,rgba(0,0,0,0) 80%);background:radial-gradient(ellipse at center,rgba(0,0,0,.35) 0,rgba(0,0,0,0) 80%);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform,opacity;transition-property:transform,opacity}.hvr-float-shadow:active,.hvr-float-shadow:focus,.hvr-float-shadow:hover{-webkit-transform:translateY(-5px);transform:translateY(-5px)}.hvr-float-shadow:active:before,.hvr-float-shadow:focus:before,.hvr-float-shadow:hover:before{opacity:1;-webkit-transform:translateY(5px);transform:translateY(5px)}.hvr-shadow-radial{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-shadow-radial:after,.hvr-shadow-radial:before{pointer-events:none;position:absolute;content:'';left:0;width:100%;box-sizing:border-box;height:5px;opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity;transition-property:opacity}.hvr-shadow-radial:before{bottom:100%;background:-webkit-radial-gradient(50% 150%,ellipse,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 80%);background:radial-gradient(ellipse at 50% 150%,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 80%)}.hvr-shadow-radial:after{top:100%;background:-webkit-radial-gradient(50% -50%,ellipse,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 80%);background:radial-gradient(ellipse at 50% -50%,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 80%)}.hvr-shadow-radial:active:after,.hvr-shadow-radial:active:before,.hvr-shadow-radial:focus:after,.hvr-shadow-radial:focus:before,.hvr-shadow-radial:hover:after,.hvr-shadow-radial:hover:before{opacity:1}.hvr-bubble-top{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-bubble-top:before{pointer-events:none;position:absolute;z-index:-1;content:'';border-style:solid;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;left:calc(50% - 10px);top:0;border-width:0 10px 10px;border-color:transparent transparent #e1e1e1}.hvr-bubble-top:active:before,.hvr-bubble-top:focus:before,.hvr-bubble-top:hover:before{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.hvr-bubble-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-bubble-right:before{pointer-events:none;position:absolute;z-index:-1;content:'';border-style:solid;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;top:calc(50% - 10px);right:0;border-width:10px 0 10px 10px;border-color:transparent transparent transparent #e1e1e1}.hvr-bubble-right:active:before,.hvr-bubble-right:focus:before,.hvr-bubble-right:hover:before{-webkit-transform:translateX(10px);transform:translateX(10px)}.hvr-bubble-bottom{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-bubble-bottom:before{pointer-events:none;position:absolute;z-index:-1;content:'';border-style:solid;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;left:calc(50% - 10px);bottom:0;border-width:10px 10px 0;border-color:#e1e1e1 transparent transparent}.hvr-bubble-bottom:active:before,.hvr-bubble-bottom:focus:before,.hvr-bubble-bottom:hover:before{-webkit-transform:translateY(10px);transform:translateY(10px)}.hvr-bubble-left{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-bubble-left:before{pointer-events:none;position:absolute;z-index:-1;content:'';border-style:solid;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;top:calc(50% - 10px);left:0;border-width:10px 10px 10px 0;border-color:transparent #e1e1e1 transparent transparent}.hvr-bubble-left:active:before,.hvr-bubble-left:focus:before,.hvr-bubble-left:hover:before{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.hvr-bubble-float-top{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-bubble-float-top:before{position:absolute;z-index:-1;content:'';left:calc(50% - 10px);top:0;border-style:solid;border-width:0 10px 10px;border-color:transparent transparent #e1e1e1;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-bubble-float-top:active,.hvr-bubble-float-top:focus,.hvr-bubble-float-top:hover{-webkit-transform:translateY(10px);transform:translateY(10px)}.hvr-bubble-float-top:active:before,.hvr-bubble-float-top:focus:before,.hvr-bubble-float-top:hover:before{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.hvr-bubble-float-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-bubble-float-right:before{position:absolute;z-index:-1;top:calc(50% - 10px);right:0;content:'';border-style:solid;border-width:10px 0 10px 10px;border-color:transparent transparent transparent #e1e1e1;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-bubble-float-right:active,.hvr-bubble-float-right:focus,.hvr-bubble-float-right:hover{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.hvr-bubble-float-right:active:before,.hvr-bubble-float-right:focus:before,.hvr-bubble-float-right:hover:before{-webkit-transform:translateX(10px);transform:translateX(10px)}.hvr-bubble-float-bottom{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-bubble-float-bottom:before{position:absolute;z-index:-1;content:'';left:calc(50% - 10px);bottom:0;border-style:solid;border-width:10px 10px 0;border-color:#e1e1e1 transparent transparent;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-bubble-float-bottom:active,.hvr-bubble-float-bottom:focus,.hvr-bubble-float-bottom:hover{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.hvr-bubble-float-bottom:active:before,.hvr-bubble-float-bottom:focus:before,.hvr-bubble-float-bottom:hover:before{-webkit-transform:translateY(10px);transform:translateY(10px)}.hvr-bubble-float-left{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-bubble-float-left:before{position:absolute;z-index:-1;content:'';top:calc(50% - 10px);left:0;border-style:solid;border-width:10px 10px 10px 0;border-color:transparent #e1e1e1 transparent transparent;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform}.hvr-bubble-float-left:active,.hvr-bubble-float-left:focus,.hvr-bubble-float-left:hover{-webkit-transform:translateX(10px);transform:translateX(10px)}.hvr-bubble-float-left:active:before,.hvr-bubble-float-left:focus:before,.hvr-bubble-float-left:hover:before{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.hvr-icon-back{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.1s;transition-duration:.1s}.hvr-icon-back .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-back:active .hvr-icon,.hvr-icon-back:focus .hvr-icon,.hvr-icon-back:hover .hvr-icon{-webkit-transform:translateX(-4px);transform:translateX(-4px)}.hvr-icon-forward{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.1s;transition-duration:.1s}.hvr-icon-forward .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-forward:active .hvr-icon,.hvr-icon-forward:focus .hvr-icon,.hvr-icon-forward:hover .hvr-icon{-webkit-transform:translateX(4px);transform:translateX(4px)}@-webkit-keyframes hvr-icon-down{0%,100%,50%{-webkit-transform:translateY(0);transform:translateY(0)}25%,75%{-webkit-transform:translateY(6px);transform:translateY(6px)}}@keyframes hvr-icon-down{0%,100%,50%{-webkit-transform:translateY(0);transform:translateY(0)}25%,75%{-webkit-transform:translateY(6px);transform:translateY(6px)}}.hvr-icon-down{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-down .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-down:active .hvr-icon,.hvr-icon-down:focus .hvr-icon,.hvr-icon-down:hover .hvr-icon{-webkit-animation-name:hvr-icon-down;animation-name:hvr-icon-down;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes hvr-icon-up{0%,100%,50%{-webkit-transform:translateY(0);transform:translateY(0)}25%,75%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}}@keyframes hvr-icon-up{0%,100%,50%{-webkit-transform:translateY(0);transform:translateY(0)}25%,75%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}}.hvr-icon-up{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-up .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-up:active .hvr-icon,.hvr-icon-up:focus .hvr-icon,.hvr-icon-up:hover .hvr-icon{-webkit-animation-name:hvr-icon-up;animation-name:hvr-icon-up;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.hvr-icon-spin{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-spin .hvr-icon{-webkit-transition-duration:1s;transition-duration:1s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.hvr-icon-spin:active .hvr-icon,.hvr-icon-spin:focus .hvr-icon,.hvr-icon-spin:hover .hvr-icon{-webkit-transform:rotate(360deg);transform:rotate(360deg)}@-webkit-keyframes hvr-icon-drop{0%{opacity:0}50%{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}100%,51%{opacity:1}}@keyframes hvr-icon-drop{0%{opacity:0}50%{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}100%,51%{opacity:1}}.hvr-icon-drop{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-drop .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-drop:active .hvr-icon,.hvr-icon-drop:focus .hvr-icon,.hvr-icon-drop:hover .hvr-icon{opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-animation-name:hvr-icon-drop;animation-name:hvr-icon-drop;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-delay:.3s;animation-delay:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(0.52,1.64,.37,.66);animation-timing-function:cubic-bezier(0.52,1.64,.37,.66)}.hvr-icon-fade{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-fade .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-property:color;transition-property:color}.hvr-icon-fade:active .hvr-icon,.hvr-icon-fade:focus .hvr-icon,.hvr-icon-fade:hover .hvr-icon{color:#0F9E5E}@-webkit-keyframes hvr-icon-float-away{0%{opacity:1}100%{opacity:0;-webkit-transform:translateY(-1em);transform:translateY(-1em)}}@keyframes hvr-icon-float-away{0%{opacity:1}100%{opacity:0;-webkit-transform:translateY(-1em);transform:translateY(-1em)}}.hvr-icon-float-away{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-float-away .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.hvr-icon-float-away:active .hvr-icon,.hvr-icon-float-away:focus .hvr-icon,.hvr-icon-float-away:hover .hvr-icon{-webkit-animation-name:hvr-icon-float-away;animation-name:hvr-icon-float-away;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes hvr-icon-sink-away{0%{opacity:1}100%{opacity:0;-webkit-transform:translateY(1em);transform:translateY(1em)}}@keyframes hvr-icon-sink-away{0%{opacity:1}100%{opacity:0;-webkit-transform:translateY(1em);transform:translateY(1em)}}.hvr-icon-sink-away{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-sink-away .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.hvr-icon-sink-away:active .hvr-icon,.hvr-icon-sink-away:focus .hvr-icon,.hvr-icon-sink-away:hover .hvr-icon{-webkit-animation-name:hvr-icon-sink-away;animation-name:hvr-icon-sink-away;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.hvr-icon-grow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-grow .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-grow:active .hvr-icon,.hvr-icon-grow:focus .hvr-icon,.hvr-icon-grow:hover .hvr-icon{-webkit-transform:scale(1.3) translateZ(0);transform:scale(1.3) translateZ(0)}.hvr-icon-shrink{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-shrink .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-shrink:active .hvr-icon,.hvr-icon-shrink:focus .hvr-icon,.hvr-icon-shrink:hover .hvr-icon{-webkit-transform:scale(0.8);transform:scale(0.8)}@-webkit-keyframes hvr-icon-pulse{25%{-webkit-transform:scale(1.3);transform:scale(1.3)}75%{-webkit-transform:scale(0.8);transform:scale(0.8)}}@keyframes hvr-icon-pulse{25%{-webkit-transform:scale(1.3);transform:scale(1.3)}75%{-webkit-transform:scale(0.8);transform:scale(0.8)}}.hvr-icon-pulse{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-pulse .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-pulse:active .hvr-icon,.hvr-icon-pulse:focus .hvr-icon,.hvr-icon-pulse:hover .hvr-icon{-webkit-animation-name:hvr-icon-pulse;animation-name:hvr-icon-pulse;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes hvr-icon-pulse-grow{to{-webkit-transform:scale(1.3);transform:scale(1.3)}}@keyframes hvr-icon-pulse-grow{to{-webkit-transform:scale(1.3);transform:scale(1.3)}}.hvr-icon-pulse-grow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-pulse-grow .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-pulse-grow:active .hvr-icon,.hvr-icon-pulse-grow:focus .hvr-icon,.hvr-icon-pulse-grow:hover .hvr-icon{-webkit-animation-name:hvr-icon-pulse-grow;animation-name:hvr-icon-pulse-grow;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate}@-webkit-keyframes hvr-icon-pulse-shrink{to{-webkit-transform:scale(0.8);transform:scale(0.8)}}@keyframes hvr-icon-pulse-shrink{to{-webkit-transform:scale(0.8);transform:scale(0.8)}}.hvr-icon-pulse-shrink{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0)}.hvr-icon-pulse-shrink .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-pulse-shrink:active .hvr-icon,.hvr-icon-pulse-shrink:focus .hvr-icon,.hvr-icon-pulse-shrink:hover .hvr-icon{-webkit-animation-name:hvr-icon-pulse-shrink;animation-name:hvr-icon-pulse-shrink;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate}@-webkit-keyframes hvr-icon-push{50%{-webkit-transform:scale(0.5);transform:scale(0.5)}}@keyframes hvr-icon-push{50%{-webkit-transform:scale(0.5);transform:scale(0.5)}}.hvr-icon-push{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-push .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-push:active .hvr-icon,.hvr-icon-push:focus .hvr-icon,.hvr-icon-push:hover .hvr-icon{-webkit-animation-name:hvr-icon-push;animation-name:hvr-icon-push;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-icon-pop{50%{-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes hvr-icon-pop{50%{-webkit-transform:scale(1.5);transform:scale(1.5)}}.hvr-icon-pop{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-pop .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-pop:active .hvr-icon,.hvr-icon-pop:focus .hvr-icon,.hvr-icon-pop:hover .hvr-icon{-webkit-animation-name:hvr-icon-pop;animation-name:hvr-icon-pop;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.hvr-icon-bounce{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-bounce .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-bounce:active .hvr-icon,.hvr-icon-bounce:focus .hvr-icon,.hvr-icon-bounce:hover .hvr-icon{-webkit-transform:scale(1.5);transform:scale(1.5);-webkit-transition-timing-function:cubic-bezier(0.47,2.02,.31,-.36);transition-timing-function:cubic-bezier(0.47,2.02,.31,-.36)}.hvr-icon-rotate{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-rotate .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-rotate:active .hvr-icon,.hvr-icon-rotate:focus .hvr-icon,.hvr-icon-rotate:hover .hvr-icon{-webkit-transform:rotate(20deg);transform:rotate(20deg)}.hvr-icon-grow-rotate{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-grow-rotate .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-grow-rotate:active .hvr-icon,.hvr-icon-grow-rotate:focus .hvr-icon,.hvr-icon-grow-rotate:hover .hvr-icon{-webkit-transform:scale(1.5) rotate(12deg);transform:scale(1.5) rotate(12deg)}.hvr-icon-float{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-float .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-float:active .hvr-icon,.hvr-icon-float:focus .hvr-icon,.hvr-icon-float:hover .hvr-icon{-webkit-transform:translateY(-4px);transform:translateY(-4px)}.hvr-icon-sink{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-sink .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-icon-sink:active .hvr-icon,.hvr-icon-sink:focus .hvr-icon,.hvr-icon-sink:hover .hvr-icon{-webkit-transform:translateY(4px);transform:translateY(4px)}@-webkit-keyframes hvr-icon-bob{0%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}50%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}100%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}}@keyframes hvr-icon-bob{0%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}50%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}100%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}}@-webkit-keyframes hvr-icon-bob-float{100%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}}@keyframes hvr-icon-bob-float{100%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}}.hvr-icon-bob{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-bob .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-bob:active .hvr-icon,.hvr-icon-bob:focus .hvr-icon,.hvr-icon-bob:hover .hvr-icon{-webkit-animation-name:hvr-icon-bob-float,hvr-icon-bob;animation-name:hvr-icon-bob-float,hvr-icon-bob;-webkit-animation-duration:.3s,1.5s;animation-duration:.3s,1.5s;-webkit-animation-delay:0s,.3s;animation-delay:0s,.3s;-webkit-animation-timing-function:ease-out,ease-in-out;animation-timing-function:ease-out,ease-in-out;-webkit-animation-iteration-count:1,infinite;animation-iteration-count:1,infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-direction:normal,alternate;animation-direction:normal,alternate}@-webkit-keyframes hvr-icon-hang{0%{-webkit-transform:translateY(6px);transform:translateY(6px)}50%{-webkit-transform:translateY(2px);transform:translateY(2px)}100%{-webkit-transform:translateY(6px);transform:translateY(6px)}}@keyframes hvr-icon-hang{0%{-webkit-transform:translateY(6px);transform:translateY(6px)}50%{-webkit-transform:translateY(2px);transform:translateY(2px)}100%{-webkit-transform:translateY(6px);transform:translateY(6px)}}@-webkit-keyframes hvr-icon-hang-sink{100%{-webkit-transform:translateY(6px);transform:translateY(6px)}}@keyframes hvr-icon-hang-sink{100%{-webkit-transform:translateY(6px);transform:translateY(6px)}}.hvr-icon-hang{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-hang .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-hang:active .hvr-icon,.hvr-icon-hang:focus .hvr-icon,.hvr-icon-hang:hover .hvr-icon{-webkit-animation-name:hvr-icon-hang-sink,hvr-icon-hang;animation-name:hvr-icon-hang-sink,hvr-icon-hang;-webkit-animation-duration:.3s,1.5s;animation-duration:.3s,1.5s;-webkit-animation-delay:0s,.3s;animation-delay:0s,.3s;-webkit-animation-timing-function:ease-out,ease-in-out;animation-timing-function:ease-out,ease-in-out;-webkit-animation-iteration-count:1,infinite;animation-iteration-count:1,infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-direction:normal,alternate;animation-direction:normal,alternate}@-webkit-keyframes hvr-icon-wobble-horizontal{16.65%{-webkit-transform:translateX(6px);transform:translateX(6px)}33.3%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}49.95%{-webkit-transform:translateX(4px);transform:translateX(4px)}66.6%{-webkit-transform:translateX(-2px);transform:translateX(-2px)}83.25%{-webkit-transform:translateX(1px);transform:translateX(1px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes hvr-icon-wobble-horizontal{16.65%{-webkit-transform:translateX(6px);transform:translateX(6px)}33.3%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}49.95%{-webkit-transform:translateX(4px);transform:translateX(4px)}66.6%{-webkit-transform:translateX(-2px);transform:translateX(-2px)}83.25%{-webkit-transform:translateX(1px);transform:translateX(1px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.hvr-icon-wobble-horizontal{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-wobble-horizontal .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-wobble-horizontal:active .hvr-icon,.hvr-icon-wobble-horizontal:focus .hvr-icon,.hvr-icon-wobble-horizontal:hover .hvr-icon{-webkit-animation-name:hvr-icon-wobble-horizontal;animation-name:hvr-icon-wobble-horizontal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-icon-wobble-vertical{16.65%{-webkit-transform:translateY(6px);transform:translateY(6px)}33.3%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}49.95%{-webkit-transform:translateY(4px);transform:translateY(4px)}66.6%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}83.25%{-webkit-transform:translateY(1px);transform:translateY(1px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes hvr-icon-wobble-vertical{16.65%{-webkit-transform:translateY(6px);transform:translateY(6px)}33.3%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}49.95%{-webkit-transform:translateY(4px);transform:translateY(4px)}66.6%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}83.25%{-webkit-transform:translateY(1px);transform:translateY(1px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.hvr-icon-wobble-vertical{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-wobble-vertical .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-wobble-vertical:active .hvr-icon,.hvr-icon-wobble-vertical:focus .hvr-icon,.hvr-icon-wobble-vertical:hover .hvr-icon{-webkit-animation-name:hvr-icon-wobble-vertical;animation-name:hvr-icon-wobble-vertical;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes hvr-icon-buzz{50%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}100%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}}@keyframes hvr-icon-buzz{50%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}100%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}}.hvr-icon-buzz{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-buzz .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-buzz:active .hvr-icon,.hvr-icon-buzz:focus .hvr-icon,.hvr-icon-buzz:hover .hvr-icon{-webkit-animation-name:hvr-icon-buzz;animation-name:hvr-icon-buzz;-webkit-animation-duration:.15s;animation-duration:.15s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes hvr-icon-buzz-out{10%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}20%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}30%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}40%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}50%{-webkit-transform:translateX(2px) rotate(1deg);transform:translateX(2px) rotate(1deg)}60%{-webkit-transform:translateX(-2px) rotate(-1deg);transform:translateX(-2px) rotate(-1deg)}70%{-webkit-transform:translateX(2px) rotate(1deg);transform:translateX(2px) rotate(1deg)}80%{-webkit-transform:translateX(-2px) rotate(-1deg);transform:translateX(-2px) rotate(-1deg)}90%{-webkit-transform:translateX(1px) rotate(0);transform:translateX(1px) rotate(0)}100%{-webkit-transform:translateX(-1px) rotate(0);transform:translateX(-1px) rotate(0)}}@keyframes hvr-icon-buzz-out{10%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}20%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}30%{-webkit-transform:translateX(3px) rotate(2deg);transform:translateX(3px) rotate(2deg)}40%{-webkit-transform:translateX(-3px) rotate(-2deg);transform:translateX(-3px) rotate(-2deg)}50%{-webkit-transform:translateX(2px) rotate(1deg);transform:translateX(2px) rotate(1deg)}60%{-webkit-transform:translateX(-2px) rotate(-1deg);transform:translateX(-2px) rotate(-1deg)}70%{-webkit-transform:translateX(2px) rotate(1deg);transform:translateX(2px) rotate(1deg)}80%{-webkit-transform:translateX(-2px) rotate(-1deg);transform:translateX(-2px) rotate(-1deg)}90%{-webkit-transform:translateX(1px) rotate(0);transform:translateX(1px) rotate(0)}100%{-webkit-transform:translateX(-1px) rotate(0);transform:translateX(-1px) rotate(0)}}.hvr-icon-buzz-out{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-icon-buzz-out .hvr-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}.hvr-icon-buzz-out:active .hvr-icon,.hvr-icon-buzz-out:focus .hvr-icon,.hvr-icon-buzz-out:hover .hvr-icon{-webkit-animation-name:hvr-icon-buzz-out;animation-name:hvr-icon-buzz-out;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.hvr-curl-top-left{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-curl-top-left:before{pointer-events:none;position:absolute;content:'';height:0;width:0;top:0;left:0;background:#fff;background:linear-gradient(135deg,#fff 45%,#aaa 50%,#ccc 56%,#fff 80%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#000000');z-index:1000;box-shadow:1px 1px 1px rgba(0,0,0,.4);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:width,height;transition-property:width,height}.hvr-curl-top-left:active:before,.hvr-curl-top-left:focus:before,.hvr-curl-top-left:hover:before{width:25px;height:25px}.hvr-curl-top-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-curl-top-right:before{pointer-events:none;position:absolute;content:'';height:0;width:0;top:0;right:0;background:#fff;background:linear-gradient(225deg,#fff 45%,#aaa 50%,#ccc 56%,#fff 80%);box-shadow:-1px 1px 1px rgba(0,0,0,.4);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:width,height;transition-property:width,height}.hvr-curl-top-right:active:before,.hvr-curl-top-right:focus:before,.hvr-curl-top-right:hover:before{width:25px;height:25px}.hvr-curl-bottom-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-curl-bottom-right:before{pointer-events:none;position:absolute;content:'';height:0;width:0;bottom:0;right:0;background:#fff;background:linear-gradient(315deg,#fff 45%,#aaa 50%,#ccc 56%,#fff 80%);box-shadow:-1px -1px 1px rgba(0,0,0,.4);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:width,height;transition-property:width,height}.hvr-curl-bottom-right:active:before,.hvr-curl-bottom-right:focus:before,.hvr-curl-bottom-right:hover:before{width:25px;height:25px}.hvr-curl-bottom-left{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative}.hvr-curl-bottom-left:before{pointer-events:none;position:absolute;content:'';height:0;width:0;bottom:0;left:0;background:#fff;background:linear-gradient(45deg,#fff 45%,#aaa 50%,#ccc 56%,#fff 80%);box-shadow:1px -1px 1px rgba(0,0,0,.4);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:width,height;transition-property:width,height}.hvr-curl-bottom-left:active:before,.hvr-curl-bottom-left:focus:before,.hvr-curl-bottom-left:hover:before{width:25px;height:25px}

/* ── style.whatsapp.css ── */
:root{--whatsapp-color:#2db950}.whatsapp-btn{position:fixed;left:20px;bottom:20px;right:0;width:50px;height:50px;background-color:var(--whatsapp-color);display:flex;justify-content:center;align-items:center;z-index:1000;border-radius:100%;overflow:hidden;box-shadow:0 5px 15px rgb(0,0,0,.1);border:.1em solid rgba(255,255,255,1);transition:all .2s ease}.whatsapp-btn:active{transform:scale(.8)}.whatsapp-btn::before{content:"";width:60px;height:60px;border:10px solid red;position:absolute;border-radius:100%;opacity:0;transform:scale(1)}.whatsapp-btn:active::before{animation:whatsAppBtnClickAnimation .3s ease-in-out}.whatsapp-btn i{color:#fff;font-size:20px}.whatsapp-btn.open .fa-times{display:block}.whatsapp-btn.open .fa-whatsapp{display:none}.whatsapp-btn:not(.open) .fa-times{display:none}.whatsapp-btn:not(.open) .fa-whatsapp{display:block;font-size:25px}.whatsapp-container{position:fixed;bottom:90px;transform:translateY(100%);right:15px;left:15px;opacity:0;width:300px;border-radius:10px;display:block;pointer-events:none;z-index:100000;box-shadow:0 1px 6px rgb(0,0,0,.06),0 2px 32px rgb(0,0,0,.16);transition:all .3s ease}.whatsapp-container.open{opacity:1;transform:translateY(0);pointer-events:all;animation:whatsAppContainerAnimation .3s ease}.whatsapp-container-header{display:block;position:relative;width:100%;background-color:var(--whatsapp-color);color:#fff;text-align:center;padding:10px;font-size:20px;line-height:1;box-sizing:border-box;border-top-left-radius:10px;border-top-right-radius:10px}.whatsapp-container-inner{width:100%;height:280px;background:#fff;position:relative;box-sizing:border-box;background-image:url(../images/whatsappWallpepr.jpg);background-repeat:no-repeat;background-position:center;background-size:cover;padding-top:20px;padding-bottom:80px}.whatsapp-container-inner .whatsappMessageInfo{width:80%;font-size:12px;background:#fff;padding:10px 30px;margin-left:30px;margin-bottom:20px;border-radius:0 50px 50px 50px;box-shadow:0 8px 13px -5px rgba(0,0,0,.2);box-sizing:border-box;position:relative}.whatsapp-container-inner textarea{border:none;outline:0;resize:none;height:100%;width:100%;background:0 0;border-radius:none;color:#121921;padding:0 30px;font-size:14px;overflow:hidden;resize:none}.whatsapp-container-footer{box-sizing:border-box;border-bottom-left-radius:10px;border-bottom-right-radius:10px}.whatsapp-container-footer div{width:100%;border-radius:none;outline:0;box-shadow:none;border:none;line-height:1;text-decoration:none;padding:18px 0;background:var(--whatsapp-color);color:#fff;text-align:center;display:inline-block;margin:0;min-height:auto;font-size:inherit;position:relative;border-bottom-left-radius:10px;border-bottom-right-radius:10px}.whatsapp-container-footer div i{transform:translateX(0);transition:all .4s ease}.whatsapp-container-footer:hover div i{transform:translateX(10px);animation:sendViaWhatsAppBtnAnimation .3s infinite alternate ease}@keyframes whatsAppBtnClickAnimation{0%{transform:scale(0);opacity:1}100%{transform:scale(1.5);opacity:0}}@keyframes sendViaWhatsAppBtnAnimation{0%{transform:translateX(0)}100%{transform:translateX(10px)}}@keyframes whatsAppContainerAnimation{0%{transform:translateY(100%);opacity:0}100%{transform:translateY(0);opacity:1}}@media only screen and (max-width:330px){.whatsapp-container{width:87%!important}.whatsapp-container-header{padding:8px;font-size:17px;font-weight:700}.whatsapp-container-inner .whatsappMessageInfo{font-size:11px;padding:5px 12px;margin-bottom:10px}.whatsapp-container-inner textarea{padding:0 30px;font-size:12px}.whatsapp-container-footer div{text-decoration:none;padding:13px 0;font-size:.8em}}


/* ── swiper-bundle.min.css ── */
/**
 * Swiper 8.4.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 12, 2022
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}

/* ── style.css ── */
/* Teko loaded via <link> in mainHeader.blade.php (non-blocking) — removed @import here */
@font-face {
    font-family: rightous;
    src: url(../fonts/Righteous-Regular.woff2) format('woff2'),
         url(../fonts/Righteous-Regular.ttf) format('truetype');
    font-display: swap;
}

@font-face {
    font-family: poppins;
    src: url(../fonts/Poppins-Regular.woff2) format('woff2'),
         url(../fonts/Poppins-Regular.ttf) format('truetype');
    font-display: swap;
}

@font-face {
    font-family: ayat;
    src: url(../fonts/Changa-VariableFont_wght.woff2) format('woff2'),
         url(../fonts/Changa-VariableFont_wght.ttf) format('truetype');
    font-display: swap;
}

:root {
    --primary-color-light: #1a8047;
    --primary-color-dark: #0c4b04;
    --secondary-color-light: #a6ce39;
    --secondary-color-dark: #88ac25;
    --para-text-color: #585858;
    --linear-gradient-left-primary: linear-gradient(to left, var(--primary-color-light), var(--primary-color-dark));
    --linear-gradient-right-primary: linear-gradient(to right, var(--primary-color-light), var(--primary-color-dark));
    --linear-gradient-top-primary: linear-gradient(to top, var(--primary-color-light), var(--primary-color-dark));
    --linear-gradient-bottom-primary: linear-gradient(to bottom, var(--primary-color-light), var(--primary-color-dark));
    --linear-gradient-left-secondary: linear-gradient(to left, var(--secondary-color-light), var(--secondary-color-dark));
    --linear-gradient-right-secondary: linear-gradient(to right, var(--secondary-color-light), var(--secondary-color-dark));
    --linear-gradient-top-secondary: linear-gradient(to top, var(--secondary-color-light), var(--secondary-color-dark));
    --linear-gradient-bottom-secondary: linear-gradient(to bottom, var(--secondary-color-light), var(--secondary-color-dark))
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-decoration: none !important;
}

a { transition: color 0.2s ease; }

button, .btnPrimary, .btnPrimaryOutlined, .nav-item,
header nav, .nav-cta, .expoBadge, .feedback-btn,
.pls-map-badge, .pls-select__btn, .pls-cf-btn,
.pls-footer__nl-btn, label { user-select: none; }

p, h1, h2, h3, h4, h5, h6, li, span, td, th,
.pls-rich-content, .blogCardBody, .pls-contact-card__value,
article, blockquote { user-select: text; }

.btnPrimary {
    background-image: var(--linear-gradient-left-secondary);
    cursor: pointer;
    border-radius: 5px;
    padding: 10px 40px;
    color: #fff;
    text-transform: capitalize;
    font-weight: 700;
    font-size: 1rem;
    display: inline-block;
    font-family: poppins;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
    transition: background-image 0.3s, color 0.3s, box-shadow 0.3s;
}

.btnPrimary:hover {
    color: #fff;
    background-image: var(--linear-gradient-left-primary)
}

.btnPrimaryOutlined {
    background-image: var(--linear-gradient-left-secondary);
    cursor: pointer;
    border-radius: 5px;
    padding: 10px 40px;
    color: #fff;
    text-transform: capitalize;
    font-weight: 700;
    font-size: 1rem;
    display: inline-block;
    font-family: poppins;
    border: 1px solid var(--secondary-color-light);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: none
}

.btnPrimaryOutlined:hover {
    border: 1px solid var(--primary-color-light);
    background-image: var(--linear-gradient-left-primary)
}

.contentHighlight {
    background-image: var(--linear-gradient-left-secondary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.contentHighlightPrimary {
    background-image: var(--linear-gradient-left-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.secTitle {
    text-align: center;
    font-family: rightous, Georgia, serif;
    margin-bottom: 1rem;
    font-weight: 700;
    position: relative
}

.secTitle::after {
    content: '';
    position: absolute;
    bottom: -.8rem;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 4px;
    border-radius: 4px;
    background-color: var(--primary-color-light);
    transition: width 0.3s ease
}

.secTitle:hover::after {
    width: 100px
}

.secTitle.inner {
    text-align: left
}

.secTitle.inner::after {
    left: 0;
    transform: translateX(0)
}

.secTitle.inner:hover::after {
    width: 70px
}

.secHead {
    font-family: poppins;
    color: #707070;
    font-weight: 600
}

.secPara {
    font-family: poppins;
    font-size: .9rem;
    color: #a0a0a0
}

.secLink {
    text-decoration: none;
    color: #fff;
    border-radius: 5px;
    padding: 5px 10px;
    font-family: poppins;
    display: inline-block;
    text-align: center;
    background-color: var(--secondary-color-light)
}

.secLink:hover {
    color: #fff;
    background-color: var(--secondary-color-dark)
}

.innerBanner {
    background-color: #f3f3f3;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center
}

.innerBanner .container h1 {
    font-family: rightous;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    color: #464646;
    text-transform: capitalize
}

.innerBanner .container h2 {
    font-family: rightous;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    color: #464646;
    text-transform: capitalize
}

.innerBanner .container p {
    text-align: center;
    color: var(--para-text-color);
    font-family: poppins;
    margin-bottom: 0
}

.innerBanner nav {
    display: flex;
    align-items: center;
    justify-content: center
}

.innerBanner nav .breadcrumb-item {
    font-family: poppins
}

.innerBanner nav .breadcrumb-item a:hover {
    letter-spacing: .05em;
    background-color: var(--secondary-color-dark);
    color: #fff;
    border-radius: 5px
}

.innerBanner nav .breadcrumb-item a {
    color: var(--secondary-color-dark);
    font-weight: 800;
    padding: 2px 8px
}

.innerBanner nav .breadcrumb-item.active,
.innerBanner nav .breadcrumb-item.active::before {
    color: #fff
}

.contentWrap {
    background-color: #f3f3f3;
    padding: 20px
}

.exhi-wrap {
    padding: 20px 40px
}

.contentWrap .innerContent {
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .05);
    position: relative
}

.contentWrap .innerContent::before {
    content: '';
    height: 100%;
    width: 100%;
    position: absolute;
    background-image: linear-gradient(to left, rgba(255, 255, 255, .97), rgba(255, 255, 255, .97)), url(../images/logo.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 30%;
    background-attachment: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 1
}

.contentWrap .innerContent section {
    position: relative;
    z-index: 2
}

.privacyPolicy p,
.privacyPolicy ul li,
.termsAndConditions p,
.termsAndConditions ul li {
    color: var(--para-text-color);
    font-family: poppins
}

.termsAndConditions ul li h6 {
    font-weight: 700
}

.privacyPolicy ul,
.termsAndConditions ul {
    margin-left: -10px
}

html {
    scroll-behavior: smooth
}

body {
    position: relative;
    overflow-x: hidden;
    font-family: poppins, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif
}

body:has(.preloader.active) {
    overflow: hidden;
    pointer-events: none
}

.preloader.active {
    position: fixed;
    height: 100vh;
    width: 100vw;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 12000;
    transition: all .8s cubic-bezier(.68, -.6, .32, 1.6)
}

.preloader.active::after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    animation: preloaderColorAnim 5s infinite ease
}

.preloader .inner .flipper {
    position: relative;
    width: 15%;
    transform-style: preserve-3d;
    height: 20vh;
    animation: preloaderAnim 5s infinite ease
}

.preloader img {
    width: 100%
}

.preloader .inner .flipper .back,
.preloader .inner .flipper .front {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    backface-visibility: hidden
}

.preloader .inner .flipper .front {
    z-index: 2
}

.preloader .inner .flipper .back {
    transform: rotateY(180deg)
}

.preloader .inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    perspective: 1000px
}

@keyframes preloaderAnim {
    from {
        transform: rotateY(180deg)
    }
    to {
        transform: rotateY(-180deg)
    }
}

@keyframes preloaderColorAnim {
    0% {
        background-color: #fff
    }
    50% {
        background-color: #111
    }
    100% {
        background-color: #fff
    }
}

::selection {
    color: #fff;
    background-color: var(--primary-color-light)
}

/* Firefox */
html {
    scrollbar-width: thin;
    scrollbar-color: var(--primary-color-light) transparent;
}

/* Chromium / Safari / Edge */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, var(--primary-color-light), var(--primary-color-dark));
    border-radius: 10px;
    border: 2px solid transparent;
    background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(to bottom, #22a05a, var(--primary-color-light));
    background-clip: padding-box;
}

.floatingAction.active {
    position: fixed;
    bottom: 20px;
    right: 20px;
    translate: 0 0
}

.floatingAction.up {
    translate: 0 -3em
}

.floatingAction {
    position: fixed;
    bottom: 20px;
    right: 20px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1em;
    translate: 0 5em;
    padding: 8px 15px;
    font-family: poppins;
    font-weight: 700;
    background-image: linear-gradient(45deg, var(--primary-color-light), var(--secondary-color-dark));
    color: #fff!important;
    z-index: 12;
    transition: all .2s ease;
    clip-path: polygon(100% 0, 100% 100%, 60% 100%, 50% 80%, 40% 100%, 0 100%, 0 0, 40% 0, 50% 20%, 60% 0);
    cursor: pointer
}

.floatingAction:hover {
    letter-spacing: .05em
}

header {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 30;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    padding: calc(.3em + 2.5px) 4.5em;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .1);
    transition: none!important
}

header .indicator {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 5px;
    border-radius: 0 2px 2px 0;
    background-color: var(--primary-color-light)
}

header .logo .logoContainer img {
    height: 42px;
    width: auto
}

header .logo .logoContainer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: .5em
}

header .logo .logoContainer span {
    color: #0059ff;
    text-transform: uppercase;
    font-family: rightous;
    letter-spacing: 0;
    font-size: 1.5em;
    font-weight: 800;
    margin-top: 0;
    transform: translateX(0);
    opacity: 1;
    background-image: var(--linear-gradient-left-secondary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: all .5s cubic-bezier(.68, -.6, .32, 1.6)
}

header .logo:hover .logoContainer span {
    transform: translateX(0);
    letter-spacing: 0;
    opacity: 1
}

header nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em
}

header nav .nav-item {
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-family: rightous, Georgia, serif;
    font-weight: 600;
    font-size: .9em;
    color: rgba(0, 0, 0, .3);
    cursor: url(../cursor-pack/Link-Select.cur);
    transition: color 0.2s ease, font-size 0.2s ease, letter-spacing 0.2s ease;
}

header nav .nav-item:hover {
    color: var(--primary-color-light)
}

header nav .nav-item.active {
    color: var(--primary-color-light);
    letter-spacing: .2em;
    font-size: 1em
}

header nav .dropdown:hover>.dropdown-menu {
    display: block
}

/* Invisible bridge element that spans the gap between the trigger and the menu.
   Without this, moving the cursor diagonally from the button into the menu
   momentarily leaves the label's bounding box, killing the hover state. */
header nav label.dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 0.7rem; /* slightly more than dropdown-menu margin-top */
}

header nav .dropdown-menu {
    border: 1.5px solid rgba(26,128,71,0.18);
    border-radius: 14px;
    padding: 6px;
    width: 220px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.11), 0 2px 8px rgba(26,128,71,0.08);
    margin-top: 0.4rem !important;
    background: #fff;
    animation: navDropIn 0.18s ease;
}

@keyframes navDropIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

header nav .dropdown-menu li {
    box-shadow: none;
    padding: 2px;
    border-radius: 10px;
}

header nav .dropdown-menu li:has(a.active),
header nav .dropdown-menu li:hover {
    box-shadow: none;
}

header nav .dropdown-menu li a {
    padding: 10px 14px;
    font-family: poppins, sans-serif;
    font-size: 0.875rem;
    color: #666;
    border-left: 3px solid transparent;
    border-radius: 10px;
    text-transform: capitalize;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    transition: background 0.18s, color 0.18s, border-color 0.18s
}

header nav .dropdown-menu li a i {
    font-size: 0.76rem;
    color: #c0d8a8;
    width: 1rem;
    text-align: center;
    flex-shrink: 0;
    transition: color 0.18s
}

header nav .dropdown-menu li a.active,
header nav .dropdown-menu li:hover a {
    background: #f3fbe8;
    color: var(--primary-color-dark);
    border-left-color: var(--primary-color-light);
    box-shadow: none;
    border-radius: 10px
}

header nav .dropdown-menu li:hover a i,
header nav .dropdown-menu li a.active i {
    color: var(--primary-color-light)
}

/* ── Navbar CTA button ───────────────────────────────────────────────────────── */
header nav a.nav-cta {
    background: linear-gradient(135deg, var(--secondary-color-light) 0%, var(--secondary-color-dark) 100%);
    border-radius: 5px;
    padding: 10px 22px;
    color: #fff;
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 4px 18px rgba(136,172,37,0.38), 0 1px 4px rgba(0,0,0,0.12);
    position: relative;
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease !important;
    text-transform: none;
}
header nav a.nav-cta::after {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 55%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
    transform: skewX(-18deg);
    transition: left 0.52s ease;
}
header nav a.nav-cta:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 26px rgba(136,172,37,0.48), 0 2px 6px rgba(0,0,0,0.1);
    background: linear-gradient(135deg, #b8de4a, #92b830);
}
header nav a.nav-cta:hover::after { left: 160%; }
header nav a.nav-cta i { font-size: 0.78rem; }

header nav a.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-family: rightous;
    transition: all .3s ease;
    background-image: var(--linear-gradient-right-secondary);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    border-radius: 5px
}

header nav a.btn:active,
header nav a.btn:focus {
    box-shadow: none!important
}

header nav a.btn:hover {
    letter-spacing: .02em;
    padding-left: 1.2em;
    padding-right: 1.2em
}

header .buttonToggle {
    margin-left: 5px;
    background-image: var(--linear-gradient-left-secondary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    border: none;
    font-weight: 700;
    font-size: 1.3em;
    cursor: pointer
}

header .buttonToggle:active,
header .buttonToggle:focus {
    box-shadow: none!important
}

.feedback-btn {
    white-space: nowrap;
    display: flex;
    align-items: center;
    font-family: poppins;
    writing-mode: vertical-rl;
    text-orientation: sideways-right;
    font-size: 1.3em;
    padding: 15px 5px;
    text-transform: capitalize;
    background-color: var(--primary-color-light);
    color: #fff;
    border-right: 5px solid var(--primary-color-dark);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    position: fixed;
    bottom: 40px;
    z-index: 12
}

.feedback-btn:hover {
    letter-spacing: .05em;
    color: #fff
}

.banner {
    position: relative;
    overflow: hidden
}

.banner .videoContainer {
    position: relative;
    height: 100vh;
    overflow: hidden
}

.banner .videoContainer video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative
}

.banner .videoContainer::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .7);
    z-index: 5
}

.banner .videoContainer .bannerTitle {
    position: absolute;
    left: 50%;
    top: 40%;
    transform: translateX(-50%) translateY(-90%);
    font-family: rightous;
    text-align: center;
    font-size: 4em;
    line-height: .8em;
    color: #fff;
    z-index: 10;
    width: 100%;
    text-align: center
}

.banner .videoContainer svg {
    position: absolute;
    left: 0;
    bottom: -2px;
    rotate: 180deg;
    fill: #fff;
    z-index: 6;
    width: 100%;
    height: 100px
}

.banner .bannerContainer {
    position: absolute;
    left: 50%;
    bottom: 7em;
    transform: translateX(-50%);
    width: 100%;
    z-index: 5
}

.banner .bannerContainer .banner-card {
    border-top-right-radius: 20px;
    border-bottom-left-radius: 20px;
    color: #fff;
    background-color: rgba(0, 186, 0, .639);
    border-top: 10px solid rgba(0, 186, 0, .959);
    text-align: center;
    backdrop-filter: blur(5px);
    padding: 10px 20px;
    cursor: pointer;
    height: 100%
}

.banner .bannerContainer .col-lg-4:nth-child(2) .banner-card {
    transform: translateY(-1.5em)
}

.banner .bannerContainer .banner-card p {
    font-weight: 400;
    font-size: 1em;
    font-family: poppins
}

.banner .bannerContainer .banner-card:hover {
    background-color: rgba(0, 186, 0, .959)
}

.anyQuestionSection .col-md-6:nth-child(1) h2 {
    font-family: rightous;
    margin-bottom: .5rem
}

.anyQuestionSection .col-md-6:nth-child(1) p {
    font-family: poppins;
    font-size: 1.1rem
}

.anyQuestionSection .col-md-6:nth-child(2) {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 1rem
}

.anyQuestionSection .col-md-6:nth-child(2) a {
    margin-top: 0
}

.event-sec {
    position: relative;
    top: auto;
    margin: 0
}

.howItWorksSection {
    border-radius: 20px;
    box-shadow: 0 0 30px rgba(0, 0, 0, .05) inset;
    margin: 0 30px
}

.howItWorksSection .row {
    justify-content: center
}

.howItWorksSection .row .card {
    border: none;
    background-color: rgba(255, 255, 255, 0)!important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    height: 100%
}

.howItWorksSection .row .card img {
    object-fit: cover;
    width: 45%;
    margin-bottom: 1rem
}

.howItWorksSection .row .card h5 {
    font-size: 1.2rem;
    font-family: poppins;
    font-weight: 700
}

.howItWorksSection .row .card p {
    font-size: 1.1rem;
    font-family: poppins
}

.howItWorksSection .row .content {
    display: flex;
    justify-content: center;
    align-items: start
}

.howItWorksSection .row .content img {
    width: 130%;
    object-fit: cover
}

.page_404 {
    background: hwb(0 100% 0);
    font-family: rightous, serif;
    height: 100vh;
    overflow: hidden;
    position: relative
}

.page_404 img {
    width: 70%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%)
}

.page_404 .content {
    position: absolute;
    bottom: 2em;
    left: 0;
    z-index: 5;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    animation: animContent 1s cubic-bezier(.22, 1, .36, 1) forwards
}

.page_404 .content p {
    font-family: poppins
}

@keyframes animTitle {
    from {
        scale: 40
    }
    to {
        scale: 1
    }
}

@keyframes animContent {
    from {
        bottom: -40em
    }
    to {
        bottom: 2em
    }
}

@keyframes animImage {
    from {
        transform: translateX(-50%) scale(0)
    }
    to {
        transform: translateX(-50%) scale(1)
    }
}

.eventSection .card {
    overflow: hidden;
    border-radius: 15px;
    border: 2px solid var(--secondary-color-dark);
    height: 100%
}

.eventSection .card a:has(img) {
    overflow: hidden;
    border-radius: 15px 15px 0 0
}

.eventSection .card .card-body {
    border-radius: 25px 25px 0 0;
    position: relative;
    bottom: 20px;
    background-color: #fff;
    padding-bottom: 0;
    box-shadow: 0 -10px 10px rgba(0, 0, 0, .2);
    display: flex;
    flex-direction: column
}

.eventSection .card .card-body h4 {
    font-family: poppins;
    font-weight: 800;
    color: var(--primary-color-dark);
    font-size: 1.4em
}

.eventSection .card .card-body p {
    font-family: poppins;
    color: var(--para-text-color);
    font-size: .95em;
    flex: 1
}

.eventSection .card .card-body .items {
    font-family: poppins;
    font-size: .8em;
    padding-left: .5em;
    color: #9b9b9b
}

.eventSection .card img {
    object-fit: cover;
    height: 250px;
    width: 100%
}

.eventSection .card:hover img {
    scale: 1.08
}

.testimonialsSection {
    position: relative
}

.testimonialsSection .mySwiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 10px
}

.testimonialsSection .mySwiper .swiper-slide .card {
    padding: 15px;
    overflow: hidden;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, .2);
    border: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .1);
    backdrop-filter: blur(2px);
    width: 100%;
    transition: all .3s ease;
    outline: 10px solid #a6ce3900;
    outline-offset: 10px;
    position: relative
}

.testimonialsSection .mySwiper .swiper-slide .card:hover {
    outline: 2px solid #a6ce39;
    outline-offset: 0
}

.testimonialsSection .mySwiper .swiper-slide .card .testi-img {
    object-fit: cover;
    width: 20%;
    filter: drop-shadow(5px 5px 1px rgba(255, 115, 0, .1));
    border-radius: 100%;
    overflow: hidden
}

.testimonialsSection .mySwiper .swiper-slide .card img {
    width: 100%;
    object-fit: cover;
    width: 20%;
    filter: drop-shadow(5px 5px 1px rgba(255, 115, 0, .1))
}

.testimonialsSection .mySwiper .swiper-slide .card .user {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 2em;
    padding-left: 60px
}

.testimonialsSection .mySwiper .swiper-slide .card img.profile {
    border-radius: 100%;
    width: 50px;
    height: 50px;
    border: 2px solid #fff;
    filter: none;
    position: absolute;
    bottom: 10px;
    left: 15px;
    object-position: 5%;
    transition: all .5s cubic-bezier(.87, 0, .13, 1);
    cursor: pointer
}

.testimonialsSection .mySwiper .swiper-slide .card img.profile:hover {
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    border-radius: 10px
}

.testimonialsSection .mySwiper .swiper-slide .card p {
    font-family: poppins;
    color: var(--para-text-color);
    margin-top: 1rem;
    font-size: .9rem
}

.testimonialsSection .mySwiper .swiper-slide .card h5 {
    font-family: rightous;
    color: #252525;
    font-size: 1.2rem;
    margin-top: .5em
}

.testimonialsSection .swiper-button-next {
    right: 2rem
}

.testimonialsSection .swiper-button-prev {
    left: 2rem
}

.testimonialsSection .swiper-button-next,
.testimonialsSection .swiper-button-prev {
    color: var(--primary-color-dark)!important;
    font-size: 2.2rem;
    background-image: var(--linear-gradient-left-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.testimonialsSection .swiper-button-next::after,
.testimonialsSection .swiper-button-prev::after {
    content: ''!important
}

.owl-carousel {
    position: relative
}

.faqSection .accordion .accordion-button:active,
.faqSection .accordion .accordion-button:focus {
    box-shadow: none;
    background-color: #f1f7ff00!important
}

.faqSection .accordion .accordion-item {
    background-color: #ffffff00!important
}

.faqSection .accordion .accordion-button {
    background-color: #f1f7ff00!important;
    font-weight: 700;
    color: #202020;
    font-family: poppins;
    font-size: 1rem
}

.faqSection .accordion .accordion-button span {
    position: relative;
    z-index: 12
}

.faqSection .accordion .accordion-button.collapsed {
    background-color: #ffffff00!important
}

.faqSection .accordion .accordion-collapse {
    border-color: #e0e0e000
}

.faqSection .accordion .accordion-collapse.collapsed {
    background-color: #ffffff00!important
}

.faqSection .accordion .accordion-button:not(.collapsed) {
    color: #fff;
    box-shadow: inset 0 -1px 0 transparent
}

.faqSection .accordion-button::after {
    background-image: url(../images/icons/plus-solid.svg);
    transform: rotate(0);
    width: .6rem;
    height: .6rem;
    background-size: 100%;
    background-color: var(--secondary-color-light);
    border-radius: 100%;
    box-shadow: 0 0 0 4px var(--secondary-color-light);
    margin-bottom: 0!important;
    padding: 0!important;
    padding-bottom: 1px!important;
    transition: all .5s cubic-bezier(.87, 0, .13, 1);
    z-index: 1
}

.faqSection .accordion-button:not(.collapsed)::after {
    background-image: url(../images/icons/minus-solid.svg);
    transform: rotate(0);
    background-color: var(--primary-color-light);
    box-shadow: -30rem 20rem 0 60rem var(--primary-color-light);
    pointer-events: none
}

.faqSection .accordion .accordion-item:has(.accordion-button) {
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    overflow: hidden;
    border-radius: 10px;
    border-color: #fff;
    color: #fff
}

.faqSection .accordion .accordion-item:has(.accordion-button.collapsed) {
    box-shadow: 0 0 10px transparent;
    border-radius: 0;
    border-color: #e0e0e000
}

.faqSection .accordion .accordion-body {
    font-family: poppins;
    font-size: .95rem;
    padding-top: 0!important;
    position: relative;
    z-index: 20
}

.faqSection .accordion .accordion-body a {
    text-decoration: none!important;
    color: #000!important;
    font-weight: 500
}

footer {
    background-color: #1b1b1b;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .3) inset
}

footer .logoContainer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem
}

footer .logoContainer img {
    width: 120px
}

footer .logoContainer span {
    color: #fff;
    font-family: rightous;
    font-size: 1.3rem;
    text-transform: uppercase
}

footer p {
    color: #dadada;
    font-family: poppins;
    font-size: .9rem;
    margin-top: .5rem;
    margin-bottom: 0;
    text-align: center
}

footer .linkContainer {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: .3rem
}

footer .linkContainer h3 {
    color: #dadada;
    text-transform: uppercase;
    font-family: poppins;
    font-weight: 700;
    font-size: 1.3rem;
    margin-bottom: .5rem
}

footer .linkContainer a {
    color: #dadada;
    font-family: poppins
}

footer .input-group {
    box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
}

footer .input-group,
footer .input-group input {
    background-color: #ffffff00
}

footer .input-group input {
    font-size: 1rem;
    font-family: poppins;
    padding: 10px 20px;
    color: #fff!important
}

footer .input-group input::placeholder {
    color: #dadada
}

footer .input-group input:focus::placeholder {
    color: #fff
}

footer .input-group input:focus~button {
    background-image: var(--linear-gradient-left-secondary);
    color: #fff
}

footer .input-group input:active,
footer .input-group input:focus {
    box-shadow: none;
    border-color: #fff;
    background-color: #ffffff00;
    background-image: var(--linear-gradient-left-primary)
}

footer .bottomContainer {
    background-color: #111;
    padding: 1rem 0;
    color: #dadada;
    box-shadow: 0 -5px 15px rgba(0, 0, 0, .3)
}

footer .socialLinks {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem
}

footer .socialLinks a {
    font-size: 1.2rem;
    color: #dadada
}

footer .socialLinks a:hover {
    color: var(--primary-color-light)
}

footer .bottomContainer a {
    color: #dadada
}

.white-btn {
    border-radius: 5px;
    padding: 10px 30px;
    background-color: #fff;
    color: var(--primary-color-light);
    font-weight: 700;
    font-size: 1rem;
    outline: 0;
    border: 1px solid #fff;
    margin-top: 1rem;
    text-transform: capitalize;
    font-family: poppins;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1)
}

.facilities .img-parent::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 25px 10px rgba(0, 0, 0, .553) inset
}

.facilities .img-parent {
    position: relative;
    border: 5px solid #fff;
    border-radius: 20px;
    overflow: hidden
}

.facilities img {
    padding: 0;
    object-fit: cover;
    object-position: top
}

.exhi-detail-banner p {
    color: #fff!important
}

.startTitle {
    text-align: start;
    font-family: rightous;
    font-size: 1.9rem;
    margin-bottom: 1rem;
    font-weight: 700;
    position: relative
}

.startTitle::after {
    content: '';
    position: absolute;
    bottom: -.8rem;
    left: 13px;
    right: 100%;
    width: 20px;
    height: 4px;
    border-radius: 4px;
    background-color: var(--primary-color-light);
    transition: width 0.3s ease
}

.startTitle:hover::after {
    width: 100px
}

.startTitle.inner {
    text-align: left
}

.startTitle.inner::after {
    left: 0;
    transform: translateX(0)
}

.startTitle.inner:hover::after {
    width: 70px
}

.whenSection .inContainer iframe {
    border-radius: 10px;
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, .358))
}

.whenSection .inContainer {
    background-image: var(--linear-gradient-left-primary);
    color: #fff;
    border-radius: 20px
}

.profile-card {
    transition: all .4s cubic-bezier(.175, .885, 0, 1);
    background-color: #fff;
    width: 100%;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 435px;
    margin-bottom: 30px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .1);
    cursor: pointer
}

.profile-card img {
    transition: .2s all ease-out;
    width: 100%;
    height: 65%;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    object-fit: cover;
    object-position: 100% 30%;
    transition: .6s all cubic-bezier(.68, -.6, .32, 1.6)
}

.profile-card:hover img {
    height: 100%
}

.profile-card:hover .profile-card-body {
    background-color: rgba(255, 255, 255, .7);
    height: 100%;
    backdrop-filter: blur(3px)
}

.profile-card-body {
    width: 100%;
    text-align: center;
    z-index: 2;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 35%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: column;
    backdrop-filter: blur(0);
    background-color: #fff;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    transition: .6s .4s height cubic-bezier(.68, -.6, .32, 1.6), .6s .4s background-color cubic-bezier(.68, -.6, .32, 1.6)
}

.profile-card-title {
    font-weight: 700;
    font-size: 25px;
    margin: 0;
    font-family: poppins;
    margin-top: 15px
}

.profile-card-subtitle {
    font-size: 15px;
    margin: 0;
    color: #585858;
    font-family: poppins
}

.profile-card .profile-bottom {
    width: 100%;
    background-color: var(--secondary-color-dark);
    padding: 10px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px
}

.profile-card .profile-bottom a {
    color: #fff
}

.galleryContainer .buttonContainer button {
    text-transform: capitalize;
    background-color: #ffffff00!important;
    padding: 10px 40px;
    font-size: 1rem;
    font-family: poppins;
    font-weight: 700;
    border-radius: 5px;
    box-shadow: 5px 5px 10px transparent;
    margin-bottom: 0!important;
    color: var(--secondary-color-light)
}

.galleryContainer .buttonContainer button.active {
    background-color: #ffffff00!important;
    background-image: var(--linear-gradient-left-secondary);
    color: #fff;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1)
}

.galleryContainer .buttonContainer button:disabled {
    color: #000000ab;
    cursor: no-drop;
    position: relative;
    z-index: 2
}

.galleryContainer .buttonContainer button:disabled::after {
    content: 'coming soon';
    position: absolute;
    bottom: -.4rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: .5rem;
    font-weight: 400;
    white-space: nowrap;
    background-color: rgba(121, 255, 128, .3);
    padding: 3px 13px;
    border-radius: 0 0 5px 5px;
    opacity: 0;
    z-index: 1;
    transition: all .4s cubic-bezier(.87, 0, .13, 1)
}

.galleryContainer .buttonContainer button:disabled:hover::after {
    bottom: -1.53rem;
    opacity: 1
}

.galleryContainer .galleryCard {
    background-color: #fff;
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 16px;
    overflow: hidden;
    position: relative;
    text-align: left;
    width: 100%;
    height: 230px;
    margin-bottom: 1.5em;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    border-radius: 20px;
    display: block;
    cursor: pointer
}

.galleryContainer .galleryCard:hover img {
    filter: grayscale(0)
}

.galleryContainer .galleryCard *,
.galleryContainer .galleryCard :after,
.galleryContainer .galleryCard :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .45s ease;
    transition: all .45s ease
}

.galleryContainer .galleryCard img {
    backface-visibility: hidden;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    vertical-align: top;
    filter: grayscale(100%)
}

.galleryContainer .galleryCard:after,
.galleryContainer .galleryCard:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    background-color: var(--secondary-color-dark);
    opacity: .5;
    -webkit-transition: all .45s ease;
    transition: all .45s ease
}

.galleryContainer .galleryCard:before {
    -webkit-transform: skew(30deg) translateX(-80%);
    transform: skew(30deg) translateX(-80%)
}

.galleryContainer .galleryCard:after {
    -webkit-transform: skew(-30deg) translateX(-70%);
    transform: skew(-30deg) translateX(-70%)
}

.galleryContainer .galleryCard .content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    bottom: 0;
    padding: 25px 40% 25px 20px
}

.galleryContainer .galleryCard .content:after,
.galleryContainer .galleryCard .content:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--secondary-color-dark);
    box-shadow: 0 0 20px rgba(0, 0, 0, .7);
    content: '';
    opacity: .5;
    z-index: -1
}

.galleryContainer .galleryCard .content:before {
    -webkit-transform: skew(30deg) translateX(-100%);
    transform: skew(30deg) translateX(-100%)
}

.galleryContainer .galleryCard .content:after {
    -webkit-transform: skew(-30deg) translateX(-90%);
    transform: skew(-30deg) translateX(-90%)
}

.galleryContainer .galleryCard h3,
.galleryContainer .galleryCard p {
    margin: 0;
    opacity: 0;
    letter-spacing: 1px
}

.galleryContainer .galleryCard h3 {
    font-family: Teko, sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1em;
    text-transform: uppercase
}

.galleryContainer .galleryCard.hover h3,
.galleryContainer .galleryCard.hover p,
.galleryContainer .galleryCard:hover h3,
.galleryContainer .galleryCard:hover p {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: .9;
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.galleryContainer .galleryCard.hover:before,
.galleryContainer .galleryCard:hover:before {
    -webkit-transform: skew(30deg) translateX(-20%);
    transform: skew(30deg) translateX(-20%);
    -webkit-transition-delay: 50ms;
    transition-delay: 50ms
}

.galleryContainer .galleryCard.hover:after,
.galleryContainer .galleryCard:hover:after {
    -webkit-transform: skew(-30deg) translateX(-10%);
    transform: skew(-30deg) translateX(-10%)
}

.galleryContainer .galleryCard.hover .content:before,
.galleryContainer .galleryCard:hover .content:before {
    -webkit-transform: skew(30deg) translateX(-40%);
    transform: skew(30deg) translateX(-40%);
    -webkit-transition-delay: .15s;
    transition-delay: .15s
}

.galleryContainer .galleryCard.hover .content:after,
.galleryContainer .galleryCard:hover .content:after {
    -webkit-transform: skew(-30deg) translateX(-30%);
    transform: skew(-30deg) translateX(-30%);
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

.fslightbox-container * {
    transition: none
}

.fslightbox-container .fslightbox-toolbar-button {
    background-color: var(--secondary-color-dark)
}

.fslightbox-container .fslightbox-source {
    border-radius: 20px;
    border: 3px solid #fff
}

.fslightbox-container .fslightbox-slide-btn {
    border-radius: 5px
}

.fslightbox-container .fslightbox-slide-number-container {
    color: var(--secondary-color-dark);
    font-family: rightous;
    font-size: 1.5em
}

.fslightbox-container .fslightbox-slide-number-container .fslightbox-slash {
    background-color: var(--secondary-color-dark)
}

/* All @media responsive rules moved to assets/css/components.css */

/* ── Exhibition & Blog Rich Content ─────────────────────────────────────────── */
.pls-content-lead {
    font-size: 1.1rem;
    line-height: 1.75;
    color: #2d4a2a;
    font-weight: 500;
    border-left: 4px solid var(--primary-color-light);
    padding: 0.75rem 1.25rem;
    background: #f0f7ec;
    border-radius: 0 8px 8px 0;
    margin-bottom: 2rem;
}

.pls-content-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0 1.5rem;
}

.pls-content-list li {
    padding: 0.55rem 0 0.55rem 1.75rem;
    border-bottom: 1px solid #e8f0de;
    position: relative;
    font-size: 0.95rem;
    color: #444;
    line-height: 1.6;
}

.pls-content-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0.55rem;
    color: var(--primary-color-light);
    font-weight: 700;
}

.pls-content-list li:last-child { border-bottom: none; }

.pls-rich-content h2 {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--primary-color-dark);
    margin: 2rem 0 0.75rem;
    font-family: poppins, sans-serif;
}

.pls-rich-content p {
    font-size: 0.97rem;
    line-height: 1.8;
    color: #555;
    margin-bottom: 1rem;
}

.pls-testimonial {
    border-left: 4px solid var(--primary-color-light);
    margin: 1.5rem 0;
    padding: 1rem 1.5rem;
    background: #f8fdf4;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: #444;
}

/* ── landing.css ── */
        .landing,
        .overview {
            height: auto;
            gap: 10px
        }
        
        .crousal,
        .modal,
        .modal-content {
            overflow: hidden
        }
        
        .closing,
        .contact-cont,
        .ctr-landing,
        .modal,
        .swiper-slide {
            text-align: center
        }
        
        .landing {
            width: 100%;
            padding: 30px;
            margin: auto;
            display: grid;
            place-self: center;
            grid-template-columns: 60% 35%
        }
        
        .content {
            margin: 0 auto;
            width: 90%
        }
        
        .overview {
            display: flex;
            width: 90%;
            justify-content: center;
            align-items: center
        }
        
        .Manufecures,
        .industries {
            width: 100%;
            height: max-content
        }
        
        .industries,
        .swiper-slide {
            display: flex;
            justify-content: center
        }
        
        .overview .container ul li .startTitle {
            font-size: 1.3rem!important
        }
        
        .Manufecures {
            margin-bottom: 50px
        }
        
        .industries {
            align-items: center;
            overflow-x: hidden;
            margin-bottom: 50px
        }
        
        .slide-btn {
            position: relative;
            padding: 20px
        }
        
        .swiper-landing-btn {
            position: absolute;
            top: 10px;
            padding: 20px;
            display: flex;
            width: 100px
        }
        
        .swiper-wrapper {
            transition-timing-function: linear;
            width: 100%;
            display: grid;
            grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
            gap: 6px;
        }
        
        .swiper-slide {
            font-size: 18px;
            background: #fff;
            width: 100%!important;
            align-items: center;
            overflow: hidden;
            box-shadow: 0px 0px 2px 1px rgba(63, 63, 63, 0.178);
        }
        
        .swiper-slide img:hover {
            scale: 1.05;
            transition: 0.4s;
        }
        
        .swiper-slide img {
            width: 100%;
            transition: 0.4s;
            object-fit: cover;
            height: auto;
        }
        /*.swiper-slide {*/
        /*    font-size: 18px;*/
        /*    background: #fff;*/
        /*    width: 100%;*/
        /*    height: 40vh;*/
        /*    align-items: center*/
        /*}*/
        /*.swiper-slide img {*/
        /*    width: 100%;*/
        /*    height: 200px;*/
        /*    aspect-ratio: 16/9;*/
        /*    object-fit: cover*/
        /*}*/
        
        .swiper-button-next,
        .swiper-button-prev {
            width: 30px;
            height: 30px;
            border: 1px solid #1a8047;
            border-radius: 5px;
            background-color: #1a8046c9;
            transition: .4s
        }
        
        #landing_contactBtn:hover,
        .closing:hover,
        .swiper-button-next:hover,
        .swiper-button-prev:hover,
        .white-btn:hover {
            color: #fff;
            transition: .4s;
            background-image: linear-gradient(45deg, var(--primary-color-light), var(--secondary-color-dark))
        }
        
        .indistry {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 20px
        }
        
        .indus-card {
            position: relative;
            border-radius: 10px
        }
        
        .indus-card img {
            border-radius: 10px;
            object-fit: cover;
            filter: grayscale(30%);
            filter: contrast(60%)
        }
        
        .indus-card h3 {
            position: absolute;
            bottom: 20px;
            left: 10px;
            font-size: 1.4rem;
            color: #fff;
            text-shadow: 1px 1px 10px #000
        }
        
        .landing-products {
            width: 100%;
            height: fit-content
        }
        
        .landing-products .p-unique {
            font-size: 1.2rem
        }
        
        .pro {
            display: flex;
            flex-direction: column;
            gap: 30px
        }
        
        .contact_landing,
        .stickey-side {
            position: sticky;
            flex-direction: column;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        
        .pro-head {
            margin-left: 12px
        }
        
        .products .pro-cont {
            display: grid;
            grid-template-columns: 1fr 1fr
        }
        
        @keyframes show {
            0% {
                opacity: 0
            }
            100% {
                opacity: 1
            }
        }
        
        .contact_landing {
            justify-content: center;
            align-items: center
        }
        
        .stickey-side {
            top: 40px;
            height: auto;
            justify-content: center;
            align-items: center;
            width: 100%
        }
        
        .contact_landing {
            top: 40px;
            height: auto;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            width: 100%
        }
        
        .landing-white-btn {
            border: 1px solid #1a8046c4
        }
        
        .contact_body {
            border: 2px solid #1a8046c4;
            height: auto;
            display: flex;
            width: 100%;
            justify-content: center;
            align-items: center;
            padding: 25px 30px;
            border-radius: 10px;
            box-shadow: 0 0 20px 2px #c7f5c1
        }
        
        .contact_body form {
            display: flex;
            flex-direction: column;
            justify-content: space-evenly;
            align-items: center;
            gap: 10px
        }
        
        .landing-input {
            display: flex;
            flex-direction: column;
            gap: 20px
        }
        
        #landing_contactBtn {
            width: 50%;
            margin: auto;
            transition: .4s
        }
        
        .confrim {
            position: fixed;
            bottom: 0px;
            left: 0px;
            display: none;
            z-index: 10
        }
        
        .con-box {
            padding: 17px 20px;
            width: 70%;
            background-color: #fff;
            border-radius: 5px;
            box-shadow: 0 0 10px 2px rgba(65, 65, 65, 0.219)
        }
        
        .con-head {
            display: flex;
            justify-content: space-between;
            align-items: center
        }
        
        .closing {
            border: 1px solid #dcdcdc;
            width: 30px;
            height: 30px;
            font-weight: 500;
            color: #494949;
            z-index: 30;
            border-radius: 5px
        }
        
        .active-confirm {
            display: block
        }
        
        .con-box h3 {
            font-size: 1.3rem
        }
        
        .inContainer {
            height: fit-content!important;
            width: 100%!important;
            padding: 0 10px;
            display: flex;
        }
        
        .ctr-landing {
            height: max-content!important;
            width: 100%;
            margin-right: 10px
        }
        
        .ctr-cont {
            display: flex;
            flex-direction: column;
            justify-content: center;
            flex-direction: column;
            align-items: center;
            width: 100%;
            padding: 20px 0px;
            gap: 3px;
        }
        
        .expo-text {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            width: fit-content;
            gap: 1px;
        }
        
        .secLink {
            width: fit-content;
        }
        
        @media only screen and (max-width:996px) {
            .swiper-wrapper {
                transition-timing-function: linear;
                width: 100%;
                display: grid;
                grid-template-columns: 1fr 1fr 1fr 1fr;
                gap: 6px;
            }
            .landing {
                display: flex;
                flex-direction: column-reverse;
                justify-content: center;
                align-items: center
            }
            .contact_landing {
                position: static;
                width: 95%;
                height: auto
            }
            .indistry {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 20px
            }
            .overview {
                display: flex;
                width: 90%;
                height: auto;
                justify-content: center;
                align-items: center
            }
            .innerBanner {
                height: 80vh!important
            }
            .contact_body {
                width: 100%;
            }
        }
        
        @media only screen and (max-width:560px) {
            .content {
                margin: 0 auto;
                width: 98%;
            }
            .swiper-wrapper {
                transition-timing-function: linear;
                width: 100%;
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 6px;
            }
            .indistry {
                display: grid;
                grid-template-columns: 1fr;
                gap: 20px
            }
            .contact_landing {
                position: static;
                width: 100%;
                height: auto;
            }
            .ctr-landing {
                height: max-content !important;
                width: 100%;
                margin: auto;
                /*margin-right: 10px;*/
            }
            .expo-text {
                display: flex;
                flex-direction: column;
                gap: 10px;
            }
            .expo-text p {
                font-size: 0.9rem;
            }
            .secLink {
                font-size: 0.85rem !important;
                width: 100%;
                display: flex;
                flex-direction: column;
            }
            .landing-main-head {
                font-size: 1.5rem!important
            }
            .breadcrumb {
                font-size: .8rem;
                display: flex;
                justify-content: center
            }
            .exhi-detail-banner {
                display: flex;
                flex-direction: column;
                justify-content: center;
                gap: 10px;
                align-items: center
            }
            .modal-content img {
                width: 95%;
                height: auto
            }
            .ctr-cont {
                width: 100%;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                text-align: center
            }
            .service-logo .logo {
                display: flex;
                flex-direction: column;
                gap: 20px;
                justify-content: space-evenly;
                align-items: center;
            }
        }
        
        .service-logo {
            padding: 20px 10px;
            display: flex;
            margin-top: 20px;
            gap: 5px;
            border-radius: 10px;
            background-color: #ffffff;
            width: 100%;
            box-shadow: 0px 0px 10px 2px rgba(129, 255, 129, 0.425);
            background-image: linear-gradient(45deg, var(--primary-color-light), var(--secondary-color-dark))
        }
        
        .service-logo .logo {
            display: flex;
            width: 100%;
            justify-content: space-evenly;
            align-items: center;
            text-align: center;
        }
        
        .service-logo .logo .logo-body {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 4px;
            text-align: center;
        }
        
        .service-logo .logo .logo-body h3 {
            color: rgb(58, 58, 58);
        }
        
        .service-logo .logo .logo-body p {
            color: rgb(255, 255, 255);
            font-weight: 600;
        }
        
        .contact_body {
            position: relative;
        }
        
        .contact_body .loading {
            width: 100%;
            justify-content: center;
            align-items: center;
            height: 60vh;
        }

/* ── components.css ── */
/* =============================================================================
   PakistanLiveStyle — Component CSS (Phase 4.5)
   All reusable component classes not in style.css or bootstrap.min.css.
   Add new components here, never in style.css.
   ============================================================================= */

/* =============================================================================
   TOP BAR — slim compact strip
   ============================================================================= */
/* =============================================================================
   BOOK AN APPOINTMENT / ENQUIRY PAGE
   ============================================================================= */
.pls-enquiry { background: #f7f9f4; }

.pls-enquiry__wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

/* ── Left info panel ── */
.pls-enquiry__step-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--primary-color-light);
    margin-bottom: 0.75rem;
}
.pls-enquiry__heading {
    font-family: Righteous, cursive;
    font-size: clamp(1.5rem, 2.5vw, 2.1rem);
    color: var(--primary-color-dark);
    line-height: 1.18;
    margin: 0 0 1rem;
}
.pls-enquiry__lead {
    font-size: 0.92rem;
    color: #666;
    line-height: 1.75;
    margin: 0 0 1.75rem;
}

.pls-enquiry__what-next {
    list-style: none;
    padding: 0;
    margin: 0 0 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}
.pls-enquiry__what-next li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.pls-enquiry__what-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--primary-color-dark), var(--primary-color-light));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pls-enquiry__what-icon i {
    color: #fff;
    font-size: 0.9rem;
    display: inline-block;
}
.pls-enquiry__what-next li > div:last-child {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.pls-enquiry__what-next li strong {
    font-size: 0.9rem;
    color: var(--primary-color-dark);
    font-weight: 700;
}
.pls-enquiry__what-next li span {
    font-size: 0.83rem;
    color: #777;
    line-height: 1.5;
}

.pls-enquiry__submit {
    width: 100%;
    margin-top: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1.4rem 0.9rem 1.75rem;
    background: linear-gradient(135deg, var(--primary-color-dark) 0%, var(--primary-color-light) 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: opacity 0.22s, transform 0.22s, box-shadow 0.22s;
    box-shadow: 0 4px 18px rgba(12,75,4,0.28);
}
.pls-enquiry__submit:hover {
    opacity: 0.93;
    transform: translateY(-2px);
    box-shadow: 0 8px 26px rgba(12,75,4,0.36);
}
.pls-enquiry__submit:active { transform: translateY(0); }
.pls-enquiry__submit-text {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}
.pls-enquiry__submit-text i { font-size: 1rem; display: inline-block; }
.pls-enquiry__submit-arrow {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(255,255,255,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.22s;
}
.pls-enquiry__submit:hover .pls-enquiry__submit-arrow { background: rgba(255,255,255,0.32); }
.pls-enquiry__submit-arrow i { font-size: 0.85rem; display: inline-block; }

.pls-enquiry__contact-note {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.85rem;
    color: #666;
    padding: 0.85rem 1rem;
    background: rgba(12,75,4,0.06);
    border-left: 3px solid var(--primary-color-light);
    border-radius: 0 8px 8px 0;
}
.pls-enquiry__contact-note i { color: var(--primary-color-dark); display: inline-block; }
.pls-enquiry__contact-note a { color: var(--primary-color-dark); font-weight: 600; }

/* ── Right form panel ── */
.pls-enquiry__form-wrap {
    background: #fff;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 4px 32px rgba(0,0,0,0.08);
}
.pls-enquiry__form-title {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    color: var(--primary-color-dark);
    margin: 0 0 0.25rem;
}
.pls-enquiry__form-sub {
    font-size: 0.82rem;
    color: #999;
    margin: 0 0 1.5rem;
}
.pls-enquiry__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1rem;
}
.pls-enquiry__field label {
    font-size: 0.82rem;
    font-weight: 600;
    color: #555;
}
.pls-enquiry__field .form-control {
    border-radius: 10px;
    border: 1.5px solid #e0e0e0;
    padding: 0.65rem 0.9rem;
    font-size: 0.88rem;
    transition: border-color 0.2s;
}
.pls-enquiry__field .form-control:focus {
    border-color: var(--primary-color-light);
    box-shadow: 0 0 0 3px rgba(166,206,57,0.18);
}
.pls-enquiry__field .form-control.is-valid {
    border-color: #28a745;
    background-image: none;
}
.pls-enquiry__field .form-control.is-invalid {
    border-color: #dc3545;
    background-image: none;
}
.pls-enquiry__field .fe-error {
    min-height: 1rem;
    line-height: 1.3;
}
.pls-enquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 991px) {
    .pls-enquiry__wrap { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 575px) {
    .pls-enquiry__row { grid-template-columns: 1fr; }
    .pls-enquiry__form-wrap { padding: 1.5rem; }
}

/* =============================================================================
   HOW WE WORK PAGE
   ============================================================================= */

/* Intro */
.pls-hww-intro { background: #fff; }

/* Steps section */
.pls-hww-steps { background: #f7f9f4; }

.pls-hww-step {
    display: flex;
    align-items: flex-start;
    gap: 3rem;
    background: #fff;
    border-radius: 20px;
    padding: 2.5rem 3rem;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
    margin-bottom: 0;
}
.pls-hww-step--reverse {
    flex-direction: row-reverse;
}

/* Side: badge + icon */
.pls-hww-step__side {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
    width: 130px;
}
.pls-hww-step__badge {
    font-family: Righteous, cursive;
    font-size: 2.2rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--primary-color-dark), var(--primary-color-light));
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(12,75,4,0.35);
    flex-shrink: 0;
}
.pls-hww-step__icon-wrap {
    width: 100px;
    height: 100px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(12,75,4,0.07), rgba(166,206,57,0.18));
    display: flex;
    align-items: center;
    justify-content: center;
}
.pls-hww-step__icon-wrap img { width: 62px; height: 62px; object-fit: contain; }

/* Body: content */
.pls-hww-step__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.pls-hww-step__title {
    font-family: Righteous, cursive;
    font-size: clamp(1.3rem, 2.2vw, 1.7rem);
    color: var(--primary-color-dark);
    margin: 0;
    line-height: 1.2;
}
.pls-hww-step__lead {
    font-size: 0.92rem;
    color: #666;
    line-height: 1.75;
    margin: 0;
    max-width: 600px;
}
.pls-hww-step__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.pls-hww-step__list li {
    font-size: 0.88rem;
    color: #555;
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    line-height: 1.5;
}
.pls-hww-step__list li i {
    color: var(--primary-color-light);
    font-size: 0.9rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
    display: inline-block;
}

/* Vertical connector between steps */
.pls-hww-connector {
    display: flex;
    justify-content: center;
    padding: 0.5rem 0;
}
.pls-hww-connector span {
    display: block;
    width: 2px;
    height: 48px;
    background: linear-gradient(to bottom, var(--primary-color-dark), var(--secondary-color-light));
    border-radius: 2px;
    opacity: 0.5;
}

/* Why PLS grid */
.pls-hww-why { background: #fff; }
.pls-hww-why__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.pls-hww-why__card {
    background: #f7f9f4;
    border-radius: 16px;
    padding: 2rem 1.5rem;
    text-align: center;
    border: 1px solid rgba(0,0,0,0.05);
    transition: transform 0.25s, box-shadow 0.25s;
}
.pls-hww-why__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 28px rgba(12,75,4,0.10);
    background: #fff;
}
.pls-hww-why__card i {
    font-size: 2rem;
    color: var(--primary-color-dark);
    margin-bottom: 0.85rem;
    display: block;
}
.pls-hww-why__card h4 {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: var(--primary-color-dark);
    margin: 0 0 0.5rem;
}
.pls-hww-why__card p {
    font-size: 0.83rem;
    color: #777;
    line-height: 1.6;
    margin: 0;
    text-align: center !important;
}

@media (max-width: 991px) {
    .pls-hww-why__grid { grid-template-columns: repeat(2, 1fr); }
    .pls-hww-step { padding: 2rem; gap: 2rem; }
}
@media (max-width: 767px) {
    .pls-hww-step,
    .pls-hww-step--reverse { flex-direction: column; align-items: center; text-align: center; padding: 1.75rem 1.25rem; }
    .pls-hww-step__side { width: auto; flex-direction: row; gap: 1.25rem; align-items: center; }
    .pls-hww-step__list li { justify-content: flex-start; text-align: left; }
    .pls-hww-why__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .pls-hww-why__grid { grid-template-columns: 1fr; }
}

/* =============================================================================
   FACILITIES — icon card grid
   ============================================================================= */
.pls-facilities { background: #f7f9f4; }

.pls-facilities__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.pls-facility-card {
    background: #fff;
    border-radius: 16px;
    padding: 2rem 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.05);
    /* inset top bar starts transparent */
    box-shadow: 0 2px 16px rgba(0,0,0,0.06), inset 0 3px 0 transparent;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    position: relative;
    overflow: hidden;
}
.pls-facility-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(12,75,4,0.13), inset 0 3px 0 var(--primary-color-dark);
}

.pls-facility-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(12,75,4,0.08), rgba(166,206,57,0.18));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.28s ease;
}
.pls-facility-card__icon i {
    font-size: 1.3rem;
    color: var(--primary-color-dark);
    display: inline-block;
    transition: color 0.28s ease, transform 0.28s ease;
}
.pls-facility-card:hover .pls-facility-card__icon {
    background: linear-gradient(135deg, var(--primary-color-dark), var(--primary-color-light));
}
.pls-facility-card:hover .pls-facility-card__icon i {
    color: #fff;
    transform: scale(1.15) rotate(-5deg);
}

.pls-facility-card__title {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: var(--primary-color-dark);
    margin: 0;
    line-height: 1.3;
    transition: color 0.28s ease;
}
.pls-facility-card:hover .pls-facility-card__title {
    color: var(--primary-color-light);
}
.pls-facility-card__desc {
    font-size: 0.84rem;
    color: #777;
    line-height: 1.65;
    margin: 0;
}

@media (max-width: 991px) {
    .pls-facilities__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
    .pls-facilities__grid { grid-template-columns: 1fr; }
}

/* =============================================================================
   HOW IT WORKS — 3-column grid with CSS connecting line
   ============================================================================= */
.pls-hiw { background: #f7f9f4; }

/* Grid of 3 equal cards */
.pls-hiw__steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    padding-top: 28px; /* room for the badge that pops above */
}

/* Step card */
.pls-hiw__step {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
    padding: 2.5rem 1.75rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    transition: transform 0.3s, box-shadow 0.3s;
    z-index: 1;
}
.pls-hiw__step:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(0,0,0,0.11);
}

/* Numbered badge — sits on top of the connecting line */
.pls-hiw__badge {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-color-dark), var(--primary-color-light));
    color: #fff;
    font-family: Righteous, cursive;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(26,128,71,0.4);
    z-index: 2;
}

/* Icon circle */
.pls-hiw__icon-wrap {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(12,75,4,0.07), rgba(166,206,57,0.18));
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
}
.pls-hiw__icon-wrap img { width: 46px; height: 46px; object-fit: contain; }

.pls-hiw__title {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: var(--primary-color-dark);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}
.pls-hiw__desc {
    font-size: 0.83rem;
    color: #777;
    line-height: 1.65;
    margin: 0;
}

@media (max-width: 767px) {
    .pls-hiw__steps { grid-template-columns: 1fr; gap: 2.5rem; }
    .pls-hiw__steps::before { display: none; }
}

/* =============================================================================
   ABOUT US STRIP — full-width green banner, logo left + content right
   ============================================================================= */
.pls-about-strip {
    background: linear-gradient(135deg, var(--primary-color-dark) 0%, #1a6b35 60%, var(--primary-color-light) 100%);
    padding: 4rem 0;
}
.pls-about-strip__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}
.pls-about-strip__logo-wrap {
    width: 130px;
    height: 130px;
    border-radius: 16px;
    background: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
}
.pls-about-strip__logo-wrap img { width: 96px; height: 96px; object-fit: contain; }
.pls-about-strip__est {
    font-family: Righteous, cursive;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.75);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0;
    text-align: center !important;
}
.pls-about-strip__flags { display: flex; gap: 0.6rem; font-size: 1.6rem; }

.pls-about-strip__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.85rem;
    padding-left: 2rem;
}
.pls-about-strip__label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--secondary-color-light);
}
.pls-about-strip__heading {
    font-family: Righteous, cursive;
    font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    color: #fff;
    line-height: 1.18;
    margin: 0;
}
.pls-about-strip__text {
    font-size: 0.92rem;
    color: rgba(255,255,255,0.82);
    line-height: 1.72;
    margin: 0;
    text-align: left !important;
    max-width: 580px;
}
.pls-about-strip__bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.pls-about-strip__bullets li {
    font-size: 0.86rem;
    color: rgba(255,255,255,0.88);
    display: flex;
    align-items: center;
    gap: 0.55rem;
}
.pls-about-strip__bullets li i {
    color: var(--secondary-color-light);
    font-size: 0.9rem;
    flex-shrink: 0;
    display: inline-block;
}
.pls-about-strip .btnPrimary {
    background: rgba(255,255,255,0.15) !important;
    border: 2px solid rgba(255,255,255,0.5) !important;
    color: #fff !important;
    width: fit-content;
}
.pls-about-strip .btnPrimary:hover {
    background: rgba(255,255,255,0.28) !important;
}

@media (max-width: 767px) {
    .pls-about-strip__content { padding-left: 0; padding-top: 2rem; }
}
.top {
    padding: 0.12rem 0.4rem !important;
}
.top button {
    font-size: 0.76rem !important;
    padding: 0.05rem 0.2rem !important;
    line-height: 1.4;
}
.top .socialLinks a {
    font-size: 0.82rem !important;
}

/* =============================================================================
   HERO SECTION — upgraded design system hero
   ============================================================================= */

/* Overlay: gradient from near-black at bottom to semi-transparent at top */
.banner .videoContainer::after {
    background: linear-gradient(
        to top,
        rgba(6, 38, 3, 0.88) 0%,
        rgba(0, 0, 0, 0.55) 45%,
        rgba(0, 0, 0, 0.30) 100%
    ) !important;
}

/* Video fills the frame */
.banner .videoContainer video {
    position: absolute !important;
    top: 0; left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Reduce height slightly — 90vh feels more modern than full 100vh */
.banner .videoContainer {
    height: 90vh !important;
    min-height: 540px;
}

/* Hero content block — centred, above overlay */
.hero-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    text-align: center;
    width: 100%;
    padding: 0 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.1rem;
}

/* Small label badge */
.hero-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(166, 206, 57, 0.18);
    border: 1px solid rgba(166, 206, 57, 0.45);
    color: var(--secondary-color-light);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.35rem 1rem;
    border-radius: 50px;
    backdrop-filter: blur(6px);
}
.hero-label i { font-size: 0.65rem; }

/* Main headline */
.banner .videoContainer .bannerTitle {
    font-size: clamp(2.4rem, 5.5vw, 4.2rem) !important;
    line-height: 1.08 !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    position: static !important;
    color: #fff !important;
    font-family: Righteous, cursive !important;
    margin: 0;
    text-shadow: 0 2px 24px rgba(0,0,0,0.5);
}

/* Subtitle */
.hero-sub {
    color: rgba(255,255,255,0.78);
    font-size: clamp(0.88rem, 1.8vw, 1.05rem);
    max-width: 600px;
    line-height: 1.6;
    margin: 0;
    font-family: Poppins, sans-serif;
    text-align: center !important;
}

/* CTA buttons */
.hero-cta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 0.4rem;
}
.hero-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: linear-gradient(to right, var(--primary-color-dark), var(--primary-color-light));
    color: #fff !important;
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 0.92rem;
    padding: 0.75rem 1.8rem;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(26,128,71,0.45);
    transition: transform 0.2s, box-shadow 0.2s;
}
.hero-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(26,128,71,0.55);
}
.hero-btn-outlined {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: transparent;
    color: #fff !important;
    font-family: Poppins, sans-serif;
    font-weight: 600;
    font-size: 0.92rem;
    padding: 0.72rem 1.8rem;
    border-radius: 50px;
    border: 2px solid rgba(255,255,255,0.55);
    text-decoration: none;
    backdrop-filter: blur(4px);
    transition: background 0.2s, border-color 0.2s;
}
.hero-btn-outlined:hover {
    background: rgba(255,255,255,0.12);
    border-color: #fff;
}

/* Wave — reuse shape-fill, just re-class */
.hero-wave {
    position: absolute !important;
    left: 0 !important;
    bottom: -2px !important;
    rotate: 180deg !important;
    fill: #fff !important;
    z-index: 6 !important;
    width: 100% !important;
    height: 80px !important;
}

/* Stats strip below the video */
.hero-stats {
    background: #fff;
    padding: 1.4rem 0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
    position: relative;
    z-index: 5;
}
.hero-stats__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
}
.hero-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.5rem 3rem;
}
.hero-stat__num {
    font-family: Righteous, cursive;
    font-size: 2rem;
    line-height: 1;
    background: linear-gradient(to right, var(--primary-color-dark), var(--primary-color-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hero-stat__label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 0.15rem;
}
.hero-stat__divider {
    width: 1px;
    height: 40px;
    background: #e8e8e8;
    flex-shrink: 0;
}

/* Hide old bannerContainer — replaced by stats strip */
.banner .bannerContainer { display: none !important; }

/* Mobile hero */
@media (max-width: 767px) {
    .banner .videoContainer { height: 85vh !important; min-height: 460px; }
    .hero-stat { padding: 0.4rem 1.5rem; }
    .hero-stat__num { font-size: 1.5rem; }
    .hero-btn-primary, .hero-btn-outlined { font-size: 0.84rem; padding: 0.65rem 1.4rem; }
}

/* -----------------------------------------------------------------------------
   EXHIBITION CARD  (.expoCard)
   Used on: exhibitions listing, homepage, show-upcoming/completed "related" grids
   ----------------------------------------------------------------------------- */
.expoCard {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.10);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.expoCard:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 35px rgba(0,0,0,0.15);
}
.expoCard img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.expoCard:hover img {
    transform: scale(1.03);
}
.expoCardBody {
    padding: 1.4rem 1.5rem 1.6rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.expoCardBody h3 {
    font-family: poppins, sans-serif;
    font-weight: 700;
    color: #222;
    font-size: 1rem;
    margin-bottom: 0.4rem;
    line-height: 1.4;
}
.expoCardBody .card-meta {
    font-size: 0.8rem;
    color: #999;
    margin-bottom: 0.6rem;
}
.expoCardBody .card-meta i {
    color: var(--primary-color-light);
    margin-right: 4px;
}
.expoCardBody p:not(.card-meta) {
    font-size: 0.85rem;
    color: #666;
    flex: 1;
}
.expoCardBody .btnPrimary {
    margin-top: auto;
    text-align: center;
    display: block;
}

/* Edition / status badge on card */
.expoBadge {
    display: inline-block;
    align-self: flex-start;
    background: linear-gradient(to left, #a6ce39, #88ac25);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    margin-bottom: 0.6rem;
}
.expoBadge.completed {
    background: linear-gradient(to left, #1a8047, #0c4b04);
}

/* -----------------------------------------------------------------------------
   OUTLINED BUTTON  (.btnOutlined)
   Primary use: secondary CTA next to .btnPrimary on dark (ctaSuccess) backgrounds.
   On light backgrounds defaults to green border/text; dark sections override inline.
   ----------------------------------------------------------------------------- */
.btnOutlined {
    display: inline-block;
    border: 2px solid var(--primary-color-light);
    border-radius: 5px;
    padding: 10px 30px;
    color: var(--primary-color-light);
    background: transparent;
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
.btnOutlined:hover {
    background: var(--primary-color-light);
    color: #fff;
    border-color: var(--primary-color-light);
}

/* Dark-background variant — add class .btnOutlined--white or use inline style overrides */
.btnOutlined--white {
    border-color: rgba(255,255,255,0.6);
    color: #fff;
}
.btnOutlined--white:hover {
    background: rgba(255,255,255,0.15);
    border-color: #fff;
    color: #fff;
}

/* -----------------------------------------------------------------------------
   CTA SUCCESS BANNER  (.ctaSuccess)
   Full-width green gradient CTA section used on completed exhibition pages.
   ----------------------------------------------------------------------------- */
.ctaSuccess {
    background: linear-gradient(to right, #0c4b04, #1a8047);
    border-radius: 12px;
}

/* -----------------------------------------------------------------------------
   STAT BOX  (.stat-box / .stat-number / .stat-label)
   Used in: completed exhibition page stats section, homepage
   ----------------------------------------------------------------------------- */
.stats-section {
    background: linear-gradient(to right, #0c4b04, #1a8047);
    padding: 4rem 0;
    color: white;
}
.stat-box {
    text-align: center;
    padding: 1rem;
}
.stat-number {
    font-size: 2.8rem;
    font-weight: 800;
    color: var(--secondary-color-light);
    line-height: 1;
    font-family: poppins, sans-serif;
}
.stat-label {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.8);
    margin-top: 0.4rem;
    font-family: poppins, sans-serif;
}

/* Inline stat card variant (dark bg, used inside completed exhibition overview) */
.stat-card-inline {
    background: linear-gradient(135deg, #1a8047, #0c4b04);
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
}
.stat-card-inline .stat-number {
    font-size: 2rem;
    font-weight: 800;
    color: #a6ce39;
}
.stat-card-inline .stat-label {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.8);
    margin-top: 0.3rem;
}

/* -----------------------------------------------------------------------------
   BREADCRUMB BAR  (.pls-breadcrumb)
   ----------------------------------------------------------------------------- */
.pls-breadcrumb {
    background: #fff;
    padding: 0.65rem 0;
    border-bottom: 1px solid #f0f0f0;
}
.pls-breadcrumb .breadcrumb {
    margin: 0;
    font-size: 0.83rem;
    font-family: poppins, sans-serif;
}
.pls-breadcrumb .breadcrumb-item a {
    color: var(--primary-color-light);
    text-decoration: none;
    font-weight: 500;
}
.pls-breadcrumb .breadcrumb-item a:hover {
    text-decoration: underline;
}
.pls-breadcrumb .breadcrumb-item.active {
    color: #999;
}
.pls-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #ccc;
}

/* -----------------------------------------------------------------------------
   FAQ ACCORDION  (.faq-section)
   Matches the green-flood animation from docs/design-system/exhibition-page.html
   ----------------------------------------------------------------------------- */
.faq-section {
    padding: 5rem 0;
    background: #f8f9fa;
}
.faq-section .accordion-button:active,
.faq-section .accordion-button:focus {
    box-shadow: none;
    background-color: transparent !important;
}
.faq-section .accordion-item {
    background-color: transparent !important;
    border-color: transparent;
    margin-bottom: 0.5rem;
}
.faq-section .accordion-button {
    background-color: transparent !important;
    font-weight: 700;
    color: #202020;
    font-family: poppins, sans-serif;
    font-size: 1rem;
}
.faq-section .accordion-button span {
    position: relative;
    z-index: 12;
}
.faq-section .accordion-button.collapsed {
    background-color: transparent !important;
}
.faq-section .accordion-button:not(.collapsed) {
    color: #fff;
    box-shadow: inset 0 -1px 0 transparent;
}
/* + icon ring (collapsed state) — only safe props transition so the 60rem shadow
   snaps away instantly on close rather than flooding the page during the outgoing animation */
.faq-section .accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='white' d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z'/%3E%3C/svg%3E");
    transform: rotate(0);
    width: 0.65rem;
    height: 0.65rem;
    background-size: 100%;
    background-color: var(--secondary-color-light);
    border-radius: 100%;
    box-shadow: 0 0 0 4px var(--secondary-color-light);
    transition: background-color 0.3s ease, background-image 0.3s ease;
    z-index: 1;
}
/* − icon + green flood (expanded state) — full animation only on expand (open direction) */
.faq-section .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='white' d='M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E");
    transform: rotate(0);
    background-color: var(--primary-color-light);
    box-shadow: -30rem 20rem 0 60rem var(--primary-color-light);
    transition: all 0.5s cubic-bezier(.87, 0, .13, 1);
    pointer-events: none;
}
/* Card lift on expanded item */
.faq-section .accordion-item:has(.accordion-button:not(.collapsed)) {
    box-shadow: 0 0 15px rgba(0,0,0,0.12);
    overflow: hidden;
    border-radius: 10px;
}
.faq-section .accordion-body {
    font-family: poppins, sans-serif;
    font-size: 0.95rem;
    padding-top: 0 !important;
    position: relative;
    z-index: 20;
}

/* -----------------------------------------------------------------------------
   COUNTDOWN BAR  (.countdown-bar)
   Used in show-upcoming above-the-fold — inside the page banner or hero area.
   ----------------------------------------------------------------------------- */
.countdown-bar {
    background: #0c4b04;
    padding: 1.1rem 0;
    border-top: 1px solid rgba(255,255,255,0.08);
}
.countdown-label-tag {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.55);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    white-space: nowrap;
    padding-right: 1.5rem;
    border-right: 1px solid rgba(255,255,255,0.12);
    margin-right: 1.5rem;
    font-family: poppins, sans-serif;
}
.countdown-unit {
    text-align: center;
}
.countdown-box {
    background: rgba(166,206,57,0.12);
    border: 1px solid rgba(166,206,57,0.35);
    border-radius: 8px;
    padding: 0.5rem 1rem;
    min-width: 68px;
}
.countdown-number {
    font-size: 2rem;
    font-weight: 800;
    color: #a6ce39;
    line-height: 1;
    letter-spacing: -1px;
    font-family: poppins, sans-serif;
}
.countdown-unit-label {
    font-size: 0.6rem;
    color: rgba(255,255,255,0.6);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-top: 3px;
    font-family: poppins, sans-serif;
}
.countdown-sep {
    color: rgba(166,206,57,0.5);
    font-size: 1.5rem;
    font-weight: 700;
    padding: 0 0.3rem;
    padding-bottom: 0.5rem;
}

/* -----------------------------------------------------------------------------
   OPPORTUNITY CARDS  (.opportunity-card)
   Used in upcoming exhibition "Why Participate" section
   ----------------------------------------------------------------------------- */
.opportunity-card {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    height: 100%;
    transition: transform 0.3s, box-shadow 0.3s;
    border: 1px solid #f0f0f0;
}
.opportunity-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.10);
    border-color: transparent;
}
.opportunity-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a8047, #a6ce39);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    color: white;
    font-size: 1.4rem;
}
.opportunity-card h4 {
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #333;
    margin-bottom: 0.5rem;
}
.opportunity-card p {
    font-size: 0.85rem;
    color: #888;
    margin: 0;
}

/* -----------------------------------------------------------------------------
   GALLERY GRID  (.gallery-grid)
   ----------------------------------------------------------------------------- */
.gallery-grid img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}
.gallery-grid img:hover {
    transform: scale(1.03);
    box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

/* =============================================================================
   PHASE 4.6 — MOBILE-FIRST LAYER
   Breakpoints (min-width only — never max-width in this file):
     Tablet:  768px
     Desktop: 1200px
   ============================================================================= */

/* -----------------------------------------------------------------------------
   TOUCH TARGETS — WCAG 2.5.5 + Google Mobile Usability
   All interactive elements must be ≥ 44×44px on mobile.
   ----------------------------------------------------------------------------- */
.btnPrimary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.btnOutlined {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Hamburger button — touch safe on mobile only */
@media (max-width: 767px) {
    header .buttonToggle {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}
/* Re-enforce desktop hide — components.css loads after style.css so must repeat this */
@media (min-width: 768px) {
    header .buttonToggle {
        display: none !important;
    }
}

/* Social icon links — top bar + footer */
.socialLinks a {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Breadcrumb links — padding gives finger-friendly tap area */
.pls-breadcrumb .breadcrumb-item a,
.pls-breadcrumb .breadcrumb-item.active {
    padding-top: 8px;
    padding-bottom: 8px;
    display: inline-block;
}

/* Form inputs — font-size:16px prevents iOS Safari auto-zoom on focus */
input, select, textarea {
    font-size: 16px !important;
    min-height: 44px;
}

/* Accordion buttons — comfortable tap area on mobile */
.accordion-button {
    min-height: 48px;
}

/* -----------------------------------------------------------------------------
   EXHIBITION CARD — mobile-first sizing
   ----------------------------------------------------------------------------- */
/* Mobile base: tighter image, tighter body */
.expoCard img {
    height: 190px;
}
.expoCardBody {
    padding: 1rem 1.1rem 1.2rem;
}
.expoCardBody h3 {
    font-size: 0.92rem;
}

/* Tablet (768px+): restore comfortable sizing */
@media (min-width: 768px) {
    .expoCard img {
        height: 220px;
    }
    .expoCardBody {
        padding: 1.4rem 1.5rem 1.6rem;
    }
    .expoCardBody h3 {
        font-size: 1rem;
    }
}

/* -----------------------------------------------------------------------------
   SECTION TITLE — fluid type scale
   ----------------------------------------------------------------------------- */
.secTitle {
    font-size: 1.5rem;
}
@media (min-width: 768px) {
    .secTitle { font-size: 1.75rem; }
}
@media (min-width: 1200px) {
    .secTitle { font-size: 1.9rem; }
}

/* -----------------------------------------------------------------------------
   COUNTDOWN BAR — compact on mobile, full on tablet+
   ----------------------------------------------------------------------------- */
/* Mobile: hide "Event Starts In" label, shrink boxes */
.countdown-label-tag {
    display: none;
}
.countdown-box {
    min-width: 52px;
    padding: 0.35rem 0.6rem;
    border-radius: 6px;
}
.countdown-number {
    font-size: 1.6rem;
}
.countdown-unit-label {
    font-size: 0.55rem;
}
.countdown-sep {
    font-size: 1.2rem;
    padding: 0 2px;
    padding-bottom: 0.4rem;
}

/* Tablet (768px+): show label, full box size */
@media (min-width: 768px) {
    .countdown-label-tag {
        display: flex;
    }
    .countdown-box {
        min-width: 68px;
        padding: 0.5rem 1rem;
        border-radius: 8px;
    }
    .countdown-number {
        font-size: 2rem;
    }
    .countdown-unit-label {
        font-size: 0.6rem;
    }
    .countdown-sep {
        font-size: 1.5rem;
        padding: 0 0.3rem;
        padding-bottom: 0.5rem;
    }
}

/* -----------------------------------------------------------------------------
   STAT SECTION — 2-col grid on mobile, 4-col on desktop
   (Bootstrap col-6 col-md-3 handles columns; only font-size needs mobile-first)
   ----------------------------------------------------------------------------- */
.stat-number {
    font-size: 2rem;
}
.stats-section {
    padding: 2.5rem 0;
}

@media (min-width: 768px) {
    .stat-number  { font-size: 2.8rem; }
    .stats-section { padding: 4rem 0; }
}

/* -----------------------------------------------------------------------------
   OPPORTUNITY CARDS — tighter padding on mobile
   ----------------------------------------------------------------------------- */
.opportunity-card {
    padding: 1.5rem 1.25rem;
}
@media (min-width: 768px) {
    .opportunity-card { padding: 2rem; }
}

/* -----------------------------------------------------------------------------
   BREADCRUMB — hide middle crumbs on very small screens (show only first + last)
   ----------------------------------------------------------------------------- */
@media (max-width: 480px) {
    .pls-breadcrumb .breadcrumb-item:not(:first-child):not(:last-child) {
        display: none;
    }
}

/* -----------------------------------------------------------------------------
   GALLERY GRID — single column on mobile, multi-col via Bootstrap on tablet+
   ----------------------------------------------------------------------------- */
.gallery-grid img {
    height: 160px;
}
@media (min-width: 768px) {
    .gallery-grid img { height: 200px; }
}

/* -----------------------------------------------------------------------------
   BODY / PARAGRAPH TEXT — fluid sizing
   ----------------------------------------------------------------------------- */
.secPara {
    font-size: 0.88rem;
}
@media (min-width: 768px) {
    .secPara { font-size: 0.9rem; }
}

/* =============================================================================
   RICH CONTENT BLOCK (.pls-rich-content)
   Renders TipTap / Quill HTML on public exhibition and blog pages.
   Supports all Block Palette types: text, layout, cards, callouts, media, etc.
   ============================================================================= */

/* ── Base typography ─────────────────────────────────────────────────────────── */
.pls-rich-content {
    font-family: poppins, sans-serif;
    color: #4a4a4a;
    line-height: 1.85;
    font-size: 0.95rem;
    max-width: 920px;
    margin: 0 auto;
}

/* ── Headings ────────────────────────────────────────────────────────────────── */
.pls-rich-content h2 {
    font-family: righteous, sans-serif;
    font-size: clamp(1.3rem, 2.5vw, 1.65rem);
    color: var(--primary-color-dark);
    margin: 2.5rem 0 0.8rem;
    line-height: 1.25;
    padding-left: 0.9rem;
    border-left: 4px solid #a6ce39;
}
.pls-rich-content h3 {
    font-family: righteous, sans-serif;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    color: var(--primary-color-dark);
    margin: 2rem 0 0.65rem;
    line-height: 1.3;
}
.pls-rich-content h4 {
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: 0.88rem;
    color: #444;
    margin: 1.5rem 0 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* ── Paragraphs & inline ─────────────────────────────────────────────────────── */
.pls-rich-content p {
    margin-bottom: 1.2rem;
    color: #555;
    text-align: justify;
    text-align-last: left;
    hyphens: auto;
    -webkit-hyphens: auto;
}
.pls-rich-content strong { color: #222; font-weight: 700; }
.pls-rich-content em { font-style: italic; }
.pls-rich-content a {
    color: var(--primary-color-dark);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(26,128,71,0.4);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    transition: text-decoration-color 0.15s ease, color 0.15s ease;
}
.pls-rich-content a:hover {
    color: var(--primary-color-light);
    text-decoration-color: currentColor;
}
.pls-rich-content mark { background: rgba(166,206,57,0.28); padding: 1px 4px; border-radius: 3px; }
.pls-rich-content code {
    font-family: monospace;
    background: #f0f5eb;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 0.87em;
    color: #0c4b04;
}

/* ── Lists ───────────────────────────────────────────────────────────────────── */
.pls-rich-content ul  { padding-left: 1.6rem; margin-bottom: 1.2rem; }
.pls-rich-content ol  { padding-left: 1.6rem; margin-bottom: 1.2rem; }
.pls-rich-content li  { margin-bottom: 0.5rem; color: #555; }
.pls-rich-content ul li::marker { color: #a6ce39; }
.pls-rich-content ol li::marker { color: var(--primary-color-light); font-weight: 700; }

/* ── Blockquote ──────────────────────────────────────────────────────────────── */
.pls-rich-content blockquote {
    border-left: 4px solid #a6ce39;
    margin: 1.75rem 0;
    padding: 1rem 1.5rem;
    background: #f4faf7;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #3a6b4a;
    font-size: 1.05rem;
    position: relative;
}
.pls-rich-content blockquote::before {
    content: '\201C';
    position: absolute;
    top: -10px; left: 10px;
    font-size: 4rem;
    color: rgba(166,206,57,0.3);
    font-family: righteous, sans-serif;
    line-height: 1;
}

/* ── Horizontal rule ─────────────────────────────────────────────────────────── */
.pls-rich-content hr {
    border: none;
    height: 2px;
    background: linear-gradient(to right, #a6ce39, rgba(166,206,57,0.1));
    border-radius: 2px;
    margin: 2.25rem 0;
}

/* ── Images ──────────────────────────────────────────────────────────────────── */
.pls-rich-content figure { margin: 1.75rem 0; }
.pls-rich-content img { max-width: 100%; height: auto; border-radius: 12px; box-shadow: 0 4px 24px rgba(0,0,0,0.09); display: block; }
.pls-rich-content figcaption { font-size: 0.82rem; color: #888; text-align: center; margin-top: 0.6rem; font-style: italic; }

/* ── Tables ──────────────────────────────────────────────────────────────────── */
.pls-rich-content table { width: 100%; border-collapse: collapse; margin: 1.75rem 0; font-size: 0.9rem; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 14px rgba(0,0,0,0.07); }
.pls-rich-content th {
    background: linear-gradient(135deg, var(--primary-color-dark), var(--primary-color-light));
    color: #fff;
    font-family: righteous, sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.85rem 1rem;
    text-align: left;
}
.pls-rich-content td { padding: 0.75rem 1rem; border-bottom: 1px solid #eef2e8; color: #555; vertical-align: top; }
.pls-rich-content tr:nth-child(even) td { background: #f8fdf4; }
.pls-rich-content tr:last-child td { border-bottom: none; }
.pls-rich-content tr:hover td { background: #f0f9ea; transition: background 0.15s; }

/* ── Definition list ─────────────────────────────────────────────────────────── */
.pls-rich-content dl { margin: 1.5rem 0; }
.pls-rich-content dt {
    font-family: righteous, sans-serif;
    font-size: 0.92rem;
    color: var(--primary-color-dark);
    margin-top: 1rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid #e0ecd0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.pls-rich-content dt::before { content: '\25B8'; color: #a6ce39; font-size: 0.75rem; }
.pls-rich-content dd { margin: 0.4rem 0 0 1.5rem; color: #666; font-size: 0.92rem; line-height: 1.7; }

/* ── LAYOUT BLOCKS ───────────────────────────────────────────────────────────── */
.pls-rc-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 1.75rem 0; }
.pls-rc-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 1.75rem 0; }

/* ── CARD GRID ───────────────────────────────────────────────────────────────── */
.pls-rc-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; margin: 1.75rem 0; }
.pls-rc-card {
    background: #fff;
    border: 1px solid #e8f0de;
    border-top: 3px solid #a6ce39;
    border-radius: 12px;
    padding: 1.5rem 1.25rem;
    transition: box-shadow 0.25s, transform 0.25s;
}
.pls-rc-card:hover { box-shadow: 0 6px 24px rgba(26,128,71,0.1); transform: translateY(-3px); }
.pls-rc-card-icon {
    width: 44px; height: 44px;
    background: linear-gradient(135deg, #f0f7ea, #e0f0d8);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.15rem;
    color: var(--primary-color-light);
    margin-bottom: 0.9rem;
}
.pls-rc-card h4 { font-family: righteous, sans-serif; font-size: 0.95rem; color: var(--primary-color-dark); margin: 0 0 0.5rem; text-transform: none; letter-spacing: 0; }
.pls-rc-card p  { font-size: 0.85rem; color: #666; margin: 0; line-height: 1.65; }

/* ── CALLOUT BOXES ───────────────────────────────────────────────────────────── */
.pls-rc-callout {
    padding: 1.1rem 1.4rem;
    border-radius: 10px;
    margin: 1.5rem 0;
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    font-size: 0.9rem;
}
.pls-rc-callout-icon { flex-shrink: 0; font-size: 1.05rem; margin-top: 2px; }
.pls-rc-callout p { margin: 0; }
.pls-rc-callout h4 { margin: 0 0 0.35rem; font-size: 0.88rem; text-transform: none; letter-spacing: 0; }

.pls-rc-info    { background: #eff6ff; border-left: 4px solid #3b82f6; }
.pls-rc-info    .pls-rc-callout-icon,
.pls-rc-info    h4 { color: #1d4ed8; }

.pls-rc-success { background: #f0fdf4; border-left: 4px solid #22c55e; }
.pls-rc-success .pls-rc-callout-icon,
.pls-rc-success h4 { color: #15803d; }

.pls-rc-warning { background: #fffbeb; border-left: 4px solid #f59e0b; }
.pls-rc-warning .pls-rc-callout-icon,
.pls-rc-warning h4 { color: #b45309; }

.pls-rc-tip     { background: #faf5ff; border-left: 4px solid #a855f7; }
.pls-rc-tip     .pls-rc-callout-icon,
.pls-rc-tip     h4 { color: #7e22ce; }

/* ── HIGHLIGHT BANNER ────────────────────────────────────────────────────────── */
.pls-rc-highlight {
    background: var(--linear-gradient-right-primary);
    border-radius: 14px;
    padding: 2rem 2.25rem;
    margin: 2rem 0;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.pls-rc-highlight::after { content: ''; position: absolute; right: -20px; top: -20px; width: 160px; height: 160px; border-radius: 50%; background: rgba(255,255,255,0.05); pointer-events: none; }
.pls-rich-content .pls-rc-highlight h2,
.pls-rich-content .pls-rc-highlight h3 { color: #fff; border-left: none; border-bottom: none; padding-bottom: 0; margin-top: 0; }
.pls-rich-content .pls-rc-highlight p  { color: rgba(255,255,255,0.85); margin-bottom: 0; }

/* ── VIDEO EMBED ─────────────────────────────────────────────────────────────── */
.pls-rc-video { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 14px; margin: 1.75rem 0; box-shadow: 0 8px 32px rgba(0,0,0,0.12); }
.pls-rc-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

/* ── CTA BUTTON ──────────────────────────────────────────────────────────────── */
.pls-rc-cta { text-align: center; margin: 2rem 0; }
.pls-rich-content .pls-rc-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--linear-gradient-right-primary);
    color: #fff;
    padding: 0.8rem 2rem;
    border-radius: 5px;
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: 0.92rem;
    text-decoration: none;
    transition: box-shadow 0.2s, transform 0.2s;
}
.pls-rich-content .pls-rc-btn:hover { box-shadow: 0 6px 20px rgba(12,75,4,0.3); transform: translateY(-2px); color: #fff; text-decoration: none; }

/* ── ICON LIST ───────────────────────────────────────────────────────────────── */
.pls-rc-icon-list { list-style: none; padding: 0; margin: 1.5rem 0; }
.pls-rc-icon-list li { display: flex; align-items: flex-start; gap: 0.85rem; padding: 0.6rem 0; border-bottom: 1px solid #f0f4ec; color: #555; font-size: 0.92rem; margin-bottom: 0; }
.pls-rc-icon-list li:last-child { border-bottom: none; }
.pls-rc-icon-list li i { color: #a6ce39; font-size: 0.88rem; margin-top: 4px; flex-shrink: 0; width: 16px; text-align: center; }

/* ── INLINE STATS ROW ────────────────────────────────────────────────────────── */
.pls-rc-stats { display: flex; flex-wrap: wrap; background: #f8fdf4; border: 1px solid #e0ecd0; border-radius: 14px; overflow: hidden; margin: 1.75rem 0; }
.pls-rc-stat-item { flex: 1; min-width: 120px; padding: 1.5rem 1.25rem; text-align: center; border-right: 1px solid #e0ecd0; }
.pls-rc-stat-item:last-child { border-right: none; }
.pls-rc-stat-item strong { display: block; font-family: righteous, sans-serif; font-size: 2rem; color: var(--primary-color-dark); line-height: 1; }
.pls-rc-stat-item span   { font-size: 0.72rem; color: #999; text-transform: uppercase; letter-spacing: 0.09em; margin-top: 0.35rem; display: block; }

/* ── MINI TIMELINE ───────────────────────────────────────────────────────────── */
.pls-rich-content .pls-rc-timeline { list-style: none; padding: 0; margin: 1.75rem 0; position: relative; }
.pls-rc-timeline::before { content: ''; position: absolute; left: 13px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(to bottom, #a6ce39, rgba(166,206,57,0.15)); border-radius: 2px; }
.pls-rc-timeline li { display: flex; gap: 1.25rem; align-items: flex-start; padding-bottom: 1.5rem; color: #555; border-bottom: none; margin-bottom: 0; }
.pls-rc-timeline li:last-child { padding-bottom: 0; }
.pls-rc-tl-dot { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 2px solid #a6ce39; display: flex; align-items: center; justify-content: center; font-size: 0.65rem; color: #a6ce39; font-weight: 700; position: relative; z-index: 1; box-shadow: 0 0 0 4px rgba(166,206,57,0.12); }
.pls-rc-tl-content h4 { font-family: righteous, sans-serif; font-size: 0.95rem; color: var(--primary-color-dark); margin: 0 0 0.25rem; text-transform: none; letter-spacing: 0; }
.pls-rc-tl-content p  { margin: 0; font-size: 0.87rem; }

/* ── Responsive ──────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .pls-rc-2col, .pls-rc-3col { grid-template-columns: 1fr; gap: 1rem; }
    .pls-rc-stats { flex-direction: column; }
    .pls-rc-stat-item { border-right: none; border-bottom: 1px solid #e0ecd0; }
    .pls-rc-stat-item:last-child { border-bottom: none; }
    .pls-rc-highlight { padding: 1.5rem; }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .pls-rc-3col { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
    .pls-rich-content { font-size: 1rem; }
    .pls-rich-content h2 { font-size: 1.65rem; }
    .pls-rich-content h3 { font-size: 1.3rem; }
}

/* =============================================================================
   BLOG COMPONENTS — matches docs/design-system/blog-page.html
   ============================================================================= */

/* -----------------------------------------------------------------------------
   BLOG CARD  (.blogCard) — DB-driven listing
   ----------------------------------------------------------------------------- */
.blogCard {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.blogCard:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 35px rgba(0,0,0,0.13);
}
.blogCard .blogCardImg {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.blogCard:hover .blogCardImg { transform: scale(1.04); }
.blogCard .blogCardBody {
    padding: 1.4rem 1.5rem 1.6rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.blogCard .blogCategory {
    display: inline-block;
    align-self: flex-start;
    background: linear-gradient(to left, #a6ce39, #88ac25);
    color: #fff;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    margin-bottom: 0.65rem;
    font-family: poppins, sans-serif;
}
.blogCard h3 {
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #222;
    line-height: 1.45;
    margin-bottom: 0.6rem;
    flex: 1;
}
.blogCard .blogExcerpt {
    font-size: 0.85rem;
    color: #777;
    line-height: 1.6;
    margin-bottom: 1rem;
}
.blogCard .blogMeta {
    font-size: 0.78rem;
    color: #aaa;
    font-family: poppins, sans-serif;
    margin-bottom: 1rem;
}
.blogCard .blogMeta i { color: var(--primary-color-light, #1a8047); margin-right: 3px; }

/* Mobile: slightly smaller image */
.blogCard .blogCardImg { height: 185px; }
@media (min-width: 768px) {
    .blogCard .blogCardImg { height: 200px; }
}

/* -----------------------------------------------------------------------------
   BLOG POST HERO  (.pls-blog-hero)
   ----------------------------------------------------------------------------- */
.pls-blog-hero {
    background: linear-gradient(135deg, #0c4b04 0%, #1a8047 60%, #a6ce39 100%);
    position: relative;
    padding: 4rem 0 3rem;
    overflow: hidden;
}
.pls-blog-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.38);
}
.pls-blog-hero .hero-content {
    position: relative;
    z-index: 1;
    color: #fff;
}
.pls-blog-hero .category-pill {
    display: inline-block;
    background: var(--secondary-color-light, #a6ce39);
    color: #fff;
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.pls-blog-hero h1 {
    font-family: rightous, cursive;
    font-size: 2.2rem;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #fff;
}
.pls-blog-hero .blog-meta {
    opacity: 0.8;
    font-size: 0.85rem;
    font-family: poppins, sans-serif;
}
.pls-blog-hero .blog-meta span { margin-right: 1.5rem; }
@media (min-width: 768px) {
    .pls-blog-hero h1 { font-size: 2.8rem; }
    .pls-blog-hero { padding: 5rem 0 4rem; }
}

/* -----------------------------------------------------------------------------
   ARTICLE CONTENT  (.pls-article-body)
   ----------------------------------------------------------------------------- */
.pls-article-wrap { padding: 3rem 0; }

.pls-article-body h2 {
    font-family: rightous, cursive;
    font-size: 1.4rem;
    color: var(--primary-color-dark, #0c4b04);
    margin-top: 2rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #f0f0f0;
}
.pls-article-body h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #444;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-family: poppins, sans-serif;
}
.pls-article-body p {
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
    margin-bottom: 1.2rem;
    font-family: poppins, sans-serif;
}
.pls-article-body ul,
.pls-article-body ol {
    padding-left: 1.5rem;
    margin-bottom: 1.2rem;
}
.pls-article-body li {
    line-height: 1.8;
    color: #555;
    margin-bottom: 0.4rem;
    font-family: poppins, sans-serif;
}
.pls-article-body img {
    width: 100%;
    border-radius: 10px;
    margin: 1.5rem 0;
}
.pls-article-body .highlight-box {
    background: linear-gradient(135deg, rgba(26,128,71,0.07), rgba(166,206,57,0.1));
    border-left: 4px solid var(--secondary-color-light, #a6ce39);
    padding: 1.25rem 1.5rem;
    border-radius: 0 8px 8px 0;
    margin: 1.5rem 0;
}
.pls-article-body .highlight-box p { margin: 0; font-weight: 500; color: var(--primary-color-dark, #0c4b04); }
.pls-article-body .stat-callout {
    background: linear-gradient(to right, #0c4b04, #1a8047);
    color: #fff;
    padding: 1.5rem;
    border-radius: 10px;
    text-align: center;
    margin: 2rem 0;
}
.pls-article-body .stat-callout .big-number {
    font-size: 3rem;
    font-weight: 800;
    color: var(--secondary-color-light, #a6ce39);
    line-height: 1;
}
@media (min-width: 768px) {
    .pls-article-body p { font-size: 1.05rem; }
    .pls-article-body h2 { font-size: 1.6rem; }
}

/* -----------------------------------------------------------------------------
   AUTHOR BOX  (.pls-author-box)
   ----------------------------------------------------------------------------- */
.pls-author-box {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    margin-top: 3rem;
    border: 1px solid #f0f0f0;
}
.pls-author-avatar {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a8047, #a6ce39);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    flex-shrink: 0;
    font-family: rightous, cursive;
}
.pls-author-name { font-weight: 700; color: #333; font-family: poppins, sans-serif; }
.pls-author-title { font-size: 0.82rem; color: #999; font-family: poppins, sans-serif; }
.pls-author-bio { font-size: 0.87rem; color: #666; margin-top: 0.35rem; line-height: 1.6; font-family: poppins, sans-serif; }

/* -----------------------------------------------------------------------------
   SHARE BUTTONS  (.pls-share-bar)
   ----------------------------------------------------------------------------- */
.pls-share-bar {
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    padding: 1rem 0;
    margin: 2rem 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}
.pls-share-bar .share-label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #888;
    font-family: poppins, sans-serif;
    margin-right: 0.25rem;
}
.pls-share-btn {
    padding: 6px 14px;
    border-radius: 5px;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: opacity 0.2s;
    font-family: poppins, sans-serif;
}
.pls-share-btn:hover { opacity: 0.88; }
.pls-share-fb { background: #1877f2; color: #fff; }
.pls-share-wa { background: #25d366; color: #fff; }
.pls-share-li { background: #0a66c2; color: #fff; }
/* -----------------------------------------------------------------------------
   BLOG SIDEBAR  (.pls-sidebar)
   ----------------------------------------------------------------------------- */
.pls-sidebar { padding-left: 0; }
@media (min-width: 992px) {
    .pls-sidebar {
        padding-left: 1.5rem;
        position: sticky;
        top: 5rem;
        max-height: calc(100vh - 5rem);
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #ddd transparent;
    }
}

.pls-sidebar-card {
    background: #fff;
    border-radius: 12px;
    padding: 1.4rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}
.pls-sidebar-card h5 {
    font-weight: 700;
    font-size: 0.92rem;
    color: #333;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--secondary-color-light, #a6ce39);
    font-family: poppins, sans-serif;
}
.pls-related-mini {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
    text-decoration: none;
    align-items: center;
}
.pls-related-mini .thumb {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    flex-shrink: 0;
    object-fit: cover;
    background: linear-gradient(135deg, #1a8047, #a6ce39);
}
.pls-related-mini .title {
    font-size: 0.82rem;
    font-weight: 600;
    color: #444;
    line-height: 1.4;
    font-family: poppins, sans-serif;
}

/* =============================================================================
   MOBILE OVERRIDES (migrated from style.css — max-width: 768px)
   These rules are the "original perfect" mobile styles. Do not edit lightly.
   ============================================================================= */

@media only screen and (max-width: 768px) {
    ::-webkit-scrollbar { width: 0; }

    header { padding: 10px 10px; }

    header .logo .logoContainer {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: row;
        gap: .5em;
    }
    header .logo .logoContainer span {
        font-size: 1em;
        margin-top: .2em;
        transform: translateX(-7em) !important;
        opacity: 0 !important;
    }
    header .logo:hover .logoContainer span {
        transform: translateX(0);
        letter-spacing: .3em;
        opacity: 1;
    }
    /* Nav overlay (first rule sets flex-direction, second positions it) */
    header nav {
        order: 3;
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 120;
        translate: 0 -35em;
    }
    header nav.active { translate: 0 5.8em; }
    header nav::after {
        content: '';
        position: absolute;
        z-index: -1;
        top: -23px;
        height: 120%;
        width: 100%;
        transform: rotateY(180deg);
        border-radius: 0 0 20px 20px;
        box-shadow: 0 5px 15px rgba(0,0,0,.1);
        background-color: rgba(255,255,255,.9);
        backdrop-filter: blur(5px);
        border: 3px solid var(--secondary-color-light);
    }
    header nav a {
        padding: 0;
        width: 100%;
        text-align: center;
        font-size: .8em;
    }
    header nav a.btnPrimary {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        width: 90%;
    }
    header nav a.active {
        padding: 0;
        width: 100%;
        text-align: center;
        font-size: 1em;
    }
    header .logo .logoContainer img { height: 42px; width: auto; }
    header nav .dropdown { width: 90%; }
    header nav .dropdown-menu {
        position: static !important;
        width: 100%;
        border: 1px solid #e0e0e0;
        transform: none !important;
        margin-top: .5em !important;
    }
    header nav .dropdown-menu a { text-align: center; }

    .banner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .banner .videoContainer { height: 80vh; width: 100%; }
    .banner .videoContainer .bannerTitle {
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
        font-size: 3em;
    }
    .banner .videoContainer svg { height: 50px; }
    .banner .bannerContainer {
        position: static;
        left: 0;
        bottom: 0;
        transform: translateX(0);
        width: 100%;
        z-index: 1;
        padding: 0 10px;
        margin-top: 20px;
    }
    .banner .bannerContainer .col-lg-4 { padding-bottom: 10px; }
    .banner .bannerContainer .col-lg-4:nth-child(2) .banner-card { transform: translateY(0); }
    .banner .bannerContainer .banner-card p {
        font-weight: 400;
        font-size: .8em;
        font-family: poppins;
    }
    .banner .bannerContainer .banner-card:hover { background-color: rgba(0,186,0,.959); }

    .howItWorksSection .row .card img { width: 25%; }
    .anyQuestionSection .col-md-6:nth-child(2) { justify-content: center; }
    .anyQuestionSection a { font-size: .7em; }
}

@media only screen and (max-width: 600px) {
    .preloader .inner .flipper { width: 40%; height: 15%; }
    header .logo .logoContainer span {
        font-size: 1em;
        margin-top: .2em;
        transform: translateX(-7em) !important;
        opacity: 0 !important;
    }
}

@media only screen and (min-width: 600px) and (max-width: 768px) {
    .preloader .inner .flipper { width: 30%; height: 15%; }
    header .logo .logoContainer span {
        font-size: 1em;
        margin-top: .2em;
        transform: translateX(0) !important;
        opacity: 1 !important;
    }
}

@media only screen and (min-width: 768px) {
    header .buttonToggle { display: none; }
}

/* =============================================================================
   TESTIMONIAL CARDS (.custom-card) — exhibitor video testimonials
   ============================================================================= */
.custom-card {
    border: 1px solid var(--secondary-color-dark);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.custom-card-header {
    background-image: var(--linear-gradient-left-secondary);
    color: white;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 10px 15px;
}
.custom-card-body { padding: 20px; }
.custom-card-text { margin-top: 15px; }
.embed-responsive-16by9 {
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
}
.embed-responsive-16by9 iframe {
    border-radius: 10px;
    width: 100%;
}

/* =============================================================================
   GRADIENT BANNER (.pls-gradient-banner)
   Used on blog listing, blog post, static pages, team, career, etc.
   Motion: animated gradient + one-shot shimmer sweep + spinning ring decoration.
   ============================================================================= */

/* ── Keyframes ───────────────────────────────────────────────────────────────── */
@keyframes bannerGradFlow {
    0%,100% { background-position: 0% 60%; }
    50%      { background-position: 100% 40%; }
}
@keyframes bannerShine {
    from { transform: translateX(-150%) skewX(-20deg); opacity: 0.75; }
    to   { transform: translateX(450%)  skewX(-20deg); opacity: 0;    }
}
@keyframes bannerH1In {
    from { opacity: 0; transform: translateX(-18px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes bannerLineGrow {
    from { max-width: 0; opacity: 0; }
    to   { max-width: 240px; opacity: 1; }
}
@keyframes bannerSubIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes bannerRingCW  { to { transform: rotate(360deg);  } }
@keyframes bannerRingCCW { to { transform: rotate(-360deg); } }
@keyframes bannerCorePulse {
    0%,100% { box-shadow: 0 0 14px rgba(166,206,57,0.2), inset 0 0 10px rgba(166,206,57,0.06); }
    50%     { box-shadow: 0 0 32px rgba(166,206,57,0.45), inset 0 0 18px rgba(166,206,57,0.14); }
}

/* ── Shell ───────────────────────────────────────────────────────────────────── */
.pls-gradient-banner {
    position: relative;
    min-height: 230px;
    background: linear-gradient(
        130deg,
        #041500 0%,
        #082d03 16%,
        #0c4b04 38%,
        #145c22 58%,
        #1a7840 76%,
        #1d9150 100%
    );
    background-size: 280% 280%;
    animation: bannerGradFlow 16s ease infinite;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* ── SVG texture overlay ─────────────────────────────────────────────────────── */
.pls-banner-decor {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
    background: url('/assets/images/banner-bg.svg') center center / cover no-repeat;
    opacity: 0.85;
}
/* Legacy child divs — visually suppressed; SVG handles texture */
.pls-bd-dots,
.pls-bd-rings,
.pls-bd-ring,
.pls-bd-stripes,
.pls-bd-sq { display: none; }

/* ── Shimmer sweep (plays once on load) ──────────────────────────────────────── */
.pls-banner-shine {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}
.pls-banner-shine::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 32%;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.06), transparent);
    animation: bannerShine 1.6s 0.5s ease forwards;
    transform: translateX(-150%) skewX(-20deg);
    opacity: 0;
}

/* ── Corner geometry accents ─────────────────────────────────────────────────── */
.pls-banner-corner {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}
.pls-banner-corner--tl {
    top: 0; left: 0;
    width: 220px; height: 100%;
    background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, transparent 55%);
    clip-path: polygon(0 0, 55% 0, 0 100%);
}
.pls-banner-corner--br {
    bottom: 0; right: 0;
    width: 170px; height: 90%;
    background: linear-gradient(315deg, rgba(166,206,57,0.07) 0%, transparent 55%);
    clip-path: polygon(100% 10%, 100% 100%, 0 100%);
}

/* ── Content column ──────────────────────────────────────────────────────────── */
.pls-gradient-banner-content {
    position: relative;
    z-index: 3;
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
}

/* Breadcrumbs */
.pls-banner-crumbs { margin-bottom: 1rem; }
.pls-banner-crumbs .breadcrumb {
    font-family: poppins, sans-serif;
    font-size: 0.73rem;
    margin: 0;
    padding: 0;
    background: none;
}
.pls-gradient-banner .breadcrumb-item a { color: rgba(255,255,255,0.5); text-decoration: none; transition: color 0.2s; }
.pls-gradient-banner .breadcrumb-item a:hover { color: #a6ce39; }
.pls-gradient-banner .breadcrumb-item.active { color: rgba(255,255,255,0.35); }
.pls-gradient-banner .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.22); }

/* Title */
.pls-gradient-banner h1 {
    font-family: righteous, sans-serif;
    font-size: clamp(1.85rem, 4vw, 2.85rem);
    color: #fff;
    line-height: 1.18;
    margin: 0;
    animation: bannerH1In 0.6s 0.1s ease both;
}

/* Animated lime underline bar */
.pls-banner-line {
    height: 3px;
    background: linear-gradient(to right, #a6ce39, rgba(166,206,57,0.15));
    border-radius: 2px;
    margin-top: 10px;
    animation: bannerLineGrow 0.75s 0.55s ease both;
    max-width: 0;
    overflow: hidden;
}

/* Optional subtitle */
.pls-banner-subtitle {
    font-family: poppins, sans-serif;
    font-size: 0.9rem;
    color: rgba(255,255,255,0.6);
    margin: 0.65rem 0 0;
    animation: bannerSubIn 0.6s 0.7s ease both;
}

/* Reusable badge (blog, etc.) */
.pls-banner-badge {
    display: inline-block;
    background: rgba(166,206,57,0.2);
    border: 1px solid rgba(166,206,57,0.45);
    color: #a6ce39;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 0.75rem;
}
.pls-banner-meta { color: rgba(255,255,255,0.7); font-size: 0.88rem; font-family: poppins, sans-serif; }
.pls-banner-date-tag {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.18);
    color: #fff;
    font-size: 0.88rem;
    font-family: poppins, sans-serif;
    padding: 6px 16px;
    border-radius: 30px;
    backdrop-filter: blur(4px);
    margin-top: 0.75rem;
}

/* ── Right spinning ring decoration (desktop only) ───────────────────────────── */
.pls-bdeco {
    position: absolute;
    right: 6%;
    top: 50%;
    transform: translateY(-50%);
    width: 210px; height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
}
.pls-bdeco__outer {
    position: absolute;
    width: 210px; height: 210px;
    border-radius: 50%;
    border: 1.5px dashed rgba(166,206,57,0.3);
    animation: bannerRingCW 80s linear infinite;
}
.pls-bdeco__outer::after {
    content: '';
    position: absolute;
    width: 8px; height: 8px;
    background: #a6ce39;
    border-radius: 50%;
    top: -4px; left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 0 8px 3px rgba(166,206,57,0.6);
}
.pls-bdeco__mid {
    position: absolute;
    width: 148px; height: 148px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.08);
    animation: bannerRingCCW 55s linear infinite;
}
.pls-bdeco__mid::before {
    content: '';
    position: absolute;
    width: 5px; height: 5px;
    background: rgba(166,206,57,0.55);
    border-radius: 50%;
    bottom: -2.5px; left: 50%;
    transform: translateX(-50%);
}
.pls-bdeco__inner {
    position: absolute;
    width: 96px; height: 96px;
    border-radius: 50%;
    border: 1px solid rgba(166,206,57,0.1);
}
.pls-bdeco__core {
    position: relative;
    z-index: 2;
    width: 58px; height: 58px;
    border-radius: 50%;
    background: rgba(166,206,57,0.08);
    border: 1.5px solid rgba(166,206,57,0.38);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: #a6ce39;
    animation: bannerCorePulse 3.5s ease-in-out infinite;
    backdrop-filter: blur(6px);
}

@media (max-width: 1199px) { .pls-bdeco { display: none; } }
@media (min-width: 769px)  { .pls-gradient-banner { min-height: 280px; } }
@media (max-width: 767px)  {
    .pls-gradient-banner h1 { font-size: clamp(1.5rem, 7vw, 2rem); }
    .pls-banner-line { animation-duration: 0.5s; }
}

/* Exhibition image banner */
.pls-expo-banner {
    height: 50vh;
    background-size: cover;
    background-position: center;
    text-align: center;
}
.pls-expo-banner .landing-main-head { font-size: clamp(1.5rem, 4vw, 2.5rem); font-weight: 700; }
@media (min-width: 769px) { .pls-expo-banner { height: 70vh; } }

/* =============================================================================
   EXHIBITION EDITION BANNER  (.pls-expo-edition-banner)
   Uses the standard gradient banner background but with edition-specific content
   and sonar ring decoration (edition number) on the right.
   ============================================================================= */

.pls-expo-edition-banner { min-height: 300px; }

/* Content column: leave room for the sonar on the right side */
.pls-expo-edition-banner__content { padding-right: 270px; }

/* Status badge colours */
.pls-expo-edition-banner__badge { margin-bottom: 0.6rem; }
.pls-expo-edition-banner__badge.--upcoming  { background: rgba(166,206,57,0.18); color:#a6ce39; border-color:rgba(166,206,57,0.45); }
.pls-expo-edition-banner__badge.--ongoing   { background: rgba(59,130,246,0.15);  color:#93c5fd; border-color:rgba(59,130,246,0.4); }
.pls-expo-edition-banner__badge.--completed { background: rgba(255,255,255,0.07); color:rgba(255,255,255,0.5); border-color:rgba(255,255,255,0.15); }

/* Edition label (shown below h1) */
.pls-expo-edition-banner__edition {
    font-family: poppins, sans-serif;
    font-size: 0.88rem;
    color: rgba(255,255,255,0.55);
    margin: 0.2rem 0 0;
    letter-spacing: 0.04em;
}

/* Meta row: date / venue / market — displayed inline */
.pls-expo-edition-banner__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1.2rem;
    margin-top: 0.85rem;
    color: rgba(255,255,255,0.65);
    font-family: poppins, sans-serif;
    font-size: 0.83rem;
}
.pls-expo-edition-banner__meta span { display:inline-flex; align-items:center; gap:0.4rem; }
.pls-expo-edition-banner__meta i { color:#a6ce39; font-size:0.78rem; }

/* Stats */
.pls-expo-edition-banner__stats {
    display: flex;
    gap: 1.5rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255,255,255,0.1);
}
.pls-expo-edition-banner__stat { display:flex; flex-direction:column; }
.pls-expo-edition-banner__stat strong { font-family:righteous,sans-serif; font-size:1.35rem; color:#a6ce39; line-height:1; }
.pls-expo-edition-banner__stat span   { font-family:poppins,sans-serif; font-size:0.65rem; color:rgba(255,255,255,0.38); text-transform:uppercase; letter-spacing:0.09em; margin-top:3px; }

/* Right sonar decoration — absolutely positioned like pls-bdeco */
.pls-expo-edition-banner__deco {
    position: absolute;
    right: 6%;
    top: 50%;
    transform: translateY(-50%);
    width: 230px; height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    pointer-events: none;
}

@media (max-width: 1199px) {
    .pls-expo-edition-banner__deco { display: none; }
    .pls-expo-edition-banner__content { padding-right: 1.5rem; }
}
@media (max-width: 767px)  {
    .pls-expo-edition-banner { min-height: unset; }
}

/* =============================================================================
   UNIFIED EXHIBITION HERO BANNER  (.pls-expo-hero)
   Full-width animated banner — no image panel.
   Motion: drifting orbs, animated gradient, pulsing sonar rings.
   ============================================================================= */

/* ── Keyframe animations ─────────────────────────────────────────────────────── */
@keyframes expoGradientShift {
    0%,100% { background-position: 0% 60%; }
    50%      { background-position: 100% 40%; }
}
@keyframes expoOrb1 {
    0%,100% { transform: translate(0px, 0px) scale(1); }
    30%     { transform: translate(40px, -50px) scale(1.08); }
    65%     { transform: translate(-25px, 30px) scale(0.94); }
}
@keyframes expoOrb2 {
    0%,100% { transform: translate(0px, 0px) scale(1); }
    40%     { transform: translate(-55px, 35px) scale(1.12); }
    70%     { transform: translate(30px, -20px) scale(0.9); }
}
@keyframes expoOrb3 {
    0%,100% { transform: translate(0px, 0px) scale(1); }
    25%     { transform: translate(20px, 40px) scale(0.95); }
    60%     { transform: translate(-40px, -30px) scale(1.06); }
}
@keyframes expoPulseRing {
    0%   { transform: scale(1); opacity: 0.55; }
    100% { transform: scale(2.6); opacity: 0; }
}
@keyframes expoSpinSlow {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
@keyframes expoFadeUp {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Banner shell ────────────────────────────────────────────────────────────── */
.pls-expo-hero {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 380px;
    align-items: center;
    background: linear-gradient(135deg, #041c01 0%, #082e02 20%, #0c4b04 50%, #0f5c05 70%, #133d0a 100%);
    background-size: 300% 300%;
    animation: expoGradientShift 18s ease infinite;
}

/* ── Animated background orbs ────────────────────────────────────────────────── */
.pls-expo-hero__orbs {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}
.pls-expo-hero__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(72px);
}
.pls-expo-hero__orb--1 {
    width: 380px; height: 380px;
    background: radial-gradient(circle, rgba(166,206,57,0.18) 0%, transparent 70%);
    top: -80px; left: -60px;
    animation: expoOrb1 28s ease-in-out infinite;
}
.pls-expo-hero__orb--2 {
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(26,128,71,0.25) 0%, transparent 70%);
    bottom: -60px; left: 35%;
    animation: expoOrb2 22s ease-in-out infinite;
}
.pls-expo-hero__orb--3 {
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(166,206,57,0.12) 0%, transparent 70%);
    top: 20%; right: 420px;
    animation: expoOrb3 32s ease-in-out infinite;
}

/* SVG texture layer */
.pls-expo-hero__tex {
    position: absolute;
    inset: 0;
    background: url('/assets/images/banner-bg.svg') center center / cover no-repeat;
    opacity: 0.12;
    z-index: 1;
    pointer-events: none;
}

/* ── Left: content column ────────────────────────────────────────────────────── */
.pls-expo-hero__left {
    position: relative;
    z-index: 2;
}
.pls-expo-hero__inner {
    padding: 3.25rem 3rem 3.25rem 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    animation: expoFadeUp 0.7s ease both;
}

/* Breadcrumbs */
.pls-expo-hero__crumbs { margin-bottom: 1.5rem; }
.pls-expo-hero__crumbs .breadcrumb {
    font-family: poppins, sans-serif;
    font-size: 0.73rem;
    margin: 0;
    background: none;
    padding: 0;
    flex-wrap: wrap;
}
.pls-expo-hero__crumbs .breadcrumb-item a { color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.2s; }
.pls-expo-hero__crumbs .breadcrumb-item a:hover { color: #a6ce39; }
.pls-expo-hero__crumbs .breadcrumb-item.active { color: rgba(255,255,255,0.28); }
.pls-expo-hero__crumbs .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.2); }

/* Status badge */
.pls-expo-hero__badge {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: poppins, sans-serif;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 5px 16px;
    border-radius: 20px;
    margin-bottom: 1.1rem;
}
.pls-expo-hero__badge.--upcoming  { background: rgba(166,206,57,0.15); color: #a6ce39;             border: 1px solid rgba(166,206,57,0.45); }
.pls-expo-hero__badge.--ongoing   { background: rgba(59,130,246,0.15);  color: #93c5fd;            border: 1px solid rgba(59,130,246,0.4);  }
.pls-expo-hero__badge.--completed { background: rgba(255,255,255,0.07); color: rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.15); }

/* Title */
.pls-expo-hero__title {
    font-family: righteous, sans-serif;
    font-size: clamp(1.9rem, 3.5vw, 3rem);
    color: #fff;
    line-height: 1.15;
    margin: 0 0 0.4rem;
}
.pls-expo-hero__edition {
    font-family: poppins, sans-serif;
    font-size: 0.92rem;
    color: #a6ce39;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.04em;
}

/* Divider */
.pls-expo-hero__divider {
    align-self: flex-start;
    width: 50px;
    height: 3px;
    background: linear-gradient(to right, #a6ce39, rgba(166,206,57,0.2));
    border-radius: 2px;
    margin: 1.4rem 0;
    flex-shrink: 0;
}

/* Meta rows */
.pls-expo-hero__meta { display: flex; flex-direction: column; gap: 0.7rem; margin-bottom: 1.75rem; }
.pls-expo-hero__meta-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-family: poppins, sans-serif;
    font-size: 0.87rem;
    color: rgba(255,255,255,0.78);
    line-height: 1.45;
}
.pls-expo-hero__meta-row i { color: #a6ce39; font-size: 0.82rem; margin-top: 3px; flex-shrink: 0; width: 14px; text-align: center; }

/* Stats */
.pls-expo-hero__stats {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 1.25rem;
    margin-top: auto;
}
.pls-expo-hero__stat {
    display: flex;
    flex-direction: column;
    padding-right: 2rem;
    margin-right: 2rem;
    border-right: 1px solid rgba(255,255,255,0.1);
}
.pls-expo-hero__stat:last-child { border-right: none; padding-right: 0; margin-right: 0; }
.pls-expo-hero__stat strong { font-family: righteous, sans-serif; font-size: 1.45rem; color: #a6ce39; line-height: 1; }
.pls-expo-hero__stat span { font-family: poppins, sans-serif; font-size: 0.67rem; color: rgba(255,255,255,0.38); text-transform: uppercase; letter-spacing: 0.09em; margin-top: 4px; }

/* ── Right: animated sonar decoration ───────────────────────────────────────── */
.pls-expo-hero__deco {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 2.5rem 3rem 1rem;
    animation: expoFadeUp 0.9s 0.25s ease both;
}
.pls-expo-hero__sonar {
    position: relative;
    width: 220px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
/* Pulsing rings */
.pls-expo-hero__ring {
    position: absolute;
    border-radius: 50%;
    border: 1.5px solid rgba(166,206,57,0.4);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(1);
    animation: expoPulseRing 3.5s ease-out infinite;
}
.pls-expo-hero__ring:nth-child(1) { width: 120px; height: 120px; animation-delay: 0s; }
.pls-expo-hero__ring:nth-child(2) { width: 120px; height: 120px; animation-delay: 1.15s; }
.pls-expo-hero__ring:nth-child(3) { width: 120px; height: 120px; animation-delay: 2.3s; }

/* Outer rotating dashed ring */
.pls-expo-hero__orbit {
    position: absolute;
    width: 200px; height: 200px;
    border-radius: 50%;
    border: 1px dashed rgba(166,206,57,0.22);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: expoSpinSlow 60s linear infinite;
}
/* Orbit dot */
.pls-expo-hero__orbit::after {
    content: '';
    position: absolute;
    width: 6px; height: 6px;
    background: #a6ce39;
    border-radius: 50%;
    top: -3px; left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 0 8px #a6ce39;
}

/* Centre circle */
.pls-expo-hero__circle {
    width: 120px; height: 120px;
    border-radius: 50%;
    background: rgba(166,206,57,0.07);
    border: 2px solid rgba(166,206,57,0.35);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    z-index: 2;
    backdrop-filter: blur(6px);
    box-shadow: 0 0 40px rgba(166,206,57,0.1), inset 0 0 30px rgba(166,206,57,0.05);
}
.pls-expo-hero__circle-num {
    font-family: righteous, sans-serif;
    font-size: 2rem;
    color: #a6ce39;
    line-height: 1;
    display: block;
}
.pls-expo-hero__circle-label {
    font-family: poppins, sans-serif;
    font-size: 0.6rem;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 4px;
    display: block;
}

/* ── Mobile ──────────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .pls-expo-hero {
        grid-template-columns: 1fr;
        min-height: unset;
    }
    .pls-expo-hero__deco { display: none; }
    .pls-expo-hero__inner { padding: 2rem 1.5rem; }
    .pls-expo-hero__title { font-size: 1.55rem; }
    .pls-expo-hero__crumbs { display: none; }
    .pls-expo-hero__orb--1 { width: 250px; height: 250px; }
    .pls-expo-hero__orb--2 { display: none; }
    .pls-expo-hero__orb--3 { display: none; }
}

/* ── Tablet ──────────────────────────────────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1199px) {
    .pls-expo-hero { grid-template-columns: 1fr 300px; min-height: 420px; }
    .pls-expo-hero__inner { padding: 2.5rem 2rem 2.5rem 2.5rem; }
    .pls-expo-hero__sonar { width: 180px; height: 180px; }
    .pls-expo-hero__title { font-size: clamp(1.65rem, 2.8vw, 2.3rem); }
}

/* =============================================================================
   STATIC INFO PAGES  (.pls-doc)
   Privacy, Terms, Refund — shared document layout.
   ============================================================================= */

/* Banner with page icon */
.pls-doc-banner {
    position: relative;
    overflow: hidden;
    padding: 3.5rem 0 3rem;
    background: linear-gradient(
        130deg,
        #041500 0%,
        #082d03 18%,
        #0c4b04 40%,
        #14602a 62%,
        #1a8047 82%,
        #1d9454 100%
    );
    background-size: 280% 280%;
    animation: bannerGradFlow 16s ease infinite;
}
.pls-doc-banner .pls-banner-decor {
    position: absolute;
    inset: 0;
    background: url('/assets/images/banner-bg.svg') center center / cover no-repeat;
    opacity: 0.8;
    pointer-events: none;
    z-index: 1;
}
/* Shimmer sweep for doc banner */
.pls-doc-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.055), transparent);
    width: 30%;
    height: 100%;
    animation: bannerShine 1.6s 0.5s ease forwards;
    transform: translateX(-150%) skewX(-20deg);
    opacity: 0;
}
/* Corner accents on doc banner */
.pls-doc-banner::after {
    content: '';
    position: absolute;
    bottom: 0; right: 0;
    width: 160px; height: 85%;
    background: linear-gradient(315deg, rgba(166,206,57,0.07) 0%, transparent 55%);
    clip-path: polygon(100% 10%, 100% 100%, 0 100%);
    pointer-events: none;
    z-index: 1;
}
.pls-doc-banner__inner {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 1.75rem;
}
.pls-doc-banner__icon {
    flex-shrink: 0;
    width: 72px; height: 72px;
    background: rgba(166,206,57,0.1);
    border: 1.5px solid rgba(166,206,57,0.32);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #a6ce39;
    animation: bannerCorePulse 3.5s 1s ease-in-out infinite;
}
.pls-doc-banner__text h1 {
    font-family: righteous, sans-serif;
    font-size: clamp(1.55rem, 3vw, 2.3rem);
    color: #fff;
    margin: 0 0 0.3rem;
    line-height: 1.18;
    animation: bannerH1In 0.6s 0.2s ease both;
}
.pls-doc-banner__text p {
    font-family: poppins, sans-serif;
    font-size: 0.86rem;
    color: rgba(255,255,255,0.62);
    margin: 0;
    animation: bannerSubIn 0.6s 0.55s ease both;
}
/* Container gets its own stacking context so ::before shimmer never covers breadcrumbs */
.pls-doc-banner__wrap {
    position: relative;
    z-index: 3;
}
.pls-doc-banner__crumbs .breadcrumb {
    font-family: poppins, sans-serif;
    font-size: 0.73rem;
    margin: 0;
    padding: 0;
    background: none;
}
.pls-doc-banner__crumbs .breadcrumb-item a { color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.2s; }
.pls-doc-banner__crumbs .breadcrumb-item a:hover { color: #a6ce39; }
.pls-doc-banner__crumbs .breadcrumb-item.active { color: rgba(255,255,255,0.3); }
.pls-doc-banner__crumbs .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.2); }

/* Document body layout */
.pls-doc-body {
    background: #f8fdf4;
    padding: 3.5rem 0 4rem;
}
.pls-doc-date {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    border: 1px solid #e2eed8;
    color: #555;
    font-family: poppins, sans-serif;
    font-size: 0.78rem;
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 2rem;
}
.pls-doc-date i { color: var(--primary-color-light); }

/* Each section card */
.pls-doc-section {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e8f0de;
    padding: 1.75rem 2rem;
    margin-bottom: 1.25rem;
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    transition: box-shadow 0.2s;
}
.pls-doc-section:hover { box-shadow: 0 4px 20px rgba(26,128,71,0.07); }
.pls-doc-section__num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, var(--primary-color-dark), var(--primary-color-light));
    color: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: righteous, sans-serif;
    font-size: 0.85rem;
    margin-top: 2px;
}
.pls-doc-section__body { flex: 1; }
.pls-doc-section__title {
    font-family: righteous, sans-serif;
    font-size: 1.05rem;
    color: var(--primary-color-dark);
    margin: 0 0 0.75rem;
    line-height: 1.3;
}
.pls-doc-section__body p {
    font-family: poppins, sans-serif;
    font-size: 0.87rem;
    color: #555;
    line-height: 1.8;
    margin-bottom: 0.75rem;
}
.pls-doc-section__body p:last-child { margin-bottom: 0; }
.pls-doc-section__body ul {
    font-family: poppins, sans-serif;
    font-size: 0.87rem;
    color: #555;
    line-height: 1.8;
    padding-left: 1.25rem;
    margin: 0.5rem 0 0;
}
.pls-doc-section__body ul li { margin-bottom: 0.4rem; }
.pls-doc-section__body a { color: var(--primary-color-light); }

/* Intro card (no number) */
.pls-doc-intro {
    background: linear-gradient(135deg, #f0f7ea, #fff);
    border: 1px solid #d4ebb8;
    border-radius: 14px;
    padding: 1.75rem 2rem;
    margin-bottom: 2rem;
}
.pls-doc-intro p {
    font-family: poppins, sans-serif;
    font-size: 0.92rem;
    color: #444;
    line-height: 1.8;
    margin: 0;
}
.pls-doc-intro strong { color: var(--primary-color-dark); }

/* Contact CTA inside doc */
.pls-doc-cta {
    background: var(--linear-gradient-right-primary);
    border-radius: 14px;
    padding: 2rem;
    text-align: center;
    margin-top: 2rem;
}
.pls-doc-cta h3 { font-family: righteous, sans-serif; color: #fff; font-size: 1.15rem; margin-bottom: 0.5rem; }
.pls-doc-cta p { font-family: poppins, sans-serif; color: rgba(255,255,255,0.8); font-size: 0.85rem; margin-bottom: 1.25rem; }

/* =============================================================================
   TEAM PAGE  (.pls-team)
   ============================================================================= */
.pls-team-intro {
    background: #f8fdf4;
    border-bottom: 1px solid #e8f0de;
    padding: 3rem 0;
}
.pls-team-grid {
    background: #fff;
    padding: 4rem 0;
}
.pls-profile-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #edf2e8;
    text-align: center;
    transition: box-shadow 0.28s, transform 0.28s;
}
.pls-profile-card:hover {
    box-shadow: 0 12px 40px rgba(26,128,71,0.12);
    transform: translateY(-5px);
}
.pls-profile-card__img-wrap {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #e8f5e0, #d4ebbc);
}
.pls-profile-card__img-wrap img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.pls-profile-card:hover .pls-profile-card__img-wrap img { transform: scale(1.04); }
.pls-profile-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(12,75,4,0.6) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.3s;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 1.25rem;
    gap: 0.75rem;
}
.pls-profile-card:hover .pls-profile-card__overlay { opacity: 1; }
.pls-profile-card__body {
    padding: 1.5rem 1.25rem 1.75rem;
}
.pls-profile-card__name {
    font-family: righteous, sans-serif;
    font-size: 1.1rem;
    color: var(--primary-color-dark);
    margin: 0 0 0.35rem;
}
.pls-profile-card__role {
    font-family: poppins, sans-serif;
    font-size: 0.78rem;
    color: #777;
    margin: 0;
    line-height: 1.5;
}
.pls-profile-card__divider {
    width: 36px;
    height: 2px;
    background: #a6ce39;
    border-radius: 2px;
    margin: 0.8rem auto;
}

/* =============================================================================
   CAREER PAGE  (.pls-career)
   ============================================================================= */
.pls-career-empty {
    text-align: center;
    padding: 5rem 0;
}
.pls-career-empty__icon {
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, #f0f7ea, #e0f0d8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 2.5rem;
    color: var(--primary-color-light);
}
.pls-career-empty h2 { font-family: righteous, sans-serif; color: var(--primary-color-dark); font-size: 1.5rem; margin-bottom: 0.75rem; }
.pls-career-empty p { font-family: poppins, sans-serif; color: #666; font-size: 0.9rem; max-width: 480px; margin: 0 auto 2rem; line-height: 1.75; }
.pls-career-value {
    background: #fff;
    border: 1px solid #edf2e8;
    border-radius: 14px;
    padding: 1.75rem;
    text-align: center;
    height: 100%;
    transition: box-shadow 0.25s, transform 0.25s;
}
.pls-career-value:hover { box-shadow: 0 6px 24px rgba(26,128,71,0.1); transform: translateY(-3px); }
.pls-career-value__icon {
    width: 56px; height: 56px;
    background: linear-gradient(135deg, #f0f7ea, #e0f0d8);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem;
    color: var(--primary-color-light);
    margin: 0 auto 1rem;
    transition: background 0.25s, color 0.25s;
}
.pls-career-value:hover .pls-career-value__icon { background: var(--linear-gradient-right-primary); color: #a6ce39; }
.pls-career-value h4 { font-family: righteous, sans-serif; font-size: 1rem; color: var(--primary-color-dark); margin-bottom: 0.5rem; }
.pls-career-value p { font-family: poppins, sans-serif; font-size: 0.82rem; color: #777; line-height: 1.7; margin: 0; }

@media (max-width: 767px) {
    .pls-doc-banner__inner { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .pls-doc-section { flex-direction: column; gap: 0.9rem; }
    .pls-doc-section__num { width: 30px; height: 30px; font-size: 0.75rem; }
}

/* =============================================================================
   IMAGE SHOWCASE — card stack + gallery grid + lightbox
   Used on exhibition detail pages:
     - Upcoming  → centered card stack (1-3 images, click to cycle)
     - Completed → card stack (left) + thumbnail grid with lightbox (right)
   ============================================================================= */

/* ── Card stack outer container ──────────────────────────────────────────── */
.pls-card-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
}

/* The clickable region — sized to fit one card; overflow:visible lets back
   cards peek out to the left and bottom without clipping */
.pls-card-stack__wrap {
    position: relative;
    width: 440px;
    height: 294px;          /* ~3:2 landscape */
    overflow: visible;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    /* shift right so left-peeking back cards remain visible */
    margin-left: 30px;
}

/* Individual cards — each fills the wrap exactly */
.pls-card-stack__card {
    position: absolute;
    inset: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
    transition: transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.42s ease;
    will-change: transform;
}
.pls-card-stack__card img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    user-select: none;
}

/* Position-based placement driven by JS data-pos attribute */
.pls-card-stack__card[data-pos="0"] {
    transform: translate(0, 0) rotate(0deg);
    z-index: 3;
    box-shadow: 0 12px 36px rgba(0,0,0,0.22);
}
.pls-card-stack__card[data-pos="1"] {
    transform: translate(-14px, 9px) rotate(-3.5deg);
    z-index: 2;
    box-shadow: 0 6px 22px rgba(0,0,0,0.13);
}
.pls-card-stack__card[data-pos="2"] {
    transform: translate(-26px, 17px) rotate(-6.5deg);
    z-index: 1;
    box-shadow: 0 4px 14px rgba(0,0,0,0.09);
}

/* Lift top card slightly on hover */
.pls-card-stack__wrap:hover .pls-card-stack__card[data-pos="0"] {
    transform: translate(0, -5px) rotate(0deg);
    box-shadow: 0 18px 44px rgba(0,0,0,0.26);
}

/* ── Footer row: dots + hint ──────────────────────────────────────────────── */
.pls-card-stack__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 440px;
    margin-left: 30px;
    padding: 0 2px;
}

.pls-card-stack__dots { display: flex; gap: 6px; align-items: center; }
.pls-card-stack__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #c8ddb6;
    transition: background 0.3s, transform 0.3s;
    flex-shrink: 0;
}
.pls-card-stack__dot.active {
    background: var(--primary-color-light);
    transform: scale(1.35);
}

.pls-card-stack__hint {
    font-family: poppins, sans-serif;
    font-size: 0.72rem;
    color: #999;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.pls-card-stack__hint i { color: var(--primary-color-light); }

/* ── Gallery thumbnail grid (completed editions) ──────────────────────────── */
.pls-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.pls-gallery-grid__item {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    cursor: zoom-in;
    background: #e8f0de;
}
.pls-gallery-grid__item img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
    pointer-events: none;
}
.pls-gallery-grid__item:hover img { transform: scale(1.07); }

.pls-gallery-grid__overlay {
    position: absolute;
    inset: 0;
    background: rgba(4, 21, 0, 0.42);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.22s;
    color: #fff;
    font-size: 1.1rem;
}
.pls-gallery-grid__item:hover .pls-gallery-grid__overlay { opacity: 1; }

/* ── Lightbox overlay ─────────────────────────────────────────────────────── */
.pls-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(3, 16, 1, 0.93);
    z-index: 9000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.28s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.pls-lightbox.is-open {
    opacity: 1;
    pointer-events: all;
}

.pls-lightbox__stage {
    max-width: 90vw;
    max-height: 84vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pls-lightbox__img {
    max-width: 90vw;
    max-height: 82vh;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.55);
    transition: opacity 0.18s;
    display: block;
}
.pls-lightbox__img.is-loading { opacity: 0; }

.pls-lightbox__close {
    position: absolute;
    top: 1rem; right: 1.25rem;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.18);
    color: #fff;
    font-size: 1.4rem;
    width: 42px; height: 42px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    line-height: 1;
    transition: background 0.2s;
    flex-shrink: 0;
}
.pls-lightbox__close:hover { background: rgba(255,255,255,0.2); }

.pls-lightbox__nav {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    color: #fff;
    font-size: 2rem;
    width: 52px; height: 52px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}
.pls-lightbox__nav:hover { background: rgba(255,255,255,0.18); }
.pls-lightbox__prev { left: 1rem; }
.pls-lightbox__next { right: 1rem; }

.pls-lightbox__counter {
    margin-top: 0.85rem;
    font-family: poppins, sans-serif;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.42);
    letter-spacing: 0.06em;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
    /* stack goes full-width on tablet, gallery below */
    .pls-card-stack { width: 100%; align-items: center; }
    .pls-card-stack__wrap { width: 100%; max-width: 400px; height: 265px; margin-left: auto; margin-right: auto; }
    .pls-card-stack__footer { width: 100%; max-width: 400px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 575px) {
    .pls-card-stack__wrap { height: 210px; }
    .pls-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .pls-lightbox__nav { width: 40px; height: 40px; font-size: 1.5rem; }
    .pls-lightbox__prev { left: 0.5rem; }
    .pls-lightbox__next { right: 0.5rem; }
}

/* =============================================================================
   BLOG LISTING — sidebar category filter
   ============================================================================= */
.blog-sidebar {
    position: sticky;
    top: 5rem;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 14px;
    padding: 1.5rem 1.25rem;
}
.blog-sidebar-title {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #adb5bd;
    margin: 0 0 0.75rem 0.5rem;
    font-family: poppins, sans-serif;
}
.blog-filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.blog-filter-item { margin-bottom: 2px; }
.blog-filter-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    color: #555;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: poppins, sans-serif;
    transition: background 0.2s, color 0.2s;
}
.blog-filter-link:hover { background: #f0f9f4; color: var(--primary-color-light); text-decoration: none; }
.blog-filter-link.active { background: #e6f4ec; color: var(--primary-color-light); font-weight: 600; }
.blog-filter-count {
    background: #e9ecef;
    color: #777;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    line-height: 1.5;
    flex-shrink: 0;
}
.blog-filter-link.active .blog-filter-count {
    background: var(--secondary-color-dark);
    color: white;
}

/* Active filter strip */
.blog-active-filter {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: poppins, sans-serif;
    font-size: 0.875rem;
    color: #555;
}
.blog-clear-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 3px 10px;
    background: #f0f0f0;
    border-radius: 20px;
    color: #666;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}
.blog-clear-filter:hover { background: #e0e0e0; color: #333; text-decoration: none; }

/* Mobile: sidebar becomes horizontal scrollable pill row */
@media (max-width: 992px) {
    .blog-sidebar {
        position: static;
        border: none;
        border-bottom: 2px solid #e9ecef;
        border-radius: 0;
        padding: 0.5rem 0 0.75rem;
        background: transparent;
    }
    .blog-sidebar-title { display: none; }
    .blog-filter-list {
        display: flex;
        flex-direction: row;
        gap: 0.4rem;
        overflow-x: auto;
        padding-bottom: 0.2rem;
        scrollbar-width: none;
    }
    .blog-filter-list::-webkit-scrollbar { display: none; }
    .blog-filter-item { margin-bottom: 0; flex-shrink: 0; }
    .blog-filter-link {
        white-space: nowrap;
        font-size: 0.8rem;
        padding: 0.4rem 0.75rem;
        border: 1px solid #e0e0e0;
        background: #fafafa;
    }
    .blog-filter-link.active { border-color: var(--primary-color-light); }
}

/* =============================================================================
   ANALYTICS PANEL (.pls-analytics-panel) — aggregate exhibition stats strip
   ============================================================================= */
.pls-analytics-panel {
    background: linear-gradient(135deg, #1a5c38 0%, #1a8047 60%, #2da05a 100%);
    padding: 3rem 0;
}
/* Mobile base: 2-column grid with compact padding */
.pls-analytics-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem; /* mobile base gap */
}
.pls-stat-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: white;
    padding: 1rem; /* mobile base */
    min-width: calc(50% - 0.5rem); /* mobile: 2 per row */
}
.pls-stat-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pls-stat-icon img { width: 100%; height: auto; filter: brightness(0) invert(1); }
.pls-stat-icon i { font-size: 2rem; color: white; }
.pls-stat-number {
    font-size: 1.75rem; /* mobile base */
    font-weight: 800;
    color: #a6ce39;
    line-height: 1.1;
    margin-bottom: 0.3rem;
}
.pls-stat-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
/* Divider hidden on mobile (2-col grid doesn't need it) */
.pls-stat-divider {
    width: 1px;
    height: 60px;
    background: rgba(255,255,255,0.2);
    align-self: center;
    display: none;
}
@media (min-width: 769px) {
    /* Desktop: single horizontal row with dividers and larger numbers */
    .pls-analytics-inner { gap: 0; }
    .pls-stat-box { padding: 1rem 2rem; min-width: 140px; }
    .pls-stat-divider { display: block; }
    .pls-stat-number { font-size: 2.2rem; }
}

/* =============================================================================
   EXHIBITIONS PAGE — sticky sidebar navigation + search bar
   ============================================================================= */
.exhibitions-layout {
    display: flex;
    align-items: flex-start;
}

/* ── Sticky left sidebar ── */
.exhibitions-sidenav {
    width: 210px;
    flex-shrink: 0;
    position: sticky;
    top: 5rem;
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
    padding: 1.5rem 0.75rem 1.5rem 1rem;
    border-right: 2px solid #e9ecef;
    scrollbar-width: thin;
    scrollbar-color: #ddd transparent;
}
.sidenav-heading {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #adb5bd;
    margin: 0 0 0.6rem 0.5rem;
}
.sidenav-links { list-style: none; padding: 0; margin: 0; }
.sidenav-links li { margin-bottom: 2px; }
.sidenav-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    color: #555;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background 0.2s, color 0.2s;
}
.sidenav-link:hover { background: #f0f9f4; color: var(--primary-color-light); text-decoration: none; }
.sidenav-link.active { background: #e6f4ec; color: var(--primary-color-light); font-weight: 600; }
.sidenav-link i { width: 16px; text-align: center; flex-shrink: 0; }
.sidenav-badge {
    margin-left: auto;
    background: var(--secondary-color-dark);
    color: white;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    line-height: 1.5;
}
.sidenav-badge-muted { background: #adb5bd; }

/* ── Main content panel ── */
.exhibitions-main-content { flex: 1; min-width: 0; }

/* ── Search bar ── */
.exhibitions-search-wrap {
    position: relative;
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}
.exhibitions-search-wrap .search-icon {
    position: absolute;
    left: 1.1rem;
    color: #adb5bd;
    font-size: 0.9rem;
    pointer-events: none;
}
.exhibitions-search-input {
    width: 100%;
    padding: 0.72rem 3rem 0.72rem 2.6rem;
    border: 2px solid #e0e0e0;
    border-radius: 30px;
    font-size: 0.95rem;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    background: white;
}
.exhibitions-search-input:focus {
    border-color: var(--secondary-color-dark);
    box-shadow: 0 0 0 3px rgba(166,206,57,0.15);
}
.search-clear-btn {
    position: absolute;
    right: 1rem;
    background: none;
    border: none;
    color: #adb5bd;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem;
    border-radius: 50%;
    transition: color 0.2s;
}
.search-clear-btn:hover { color: #555; }

/* ── Mobile: sidebar becomes sticky horizontal tab strip ── */
@media (max-width: 768px) {
    .exhibitions-layout { flex-direction: column; }
    .exhibitions-sidenav {
        width: 100%;
        position: sticky;
        top: var(--header-h, 68px); /* JS sets --header-h to actual header height */
        z-index: 29; /* below header (z-index: 30) so header always wins */
        background: white;
        border-right: none;
        border-bottom: 2px solid #e9ecef;
        padding: 0.5rem 1rem;
        max-height: none;
        box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    }
    .sidenav-heading { display: none; }
    .sidenav-links {
        display: flex;
        flex-direction: row;
        gap: 0.4rem;
        overflow-x: auto;
        padding-bottom: 0.2rem;
        scrollbar-width: none;
    }
    .sidenav-links::-webkit-scrollbar { display: none; }
    .sidenav-links li { margin-bottom: 0; flex-shrink: 0; }
    .sidenav-link { font-size: 0.8rem; padding: 0.4rem 0.7rem; white-space: nowrap; }
    .exhibitions-main-content { width: 100%; }
}

/* =============================================================================
   ARTICLE TABLE  (.pls-article-body table)
   Used for B2B vs Spot-selling comparison tables inside blog posts
   ============================================================================= */
/* Mobile base: compact font-size and reduced padding */
.pls-article-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-family: poppins, sans-serif;
    font-size: 0.82rem; /* mobile base */
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
.pls-article-body table thead tr {
    background: linear-gradient(to right, #0c4b04, #1a8047);
}
.pls-article-body table th {
    color: #fff;
    font-weight: 700;
    padding: 0.65rem 0.75rem; /* mobile base */
    text-align: left;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
    line-height: 1.4;
}
.pls-article-body table td {
    padding: 0.65rem 0.75rem; /* mobile base */
    border-bottom: 1px solid #e9f5f0;
    color: #555;
    line-height: 1.65;
    vertical-align: top;
}
.pls-article-body table tbody tr:nth-child(even) { background: #f4faf7; }
.pls-article-body table tbody tr:last-child td { border-bottom: none; }
.pls-article-body table tbody tr:hover { background: #e9f5ef; }

@media (min-width: 769px) {
    /* Larger text and more breathing room on tablet/desktop */
    .pls-article-body table { font-size: 0.88rem; }
    .pls-article-body table th,
    .pls-article-body table td { padding: 0.8rem 1.1rem; }
    .pls-article-body table th { padding: 0.85rem 1.1rem; }
}

/* =============================================================================
   BLOG EXPO RECAP CARDS  (.blog-expo-recap-card)
   Used on blog posts to showcase past edition highlights
   ============================================================================= */
.blog-expo-recap-card {
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 20px rgba(0,0,0,0.09);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.blog-expo-recap-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.13);
}
.blog-expo-recap-img {
    position: relative;
    overflow: hidden;
    height: 190px;
    flex-shrink: 0;
}
.blog-expo-recap-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.blog-expo-recap-card:hover .blog-expo-recap-img img { transform: scale(1.05); }
/* Badge sits over the image — bottom-left corner */
.blog-expo-recap-img .expoBadge {
    position: absolute;
    bottom: 0.65rem;
    left: 0.75rem;
}

.blog-expo-recap-body {
    padding: 1.2rem 1.3rem 1.4rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.blog-expo-recap-body h4 {
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    color: #1a1a1a;
    margin-bottom: 0.4rem;
    line-height: 1.4;
}
.blog-expo-recap-meta {
    font-size: 0.78rem;
    color: #aaa;
    font-family: poppins, sans-serif;
    margin-bottom: 0.75rem;
}
.blog-expo-recap-meta i { color: var(--primary-color-light, #1a8047); margin-right: 3px; }
.blog-expo-recap-body p {
    font-size: 0.85rem;
    color: #777;
    line-height: 1.6;
    margin-bottom: 1rem;
    flex: 1;
}
.blog-expo-recap-body .btnPrimary {
    margin-top: auto;
    font-size: 0.82rem;
    padding: 0.5rem 1rem;
}

@media (min-width: 768px) {
    .blog-expo-recap-img { height: 210px; }
}

/* =============================================================================
   BLOG CTA SECTION  (.blog-cta-section)
   Full-width dark green CTA banner below article content
   ============================================================================= */
/* Mobile base: stacked layout with compact padding */
.blog-cta-section {
    background: linear-gradient(135deg, #0c4b04 0%, #1a5c38 40%, #1a8047 100%);
    padding: 2.5rem 0; /* mobile base */
    margin-top: 3rem;
}
.blog-cta-inner {
    display: flex;
    flex-direction: column; /* mobile base: stacked */
    align-items: flex-start;
    gap: 2rem;
    flex-wrap: wrap;
}
.blog-cta-text { flex: 1; min-width: 240px; }
.blog-cta-text h2 {
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: clamp(1.3rem, 3vw, 1.8rem);
    color: #fff;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}
.blog-cta-text p {
    color: rgba(255,255,255,0.8);
    font-size: 0.9rem;
    font-family: poppins, sans-serif;
    line-height: 1.65;
    margin: 0;
}
/* Mobile: actions take full width, buttons stretch equally */
.blog-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    flex-shrink: 0;
    width: 100%; /* mobile base */
}
.blog-cta-outlined {
    display: inline-flex;
    align-items: center;
    padding: 0.65rem 1.4rem;
    border: 2px solid rgba(255,255,255,0.6);
    border-radius: 5px;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 600;
    font-family: poppins, sans-serif;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
    white-space: nowrap;
    flex: 1; /* mobile base: stretch */
    justify-content: center;
    text-align: center;
}
.blog-cta-outlined:hover {
    background: rgba(255,255,255,0.12);
    border-color: #fff;
    color: #fff;
    text-decoration: none;
}
.blog-cta-actions .btnPrimary {
    flex: 1; /* mobile base: stretch */
    justify-content: center;
    text-align: center;
}

@media (min-width: 769px) {
    /* Desktop: side-by-side layout with more padding */
    .blog-cta-section { padding: 3.5rem 0; }
    .blog-cta-inner { flex-direction: row; align-items: center; justify-content: space-between; }
    .blog-cta-actions { width: auto; }
    .blog-cta-outlined { flex: 0 0 auto; justify-content: initial; text-align: initial; }
    .blog-cta-actions .btnPrimary { flex: 0 0 auto; justify-content: initial; text-align: initial; }
}

/* =============================================================================
   FOOTER — design-system green theme
   ============================================================================= */

/* Newsletter strip */
.pls-footer__newsletter {
    background: var(--primary-color-dark);
    padding: 2.5rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.pls-footer__nl-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
}
.pls-footer__nl-text {
    flex: 1;
    min-width: 220px;
    text-align: left !important; /* override footer p { text-align: center } */
}
.pls-footer__nl-heading {
    font-family: Righteous, cursive;
    font-size: 1.4rem;
    color: #fff;
    margin: 0 0 0.3rem;
    text-align: left;
}
.pls-footer__nl-text p {
    color: rgba(255,255,255,0.8);
    font-size: 0.86rem;
    margin: 0;
    text-align: left !important; /* override old footer p rule */
}
.pls-footer__nl-form { flex: 0 1 420px; min-width: 260px; max-width: 100%; }
.pls-footer__nl-group {
    display: flex;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.pls-footer__nl-group input {
    flex: 1;
    border: none;
    padding: 0.75rem 1.1rem;
    font-size: 0.88rem;
    font-family: Poppins, sans-serif;
    background: rgba(255,255,255,0.95);
    color: #222;
    outline: none;
}
.pls-footer__nl-group input::placeholder { color: #aaa; }
.pls-footer__nl-btn {
    border: none;
    border-radius: 5px;
    background: var(--secondary-color-light);
    color: #fff;
    font-weight: 700;
    font-family: Poppins, sans-serif;
    font-size: 0.85rem;
    padding: 0.75rem 1.3rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
    transition: background 0.2s;
}
.pls-footer__nl-btn:hover { background: var(--secondary-color-dark); }
.pls-footer__nl-msg {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.85);
    min-height: 1.2rem;
    margin-top: 0.4rem;
    padding-left: 0.25rem;
}

/* Main body */
.pls-footer__body {
    background: var(--primary-color-dark);
    padding: 3.5rem 0 2.5rem;
}
.pls-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
    gap: 2.5rem;
}

/* Column headings */
.pls-footer__heading {
    font-family: Righteous, cursive;
    font-size: 1rem;
    color: var(--secondary-color-light);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(166,206,57,0.25);
}

/* Brand column — override legacy footer centering rules */
.pls-footer__col--brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.9rem;
}
.pls-footer__col--brand p,
.pls-footer__col--brand span {
    text-align: left !important;
}
.pls-footer__logo {
    display: inline-flex !important;
    justify-content: flex-start !important;
    background: #fff;
    border-radius: 14px;
    padding: 8px;
    margin-bottom: 0.5rem;
}
.pls-footer__logo img {
    width: 72px;
    height: 72px;
    border-radius: 8px;
    display: block;
}
.pls-footer__tagline {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.75);
    margin: 0;
    line-height: 1.5;
    text-align: left !important;
}
.pls-footer__tagline span {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.5);
}

/* Social icons */
.pls-footer__social {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}
.pls-footer__social a {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.75);
    font-size: 0.9rem;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    text-decoration: none;
}
.pls-footer__social a:hover {
    background: var(--secondary-color-light);
    border-color: var(--secondary-color-light);
    color: #fff;
}

/* Nav link lists */
.pls-footer__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.pls-footer__links a {
    color: rgba(255,255,255,0.68);
    font-size: 0.87rem;
    text-decoration: none;
    transition: color 0.2s, padding-left 0.2s;
    display: flex;
    align-items: center;
}
.pls-footer__links a::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 2px;
    background: var(--secondary-color-light);
    margin-right: 0;
    transition: width 0.2s, margin-right 0.2s;
    vertical-align: middle;
    border-radius: 2px;
}
.pls-footer__links a:hover { color: var(--secondary-color-light); }
.pls-footer__links a:hover::before { width: 10px; margin-right: 6px; }

/* Contact list */
.pls-footer__contact {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.pls-footer__contact li {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.84rem;
    color: rgba(255,255,255,0.68);
}
.pls-footer__contact li i {
    color: var(--secondary-color-light);
    font-size: 0.82rem;
    width: 14px;
    margin-top: 3px;
    flex-shrink: 0;
    display: inline-block;
}
.pls-footer__contact a {
    color: rgba(255,255,255,0.68);
    text-decoration: none;
    transition: color 0.2s;
}
.pls-footer__contact a:hover { color: var(--secondary-color-light); }
.pls-footer__contact span { line-height: 1.4; }

/* Bottom bar */
.pls-footer__bottom {
    background: rgba(0,0,0,0.35);
    border-top: 1px solid rgba(255,255,255,0.07);
    padding: 1rem 0;
}
.pls-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
}
.pls-footer__legal {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
.pls-footer__legal a {
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color 0.2s;
}
.pls-footer__legal a:hover { color: var(--secondary-color-light); }
.pls-footer__credit a {
    color: var(--secondary-color-light);
    text-decoration: none;
}

/* Mobile */
@media (max-width: 991px) {
    .pls-footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 575px) {
    .pls-footer__nl-inner { flex-direction: column; align-items: flex-start; }
    .pls-footer__nl-form { flex: 1 1 100%; width: 100%; }
    .pls-footer__grid { grid-template-columns: 1fr; }
    .pls-footer__bottom-inner { flex-direction: column; align-items: center; text-align: center; }
    .pls-footer__legal { justify-content: center; }
}

/* =============================================================================
   UPCOMING EVENTS PAGE
   ============================================================================= */
.pls-upcoming-page {
    background: #f7f9f4;
    min-height: 60vh;
}

/* 2-column card grid */
.pls-event-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 1040px;
    margin: 0 auto;
}

/* Grid item wrapper */
.pls-event-item {
    display: flex;
    flex-direction: column;
}

/* Card shell */
.pls-event-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.09);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.pls-event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 42px rgba(0,0,0,0.14);
}

/* Poster image: 4/3 cover — more vertical room, fills full width */
.pls-event-card__poster {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    flex-shrink: 0;
}
.pls-event-card__poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transition: transform 0.4s ease;
}
.pls-event-card:hover .pls-event-card__poster img {
    transform: scale(1.04);
}

/* Badge */
.pls-event-card__top-row { display: flex; }
.pls-event-card__badge {
    display: inline-block;
    background: linear-gradient(to right, var(--primary-color-dark), var(--primary-color-light));
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
}

/* Body */
.pls-event-card__body {
    padding: 1.25rem 1.4rem 1.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
}
.pls-event-card__title {
    font-family: poppins, sans-serif;
    font-weight: 700;
    font-size: 1.02rem;
    color: var(--primary-color-dark);
    line-height: 1.3;
    margin: 0.1rem 0 0;
}

/* Meta */
.pls-event-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}
.pls-event-card__meta-item {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.79rem;
    color: #555;
    font-weight: 500;
}
.pls-event-card__meta-item i {
    display: inline-block;
    color: var(--primary-color-light);
    font-size: 0.85rem;
    min-width: 16px;
    text-align: center;
    flex-shrink: 0;
}

/* Description */
.pls-event-card__desc {
    font-size: 0.82rem;
    color: #777;
    line-height: 1.55;
    margin: 0;
}

/* CTA row */
.pls-event-card__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem 0.9rem;
    margin-top: auto;
    padding-top: 0.5rem;
}
.pls-event-card__actions .btnPrimary {
    padding: 8px 18px;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 38px;
}
.pls-event-card__link {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--primary-color-light);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: gap 0.2s ease, color 0.2s ease;
}
.pls-event-card__link:hover {
    color: var(--primary-color-dark);
    gap: 0.6rem;
}

/* Mobile: single column */
@media (max-width: 767px) {
    .pls-event-list {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .pls-event-card__body {
        padding: 1rem 1.1rem 1.15rem;
    }
    .pls-event-card__title {
        font-size: 0.95rem;
    }
    .pls-event-card__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .pls-event-card__actions .btnPrimary,
    .pls-event-card__link { justify-content: center; text-align: center; }
}

/* =============================================================================
   PLS GALLERY  (.pls-gallery-*)
   ============================================================================= */

/* Overview strip */
.pls-gallery__overview {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    font-family: poppins, sans-serif;
    font-size: 0.82rem;
    color: #888;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 1.25rem;
}
.pls-gallery__overview-sep { color: var(--primary-color-light); }

/* Filter tabs */
.pls-gallery__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-bottom: 2.5rem;
}
.pls-gallery__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.15rem;
    border: 2px solid var(--primary-color-light);
    border-radius: 50px;
    background: transparent;
    color: var(--primary-color-dark);
    font-family: poppins, sans-serif;
    font-size: 0.83rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.22s, color 0.22s, border-color 0.22s;
}
.pls-gallery__tab:hover {
    background: var(--primary-color-light);
    color: #fff;
}
.pls-gallery__tab.--active {
    background: var(--linear-gradient-right-primary);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 3px 12px rgba(26,128,71,0.28);
}
.pls-gallery__tab-count {
    background: rgba(255,255,255,0.25);
    border-radius: 20px;
    padding: 0 0.45rem;
    font-size: 0.72rem;
    line-height: 1.6;
}
.pls-gallery__tab.--active .pls-gallery__tab-count { background: rgba(255,255,255,0.3); }

/* Panel visibility */
.pls-gallery__panel { display: none; }
.pls-gallery__panel.--active { display: block; }

/* Masonry grid — 3 columns with 5-image repeating pattern */
.pls-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.65rem;
    align-items: start;
}

/*
 * Pattern per 5 images — mathematically height-matched to eliminate row gaps:
 *
 *  Row 1: [  WIDE 8:5 (2 cols)  ] [ PORT 4:5 ]
 *  Row 2: [  SQ 1:1  ] [ SQ 1:1 ] [ SQ 1:1  ]
 *
 *  Wide height  = 2C × 5/8 = 1.25C
 *  Port height  = 1C × 5/4 = 1.25C  ← matches wide exactly → no gap
 *  Square height = 1C × 1/1 = 1C    ← all three equal     → no gap
 */
.pls-gallery__item:nth-child(5n+1) { grid-column: span 2; }
.pls-gallery__item:nth-child(5n+2) { grid-column: span 1; }
.pls-gallery__item:nth-child(5n+3),
.pls-gallery__item:nth-child(5n+4),
.pls-gallery__item:nth-child(5n+5) { grid-column: span 1; }

/* Individual item — aspect-ratio on the container, not the img */
.pls-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    margin: 0;
    background: #f0f0f0;
    cursor: pointer;
}

/* Aspect ratios — mathematically matched so rows share equal height */
.pls-gallery__item:nth-child(5n+1) { aspect-ratio: 8/5; }   /* wide: 2C × 5/8 = 1.25C */
.pls-gallery__item:nth-child(5n+2) { aspect-ratio: 4/5; }   /* port: 1C × 5/4 = 1.25C — same */
.pls-gallery__item:nth-child(5n+3),
.pls-gallery__item:nth-child(5n+4),
.pls-gallery__item:nth-child(5n+5) { aspect-ratio: 1/1; }   /* squares: all equal */

.pls-gallery__item a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.pls-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.pls-gallery__item:hover img { transform: scale(1.05); }

/* Caption overlay */
.pls-gallery__caption {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(12,75,4,0.88) 0%, rgba(12,75,4,0.2) 50%, transparent 75%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1rem 0.9rem 0.85rem;
    color: #fff;
    opacity: 0;
    transition: opacity 0.28s ease;
    pointer-events: none;
}
.pls-gallery__item:hover .pls-gallery__caption { opacity: 1; }
.pls-gallery__caption strong {
    display: block;
    font-family: poppins, sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 0.25rem;
}
.pls-gallery__caption span {
    font-family: poppins, sans-serif;
    font-size: 0.72rem;
    opacity: 0.82;
    line-height: 1.4;
}

/* Mobile: 2-col grid */
@media (max-width: 767px) {
    .pls-gallery__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.45rem;
    }
    .pls-gallery__item:nth-child(5n+1) { grid-column: span 2; aspect-ratio: 4/3; }
    .pls-gallery__item:nth-child(5n+2),
    .pls-gallery__item:nth-child(5n+3),
    .pls-gallery__item:nth-child(5n+4),
    .pls-gallery__item:nth-child(5n+5) { grid-column: span 1; aspect-ratio: 1/1; }
    .pls-gallery__tab { font-size: 0.78rem; padding: 0.45rem 0.85rem; }
}

/* =============================================================================
   OUR HISTORY PAGE  (.pls-history-*)
   ============================================================================= */

/* ── Intro ── */
.pls-history-intro {
    background: #f7f9f4;
    border-bottom: 1px solid #e8f0e0;
}
.pls-history-intro__logo-wrap {
    width: 120px;
    height: 120px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 24px rgba(26,128,71,0.12);
    margin: 0 auto 1.25rem;
    padding: 1rem;
}
.pls-history-intro__est {
    display: inline-block;
    background: var(--linear-gradient-right-primary);
    color: #fff;
    font-family: poppins, sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.25rem 0.9rem;
    border-radius: 20px;
    margin-bottom: 1rem;
}
.pls-history-intro__lead {
    font-family: poppins, sans-serif;
    font-size: 1rem;
    color: #555;
    line-height: 1.8;
    max-width: 680px;
    margin: 0 auto;
}

/* ── Stats strip ── */
.pls-history-stats {
    background: var(--linear-gradient-right-primary);
    padding: 2.5rem 0;
}
.pls-history-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    text-align: center;
}
.pls-history-stats__item {
    padding: 0.5rem 1rem;
    border-right: 1px solid rgba(255,255,255,0.2);
    color: #fff;
}
.pls-history-stats__item:last-child { border-right: none; }
.pls-history-stats__num {
    display: block;
    font-family: righteous, sans-serif;
    font-size: 2.4rem;
    line-height: 1.1;
    color: #a6ce39;
}
.pls-history-stats__label {
    display: block;
    font-family: poppins, sans-serif;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.85;
    margin-top: 0.2rem;
}

/* ── Timeline ── */
.pls-timeline-section { background: #fff; }

.pls-timeline {
    position: relative;
    padding: 1rem 0 0.5rem;
}
.pls-timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(to bottom, #a6ce39, var(--primary-color-dark));
    transform: translateX(-50%);
    border-radius: 3px;
}

.pls-timeline__entry {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 3rem;
    position: relative;
}

/* Card side */
.pls-timeline__half {
    flex: 0 0 calc(50% - 36px);
    padding: 0 2rem;
}
.pls-timeline__half.--right { text-align: left; }
.pls-timeline__half.--left  { text-align: right; }

/* Empty side — same width, no content */
.pls-timeline__spacer {
    flex: 0 0 calc(50% - 36px);
}

/* Center dot column */
.pls-timeline__dot-col {
    flex: 0 0 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
}
.pls-timeline__dot {
    width: 52px;
    height: 52px;
    background: var(--linear-gradient-right-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a6ce39;
    font-size: 1.15rem;
    box-shadow: 0 0 0 5px #fff, 0 0 0 7px #a6ce39;
    flex-shrink: 0;
}
.pls-timeline__year-badge {
    display: inline-block;
    background: #f7f9f4;
    border: 2px solid var(--primary-color-light);
    color: var(--primary-color-dark);
    font-family: righteous, sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 0.2rem 0.65rem;
    border-radius: 20px;
    margin-top: 0.6rem;
    white-space: nowrap;
}

/* Timeline card */
.pls-timeline__card {
    background: #fff;
    border: 1px solid #edf2e8;
    border-radius: 14px;
    padding: 1.5rem 1.75rem;
    box-shadow: 0 2px 18px rgba(26,128,71,0.06);
    transition: box-shadow 0.25s, transform 0.25s;
    text-align: left;
}
.pls-timeline__card:hover {
    box-shadow: 0 6px 32px rgba(26,128,71,0.13);
    transform: translateY(-2px);
}
.pls-timeline__card-tag {
    display: inline-block;
    font-family: poppins, sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--primary-color-light);
    margin-bottom: 0.6rem;
}
.pls-timeline__card-title {
    font-family: righteous, sans-serif;
    font-size: 1.15rem;
    color: var(--primary-color-dark);
    margin: 0 0 0.6rem;
    line-height: 1.3;
}
.pls-timeline__card-body {
    font-family: poppins, sans-serif;
    font-size: 0.84rem;
    color: #666;
    line-height: 1.75;
    margin: 0;
}
.pls-timeline__card-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.9rem;
}
.pls-timeline__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #f0f7ec;
    color: var(--primary-color-dark);
    font-family: poppins, sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    padding: 0.2rem 0.65rem;
    border-radius: 20px;
}
.pls-timeline__pill i { font-size: 0.65rem; color: var(--primary-color-light); }

/* ── Values ── */
.pls-history-values { background: #f7f9f4; }
.pls-history-value-card {
    background: #fff;
    border-radius: 14px;
    padding: 2rem 1.75rem;
    text-align: center;
    border: 1px solid #edf2e8;
    height: 100%;
    transition: box-shadow 0.25s, transform 0.25s;
}
.pls-history-value-card:hover {
    box-shadow: 0 6px 28px rgba(26,128,71,0.1);
    transform: translateY(-3px);
}
.pls-history-value-card__icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #f0f7ec, #e0f0d8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.1rem;
    font-size: 1.5rem;
    color: var(--primary-color-light);
    transition: background 0.25s, color 0.25s;
}
.pls-history-value-card:hover .pls-history-value-card__icon {
    background: var(--linear-gradient-right-primary);
    color: #a6ce39;
}
.pls-history-value-card h3 {
    font-family: righteous, sans-serif;
    font-size: 1.05rem;
    color: var(--primary-color-dark);
    margin-bottom: 0.6rem;
}
.pls-history-value-card p {
    font-family: poppins, sans-serif;
    font-size: 0.83rem;
    color: #777;
    line-height: 1.7;
    margin: 0;
}

/* ── Mobile ── */
@media (max-width: 991px) {
    .pls-history-stats__grid { grid-template-columns: repeat(2, 1fr); }
    .pls-history-stats__item:nth-child(2) { border-right: none; }
    .pls-history-stats__item:nth-child(1),
    .pls-history-stats__item:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,0.2); padding-bottom: 1.25rem; }
}
@media (max-width: 767px) {
    .pls-timeline::before { left: 28px; }
    .pls-timeline__entry { flex-direction: column !important; padding-left: 68px; }
    .pls-timeline__half,
    .pls-timeline__spacer { display: none; }
    .pls-timeline__dot-col {
        position: absolute;
        left: 0;
        top: 0;
        flex-direction: column;
        align-items: center;
    }
    .pls-timeline__card { width: 100%; }
    .pls-timeline__half.--left { text-align: left; display: block; width: 100%; }
    .pls-timeline__half.--right { display: block; width: 100%; }
    .pls-history-stats__num { font-size: 1.8rem; }
    .pls-history-intro__lead { font-size: 0.9rem; }
}

/* =============================================================================
   CONTACT PAGE
   ============================================================================= */

/* ── Info cards ──────────────────────────────────────────────────────────────── */
.pls-contact-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.2rem 1.35rem;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e8f0de;
    transition: box-shadow 0.25s, transform 0.25s;
}
.pls-contact-card:hover { box-shadow: 0 6px 24px rgba(26,128,71,0.1); transform: translateY(-2px); }
.pls-contact-card__icon {
    width: 46px; height: 46px;
    flex-shrink: 0;
    background: linear-gradient(135deg, #f0f7ea, #e0f0d8);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.05rem;
    color: var(--primary-color-light);
}
.pls-contact-card__label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #aaa;
    margin-bottom: 0.18rem;
    font-family: poppins, sans-serif;
}
.pls-contact-card__value {
    font-size: 0.88rem;
    color: #333;
    font-weight: 600;
    line-height: 1.45;
    font-family: poppins, sans-serif;
}
.pls-contact-card__value a { color: #333; text-decoration: none; transition: color 0.2s; }
.pls-contact-card__value a:hover { color: var(--primary-color-light); }

/* ── Contact form ────────────────────────────────────────────────────────────── */
.pls-contact-form {
    background: #fff;
    border-radius: 20px;
    padding: 2.25rem 2.5rem;
    border: 1px solid #e8f0de;
    box-shadow: 0 8px 40px rgba(26,128,71,0.07);
    height: 100%;
}
.pls-cf-group { margin-bottom: 1.1rem; }
.pls-cf-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #777;
    margin-bottom: 0.4rem;
    font-family: poppins, sans-serif;
}
.pls-cf-input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid #e0e8d8;
    border-radius: 10px;
    font-family: poppins, sans-serif;
    font-size: 0.9rem;
    color: #333;
    background: #fcfff9;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    -webkit-appearance: none;
    appearance: none;
}
.pls-cf-input:focus {
    border-color: var(--primary-color-light);
    box-shadow: 0 0 0 3px rgba(26,128,71,0.08);
    background: #fff;
}
.pls-cf-input::placeholder { color: #c0c8b8; }
textarea.pls-cf-input { resize: vertical; min-height: 130px; }
select.pls-cf-input { cursor: pointer; }
.pls-cf-error { font-size: 0.78rem; color: #dc3545; margin-top: 0.3rem; display: block; font-family: poppins, sans-serif; }

/* ── Custom select dropdown ──────────────────────────────────────────────────── */
.pls-select { position: relative; }

.pls-select__btn {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    border: 1.5px solid #e0e8d8;
    border-radius: 10px;
    font-family: poppins, sans-serif;
    font-size: 0.9rem;
    color: #c0c8b8;
    background: #fcfff9;
    cursor: pointer;
    text-align: left;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}
.pls-select--has-value .pls-select__btn,
.pls-select--open .pls-select__btn {
    color: #333;
    border-color: var(--primary-color-light);
    box-shadow: 0 0 0 3px rgba(26,128,71,0.08);
    background: #fff;
}
.pls-select__icon { font-size: 0.76rem; color: var(--primary-color-light); flex-shrink: 0; }
.pls-select__text { flex: 1; }
.pls-select__chevron {
    font-size: 0.68rem; color: #ccc; flex-shrink: 0;
    transition: transform 0.22s ease, color 0.2s;
}
.pls-select--open .pls-select__chevron { transform: rotate(180deg); color: var(--primary-color-light); }

/* Panel */
.pls-select__panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0; right: 0;
    background: #fff;
    border: 1.5px solid #d4ecbe;
    border-radius: 12px;
    box-shadow: 0 10px 36px rgba(0,0,0,0.1), 0 2px 8px rgba(26,128,71,0.07);
    overflow: hidden;
    z-index: 500;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}
.pls-select--open .pls-select__panel {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

/* Items */
.pls-select__item {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.72rem 1.1rem;
    font-family: poppins, sans-serif;
    font-size: 0.875rem;
    color: #555;
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.pls-select__item + .pls-select__item { border-top: 1px solid #f4faf0; }
.pls-select__item-icon {
    font-size: 0.76rem;
    color: #c4ddb0;
    width: 1rem;
    text-align: center;
    flex-shrink: 0;
    transition: color 0.15s;
}
.pls-select__item:hover {
    background: #f3fbe8;
    color: var(--primary-color-dark);
    border-left-color: var(--primary-color-light);
}
.pls-select__item:hover .pls-select__item-icon { color: var(--primary-color-light); }
.pls-select__item.is-selected {
    background: #e8f6da;
    color: var(--primary-color-dark);
    font-weight: 600;
    border-left-color: var(--primary-color-light);
}
.pls-select__item.is-selected .pls-select__item-icon { color: var(--primary-color-light); }
.pls-select__item.is-selected span::after {
    content: ' ✓';
    color: var(--primary-color-light);
    font-size: 0.78rem;
}

/* Error */
.pls-select--err .pls-select__btn { border-color: #dc3545 !important; background: #fff8f8 !important; box-shadow: none !important; }

/* ── Social connect strip ────────────────────────────────────────────────────── */
.pls-social-strip {
    background: linear-gradient(135deg, #f4fbf0, #eaf5e2);
    border-radius: 16px;
    padding: 1.4rem 2rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin-top: 2rem;
    border: 1px solid #d4ecc4;
}
.pls-social-strip__label {
    font-family: righteous, sans-serif;
    font-size: 0.88rem;
    color: var(--primary-color-dark);
    white-space: nowrap;
}
.pls-social-strip__links { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.pls-social-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.48rem 1.05rem;
    border-radius: 30px;
    font-family: poppins, sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
    border: 1.5px solid;
    white-space: nowrap;
}
.pls-social-link i { font-size: 0.75rem; }
.pls-social-link--fb  { color: #1877f2; border-color: #c0d8f8; background: #f0f6ff; }
.pls-social-link--fb:hover  { background: #1877f2; color: #fff; border-color: #1877f2; }
.pls-social-link--li  { color: #0a66c2; border-color: #b0d0f0; background: #f0f6ff; }
.pls-social-link--li:hover  { background: #0a66c2; color: #fff; border-color: #0a66c2; }
.pls-social-link--wa  { color: #1da851; border-color: #a8e4bc; background: #f0fff4; }
.pls-social-link--wa:hover  { background: #1da851; color: #fff; border-color: #1da851; }
.pls-social-link--em  { color: #555; border-color: #ddd; background: #f9f9f9; }
.pls-social-link--em:hover  { background: var(--primary-color-light); color: #fff; border-color: var(--primary-color-light); }

/* ── Map ─────────────────────────────────────────────────────────────────────── */
.pls-contact-map {
    border-radius: 20px;
    overflow: hidden;
    height: 460px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.12);
    border: 2px solid #e0ecd0;
}
.pls-contact-map iframe { width: 100%; height: 100%; border: none; display: block; }

/* ── Submit button ───────────────────────────────────────────────────────────── */
.pls-cf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.85rem 2.25rem;
    background: linear-gradient(135deg, var(--primary-color-light) 0%, var(--primary-color-dark) 100%);
    color: #fff;
    border: none;
    border-radius: 50px;
    font-family: poppins, sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    cursor: pointer;
    box-shadow: 0 4px 18px rgba(12,75,4,0.28), 0 1px 4px rgba(0,0,0,0.12);
    position: relative;
    overflow: hidden;
    min-width: 190px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.pls-cf-btn::after {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
    transform: skewX(-20deg);
    transition: left 0.55s ease;
}
.pls-cf-btn:hover::after { left: 160%; }
.pls-cf-btn:hover {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(12,75,4,0.32), 0 2px 6px rgba(0,0,0,0.1);
}
.pls-cf-btn:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(12,75,4,0.25);
}
.pls-cf-btn i { font-size: 0.9rem; }
.pls-cf-input--err { border-color: #dc3545 !important; background: #fff8f8 !important; }

/* Responsive */
@media (max-width: 991px) {
    .pls-contact-form { padding: 1.75rem; }
}
@media (max-width: 767px) {
    .pls-contact-form { padding: 1.5rem; }
    .pls-social-strip { padding: 1.1rem 1.25rem; flex-direction: column; align-items: flex-start; gap: 0.75rem; }
    .pls-contact-map { height: 300px; }
}