body {
  color: #222222;
}

/*!
 * Bootstrap Grid v5.3.7 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
/*!
 * Bootstrap Reboot v5.3.7 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: rgb(5.2, 44, 101.2);
  --bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);
  --bs-success-text-emphasis: rgb(10, 54, 33.6);
  --bs-info-text-emphasis: rgb(5.2, 80.8, 96);
  --bs-warning-text-emphasis: rgb(102, 77.2, 2.8);
  --bs-danger-text-emphasis: rgb(88, 21.2, 27.6);
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: rgb(206.6, 226, 254.6);
  --bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);
  --bs-success-bg-subtle: rgb(209, 231, 220.8);
  --bs-info-bg-subtle: rgb(206.6, 244.4, 252);
  --bs-warning-bg-subtle: rgb(255, 242.6, 205.4);
  --bs-danger-bg-subtle: rgb(248, 214.6, 217.8);
  --bs-light-bg-subtle: rgb(251.5, 252, 252.5);
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: rgb(158.2, 197, 254.2);
  --bs-secondary-border-subtle: rgb(196.2, 199.8, 203);
  --bs-success-border-subtle: rgb(163, 207, 186.6);
  --bs-info-border-subtle: rgb(158.2, 233.8, 249);
  --bs-warning-border-subtle: rgb(255, 230.2, 155.8);
  --bs-danger-border-subtle: rgb(241, 174.2, 180.6);
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: rgb(10.4, 88, 202.4);
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: rgb(255, 242.6, 205.4);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: rgb(109.8, 168, 253.8);
  --bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);
  --bs-success-text-emphasis: rgb(117, 183, 152.4);
  --bs-info-text-emphasis: rgb(109.8, 223.2, 246);
  --bs-warning-text-emphasis: rgb(255, 217.8, 106.2);
  --bs-danger-text-emphasis: rgb(234, 133.8, 143.4);
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: rgb(2.6, 22, 50.6);
  --bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);
  --bs-success-bg-subtle: rgb(5, 27, 16.8);
  --bs-info-bg-subtle: rgb(2.6, 40.4, 48);
  --bs-warning-bg-subtle: rgb(51, 38.6, 1.4);
  --bs-danger-bg-subtle: rgb(44, 10.6, 13.8);
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: rgb(7.8, 66, 151.8);
  --bs-secondary-border-subtle: rgb(64.8, 70.2, 75);
  --bs-success-border-subtle: rgb(15, 81, 50.4);
  --bs-info-border-subtle: rgb(7.8, 121.2, 144);
  --bs-warning-border-subtle: rgb(153, 115.8, 4.2);
  --bs-danger-border-subtle: rgb(132, 31.8, 41.4);
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: rgb(109.8, 168, 253.8);
  --bs-link-hover-color: rgb(138.84, 185.4, 254.04);
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-code-color: rgb(230.4, 132.6, 181.2);
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: rgb(102, 77.2, 2.8);
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: rgb(117, 183, 152.4);
  --bs-form-valid-border-color: rgb(117, 183, 152.4);
  --bs-form-invalid-color: rgb(234, 133.8, 143.4);
  --bs-form-invalid-border-color: rgb(234, 133.8, 143.4);
}

*,
*::before,
*::after {
  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: rgba(0, 0, 0, 0);
}

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

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

h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1 {
    font-size: 2.5rem;
  }
}

h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3 {
    font-size: 1.75rem;
  }
}

h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4 {
    font-size: 1.5rem;
  }
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1rem;
}

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

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

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

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

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 0.875em;
}

mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

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

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

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

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

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

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

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

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]: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: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

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

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

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

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

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

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

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

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

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

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

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

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
}

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

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

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

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  transition: padding 0.3s, background-color 0.3s;
  will-change: padding, background-color;
  z-index: 2;
}
header.scroll-down {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  background-color: #148377;
}
header [class*=container] {
  display: flex;
  align-items: center;
}
header .brand-logo {
  display: block;
}
header .brand-logo img {
  display: block;
  height: 3.75rem;
  transition: height 0.3s;
  will-change: height;
}
@media (min-width: 992px) {
  header .brand-logo img {
    height: 4.6875rem;
  }
}
@media (min-width: 1200px) {
  header .brand-logo img {
    height: 5.625rem;
  }
}
header.scroll-down .brand-logo img {
  height: 2.5rem;
}
@media (min-width: 992px) {
  header.scroll-down .brand-logo img {
    height: 3.125rem;
  }
}
@media (min-width: 1200px) {
  header.scroll-down .brand-logo img {
    height: 3.75rem;
  }
}

header .hamburger-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin-left: auto;
  width: 3rem;
  aspect-ratio: 1/1;
  border-width: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
header .hamburger-menu input {
  display: none;
}
header .hamburger-menu input + label {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  display: inline-block;
  width: 3rem;
  height: 1.625rem;
  box-sizing: content-box;
  border: 0 solid transparent;
  z-index: 1050;
  line-height: 1.625rem;
  white-space: nowrap;
  background: transparent;
  border-radius: 0;
}
header .hamburger-menu input + label span {
  display: inline-block;
  position: absolute;
  left: 100%;
  margin-top: 1px;
  transition: color 0.25s;
  margin-left: 0;
}
header .hamburger-menu input + label span::before, header .hamburger-menu input + label span::after {
  content: "";
  display: inline-block;
  min-width: 10px;
  width: 0.6rem;
}
header .hamburger-menu input + label i, header .hamburger-menu input + label::before, header .hamburger-menu input + label::after {
  position: absolute;
  left: 0;
  display: block;
  will-change: transform, background-color;
  width: 3rem;
  height: 0.125rem;
  border-radius: 0;
  transition: transform 0.25s, background-color 0.25s;
  backface-visibility: hidden;
  outline: 1px solid transparent;
}
header .hamburger-menu input + label i {
  top: 0.75rem;
  font-size: 0;
  color: transparent;
  line-height: 0;
}
header .hamburger-menu input + label::before, header .hamburger-menu input + label::after {
  content: "";
}
header .hamburger-menu input + label::before {
  top: 0;
}
header .hamburger-menu input + label::after {
  bottom: 0;
}
header .hamburger-menu input + label:hover {
  cursor: pointer;
}
header .hamburger-menu input:checked + label i {
  transform: scaleX(0.001);
}
header .hamburger-menu input:checked + label::before {
  transform: translateY(0.75rem) rotate(45deg);
}
header .hamburger-menu input:checked + label::after {
  transform: translateY(-0.75rem) rotate(-45deg);
}
header .hamburger-menu input + label i, header .hamburger-menu input + label::before, header .hamburger-menu input + label::after {
  background-color: white;
}

nav.nav-menu {
  background-color: rgba(20, 131, 119, 0.8487);
  position: absolute;
  top: 0;
  right: 0;
  width: 0%;
  height: 100dvh;
  z-index: 10;
  opacity: 0;
  transition: all 600ms cubic-bezier(0.62, 0.04, 0.3, 1.56);
  transition-delay: 100ms;
}
nav.nav-menu ul {
  position: absolute;
  top: 0%;
  left: 0%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  justify-content: space-evenly;
  width: 100%;
  height: 100%;
  padding: 5rem 0;
  margin: 0;
  list-style: none;
}
nav.nav-menu ul li {
  font-size: 2.25rem;
  line-height: 1.2222222222;
}
nav.nav-menu ul a {
  display: block;
  color: #fff;
  text-decoration: none;
}
nav.nav-menu ul a:hover {
  color: #F4D883;
}

nav.nav-menu.show {
  width: 100%;
  opacity: 1;
}

.nav-dark-background {
  position: absolute;
  top: 0;
  right: 0;
  background-color: rgba(20, 131, 119, 0.8487);
  width: 0%;
  height: 100dvh;
  transition: all 500ms cubic-bezier(0.62, 0.04, 0.3, 1.8);
  transition-delay: 50ms;
  z-index: 5;
  opacity: 1;
}

.nav-dark-background.slide {
  width: 100%;
  opacity: 1;
}

main {
  overflow: hidden;
}

section {
  position: relative;
}
section .anchor-tag {
  position: absolute;
  top: -7rem;
}

.hero-banner {
  --width-unit: 1vw;
  --height-unit: 0.5625vw;
  position: relative;
  display: flex;
  height: 100dvh;
  background: linear-gradient(to right, #004b41 0%, #00584d 10%, #119c91 80%, #00584d 100%);
  overflow: hidden;
}
.hero-banner::before, .hero-banner::after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
.hero-banner::before {
  bottom: 1.5rem;
  left: 50%;
  width: calc(var(--width-unit) * 161.6666666667);
  background-image: url("../images/hero-banner-bg-1.png");
  aspect-ratio: 2328/801;
  transform: translate(-50%, 0);
}
@media screen and (orientation: portrait) {
  .hero-banner::before {
    width: calc(var(--width-unit) * 413.3333333333);
  }
}
@media screen and (orientation: portrait) and (min-width: 768px) {
  .hero-banner::before {
    width: calc(var(--width-unit) * 200);
  }
}
.hero-banner::after {
  top: 0;
  left: 50%;
  width: calc(var(--width-unit) * 135.625);
  background-image: url("../images/hero-banner-bg-2.png");
  aspect-ratio: 1953/706;
  transform: translate(-50%, -72.5%);
}
@media screen and (orientation: portrait) {
  .hero-banner::after {
    width: calc(var(--width-unit) * 484.2506666667);
    transform: translate(-80%, -72.5%);
  }
}
@media screen and (orientation: portrait) and (min-width: 768px) {
  .hero-banner::after {
    width: calc(var(--width-unit) * 250);
  }
}
.hero-banner .deco {
  position: absolute;
  display: block;
  background-image: url("../images/decoration.png");
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 17/16;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  z-index: 1;
}
.hero-banner .deco.deco-1 {
  top: calc(var(--height-unit) * 24.675);
  left: calc(var(--width-unit) * 21);
  width: 3.25rem;
}
.hero-banner .deco.deco-2 {
  bottom: calc(var(--height-unit) * 8.25);
  left: calc(var(--width-unit) * 2.635);
  width: 1.875rem;
}
.hero-banner .deco.deco-3 {
  top: calc(var(--height-unit) * 0);
  right: calc(var(--width-unit) * 7.1);
  width: 1.8125rem;
  transform: translateY(-20%);
}
.hero-banner .deco.deco-4 {
  top: calc(var(--height-unit) * 18.75);
  right: calc(var(--width-unit) * 21.2);
  width: 2.5625rem;
}
.hero-banner .deco.deco-5 {
  bottom: calc(var(--height-unit) * 20);
  right: calc(var(--width-unit) * 18);
  width: 3.8125rem;
}
.hero-banner .deco.deco-6 {
  bottom: calc(var(--height-unit) * 25.8);
  right: calc(var(--width-unit) * 3.85);
  width: 1.375rem;
}
.hero-banner .deco.deco-7 {
  bottom: calc(var(--height-unit) * 8);
  right: calc(var(--width-unit) * 9.5);
  width: 1.8125rem;
}
.hero-banner .hexagon {
  position: absolute;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  z-index: 1;
}
.hero-banner .hexagon svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.hero-banner .hexagon.hexagon-bottom-right {
  bottom: calc(var(--height-unit) * -53.5);
  right: calc(var(--width-unit) * -24.5);
  width: calc(var(--width-unit) * 69.4444444444);
  aspect-ratio: 1000/974;
}
@media screen and (orientation: portrait) {
  .hero-banner .hexagon.hexagon-bottom-right {
    bottom: calc(var(--height-unit) * -85.5);
    right: calc(var(--width-unit) * -144.5);
    width: calc(var(--width-unit) * 249.444444);
  }
}
.hero-banner .hexagon.hexagon-top-center-1 {
  top: calc(var(--height-unit) * -10.5);
  left: calc(var(--width-unit) * 16);
  width: calc(var(--width-unit) * 12.2222222222);
  aspect-ratio: 236/230;
  rotate: 90deg;
}
.hero-banner .hexagon.hexagon-top-center-2 {
  top: calc(var(--height-unit) * 1.5);
  left: calc(var(--width-unit) * 23.5);
  width: calc(var(--width-unit) * 13.5416666667);
  aspect-ratio: 236/230;
  rotate: 90deg;
}
.hero-banner .hexagon.hexagon-center-left {
  top: calc(var(--height-unit) * 22);
  left: calc(var(--width-unit) * -6);
  width: calc(var(--width-unit) * 16.3888888889);
  aspect-ratio: 236/230;
}
.hero-banner .hexagon.hexagon-left {
  top: calc(var(--height-unit) * -70);
  left: calc(var(--width-unit) * -40);
  height: calc(var(--height-unit) * 178.3950617284);
  aspect-ratio: 1013/1445;
}
.hero-banner .hexagon.hexagon-bottom-left {
  bottom: -28vh;
  left: calc(var(--width-unit) * -12);
  width: calc(var(--width-unit) * 50.9027777778);
  aspect-ratio: 733/713;
}
.hero-banner .container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 0 0;
  z-index: 1;
}
.hero-banner .page-title-image {
  display: block;
  width: 46.1805555556vw;
  margin-bottom: 10vh;
  background-image: url("../images/title-text.png");
  aspect-ratio: 2340/1516;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (orientation: portrait) {
  .hero-banner .page-title-image {
    width: 100%;
    background-image: url("../images/title-text-mobile.png");
    aspect-ratio: 1066/977;
  }
}
@media screen and (orientation: portrait) and (min-width: 768px) {
  .hero-banner .page-title-image {
    width: 80%;
  }
}

.agenda-section {
  padding-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .agenda-section {
    padding-bottom: 2.5rem;
  }
}
.agenda-section .section-title {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  text-align: center;
}
.agenda-section .section-title h2 {
  margin: 0;
  padding-left: 0.2em;
  color: #9D7B3A;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.agenda-section .section-title h3 {
  margin: 0;
  color: #148377;
  font-size: 2.25rem;
  font-weight: bold;
  line-height: 1.4791666667;
}
@media (min-width: 576px) {
  .agenda-section .section-title h3 {
    font-size: 3rem;
  }
}
.agenda-section .section-highlight {
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  color: white;
  background-color: #148377;
  box-shadow: inset 0 0.5rem 0.5rem rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.agenda-section .section-highlight::before, .agenda-section .section-highlight::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
.agenda-section .section-highlight::before {
  left: 0;
  width: 28vw;
  background-image: url("../images/agenda-bg-left.png");
  aspect-ratio: 205/68;
}
@media (min-width: 992px) {
  .agenda-section .section-highlight::before {
    width: 14.2361111111vw;
  }
}
.agenda-section .section-highlight::after {
  right: 0;
  width: 32.8vw;
  background-image: url("../images/agenda-bg-right.png");
  aspect-ratio: 237/162;
}
@media (min-width: 992px) {
  .agenda-section .section-highlight::after {
    width: 16.4583333333vw;
  }
}
.agenda-section .section-highlight .deco {
  position: absolute;
  display: block;
  background-image: url("../images/decoration.png");
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 17/16;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  z-index: 1;
}
.agenda-section .section-highlight .deco.deco-1 {
  top: 0;
  left: 0;
  width: 1.7vw;
  transform: translate(400%, 370%);
}
@media (min-width: 992px) {
  .agenda-section .section-highlight .deco.deco-1 {
    width: 0.8333333333vw;
  }
}
@media (min-width: 1400px) {
  .agenda-section .section-highlight .deco.deco-1 {
    transform: translate(400%, 160%);
  }
}
.agenda-section .section-highlight .deco.deco-2 {
  bottom: 0;
  right: 0;
  width: 6.1vw;
  transform: translate(-135%, -80%);
}
@media (min-width: 576px) {
  .agenda-section .section-highlight .deco.deco-2 {
    left: 0;
    right: auto;
    transform: translate(135%, -80%);
  }
}
@media (min-width: 992px) {
  .agenda-section .section-highlight .deco.deco-2 {
    width: 3.0555555556vw;
  }
}
@media (min-width: 1400px) {
  .agenda-section .section-highlight .deco.deco-2 {
    transform: translate(135%, -20%);
  }
}
.agenda-section .section-highlight .deco.deco-3 {
  top: 0;
  right: 0;
  width: 3.47vw;
  transform: translate(-340%, -45%);
}
@media (min-width: 992px) {
  .agenda-section .section-highlight .deco.deco-3 {
    width: 1.7361111111vw;
  }
}
.agenda-section .section-highlight .container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 576px) {
  .agenda-section .section-highlight .container {
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .agenda-section .section-highlight .container {
    gap: 2.5rem;
  }
}
.agenda-section .section-highlight ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (min-width: 992px) {
  .agenda-section .section-highlight ul {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    gap: 1rem 2.5rem;
  }
}
@media (min-width: 1200px) {
  .agenda-section .section-highlight ul {
    gap: 0.5rem 5rem;
  }
}
.agenda-section .section-highlight ul > li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 1rem;
  line-height: 1.7777777778;
}
@media (min-width: 576px) {
  .agenda-section .section-highlight ul > li {
    white-space: nowrap;
  }
}
@media (min-width: 992px) {
  .agenda-section .section-highlight ul > li {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .agenda-section .section-highlight ul > li {
    flex-direction: row;
    gap: 1.25rem;
  }
}
.agenda-section .section-highlight ul > li:nth-child(2) {
  grid-column-start: 1;
  grid-row-start: 2;
}
.agenda-section .section-highlight ul > li:last-child {
  grid-row: span 2/span 2;
  grid-column-start: 2;
  grid-row-start: 1;
}
.agenda-section .section-highlight .label {
  padding: 0 0.625rem;
  color: #148377;
  font-weight: bold;
  background-color: #F4D883;
  border-radius: 0.5rem;
}
.agenda-section .section-highlight ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (max-width: 575.98px) {
  .agenda-section .section-highlight ol li {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
  }
  .agenda-section .section-highlight ol li + li {
    margin-top: 0.5rem;
  }
  .agenda-section .section-highlight ol li span {
    display: block;
  }
  .agenda-section .section-highlight ol li span:first-child {
    grid-column: span 2/span 2;
  }
  .agenda-section .section-highlight ol li span:last-child {
    padding-left: 1rem;
  }
}
@media (min-width: 576px) {
  .agenda-section .section-highlight ol {
    display: table;
  }
  .agenda-section .section-highlight ol li {
    display: table-row;
  }
  .agenda-section .section-highlight ol span {
    display: table-cell;
  }
  .agenda-section .section-highlight ol span + span {
    padding-left: 1.5rem;
  }
}
.agenda-section .section-highlight ol span b {
  color: #F4D883;
  font-weight: normal;
}
.agenda-section .section-timetable table {
  width: 100%;
  border-width: 0;
  border-collapse: collapse;
}
.agenda-section .section-timetable th,
.agenda-section .section-timetable td {
  line-height: 2.25rem;
  font-weight: normal;
}
@media (min-width: 576px) {
  .agenda-section .section-timetable th,
  .agenda-section .section-timetable td {
    vertical-align: baseline;
  }
}
.agenda-section .section-timetable th:nth-child(2), .agenda-section .section-timetable th:nth-child(3),
.agenda-section .section-timetable td:nth-child(2),
.agenda-section .section-timetable td:nth-child(3) {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media (min-width: 576px) {
  .agenda-section .section-timetable th:nth-child(2), .agenda-section .section-timetable th:nth-child(3),
  .agenda-section .section-timetable td:nth-child(2),
  .agenda-section .section-timetable td:nth-child(3) {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
.agenda-section .section-timetable th:nth-child(2),
.agenda-section .section-timetable td:nth-child(2) {
  width: 7rem;
}
@media (min-width: 576px) {
  .agenda-section .section-timetable th:nth-child(2),
  .agenda-section .section-timetable td:nth-child(2) {
    width: 12.5rem;
  }
}
@media (min-width: 576px) {
  .agenda-section .section-timetable th:nth-child(3),
  .agenda-section .section-timetable td:nth-child(3) {
    width: 27.5rem;
  }
}
.agenda-section .section-timetable thead th {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: center;
}
@media (min-width: 992px) {
  .agenda-section .section-timetable thead th {
    font-size: 1.125rem;
  }
}
.agenda-section .section-timetable tbody tr:nth-child(odd) {
  background-color: #f4f4f4;
}
.agenda-section .section-timetable tbody td {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1rem;
}
@media (min-width: 576px) {
  .agenda-section .section-timetable tbody td:nth-child(2) {
    text-align: center;
  }
}
@media (max-width: 575.98px) {
  .agenda-section .section-timetable tbody td:nth-child(2) {
    line-height: 1.5;
  }
}
.agenda-section .section-timetable tbody .timetable-title {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  color: #148377;
  line-height: 1.4;
  text-align: center;
}
@media (min-width: 992px) {
  .agenda-section .section-timetable tbody .timetable-title {
    font-size: 1.125rem;
  }
}
.agenda-section .section-timetable tbody ul {
  display: table;
  margin-top: 0.3125rem;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.725;
}
.agenda-section hr {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.agenda-section .section-transportation {
  position: relative;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.agenda-section .section-transportation::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 19.375rem;
  background-image: url("../images/mountain-bg.png");
  background-repeat: repeat-x;
  background-position: 15% bottom;
  opacity: 0.5;
  z-index: -1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
@media (min-width: 768px) {
  .agenda-section .section-transportation::before {
    background-position: left bottom;
  }
}
.agenda-section .section-transportation .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
}
@media (min-width: 1200px) {
  .agenda-section .section-transportation .container {
    flex-direction: row;
  }
}
.agenda-section .section-transportation img.transportation-map {
  max-width: 17.5rem;
  aspect-ratio: 1/1;
  box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.2);
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .agenda-section .section-transportation img.transportation-map {
    box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.2);
  }
}
@media (min-width: 992px) {
  .agenda-section .section-transportation img.transportation-map {
    max-width: 20rem;
    border-radius: 1.25rem;
  }
}
.agenda-section .section-transportation .transportation-info {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 26.25rem;
}
@media (min-width: 768px) {
  .agenda-section .section-transportation .transportation-info {
    max-width: 22.5rem;
  }
}
.agenda-section .section-transportation .transportation-info p:not(.subtitle) {
  color: #9D7B3A;
}
.agenda-section .section-transportation p {
  margin-top: 0;
  margin-bottom: 0;
}
@media (min-width: 576px) {
  .agenda-section .section-transportation p {
    font-size: 1.25rem;
  }
}

.book-btn-group {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (min-width: 1200px) {
  .book-btn-group {
    padding-right: 2.5rem;
  }
}
.book-btn-group .btn {
  display: block;
  padding: 0.75rem 1.25rem 0.75rem 1.5rem;
  color: #F4D883;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  background-color: #148377;
  border-radius: 0.5rem;
  transition: color 0.3s, background-color 0.3s;
}
.book-btn-group .btn:hover {
  color: white;
  background-color: #9D7B3A;
}
.book-btn-group .qr-code {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
}
@media (min-width: 992px) {
  .book-btn-group .qr-code {
    display: flex;
  }
}
.book-btn-group .qr-code img {
  display: block;
  width: calc(100% - 1.5rem);
  aspect-ratio: 1/1;
}
.book-btn-group .qr-code p {
  color: rgba(0, 0, 0, 0.5);
  font-size: 1.25rem;
  line-height: 1.6;
}

.chairman-section {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .chairman-section {
    margin-top: 3.75rem;
    margin-bottom: 3.75rem;
  }
}

.card-chairman {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2.5rem 0 0;
  background-color: white;
  border-radius: 1.5rem;
  box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.2);
}
@media (min-width: 768px) {
  .card-chairman {
    flex-direction: row;
    align-items: end;
    gap: 2.5rem;
    padding: 1.25rem 2.5rem 0;
  }
}
@media (min-width: 992px) {
  .card-chairman {
    gap: 3.75rem;
    padding: 1.875rem 3.75rem 0;
  }
}
@media (min-width: 1200px) {
  .card-chairman {
    gap: 3.75rem;
    padding: 2.5rem 2.5rem 0;
  }
}
.card-chairman::before, .card-chairman::after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
.card-chairman::before {
  bottom: 0;
  left: 0;
  width: 15rem;
  aspect-ratio: 455/267;
  background-image: url("../images/chairman-bg-left.png");
  border-radius: 0 0 0 1.5rem;
}
@media (min-width: 992px) {
  .card-chairman::before {
    width: 28.4375rem;
  }
}
.card-chairman::after {
  top: 0;
  right: 0;
  width: 11.5rem;
  aspect-ratio: 332/198;
  background-image: url("../images/chairman-bg-right.png");
  border-radius: 0 1.5rem 0 0;
}
@media (min-width: 992px) {
  .card-chairman::after {
    width: 20.75rem;
  }
}
.card-chairman .card-image {
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.card-chairman .card-image img {
  width: 10rem;
}
@media (min-width: 768px) {
  .card-chairman .card-image img {
    width: 12rem;
  }
}
@media (min-width: 992px) {
  .card-chairman .card-image img {
    width: 16rem;
  }
}
@media (min-width: 1200px) {
  .card-chairman .card-image img {
    width: 18rem;
  }
}
.card-chairman .card-body {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-bottom: 1.25rem;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .card-chairman .card-body {
    gap: 0.875rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-bottom: 2.5rem;
    background: linear-gradient(to bottom, white 75%, rgba(255, 255, 255, 0) 100%);
  }
}
.card-chairman .card-label {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-top: 0;
  margin-bottom: 0;
  color: #9D7B3A;
  font-size: 1.25rem;
  font-weight: bold;
}
@media (min-width: 992px) {
  .card-chairman .card-label {
    font-size: 1.75rem;
  }
}
@media (min-width: 1200px) {
  .card-chairman .card-label {
    font-size: 2.25rem;
  }
}
.card-chairman .card-label::before {
  content: "";
  display: block;
  width: 1.5rem;
  background-image: url("../images/decoration.png");
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 17/16;
}
.card-chairman .card-label > span {
  width: calc(100% - 1.5rem - 1.25rem);
}
.card-chairman .card-label > span span {
  display: inline-block;
}
.card-chairman .card-title {
  margin-top: 0;
  margin-bottom: 0;
  color: #148377;
  font-size: 2rem;
  font-weight: bold;
}
@media (min-width: 768px) {
  .card-chairman .card-title {
    font-size: 2.5rem;
  }
}
@media (min-width: 992px) {
  .card-chairman .card-title {
    font-size: 2.75rem;
  }
}
@media (min-width: 1200px) {
  .card-chairman .card-title {
    font-size: 3rem;
  }
}
.card-chairman .card-description {
  margin-top: 0;
  margin-bottom: 0;
  color: #222222;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6666666667;
}
@media (max-width: 767.98px) {
  .card-chairman .card-description {
    text-shadow: 0 0 1rem white;
  }
}
@media (min-width: 992px) {
  .card-chairman .card-description {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .card-chairman .card-description {
    font-size: 1.5rem;
  }
}
.card-chairman .card-description p {
  margin-bottom: 1.6666666667em;
}
.card-chairman .card-description img {
  display: block;
  max-width: 11rem;
}
@media (min-width: 1200px) {
  .card-chairman .card-description img {
    max-width: 16rem;
  }
}
.card-chairman .description-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 1.25rem;
}
.card-chairman .description-footer p {
  margin-bottom: 0;
}

.congratulate-section {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  text-align: center;
  background-color: #148377;
}
.congratulate-section h2 {
  margin-bottom: 2.5rem;
  color: #F4D883;
  font-size: 2.75rem;
  line-height: 1.2045454545;
}
.congratulate-section a {
  display: block;
  color: white;
  text-decoration: none;
}
@media (max-width: 575.98px) {
  .congratulate-section a {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.congratulate-section .image-box {
  display: block;
  width: 100%;
  padding: 0 3.5rem;
}
.congratulate-section img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s;
}
.congratulate-section a:hover img {
  transform: scale(1.05);
}

.congratulate-section h3 {
  margin-top: 1.25rem;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.congratulate-slick {
  padding-left: 3.25rem;
  padding-right: 3.25rem;
}

.congratulate-image img {
  aspect-ratio: 140/187;
}

.congratulate-video img {
  aspect-ratio: 360/203;
}

.special-section {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #148377;
}
.special-section::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/special-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 65%;
  opacity: 0.2;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
.special-section .container {
  position: relative;
  z-index: 1;
}
.special-section .row {
  display: grid;
  gap: 3.75rem;
  padding: 0;
  margin: 0;
  color: white;
  list-style: none;
}
@media (min-width: 768px) {
  .special-section .row {
    gap: 5rem;
  }
}
@media (min-width: 992px) {
  .special-section .row {
    grid-template-columns: 1fr 0.0625rem 1fr;
  }
}
.special-section .row hr {
  margin: 0;
  width: 100%;
  border-style: solid;
  border-color: #f4d883;
  opacity: 0.5;
}
@media (min-width: 992px) {
  .special-section .row hr {
    width: auto;
    height: 100%;
    border-width: 0 1px 0 0;
  }
}
.special-section .row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}
.special-section h2 {
  margin-bottom: 2.5rem;
  color: #F4D883;
  font-size: 2.75rem;
  font-weight: bold;
  line-height: 1.2045454545;
  text-align: center;
}
.special-section .title {
  font-size: 1.5rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (min-width: 768px) {
  .special-section .title {
    font-size: 1.75rem;
    letter-spacing: 0.1em;
  }
}
.special-section p {
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
}
.special-section button {
  padding: 0.75rem 1.25rem 0.75rem 1.5rem;
  color: #F4D883;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3333333333;
  background-color: transparent;
  border: 1px solid #F4D883;
  border-radius: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: background-color 0.3s, color 0.3s;
}
.special-section button:hover {
  color: #148377;
  background-color: #F4D883;
}

.video-section {
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 576px) {
  .video-section {
    padding-top: 2.5rem;
    padding-bottom: 5rem;
  }
}
.video-section::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 400vw;
  aspect-ratio: 1816/706;
  background-image: url("../images/video-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  transform: translate(-50%, 10%);
}
@media (min-width: 992px) {
  .video-section::before {
    width: 126.0416666667vw;
  }
}
.video-section h2 {
  margin-bottom: 2.5rem;
  color: #148377;
  font-size: 2.25rem;
  font-weight: bold;
  text-align: center;
}
@media (min-width: 576px) {
  .video-section h2 {
    font-size: 2.75rem;
  }
}
.video-section .video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  padding: 0;
  background-color: transparent;
  border-width: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.video-section .video-container::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 2.5rem 0 2.5rem 5rem;
  border-color: transparent transparent transparent rgba(244, 216, 131, 0.6);
  transform: translate(-50%, -50%);
}
@media (min-width: 992px) {
  .video-section .video-container::before {
    border-width: 5.25rem 0 5.25rem 10.625rem;
  }
}
.video-section .video-container img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}

.wfdsa-section {
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 576px) {
  .wfdsa-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.wfdsa-section h2 {
  margin-bottom: 2.5rem;
  color: #148377;
  font-size: 2.25rem;
  font-weight: bold;
  text-align: center;
}
@media (min-width: 576px) {
  .wfdsa-section h2 {
    font-size: 2.75rem;
  }
}
.wfdsa-section ul {
  display: grid;
  gap: 2.5rem;
  padding: 0;
  margin: 0;
  text-align: center;
  list-style: none;
}
@media (min-width: 992px) {
  .wfdsa-section ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
  }
}
.wfdsa-section ul li {
  display: grid;
}
@media (min-width: 992px) {
  .wfdsa-section ul li {
    gap: 1.25rem;
  }
}
.wfdsa-section ul img {
  display: block;
  width: 100%;
}
.wfdsa-section ul .name {
  font-size: 1.25rem;
}

.anniv-section {
  display: flex;
  flex-direction: column;
  box-shadow: inset 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
}
@media (min-width: 768px) {
  .anniv-section {
    display: grid;
    grid-template-columns: 20fr 45fr;
  }
}
@media (min-width: 1200px) {
  .anniv-section {
    grid-template-columns: 448fr 992fr;
  }
}
.anniv-section .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media (max-width: 767.98px) {
  .anniv-section .logo {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
@media (min-width: 992px) {
  .anniv-section .logo {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .anniv-section .logo {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
.anniv-section .logo img {
  display: block;
  width: auto;
  height: 5rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .anniv-section .logo img {
    height: 6.25rem;
  }
}
@media (min-width: 1200px) {
  .anniv-section .logo img {
    height: 7.5rem;
  }
}
.anniv-section .web-slogan {
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  line-height: 1.5;
  text-align: center;
  background-color: #148377;
  overflow: hidden;
}
@media (min-width: 992px) {
  .anniv-section .web-slogan {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .anniv-section .web-slogan {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
.anniv-section .web-slogan::before, .anniv-section .web-slogan::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  aspect-ratio: 992/188;
  background-image: url("../images/annvi-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
.anniv-section .web-slogan::before {
  left: 0;
}
.anniv-section .web-slogan::after {
  right: 0;
  transform: rotate(180deg);
}
.anniv-section .deco {
  position: absolute;
  display: block;
  width: 1.0625rem;
  background-image: url("../images/decoration.png");
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 17/16;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  z-index: 1;
}
.anniv-section .deco.deco-1 {
  top: 0;
  left: 1.5%;
  width: 2rem;
  transform: translate(0, -42.5%);
}
@media (min-width: 992px) {
  .anniv-section .deco.deco-1 {
    left: 3%;
    width: 3.75rem;
  }
}
@media (min-width: 1200px) {
  .anniv-section .deco.deco-1 {
    left: 6%;
  }
}
.anniv-section .deco.deco-2 {
  bottom: 0;
  left: 0;
  width: 3rem;
  transform: translate(-30%, 55%);
}
@media (min-width: 992px) {
  .anniv-section .deco.deco-2 {
    width: 6.25rem;
  }
}
.anniv-section .deco.deco-3 {
  top: 50%;
  left: 4.5%;
  width: 1rem;
  transform: translate(0, -50%);
}
@media (min-width: 992px) {
  .anniv-section .deco.deco-3 {
    left: 9%;
    width: 1.875rem;
  }
}
@media (min-width: 1200px) {
  .anniv-section .deco.deco-3 {
    left: 18%;
  }
}
.anniv-section .deco.deco-4 {
  top: 0;
  right: 15%;
  width: 0.75rem;
  transform: translate(0, -25%);
}
@media (min-width: 992px) {
  .anniv-section .deco.deco-4 {
    right: 22.5%;
    width: 1.25rem;
  }
}
.anniv-section .deco.deco-5 {
  bottom: 0;
  right: 6%;
  width: 1.75rem;
  transform: translate(0, 50%);
}
@media (min-width: 992px) {
  .anniv-section .deco.deco-5 {
    width: 3.25rem;
  }
}
@media (min-width: 1200px) {
  .anniv-section .deco.deco-5 {
    right: 12%;
  }
}
.anniv-section .deco.deco-6 {
  top: 0;
  right: 0;
  width: 4.5rem;
  transform: translate(47.5%, -30%);
}
@media (min-width: 992px) {
  .anniv-section .deco.deco-6 {
    width: 9.25rem;
  }
}
.anniv-section .slogan-body {
  position: relative;
}
.anniv-section .slogan {
  color: #F4D883;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.anniv-section .slogan span {
  display: inline-block;
  padding: 0 0.25rem;
  font-size: 3rem;
  line-height: 1;
}
.anniv-section .web-name {
  margin-top: 0.875rem;
  color: white;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .anniv-section .web-name {
    margin-top: 1.25rem;
  }
}

.slick-slider {
  position: relative;
}

.slick-arrow {
  position: absolute;
  top: 50%;
  padding: 0;
  width: 2rem;
  aspect-ratio: 1/1;
  font-size: 0;
  color: #F4D883;
  background-color: transparent;
  border-width: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transform: translate(0, -50%);
}
.slick-arrow svg {
  fill: var(--f-button-svg-fill);
  filter: var(--f-button-svg-filter);
  opacity: var(--f-button-svg-opacity, 1);
  transition: var(--f-button-svg-transition);
  stroke: currentColor;
  stroke-width: var(--f-button-svg-stroke-width);
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.slick-arrow.slick-prev {
  left: 0;
}
.slick-arrow.slick-next {
  right: 0;
}

.modal-dialog {
  --bs-gutter-x: 2.5rem;
  --bs-modal-margin: 1.25rem;
  max-width: calc(100% - var(--bs-gutter-x));
}
@media (min-width: 576px) {
  .modal-dialog {
    max-width: calc(540px - var(--bs-gutter-x));
  }
}
@media (min-width: 768px) {
  .modal-dialog {
    max-width: calc(720px - var(--bs-gutter-x));
  }
}
@media (min-width: 992px) {
  .modal-dialog {
    max-width: calc(960px - var(--bs-gutter-x));
  }
}
@media (min-width: 1200px) {
  .modal-dialog {
    max-width: calc(1140px - var(--bs-gutter-x));
  }
}
@media (min-width: 1400px) {
  .modal-dialog {
    max-width: calc(1320px - var(--bs-gutter-x));
  }
}

.modal-backdrop {
  --bs-backdrop-bg: white;
  --bs-backdrop-opacity: 0.8;
}

.modal-content {
  --bs-modal-border-width: 0;
}
.modal-content.modal-content-article::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 400vw;
  aspect-ratio: 1816/706;
  background-image: url("../images/video-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  opacity: 0.5;
  transform: translate(-50%, 10%);
}
@media (min-width: 992px) {
  .modal-content.modal-content-article::before {
    width: 126.0416666667vw;
  }
}

.modal-body {
  --bs-modal-padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
  .modal-body {
    --bs-modal-padding: 2.5rem;
  }
}
@media (min-width: 992px) {
  .modal-body {
    --bs-modal-padding: 3.75rem;
  }
}
@media (min-width: 1200px) {
  .modal-body {
    --bs-modal-padding: 5rem;
  }
}
.modal-body hr {
  margin: 0;
  color: #9D7B3A;
  opacity: 1;
}
.modal-body .article-title {
  color: #148377;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.6363636364;
  text-align: center;
}
@media (min-width: 768px) {
  .modal-body .article-title {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  .modal-body .article-title {
    font-size: 2.25rem;
  }
}
@media (min-width: 1200px) {
  .modal-body .article-title {
    font-size: 2.75rem;
  }
}
.modal-body .article-description {
  color: #9D7B3A;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6666666667;
}
@media (min-width: 768px) {
  .modal-body .article-description {
    font-size: 1.25rem;
  }
}
@media (min-width: 992px) {
  .modal-body .article-description {
    font-size: 1.375rem;
  }
}
@media (min-width: 1200px) {
  .modal-body .article-description {
    font-size: 1.5rem;
  }
}
.modal-body .article-subtitle {
  color: #9D7B3A;
  font-size: 1.0625rem;
  line-height: 1.3913043478;
}
@media (min-width: 768px) {
  .modal-body .article-subtitle {
    font-size: 1.1875rem;
  }
}
@media (min-width: 992px) {
  .modal-body .article-subtitle {
    font-size: 1.3125rem;
  }
}
@media (min-width: 1200px) {
  .modal-body .article-subtitle {
    font-size: 1.4375rem;
  }
}
.modal-body .article-subtitle:not(:first-child) {
  margin-top: 1.3913043478em;
  margin-bottom: 0;
}
.modal-body p {
  color: #148377;
  font-size: 1rem;
  line-height: 1.6;
}
@media (min-width: 992px) {
  .modal-body p {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .modal-body p {
    font-size: 1.25rem;
  }
}
.modal-body p:not(:first-child) {
  margin-top: 1.6em;
  margin-bottom: 0;
}

:root {
  --f-button-width: 40px;
  --f-button-height: 40px;
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-color: #374151;
  --f-button-bg: #f8f8f8;
  --f-button-shadow: none;
  --f-button-transition: all 0.15s ease;
  --f-button-transform: none;
  --f-button-outline-width: 1px;
  --f-button-outline-color: rgba(0, 0, 0, 0.7);
  --f-button-svg-width: 20px;
  --f-button-svg-height: 20px;
  --f-button-svg-stroke-width: 1.5;
  --f-button-svg-fill: none;
  --f-button-svg-filter: none;
  --f-button-svg-opacity: 1;
  --f-button-svg-disabled-opacity: 0.5;
  --f-button-svg-transition: opacity 0.15s ease;
  --f-button-svg-transform: none;
}

.f-button {
  width: var(--f-button-width);
  height: var(--f-button-height);
  border: var(--f-button-border);
  border-radius: var(--f-button-border-radius);
  color: var(--f-button-color);
  background: var(--f-button-bg);
  box-shadow: var(--f-button-shadow);
  transform: var(--f-button-transform);
  transition: var(--f-button-transition);
  -webkit-backdrop-filter: var(--f-button-backdrop-filter);
          backdrop-filter: var(--f-button-backdrop-filter);
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: content-box;
  position: relative;
  margin: 0;
  padding: 0;
  pointer-events: all;
  cursor: pointer;
  overflow: hidden;
}
.f-button:active:not([aria-disabled]) {
  color: var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)));
  background-color: var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)));
}
.f-button:focus {
  outline: none;
}
.f-button:focus-visible {
  outline: var(--f-button-outline-width) solid var(--f-button-outline-color);
  outline-offset: var(--f-button-outline-offset);
  position: relative;
  z-index: 1;
}
.f-button svg {
  width: var(--f-button-svg-width);
  height: var(--f-button-svg-height);
  transform: var(--f-button-svg-transform);
  fill: var(--f-button-svg-fill);
  filter: var(--f-button-svg-filter);
  opacity: var(--f-button-svg-opacity, 1);
  transition: var(--f-button-svg-transition);
  stroke: currentColor;
  stroke-width: var(--f-button-svg-stroke-width);
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.f-button[aria-disabled] {
  cursor: default;
}
.f-button[aria-disabled] svg {
  opacity: var(--f-button-svg-disabled-opacity);
}

@media (hover: hover) {
  .f-button:hover:not([aria-disabled]) {
    color: var(--f-button-hover-color, var(--f-button-color));
    background-color: var(--f-button-hover-bg, var(--f-button-bg));
  }
}
:root {
  --f-spinner-color-1: rgba(0, 0, 0, 0.1);
  --f-spinner-color-2: rgba(17, 24, 28, 0.8);
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-border-radius: 50%;
  --f-spinner-border-width: 4px;
}

.f-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: calc(var(--f-spinner-width) * -0.5) 0 0 calc(var(--f-spinner-height) * -0.5);
  padding: 0;
  width: var(--f-spinner-width);
  height: var(--f-spinner-height);
  border-radius: var(--f-spinner-border-radius);
  border: var(--f-spinner-border-width) solid var(--f-spinner-color-1);
  border-top-color: var(--f-spinner-color-2);
  animation: f-spinner 0.75s linear infinite, f-fadeIn 0.2s ease 0.2s both;
}

@keyframes f-spinner {
  to {
    transform: rotate(360deg);
  }
}
.f-panzoom,
.f-zoomable {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.f-panzoom:before, .f-panzoom:after {
  display: block;
  content: "";
}

.f-zoomable:before, .f-zoomable:after {
  display: block;
  content: "";
}

.f-panzoom:not(.has-controls):before,
.f-zoomable:not(.has-controls):before {
  margin-bottom: auto;
}

.f-panzoom:after,
.f-zoomable:after {
  margin-top: auto;
}

.f-panzoom__wrapper {
  position: relative;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
}
.f-panzoom__wrapper.will-zoom-out {
  cursor: zoom-out;
}
.f-panzoom__wrapper.can-drag {
  cursor: move;
  cursor: grab;
}
.f-panzoom__wrapper.will-zoom-in {
  cursor: zoom-in;
}
.f-panzoom__wrapper.is-dragging {
  cursor: move;
  cursor: grabbing;
}
.f-panzoom__wrapper.has-error {
  display: none;
}

.f-panzoom__content {
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
}
.f-panzoom__content.is-lazyloading, .f-panzoom__content.has-lazyerror {
  visibility: hidden;
}

img.f-panzoom__content {
  vertical-align: top;
  -o-object-fit: contain;
     object-fit: contain;
  transition: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.f-panzoom__wrapper > img.f-panzoom__content {
  visibility: hidden;
}

.f-panzoom__viewport {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.f-panzoom__viewport > .f-panzoom__content {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: fill;
     object-fit: fill;
}

picture.f-panzoom__content img {
  vertical-align: top;
  width: 100%;
  height: auto;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.f-fadeIn {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
  z-index: 2;
}

.f-fadeOut {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
  z-index: 1;
}

@keyframes f-fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes f-fadeOut {
  to {
    opacity: 0;
  }
}
.f-crossfadeIn {
  animation: var(--f-transition-duration, 0.2s) ease both f-crossfadeIn;
  z-index: 2;
}

.f-crossfadeOut {
  animation: calc(var(--f-transition-duration, 0.2s) * 0.2) ease calc(var(--f-transition-duration, 0.2s) * 0.8) both f-crossfadeOut;
  z-index: 1;
}

@keyframes f-crossfadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes f-crossfadeOut {
  to {
    opacity: 0;
  }
}
.is-horizontal .f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNextX;
}
.is-horizontal .f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrevX;
}
.is-horizontal .f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNextX;
}
.is-horizontal .f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrevX;
}

@keyframes f-slideInPrevX {
  0% {
    transform: translate(calc(100% + var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideInNextX {
  0% {
    transform: translate(calc(-100% - var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideOutNextX {
  to {
    transform: translate(calc(-100% - var(--f-carousel-gap, 0)));
  }
}
@keyframes f-slideOutPrevX {
  to {
    transform: translate(calc(100% + var(--f-carousel-gap, 0)));
  }
}
.is-vertical .f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNextY;
}
.is-vertical .f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrevY;
}
.is-vertical .f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNextY;
}
.is-vertical .f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrevY;
}

@keyframes f-slideInPrevY {
  0% {
    transform: translateY(calc(100% + var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideInNextY {
  0% {
    transform: translateY(calc(-100% - var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideOutNextY {
  to {
    transform: translateY(calc(-100% - var(--f-carousel-gap, 0)));
  }
}
@keyframes f-slideOutPrevY {
  to {
    transform: translateY(calc(100% + var(--f-carousel-gap, 0)));
  }
}
.f-zoomInUp {
  animation: var(--f-transition-duration, 0.3s) ease both f-zoomInUp;
}

.f-zoomOutDown {
  animation: var(--f-transition-duration, 0.3s) ease both f-zoomOutDown;
}

@keyframes f-zoomInUp {
  0% {
    transform: scale(var(--f-zoomInUp-scale, 0.975)) translate3d(var(--f-zoomInUp-x, 0), var(--f-zoomInUp-y, 16px), 0);
    opacity: var(--f-zoomInUp-opacity, 0);
  }
  to {
    transform: scale(1) translateZ(0);
    opacity: 1;
  }
}
@keyframes f-zoomOutDown {
  to {
    transform: scale(var(--f-zoomOutDown-scale, 0.975)) translate3d(var(--f-zoomOutDown-x, 0), var(--f-zoomOutDown-y, 16px), 0);
    opacity: 0;
  }
}
.f-throwOutUp {
  animation: var(--f-throwOutUp-duration, 0.2s) ease-out both f-throwOutUp;
}

.f-throwOutDown {
  animation: var(--f-throwOutDown-duration, 0.2s) ease-out both f-throwOutDown;
}

@keyframes f-throwOutUp {
  to {
    transform: translate3d(0, calc(var(--f-throwOutUp-y, 150px) * -1), 0);
    opacity: 0;
  }
}
@keyframes f-throwOutDown {
  to {
    transform: translate3d(0, var(--f-throwOutDown-y, 150px), 0);
    opacity: 0;
  }
}
.f-carousel__slide.has-html {
  overflow: auto;
}

.f-html {
  position: relative;
  margin: var(--f-html-margin, 0);
  padding: var(--f-html-padding, 2rem);
  color: var(--f-html-color, currentColor);
  background: var(--f-html-bg);
}
.f-html.is-error {
  text-align: center;
}

.has-iframe .f-html,
.has-pdf .f-html,
.has-gmap .f-html {
  box-sizing: border-box;
  min-height: 1px;
  overflow: visible;
  width: 100%;
  height: 100%;
}

.has-pdf .f-html,
.has-gmap .f-html {
  padding: 0;
}

.f-iframe {
  display: block;
  margin: 0;
  border: 0;
  height: 100%;
  width: 100%;
}

.f-caption {
  align-self: center;
  flex-shrink: 0;
  max-width: 100%;
  max-height: calc(80vh - 100px);
  overflow: auto;
  margin: var(--f-caption-margin);
  padding: var(--f-caption-padding, 16px 8px);
  overflow-wrap: anywhere;
  line-height: var(--f-caption-line-height);
  color: var(--f-caption-color);
  background: var(--f-caption-bg);
  font: var(--f-caption-font);
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
@media (min-width: 576px) {
  .f-caption {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .f-caption {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  .f-caption {
    font-size: 2.375rem;
  }
}
@media (min-width: 1200px) {
  .f-caption {
    font-size: 2.75rem;
  }
}

.has-html5video .f-html,
.has-youtube .f-html,
.has-vimeo .f-html {
  padding: 0;
  width: calc(100% - 6.375rem);
  height: 100%;
  max-width: var(--f-video-width, 960px);
  max-height: var(--f-video-height, 540px);
  aspect-ratio: var(--f-video-aspect-ratio);
  min-height: 1px;
  overflow: visible;
  background: var(--f-video-bg, rgba(0, 0, 0, 0.9));
}

.f-html5video {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
  background: transparent;
}

.f-button.is-arrow {
  --f-button-width: var(--f-arrow-width, 46px);
  --f-button-height: var(--f-arrow-height, 46px);
  --f-button-svg-width: var(--f-arrow-svg-width, 24px);
  --f-button-svg-height: var(--f-arrow-svg-height, 24px);
  --f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);
  --f-button-border-radius: var(--f-arrow-border-radius, unset);
  --f-button-bg: var(--f-arrow-bg, transparent);
  --f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));
  --f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));
  --f-button-shadow: var(--f-arrow-shadow);
  --f-button-color: var(--f-arrow-color);
  --f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));
  --f-button-active-color: var(--f-arrow-active-color, var(--f-arrow-hover-color));
  overflow: visible;
}
.f-button.is-arrow.is-prev, .f-button.is-arrow.is-next {
  position: absolute;
  transform: translate(0);
  z-index: 20;
}

.is-horizontal .f-button.is-arrow.is-prev, .is-horizontal .f-button.is-arrow.is-next {
  inset: 50% auto auto;
  transform: translateY(-50%);
}
.is-horizontal.is-ltr .f-button.is-arrow.is-prev {
  left: var(--f-arrow-pos, 0);
}
.is-horizontal.is-ltr .f-button.is-arrow.is-next {
  right: var(--f-arrow-pos, 0);
}
.is-horizontal.is-rtl .f-button.is-arrow.is-prev {
  right: var(--f-arrow-pos, 0);
  transform: translateY(-50%) rotateY(180deg);
}
.is-horizontal.is-rtl .f-button.is-arrow.is-next {
  left: var(--f-arrow-pos, 0);
  transform: translateY(-50%) rotateY(180deg);
}

.is-vertical.is-ltr .f-button.is-arrow.is-prev, .is-vertical.is-rtl .f-button.is-arrow.is-prev {
  top: var(--f-arrow-pos, 0);
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translate(-50%);
}
.is-vertical.is-ltr .f-button.is-arrow.is-next, .is-vertical.is-rtl .f-button.is-arrow.is-next {
  top: auto;
  right: auto;
  bottom: var(--f-arrow-pos, 0);
  left: 50%;
  transform: translate(-50%);
}
.is-vertical .f-button.is-arrow.is-prev svg, .is-vertical .f-button.is-arrow.is-next svg {
  transform: rotate(90deg);
}

.f-carousel__toolbar {
  --f-progressbar-height: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  margin: var(--f-toolbar-margin, 0);
  padding: var(--f-toolbar-padding, 8px);
  line-height: var(--f-toolbar-line-height);
  background: var(--f-toolbar-bg, none);
  box-shadow: var(--f-toolbar-shadow, none);
  -webkit-backdrop-filter: var(--f-toolbar-backdrop-filter);
          backdrop-filter: var(--f-toolbar-backdrop-filter);
  position: relative;
  z-index: 20;
  color: var(--f-toolbar-color, currentColor);
  font-size: var(--f-toolbar-font-size, 17px);
  font-weight: var(--f-toolbar-font-weight, inherit);
  font-family: var(--f-toolbar-font, -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif);
  text-shadow: var(--f-toolbar-text-shadow);
  text-align: center;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: subpixel-antialiased;
  white-space: nowrap;
  pointer-events: none;
}
.f-carousel__toolbar.is-absolute {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.f-carousel__toolbar__column {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: var(--f-toolbar-gap, 0);
  pointer-events: none;
}
.f-carousel__toolbar__column.is-left {
  justify-self: flex-start;
  justify-content: flex-start;
}
.f-carousel__toolbar__column.is-middle {
  justify-content: center;
}
.f-carousel__toolbar__column.is-right {
  justify-self: flex-end;
  justify-content: flex-end;
  flex-flow: nowrap;
}
.f-carousel__toolbar__column > * {
  pointer-events: all;
}

.f-carousel:has(.f-carousel__slide.is-fullsize) [data-panzoom-action=toggleFull] g {
  display: none;
}

[data-autoplay-action=toggle] svg g:first-child {
  display: flex;
}
[data-autoplay-action=toggle] svg g:last-child {
  display: none;
}

.has-autoplay [data-autoplay-action=toggle] svg g:first-child,
:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:first-child {
  display: none;
}
.has-autoplay [data-autoplay-action=toggle] svg g:last-child,
:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:last-child {
  display: flex;
}

.f-carousel__counter {
  position: relative;
  display: flex;
  flex-direction: row;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin: var(--f-counter-margin, 0);
  padding: var(--f-counter-padding, 4px);
  line-height: var(--f-counter-line-height);
  background: var(--f-counter-bg);
  border-radius: var(--f-counter-border-radius);
}
.f-carousel__counter span {
  padding: 0 var(--f-counter-gap, 4px);
}

:root {
  --f-thumbs-gap: 8px;
  --f-thumbs-margin: 0;
  --f-thumbs-padding-x: 8px;
  --f-thumbs-padding-y: 8px;
  --f-thumbs-z-index: 1;
  --f-thumb-width: 96px;
  --f-thumb-height: 72px;
  --f-thumb-fit: cover;
  --f-thumb-opacity: 1;
  --f-thumb-transition: opacity 0.3s ease, transform 0.15s ease;
  --f-thumb-border: none;
  --f-thumb-border-radius: 4px;
  --f-thumb-transfors: none;
  --f-thumb-shadow: none;
  --f-thumb-bg: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05));
  --f-thumb-focus-shadow: inset 0 0 0 0.8px #222, inset 0 0 0 2.25px #fff;
  --f-thumb-selected-shadow: inset 0 0 0 0.8px #222, inset 0 0 0 2.25px #fff;
}

.f-thumbs {
  --f-carousel-slide-width: calc(var(--f-thumb-width) + var(--f-thumbs-gap));
  --f-carousel-slide-height: calc(var(--f-thumb-height) + var(--f-thumbs-gap));
  --f-carousel-gap: 0;
  flex-shrink: 0;
  max-height: calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y) * 2);
  margin: var(--f-thumbs-margin);
  padding: 0;
  background: var(--f-thumbs-bg);
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: max-height 0.3s ease;
  z-index: var(--f-thumbs-z-index);
  overflow: hidden;
}

.f-thumbs__viewport {
  margin: var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);
  overflow: visible;
  display: grid;
}

.f-thumbs__slide {
  position: relative;
  grid-area: 1/1;
  display: flex;
  align-items: center;
  flex-direction: column;
  width: var(--f-carousel-slide-width);
  height: var(--f-carousel-slide-height);
  margin: 0;
  padding: calc(var(--f-thumbs-gap) * 0.5);
  cursor: pointer;
  overflow: visible;
}
.f-thumbs__slide:hover button {
  opacity: var(--f-thumb-hover-opacity, 1);
  transform: var(--f-thumb-hover-transform, none);
}
.f-thumbs__slide:hover button:after {
  border: var(--f-thumb-hover-border, none);
  box-shadow: var(--f-thumb-hover-shadow, var(--f-thumb-shadow));
}
.f-thumbs__slide button {
  all: unset;
  margin: auto;
  padding: 0;
  position: relative;
  overflow: visible;
  width: 100%;
  height: 100%;
  outline: none;
  transition: var(--f-thumb-transition);
  border-radius: var(--f-thumb-border-radius);
  opacity: var(--f-thumb-opacity);
  transform: var(--f-thumb-transform);
  background: var(--f-thumb-bg);
}
.f-thumbs__slide button:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: none;
  border-radius: inherit;
  border: var(--f-thumb-border);
  box-shadow: var(--f-thumb-shadow);
}
.f-thumbs__slide button:focus-within {
  opacity: var(--f-thumb-focus-opacity, 1);
  transform: var(--f-thumb-focus-transform, none);
}
.f-thumbs__slide button:focus-within:after {
  border: var(--f-thumb-focus-border, none);
  box-shadow: var(--f-thumb-focus-shadow, var(--f-thumb-shadow));
}
.f-thumbs__slide:active {
  opacity: var(--f-thumb-active-opacity, 1);
  transform: var(--f-thumb-active-transform, none);
}
.f-thumbs__slide:active:after {
  border: var(--f-thumb-active-border, none);
  box-shadow: var(--f-thumb-active-shadow, var(--f-thumb-shadow));
}
.f-thumbs__slide.is-selected {
  z-index: 2;
}
.f-thumbs__slide.is-selected button {
  opacity: var(--f-thumb-selected-opacity, 1);
  transform: var(--f-thumb-selected-transform, none);
}
.f-thumbs__slide.is-selected button:after {
  border: var(--f-thumb-selected-border, none);
  box-shadow: var(--f-thumb-selected-shadow, var(--f-thumb-shadow));
}
.f-thumbs__slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: var(--f-thumb-fit);
     object-fit: var(--f-thumb-fit);
  border-radius: inherit;
  pointer-events: none;
}
.f-thumbs__slide img.has-lazyerror {
  display: none;
}

.f-thumbs.is-modern {
  --f-thumb-clip-width: 46px;
  --f-thumb-extra-gap: 16px;
  --f-carousel-slide-width: calc(var(--f-thumb-clip-width) + var(--f-thumbs-gap));
  --f-carousel-slide-height: var(--f-thumb-height);
  --width-diff: calc((var(--f-thumb-width) - var(--f-thumb-clip-width)));
  --f-transition-duration: 0.25s;
  --f-transition-easing: ease-out;
}
.f-thumbs.is-modern .f-thumbs__viewport {
  width: calc(100% + var(--width-diff) * 2);
  margin-left: calc(var(--width-diff) * -1);
}
.f-thumbs.is-modern .f-thumbs__slide {
  --clip-shift: calc((var(--width-diff) * 0.5) * var(--progress));
  --clip-path: inset(0 var(--clip-shift) round var(--f-thumb-border-radius, 0));
  padding: 0;
  overflow: visible;
  left: var(--shift, 0);
  will-change: left;
  transition: left var(--f-transition-duration) var(--f-transition-easing);
}
.f-thumbs.is-modern .f-thumbs__slide button {
  display: block;
  margin-left: -50%;
  width: var(--f-thumb-width);
  clip-path: var(--clip-path);
  border: none;
  box-shadow: none;
  transition: clip-path var(--f-transition-duration) var(--f-transition-easing), opacity var(--f-thumb-transition-duration, 0.2s) var(--f-thumb-transition-easing, ease);
}
.f-thumbs.is-modern .f-thumbs__slide button:after {
  display: none;
}
.f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible) {
  outline: none;
}
.f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: var(--clip-shift);
  bottom: 0;
  right: var(--clip-shift);
  transition: border var(--f-transition-duration) var(--f-transition-easing), box-shadow var(--f-transition-duration) var(--f-transition-easing);
  border-radius: inherit;
  border: var(--f-thumb-focus-border, none);
  box-shadow: var(--f-thumb-focus-shadow, none);
}
.f-thumbs.is-modern.is-syncing {
  --f-transition-duration: 0s;
}

.f-progressbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  height: var(--f-progressbar-height, 3px);
  transform: scaleX(0);
  transform-origin: 0;
  background: var(--f-progressbar-color, var(--f-carousel-theme-color, #575ad6));
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  animation-name: f-progressbar;
  animation-play-state: running;
  animation-timing-function: linear;
}

@keyframes f-progressbar {
  0% {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
[data-fullscreen-action=toggle] svg g:first-child {
  display: flex;
}
[data-fullscreen-action=toggle] svg g:last-child {
  display: none;
}

:fullscreen [data-fullscreen-action=toggle] svg g:first-child {
  display: none;
}
:fullscreen [data-fullscreen-action=toggle] svg g:last-child {
  display: flex;
}

.in-fullscreen-mode > .f-carousel {
  flex: 1;
  min-width: 0 !important;
  min-height: 0 !important;
}

html.with-fancybox {
  width: auto;
  overflow: visible;
  scroll-behavior: auto;
}
html.with-fancybox body {
  touch-action: none;
}
html.with-fancybox body.hide-scrollbar {
  width: auto;
  margin-right: calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));
  overflow: hidden !important;
  overscroll-behavior-y: none;
}

.fancybox__dialog {
  width: 100%;
  height: 100vh;
  max-height: unset;
  max-width: unset;
  padding: 0;
  margin: 0;
  border: 0;
  overflow: hidden;
  background: transparent;
}
.fancybox__dialog:focus {
  outline: none;
}
.fancybox__dialog::backdrop {
  opacity: 0;
}

@supports (height: 100dvh) {
  .fancybox__dialog {
    height: 100dvh;
  }
}
.fancybox__container {
  --fancybox-color: #dbdbdb;
  --fancybox-backdrop-bg: rgba(255, 255, 255, 0.8);
  --f-toolbar-margin: 0;
  --f-toolbar-padding: 8px;
  --f-toolbar-gap: 0;
  --f-toolbar-color: #ddd;
  --f-toolbar-font-size: 16px;
  --f-toolbar-font-weight: 500;
  --f-toolbar-font: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;
  --f-toolbar-line-height: var(--f-button-height);
  --f-toolbar-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75);
  --f-toolbar-shadow: none;
  --f-toolbar-bg: none;
  --f-counter-margin: 0;
  --f-counter-padding: 0px 10px;
  --f-counter-gap: 4px;
  --f-counter-line-height: var(--f-button-height);
  --f-carousel-gap: 17px;
  --f-carousel-slide-width: 100%;
  --f-carousel-slide-height: 100%;
  --f-carousel-slide-padding: 0;
  --f-carousel-slide-bg: unset;
  --f-html-color: #222;
  --f-html-bg: #fff;
  --f-error-color: #fff;
  --f-error-bg: #333;
  --f-caption-margin: 0;
  --f-caption-padding: 0;
  --f-caption-color: #148377;
  --f-caption-bg: transparent;
  --f-caption-font: inherit;
  --f-caption-line-height: 1.375;
  --f-spinner-color-1: rgba(255, 255, 255, 0.2);
  --f-spinner-color-2: rgba(255, 255, 255, 0.8);
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-border-radius: 50%;
  --f-spinner-border-width: 4px;
  --f-progressbar-color: rgba(255, 255, 255, 0.2);
  --f-button-width: 46px;
  --f-button-height: 46px;
  --f-button-color: #999;
  --f-button-hover-color: #666;
  --f-button-outline-width: 1px;
  --f-button-outline-color: rgba(255, 255, 255, 0.75);
  --f-button-outline-offset: 0px;
  --f-button-bg: rgba(54, 54, 54, 0);
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-shadow: none;
  --f-button-transition: all 0.2s ease;
  --f-button-transform: none;
  --f-button-svg-width: 24px;
  --f-button-svg-height: 24px;
  --f-button-svg-stroke-width: 1.75;
  --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.01)),
      drop-shadow(1px 2px 1px rgba(24, 24, 27, 0.05));
  --f-button-svg-fill: none;
  --f-button-svg-disabled-opacity: 0.5;
  --f-arrow-pos: 0;
  --f-arrow-width: 50px;
  --f-arrow-height: 50px;
  --f-arrow-svg-width: 24px;
  --f-arrow-svg-height: 24px;
  --f-arrow-svg-stroke-width: 2;
  --f-arrow-border-radius: 50%;
  --f-arrow-bg: rgba(54, 54, 54, 0);
  --f-arrow-color: #148377;
  --f-arrow-hover-color: #148377;
  --f-thumbs-margin: 0px;
  --f-thumbs-padding-x: 8px;
  --f-thumbs-padding-y: 8px;
  --f-thumbs-bg: none;
  --f-thumb-transition: all 0.2s ease;
  --f-thumb-width: 94px;
  --f-thumb-height: 76px;
  --f-thumb-opacity: 1;
  --f-thumb-border: none;
  --f-thumb-shadow: none;
  --f-thumb-transform: none;
  --f-thumb-focus-opacity: 1;
  --f-thumb-focus-border: none;
  --f-thumb-focus-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.65);
  --f-thumb-focus-transform: none;
  --f-thumb-hover-opacity: 1;
  --f-thumb-hover-border: none;
  --f-thumb-hover-transform: none;
  --f-thumb-active-opacity: var(--f-thumb-hover-opacity);
  --f-thumb-active-border: var(--f-thumb-hover-border);
  --f-thumb-active-transform: var(--f-thumb-hover-transform);
  --f-thumb-selected-opacity: 1;
  --f-thumb-selected-border: none;
  --f-thumb-selected-shadow: inset 0 0 0 2px #fff;
  --f-thumb-selected-transform: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  outline: none;
  display: flex;
  flex-direction: column;
}
@media (min-width: 992px) {
  .fancybox__container {
    --f-arrow-pos: 32px;
  }
}
.fancybox__container[theme=light] {
  --fancybox-color: #222;
  --fancybox-backdrop-bg: rgba(255, 255, 255, 0.97);
  --f-toolbar-color: var(--fancybox-color, #222);
  --f-toolbar-text-shadow: none;
  --f-toolbar-font-weight: 400;
  --f-html-color: var(--fancybox-color, #222);
  --f-html-bg: #fff;
  --f-error-color: #555;
  --f-error-bg: #fff;
  --f-video-bg: #fff;
  --f-caption-color: #333;
  --f-spinner-color-1: rgba(0, 0, 0, 0.2);
  --f-spinner-color-2: rgba(0, 0, 0, 0.8);
  --f-spinner-border-width: 3.5px;
  --f-progressbar-color: rgba(111, 111, 116, 0.2);
  --f-button-color: #333;
  --f-button-hover-color: #000;
  --f-button-outline-color: rgba(0, 0, 0, 0.85);
  --f-button-bg: rgba(255, 255, 255, 0.85);
  --f-button-svg-stroke-width: 1.3;
  --f-button-svg-filter: none;
  --f-arrow-bg: rgba(54, 54, 54, 0);
  --f-arrow-color: #148377;
  --f-arrow-hover-color: #148377;
  --f-arrow-svg-stroke-width: 1.3;
  --f-close-button-color: #555;
  --f-close-button-hover-color: #000;
  --f-thumb-bg: linear-gradient(#ebeff2, #e2e8f0);
  --f-thumb-focus-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #888;
  --f-thumb-selected-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #000;
}
.fancybox__container::backdrop {
  background-color: transparent;
}
.fancybox__container > *:not(.fancybox__carousel) {
  opacity: var(--f-drag-opacity, 1);
}
.fancybox__container .fancybox__carousel > *:not(.fancybox__viewport) {
  opacity: var(--f-drag-opacity, 1);
}
.fancybox__container .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected), .fancybox__container .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html, .f-panzoom__wrapper, .f-spinner) {
  opacity: var(--f-drag-opacity, 1);
}
.fancybox__container:not(.is-ready, .is-hiding) {
  visibility: hidden;
}
.fancybox__container.is-revealing > *:not(.fancybox__carousel) {
  animation: var(--f-interface-enter-duration, 0.35s) ease none f-fadeIn;
}
.fancybox__container.is-revealing .fancybox__carousel > *:not(.fancybox__viewport) {
  animation: var(--f-interface-enter-duration, 0.35s) ease none f-fadeIn;
}
.fancybox__container.is-revealing .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected), .fancybox__container.is-revealing .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html, .f-panzoom__wrapper, .f-spinner) {
  animation: var(--f-interface-enter-duration, 0.35s) ease none f-fadeIn;
}
.fancybox__container.is-hiding > *:not(.fancybox__carousel) {
  animation: var(--f-interface-exit-duration, 0.35s) ease forwards f-fadeOut;
}
.fancybox__container.is-hiding .fancybox__carousel > *:not(.fancybox__viewport) {
  animation: var(--f-interface-exit-duration, 0.35s) ease forwards f-fadeOut;
}
.fancybox__container.is-hiding .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected), .fancybox__container.is-hiding .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html, .f-panzoom__wrapper) {
  animation: var(--f-interface-exit-duration, 0.35s) ease forwards f-fadeOut;
}
.fancybox__container.is-idle .f-carousel__toolbar {
  pointer-events: none;
  opacity: 0;
}
.fancybox__container.is-idle .f-button.is-arrow {
  opacity: 0;
}
.fancybox__container.is-idle.is-ready .f-carousel__toolbar {
  pointer-events: none;
  animation: 0.15s ease-out both f-fadeOut;
}
.fancybox__container.is-idle.is-ready .f-button.is-arrow {
  animation: 0.15s ease-out both f-fadeOut;
}

.fancybox__backdrop {
  position: fixed;
  inset: 0;
  z-index: -1;
  background: var(--fancybox-backdrop-bg);
  -webkit-backdrop-filter: blur(0.5rem);
          backdrop-filter: blur(0.5rem);
}

.fancybox__carousel {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  position: relative;
  z-index: 10;
  overflow-y: visible;
  overflow-x: clip;
}
.fancybox__carousel.is-vertical {
  --f-carousel-slide-height: 100%;
}
.fancybox__carousel.is-ltr {
  direction: ltr;
}
.fancybox__carousel.is-rtl {
  direction: rtl;
}
.fancybox__carousel > .f-progressbar {
  background-color: var(--fancybox-color);
}

.fancybox__viewport {
  display: grid;
  flex: 1;
  min-height: 0;
  min-width: 0;
  position: relative;
  overflow: visible;
  transform: translate3d(0, var(--f-drag-offset, 0), 0);
}
.fancybox__viewport.is-draggable {
  cursor: move;
  cursor: grab;
}
.fancybox__viewport.is-dragging {
  cursor: move;
  cursor: grabbing;
}
.fancybox__viewport [data-selectable],
.fancybox__viewport [contenteditable] {
  cursor: auto;
}

.fancybox__slide {
  box-sizing: border-box;
  position: relative;
  grid-area: 1/1;
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  gap: 1.25rem;
  width: var(--f-carousel-slide-width);
  height: var(--f-carousel-slide-height);
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  margin: 0;
  background: var(--f-carousel-slide-bg);
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
  padding: 3.25rem;
}
@media (min-width: 992px) {
  .fancybox__slide {
    gap: 2.5rem;
    padding: 7rem;
  }
}
.fancybox__slide:before, .fancybox__slide:after {
  display: block;
  content: "";
}
.fancybox__slide:before {
  margin-bottom: auto;
}
.fancybox__slide:after {
  margin-top: auto;
}
.fancybox__slide.is-selected {
  z-index: 1;
}
.fancybox__slide.f-zoomable {
  overflow: visible;
}
.fancybox__slide.has-error {
  --f-html-color: var(--f-error-color, --f-html-color);
  --f-html-bg: var(--f-error-bg, --f-html-bg);
}
.fancybox__slide.has-html {
  overflow: auto;
  padding: 8px;
}
.fancybox__slide.has-close-btn {
  padding-top: 34px;
}
.fancybox__slide .f-button[data-fancybox-close] {
  --f-close-button-color: transparent;
  --f-close-button-hover-color: transparent;
  --f-button-width: var(--f-close-button-width, 34px);
  --f-button-height: var(--f-close-button-height, 34px);
  --f-button-border-radius: var(--f-close-border-radius, 4px);
  --f-button-color: var(--f-close-button-color, #fff);
  --f-button-hover-color: var(--f-close-button-hover-color, #fff);
  --f-button-bg: var(--f-close-button-bg, transparent);
  --f-button-hover-bg: var(--f-close-button-hover-bg, transparent);
  --f-button-active-bg: var(--f-close-button-active-bg, transparent);
  --f-button-svg-width: var(--f-close-button-svg-width, 22px);
  --f-button-svg-height: var(--f-close-button-svg-height, 22px);
  position: absolute;
  top: calc(var(--f-button-height) * -1);
  right: 0;
  z-index: 40;
}
.fancybox__slide .f-spinner {
  cursor: pointer;
}

.fancybox__container.is-closing .f-caption,
.fancybox__slide.is-loading .f-caption {
  visibility: hidden;
}
