/*!
 * Bootstrap v5.2.0 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
/** bootstrap variables **/

.col-form-label {
  padding-top: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #9e95c0;
  outline: 0;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(61, 42, 128, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  box-shadow: var(--bs-btn-box-shadow);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow);
}
 :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
  box-shadow: var(--bs-btn-active-shadow);
}
 :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible {
  box-shadow: var(--bs-btn-active-shadow), var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
  box-shadow: none;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #3d2a80;
  --bs-btn-border-color: #3d2a80;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #34246d;
  --bs-btn-hover-border-color: #312266;
  --bs-btn-focus-shadow-rgb: 90, 74, 147;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #312266;
  --bs-btn-active-border-color: #2e2060;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #3d2a80;
  --bs-btn-disabled-border-color: #3d2a80;
}

.btn-white {
  --bs-btn-color: #000;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: white;
  --bs-btn-hover-border-color: white;
  --bs-btn-focus-shadow-rgb: 217, 217, 217;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: white;
  --bs-btn-active-border-color: white;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: #fff;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 90, 74, 147;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-sm {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

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

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23181133'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-border-color: #9e95c0;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(61, 42, 128, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  border-color: var(--bs-accordion-btn-focus-border-color);
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: var(--bs-border-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}
.progress {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #3d2a80;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
  box-shadow: var(--bs-progress-box-shadow);
}

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

/** non bootstrap variables **/
/** bootstrap variables **/
.ff-serif {
  font-family: optima-nova, Georgia, "Times New Roman", Times, sans-serif;
}

.fs-80 {
  font-size: 0.8em;
}

.fs-75 {
  font-size: 0.75em;
}

@keyframes force-repaint-clip {
  from {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 99.5%, 0 99.5%);
  }
}
.screen {
  z-index: 1;
  position: relative;
  transition: min-height 1s ease, height 1s ease;
}
.screen .screen-fixed-background {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
  overflow: hidden;
  background: center center fixed;
  background-size: cover;
}
.screen .screen-fixed-background + * {
  position: relative;
  z-index: 1;
}

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

.screen-full-lvh {
  min-height: 100vh;
}

.screen-full {
  min-height: var(--vh);
}

.screen-safe-area {
  padding-left: var(--screen-safe-area-left);
  padding-right: var(--screen-safe-area-right);
}

:root {
  --bs-container-margin-x: max(0px, calc((100vw - 2rem - 2rem - var(--bs-container-width) - var(--bs-gutter-x, 0.75rem) - var(--bs-gutter-x, 0.75rem)) * 0.5) );
  --screen-safe-area-left: 2rem;
  --screen-safe-area-right: 2rem;
  --hh: 3.5rem;
  --nhh: -3.5rem;
  --nfh: -4.375rem;
  --fh: 4.375rem;
}

@media (min-width: 480px) {
  :root {
    --bs-container-margin-x: max(0px, calc((100vw - 6rem - 2rem - var(--bs-container-width) - var(--bs-gutter-x, 0.75rem) - var(--bs-gutter-x, 0.75rem)) * 0.5) );
    --screen-safe-area-left: 6rem;
    --screen-safe-area-right: 2rem;
    --hh: 5.72rem;
    --nhh: -5.72rem;
    --nfh: -7.15rem;
    --fh: 7.15rem;
  }
}
@media (min-width: 768px) {
  :root {
    --bs-container-margin-x: max(0px, calc((100vw - 6rem - 2rem - var(--bs-container-width) - var(--bs-gutter-x, 0.75rem) - var(--bs-gutter-x, 0.75rem)) * 0.5) );
    --screen-safe-area-left: 6rem;
    --screen-safe-area-right: 2rem;
    --hh: 5.72rem;
    --nhh: -5.72rem;
    --nfh: -7.15rem;
    --fh: 7.15rem;
  }
}
@media (min-width: 992px) {
  :root {
    --bs-container-margin-x: max(0px, calc((100vw - 6rem - 2rem - var(--bs-container-width) - var(--bs-gutter-x, 0.75rem) - var(--bs-gutter-x, 0.75rem)) * 0.5) );
    --screen-safe-area-left: 6rem;
    --screen-safe-area-right: 2rem;
    --hh: 5.72rem;
    --nhh: -5.72rem;
    --nfh: -7.15rem;
    --fh: 7.15rem;
  }
}
@media (min-width: 1200px) {
  :root {
    --bs-container-margin-x: max(0px, calc((100vw - 6rem - 4rem - var(--bs-container-width) - var(--bs-gutter-x, 0.75rem) - var(--bs-gutter-x, 0.75rem)) * 0.5) );
    --screen-safe-area-left: 6rem;
    --screen-safe-area-right: 4rem;
    --hh: 5.72rem;
    --nhh: -5.72rem;
    --nfh: -7.15rem;
    --fh: 7.15rem;
  }
}
@media (min-width: 1500px) {
  :root {
    --bs-container-margin-x: max(0px, calc((100vw - 6rem - 4rem - var(--bs-container-width) - var(--bs-gutter-x, 0.75rem) - var(--bs-gutter-x, 0.75rem)) * 0.5) );
    --screen-safe-area-left: 6rem;
    --screen-safe-area-right: 4rem;
    --hh: 5.72rem;
    --nhh: -5.72rem;
    --nfh: -7.15rem;
    --fh: 7.15rem;
  }
}
@media (min-width: 1800px) {
  :root {
    --bs-container-margin-x: max(0px, calc((100vw - 6rem - 4rem - var(--bs-container-width) - var(--bs-gutter-x, 0.75rem) - var(--bs-gutter-x, 0.75rem)) * 0.5) );
    --screen-safe-area-left: 6rem;
    --screen-safe-area-right: 4rem;
    --hh: 5.72rem;
    --nhh: -5.72rem;
    --nfh: -7.15rem;
    --fh: 7.15rem;
  }
}
@media (min-width: 2200px) {
  :root {
    --bs-container-margin-x: max(0px, calc((100vw - 6rem - 4rem - var(--bs-container-width) - var(--bs-gutter-x, 0.75rem) - var(--bs-gutter-x, 0.75rem)) * 0.5) );
    --screen-safe-area-left: 6rem;
    --screen-safe-area-right: 4rem;
    --hh: 5.72rem;
    --nhh: -5.72rem;
    --nfh: -7.15rem;
    --fh: 7.15rem;
  }
}
/** bootstrap variables **/
/** bootstrap variables **/

.grid-column-3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.grid-column-2 {
  grid-template-columns: 1fr 1fr;
}
@media (min-width: 768px) {
  .grid-column-md-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .grid-column-md-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
/** bootstrap variables **/
:root {
  --padding-rail-left: max(var(--bs-gutter-x, 0.75rem), calc(calc(147px + 3.5rem) + var(--bs-gutter-x, 0.75rem) - var(--bs-container-margin-x)));
  --padding-rail-right: max(var(--bs-gutter-x, 0.75rem), calc(calc(147px + 3.5rem) + var(--bs-gutter-x, 0.75rem) - var(--bs-container-margin-x)));
}

.rail-start {
  padding-left: calc(147px + 3.5rem);
}

.rail-end {
  padding-right: calc(147px + 3.5rem);
}

.container.rail-start {
  padding-left: var(--padding-rail-left);
}
.container.rail-end {
  padding-right: var(--padding-rail-right);
}

@media (min-width: 480px) {
  :root {
    --bs-container-width: 640px;
  }
}
@media (min-width: 768px) {
  :root {
    --bs-container-width: 720px;
  }
  .rail-md-start {
    padding-left: calc(147px + 3.5rem);
  }
  .container.rail-md-start,
  .container-lg.rail-md-start {
    padding-left: var(--padding-rail-left);
  }
}
@media (min-width: 992px) {
  :root {
    --bs-container-width: 960px;
  }
  .rail-lg-start {
    padding-left: calc(147px + 3.5rem);
  }
  .rail-lg-end {
    padding-right: calc(147px + 3.5rem);
  }
  .container.rail-lg-start,
  .container-lg.rail-lg-start {
    padding-left: var(--padding-rail-left);
  }
  .container.rail-lg-end,
  .container-lg.rail-lg-end {
    padding-right: var(--padding-rail-right);
  }
}
@media (min-width: 1200px) {
  :root {
    --bs-container-width: 1140px;
  }
  .rail-xl-start {
    padding-left: calc(147px + 3.5rem);
  }
  .rail-xl-end {
    padding-right: calc(147px + 3.5rem);
  }
  .container.rail-xl-start,
  .container-lg.rail-xl-start {
    padding-left: var(--padding-rail-left);
  }
  .container.rail-xl-end,
  .container-lg.rail-xl-end {
    padding-right: var(--padding-rail-right);
  }
}
@media (min-width: 1500px) {
  :root {
    --bs-container-width: 1320px;
  }
  .rail-xxl-end {
    padding-right: calc(147px + 3.5rem);
  }
  .container.rail-xxl-end,
  .container-lg.rail-xxl-end {
    padding-right: var(--padding-rail-right);
  }
}
@media (min-width: 1800px) {
  :root {
    --bs-container-width: 1620px;
  }
}
@media (min-width: 2200px) {
  :root {
    --bs-container-width: 2000px;
  }
}
/** bootstrap variables **/
/*
.fade-top{
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);

  > div:first-child{
    margin-top: var(--nfh);
  }

  > div:last-child{
    margin-bottom: var(--nfh);
  }
}*/

.fade-spacer-bottom:after,
.fade-top:before,
.fade-bottom:after {
  content: "";
  display: block;
  position: sticky;
  left: 0;
  right: 0;
  height: var(--fh);
  z-index: 1;
}


.fade-top:before {
  top: -1px;
}

.fade-spacer-bottom:after,
.fade-bottom:after {
  bottom: -1px;
}


.fade-spacer-bottom:after {
  position: relative;
}

.fade-top:before {
  background-image: linear-gradient(180deg, #FFF 0%, #FFF 80%, rgba(255, 255, 255, 0) 100%);
}

.fade-bottom:after {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFF 20%, #FFF 100%);
}

.bg-primary .fade-top:before,
.bg-primary.fade-top:before {
  background-image: linear-gradient(180deg, #3d2a80 0%, #3d2a80 80%, rgba(61, 42, 128, 0) 100%);
}

.bg-primary .fade-bottom:after,
.bg-primary.fade-bottom:after {
  background-image: linear-gradient(180deg, rgba(61, 42, 128, 0) 0%, #3d2a80 20%, #3d2a80 100%);
}

.bg-secondary .fade-top:before,
.bg-secondary.fade-top:before {
  background-image: linear-gradient(180deg, #6E4A83 0%, #6E4A83 80%, rgba(110, 74, 131, 0) 100%);
}

.bg-secondary .fade-bottom:after,
.bg-secondary.fade-bottom:after {
  background-image: linear-gradient(180deg, rgba(110, 74, 131, 0) 0%, #6E4A83 20%, #6E4A83 100%);
}

.bg-light .fade-top:before,
.bg-light.fade-top:before {
  background-image: linear-gradient(180deg, #EEEEEE 0%, #EEEEEE 80%, rgba(238, 238, 238, 0) 100%);
}

.bg-light .fade-bottom:after,
.bg-light.fade-bottom:after {
  background-image: linear-gradient(180deg, rgba(238, 238, 238, 0) 0%, #EEEEEE 20%, #EEEEEE 100%);
}

.bg-dark .fade-top:before,
.bg-dark.fade-top:before {
  background-image: linear-gradient(180deg, #2c2659 0%, #2c2659 80%, rgba(44, 38, 89, 0) 100%);
}

.bg-dark .fade-bottom:after,
.bg-dark.fade-bottom:after {
  background-image: linear-gradient(180deg, rgba(44, 38, 89, 0) 0%, #2c2659 20%, #2c2659 100%);
}

.bg-black .fade-top:before,
.bg-black.fade-top:before,
.fade-top.fade-black:before {
  background-image: linear-gradient(180deg, #000 0%, #000 80%, rgba(0, 0, 0, 0) 100%);
}

.bg-black .fade-bottom:after,
.bg-black.fade-bottom:after,
.fade-bottom.fade-black:after {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 20%, #000 100%);
}

.bg-white .fade-top:before,
.bg-white.fade-top:before {
  background-image: linear-gradient(180deg, #fff 0%, #fff 80%, rgba(255, 255, 255, 0) 100%);
}

.bg-white .fade-bottom:after,
.bg-white.fade-bottom:after {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 20%, #fff 100%);
}
@media (min-width: 768px) {
  .fade-spacer-md-top:before,
  .fade-spacer-md-bottom:after,
  .fade-md-top:before {
    content: "";
    display: block;
    position: sticky;
    left: 0;
    right: 0;
    height: calc(var(--hh) * 1.25);
    z-index: 1;
  }
  .fade-spacer-md-top:before,
  .fade-md-top:before {
    top: -1px;
  }
  .fade-spacer-md-bottom:after {
    bottom: -1px;
  }
  .fade-spacer-md-top:before,
  .fade-spacer-md-bottom:after {
    background: none !important;
    position: relative;
  }
  .fade-none-md-top:before,
  .fade-none-md-bottom:after {
    display: none;
  }
  .bg-primary .fade-md-top:before {
    background-image: linear-gradient(180deg, #3d2a80 0%, #3d2a80 80%, rgba(61, 42, 128, 0) 100%);
  }
  .bg-secondary .fade-md-top:before {
    background-image: linear-gradient(180deg, #6E4A83 0%, #6E4A83 80%, rgba(110, 74, 131, 0) 100%);
  }
  .bg-light .fade-md-top:before {
    background-image: linear-gradient(180deg, #EEEEEE 0%, #EEEEEE 80%, rgba(238, 238, 238, 0) 100%);
  }
  .bg-dark .fade-md-top:before {
    background-image: linear-gradient(180deg, #2c2659 0%, #2c2659 80%, rgba(44, 38, 89, 0) 100%);
  }
  .bg-black .fade-md-top:before {
    background-image: linear-gradient(180deg, #000 0%, #000 80%, rgba(0, 0, 0, 0) 100%);
  }
  .bg-white .fade-md-top:before {
    background-image: linear-gradient(180deg, #fff 0%, #fff 80%, rgba(255, 255, 255, 0) 100%);
  }
}
@media (min-width: 992px) {
  .fade-spacer-lg-top:before {
    content: "";
    display: block;
    position: sticky;
    left: 0;
    right: 0;
    height: calc(var(--hh) * 1.25);
    z-index: 1;
  }
  .fade-spacer-lg-top:before {
    top: -1px;
  }
  .fade-spacer-lg-top:before {
    background: none !important;
    position: relative;
  }
  .fade-none-lg-top:before,
  .fade-none-lg-bottom:after {
    display: none;
  }
}
@media (min-width: 1200px) {
  .fade-spacer-xl-top:before {
    content: "";
    display: block;
    position: sticky;
    left: 0;
    right: 0;
    height: calc(var(--hh) * 1.25);
    z-index: 1;
  }
  .fade-spacer-xl-top:before {
    top: -1px;
  }
  .fade-spacer-xl-top:before {
    background: none !important;
    position: relative;
  }
  .fade-none-xl-top:before,
  .fade-none-xl-bottom:after {
    display: none;
  }
}
/** bootstrap variables **/

/** bootstrap variables **/
.blend-mode-screen {
  mix-blend-mode: screen;
}

.blend-mode-multiply {
  mix-blend-mode: multiply;
}

/** responsive text styling **/
@media (min-width: 768px) {
  .text-md-nowrap {
    white-space: nowrap !important;
  }
}

.fs-80 {
  font-size: 0.8em;
}

.fs-75 {
  font-size: 0.75em;
}

.ff-serif {
  font-family: optima-nova, Georgia, "Times New Roman", Times, sans-serif;
}

.display-1,
.display-3,
.display-5,
.display-6 {
  font-family: optima-nova, Georgia, "Times New Roman", Times, sans-serif;
}

.display-6 {
  line-height: 1.5;
}

/*
100 - header
90 - instruction
10 - beyond limit
4 - text mask
3 - stamp, text, vision
2 - init cover
0 - background circle
 */
@media (max-width: 479.98px) {
  :root {
    --bs-body-line-height: 1.2;
  }
  p {
    margin-bottom: 1.5rem;
  }
}
