/* ========================================================================
   BS Base
 ========================================================================== */

:root {
  --bs-border-radius: 0.5rem;
  --bs-border-radius-sm: 0.375rem;
  --bs-border-radius-lg: 0.75rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 1.25rem;
  --bs-border-radius-2xl: 1.5rem;
}

/* ========================================================================
   BS Container
 ========================================================================== */

/* ========================================================================
   BS Table
 ========================================================================== */

/* ========================================================================
   BS Form
 ========================================================================== */

.form-label {
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
}

.form-control {
  padding: 0.75rem 0.75rem;
  border-radius: 0.5rem;
}

.form-control-sm {
  padding: 0.5rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.25rem;
}

.form-control-lg {
  padding: 1rem 1rem;
  font-size: 1rem;
  border-radius: 0.75rem;
}

.form-select {
  padding: 0.75rem 2.25rem 0.75rem 0.75rem;
  font-size: 1rem;
  border-radius: 0.5rem;
}

.form-select-sm {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
}

.form-select-lg {
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  font-size: 1rem;
  border-radius: 0.75rem;
}

.form-floating > label {
  padding: 1rem 1rem;
}

.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  border-radius: 0.75rem;
  padding: 1rem 1rem;
}

/* ========================================================================
   BS Button
 ========================================================================== */

.btn {
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: 0.75rem;
  --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: 0.5rem;
  --bs-btn-hover-color: var(--bs-body-color);
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: var(--bs-border-color);
  --bs-btn-active-color: var(--bs-body-color);
  --bs-btn-active-bg: var(--bs-body-bg);
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem
    rgba(var(--bs-btn-focus-shadow-rgb), 0.5);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #ea1c26;
  --bs-btn-border-color: #ea1c26;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #c71820;
  --bs-btn-hover-border-color: #bb161e;
  --bs-btn-focus-shadow-rgb: 237, 62, 71;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #bb161e;
  --bs-btn-active-border-color: #b0151d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #ea1c26;
  --bs-btn-disabled-border-color: #ea1c26;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1c1f23;
  --bs-btn-hover-border-color: #1a1e21;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1a1e21;
  --bs-btn-active-border-color: #191c1f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #2fb380;
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #28986d;
  --bs-btn-hover-border-color: var(--bs-border-color);
  --bs-btn-focus-shadow-rgb: 78, 190, 147;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #268f66;
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #2fb380;
  --bs-btn-disabled-border-color: var(--bs-border-color);
}

.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #287bb5;
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #22699a;
  --bs-btn-hover-border-color: var(--bs-border-color);
  --bs-btn-focus-shadow-rgb: 72, 143, 192;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #206291;
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #287bb5;
  --bs-btn-disabled-border-color: var(--bs-border-color);
}

.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-bg: #f4bd61;
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #cfa152;
  --bs-btn-hover-border-color: var(--bs-border-color);
  --bs-btn-focus-shadow-rgb: 246, 199, 121;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #c3974e;
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #f4bd61;
  --bs-btn-disabled-border-color: var(--bs-border-color);
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #da292e;
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #b92327;
  --bs-btn-hover-border-color: #ae2125;
  --bs-btn-focus-shadow-rgb: 224, 73, 77;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ae2125;
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #da292e;
  --bs-btn-disabled-border-color: var(--bs-border-color);
}

.btn-light {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: var(--bs-body-bg);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: var(--bs-body-color);
  --bs-btn-hover-bg: var(--bs-secondary-bg);
  --bs-btn-hover-border-color: var(--bs-border-color);
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: var(--bs-body-color);
  --bs-btn-active-bg: var(--bs-tertiary-bg);
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: var(--bs-body-color);
  --bs-btn-disabled-bg: var(--bs-secondary-bg);
  --bs-btn-disabled-border-color: var(--bs-border-color);
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: var(--bs-border-color);
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: var(--bs-border-color);
}

.btn-outline-primary {
  --bs-btn-color: #ea1c26;
  --bs-btn-border-color: #ea1c26;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ea1c26;
  --bs-btn-hover-border-color: #ea1c26;
  --bs-btn-focus-shadow-rgb: 234, 28, 38;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ea1c26;
  --bs-btn-active-border-color: #ea1c26;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ea1c26;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ea1c26;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: var(--bs-body-color);
  --bs-btn-hover-bg: var(--bs-tertiary-bg);
  --bs-btn-hover-border-color: var(--bs-border-color);
  --bs-btn-focus-shadow-rgb: 255, 255, 255;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: var(--bs-secondary-bg);
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: var(--bs-secondary-bg);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bs-border-color);
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #2fb380;
  --bs-btn-border-color: #2fb380;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2fb380;
  --bs-btn-hover-border-color: #2fb380;
  --bs-btn-focus-shadow-rgb: 47, 179, 128;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2fb380;
  --bs-btn-active-border-color: #2fb380;
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #2fb380;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #2fb380;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #287bb5;
  --bs-btn-border-color: #287bb5;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #287bb5;
  --bs-btn-hover-border-color: #287bb5;
  --bs-btn-focus-shadow-rgb: 40, 123, 181;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #287bb5;
  --bs-btn-active-border-color: #287bb5;
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #287bb5;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #287bb5;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #f4bd61;
  --bs-btn-border-color: #f4bd61;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #f4bd61;
  --bs-btn-hover-border-color: #f4bd61;
  --bs-btn-focus-shadow-rgb: 244, 189, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #f4bd61;
  --bs-btn-active-border-color: #f4bd61;
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #f4bd61;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f4bd61;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #da292e;
  --bs-btn-border-color: #da292e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #da292e;
  --bs-btn-hover-border-color: #da292e;
  --bs-btn-focus-shadow-rgb: 218, 41, 46;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #da292e;
  --bs-btn-active-border-color: #da292e;
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #da292e;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #da292e;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 82, 114, 234;
  text-decoration: none;
}

.btn-lg,
.btn-group-lg > .btn {
  --bs-btn-padding-y: 1rem;
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-border-radius: 0.75rem;
}

.btn-sm,
.btn-group-sm > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: 0.375rem;
}

/* ========================================================================
   BS Collapse
 ========================================================================== */

/* ========================================================================
   BS Dropdown
 ========================================================================== */
.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-y: 0.25rem;
  --bs-dropdown-padding-x: 0.25rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 0.875rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color);
  --bs-dropdown-border-radius: 0.75rem;
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(
    var(--bs-border-radius) - var(--bs-border-width)
  );
  --bs-dropdown-divider-bg: var(--bs-border-color);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-secondary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: var(--bs-primary);
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.375rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  --bs-dropdown-item-border-radius: 0.5rem;
}

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

.dropdown-menu.show {
  display: flex;
  flex-direction: column;
  gap: 0.25rem !important;
}

/* ========================================================================
   BS Button group
 ========================================================================== */

/* ========================================================================
   BS Nav
 ========================================================================== */

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: normal;
  --bs-nav-link-color: var(--bs-body-color);
  --bs-nav-link-hover-color: var(--bs-link-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: var(--bs-primary);
  --bs-nav-pills-link-active-bg: var(--bs-secondary-bg);
}

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

/* ========================================================================
   BS Navbar
 ========================================================================== */

/* ========================================================================
   BS Card
 ========================================================================== */

/* ========================================================================
   BS Accordion
 ========================================================================== */

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius-xl);
  --bs-accordion-inner-border-radius: calc(
    var(--bs-border-radius-xl) - 0.25rem
  );
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1.25rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --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-focus-box-shadow: 0 0 0 0.25rem rgba(234, 28, 38, 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);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.accordion-button {
  font-family: var(--bs-body-font-family);
  font-size: 1rem;
  border: 0 !important;
  border-radius: var(--bs-accordion-inner-border-radius);
  gap: 0.25rem;
}

@media (min-width: 992px) {
  .accordion-button {
    font-size: 1.1rem;
  }
}

.accordion-button:not(.collapsed) {
  color: var(--bs-link-color);
  background-color: var(--bs-secondary-bg);
  box-shadow: none;
}

.accordion-button:focus {
  box-shadow: none;
}

.accordion-item {
  padding: 0.25rem;
  border: 1px solid var(--bs-accordion-border-color) !important;
  border-radius: var(--bs-accordion-border-radius);
}

/* ========================================================================
   BS Pagination
 ========================================================================== */

.pagination {
  --bs-pagination-padding-x: 0.25rem;
  --bs-pagination-padding-y: 0;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: 0.5rem;
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(255, 121, 2, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: var(--bs-secondary);
  --bs-pagination-active-border-color: var(--bs-secondary);
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
}

.page-link {
  width: 2.5rem;
  height: 2.5rem;
  text-align: center;
  line-height: 2.5rem;
  border-radius: var(--bs-pagination-border-radius);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pagination-lg {
  --bs-pagination-padding-x: 0.25rem;
  --bs-pagination-padding-y: 0;
  --bs-pagination-font-size: 1.25rem;
  --bs-pagination-border-radius: 0.75rem;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
}

.pagination-sm {
  --bs-pagination-padding-x: 0.25rem;
  --bs-pagination-padding-y: 0;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: 0.25rem;
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
}

/* ========================================================================
   BS Babge
 ========================================================================== */

/* ========================================================================
   BS Allert
 ========================================================================== */

/* ========================================================================
   BS Progress
 ========================================================================== */

/* ========================================================================
   BS List group
 ========================================================================== */

/* ========================================================================
   BS Close
 ========================================================================== */

/* ========================================================================
   BS Toast
 ========================================================================== */

/* ========================================================================
   BS Modal
 ========================================================================== */

.modal {
  --bs-modal-padding: 0;
  --bs-modal-border-radius: var(--bs-border-radius-2xl);
  --bs-modal-inner-border-radius: calc(
    var(--bs-modal-border-radius) - (var(--bs-border-width))
  );
  --bs-modal-header-padding: 0.75rem 0 0 0;
  -webkit-backdrop-filter: blur(32px);
  backdrop-filter: blur(32px);
}

.modal.fade .modal-dialog {
  transform: none;
  transition: none;
}

.modal-dialog-scrollable .modal-body {
  scrollbar-gutter: stable both-edges;
  display: flex;
  flex-direction: column;
}

.modal-header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  border-bottom: 0;
}

.modal-title {
  margin-left: 1.25rem;
}

.modal-body {
  padding: 7rem 0 2.25rem 0;
}

.modal-footer {
  border-top: 0;
}

.modal-fullscreen .modal-header {
  --bs-modal-header-padding: 1rem 0 0 0;
}

.modal-fullscreen .modal-title {
  margin-left: 1.25rem;
}

@media (min-width: 992px) {
  .modal-fullscreen .modal-title {
    margin-left: 4.5rem;
    text-align: center;
  }
}

.modal-fullscreen .modal-body {
  scrollbar-gutter: stable both-edges;
  display: flex;
  flex-direction: column;
  padding: 7.25rem 0 2.25rem 0;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down .modal-header {
    --bs-modal-header-padding: 1rem 0 0 0;
  }

  .modal-fullscreen-sm-down .modal-body {
    scrollbar-gutter: stable both-edges;
    display: flex;
    flex-direction: column;
    padding: 7.25rem 0 2.25rem 0;
  }
}

@media (max-width: 767.98px) {
  .modal-fullscreen-md-down .modal-header {
    --bs-modal-header-padding: 1rem 0 0 0;
  }

  .modal-fullscreen-md-down .modal-body {
    scrollbar-gutter: stable both-edges;
    display: flex;
    flex-direction: column;
    padding: 7.25rem 0 2.25rem 0;
  }
}

@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down .modal-header {
    --bs-modal-header-padding: 1rem 0 0 0;
  }

  .modal-fullscreen-lg-down .modal-body {
    scrollbar-gutter: stable both-edges;
    display: flex;
    flex-direction: column;
    padding: 7.25rem 0 2.25rem 0;
  }
}

@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down .modal-header {
    --bs-modal-header-padding: 1rem 0 0 0;
  }

  .modal-fullscreen-xl-down .modal-body {
    scrollbar-gutter: stable both-edges;
    display: flex;
    flex-direction: column;
    padding: 7.25rem 0 2.25rem 0;
  }
}

@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down .modal-header {
    --bs-modal-header-padding: 1rem 0 0 0;
  }

  .modal-fullscreen-xxl-down .modal-body {
    scrollbar-gutter: stable both-edges;
    display: flex;
    flex-direction: column;
    padding: 7.25rem 0 2.25rem 0;
  }
}

/* ========================================================================
   BS Tooltip
 ========================================================================== */

/* ========================================================================
   BS Popover
 ========================================================================== */

/* ========================================================================
   BS Carousel
 ========================================================================== */

/* ========================================================================
   BS Spinner
 ========================================================================== */

/* ========================================================================
   BS Off-canvas
 ========================================================================== */

/* ========================================================================
   TM Utilities
 ========================================================================== */

.tm-bg-filter {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background-color: rgba(232, 232, 232, 0.4);
  -webkit-backdrop-filter: blur(32px);
  backdrop-filter: blur(32px);
}

.tm-overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.tm-overlay-top {
  background-color: rgba(0, 0, 0, 0.5);
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.7),
    transparent 30%,
    transparent
  );
}

.tm-overlay-bottom {
  background-color: rgba(0, 0, 0, 0.5);
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.7),
    transparent 30%,
    transparent
  );
}

.tm-overlay-content {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}

.tm-relative-content {
  position: relative;
  z-index: 2;
}

.tm-text-shadow {
  text-shadow: 0.1rem 0.1rem 0.2rem rgba(0, 0, 0, 0.2);
}

.tm-overlay-link {
  --bs-link-color-rgb: 255, 255, 255;
  --bs-link-hover-color-rgb: 248, 249, 250;
}

/* ========================================================================
   TM page
 ========================================================================== */

.tm-page-container {
  background: var(--bs-dark);
}

.tm-page {
  background: var(--bs-body-bg);
  overflow-x: hidden;
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
  min-height: 1vh;
}

/* ========================================================================
   TM Header
 ========================================================================== */

.tm-header {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding-top: 1rem;
  z-index: 10;
}

.tm-brand,
.tm-navbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
  gap: 1rem;
  height: 4rem;
  padding: 0.25rem;
  border-radius: 1rem;
}

.tm-navbar > .btn,
.tm-navbar > .dropdown,
.tm-navbar > .dropdown > .btn {
  height: 3.5rem;
}

.tm-navbar > .btn,
.tm-navbar > .dropdown > .btn {
  width: 3.5rem;
  padding: 0.25rem;
  line-height: 3rem;
  border-radius: 0.75rem;
}

@media (min-width: 768px) {
  .tm-navbar > .btn:not(.btn-icon),
  .tm-navbar > .dropdown > .btn:not(.btn-icon) {
    width: auto;
    padding: 0.25rem 1.5rem;
  }
}

.tm-logo {
  display: flex;
  flex-grow: 1;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  background-color: #fff;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  border-radius: 0.75rem;
}

/* ========================================================================
   TM Section
 ========================================================================== */

.tm-section {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.tm-section-hero-wrapper {
  background-color: var(--bs-dark);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.tm-section-hero {
  height: 100vh;
  padding-top: 11rem;
  max-height: 1080px;
}

.tm-section-rounded {
  padding-top: calc(40px + 0.75rem) !important;
  padding-bottom: calc(40px + 0.75rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1400px;
}

@media (min-width: 1400px) {
  .tm-section-rounded {
    border-radius: 1.5rem;
  }
}

/* ========================================================================
   TM Section Swiper
 ========================================================================== */

.tm-theme .tm-section-swiper {
  overflow-x: hidden;
}

.tm-theme .tm-section-swiper .swiper {
  overflow: visible;
  width: 100%;
}

.tm-theme .tm-section-swiper .swiper-wrapper {
  align-items: stretch !important;
  overflow: visible;
}

.tm-theme .tm-section-swiper .swiper-slide {
  height: auto !important;
  opacity: 0.25;
  transition: opacity 0.3s ease;
}

.tm-theme .tm-section-swiper .swiper-slide-visible {
  opacity: 1;
}

.tm-theme .swiper-button-next,
.tm-theme .swiper-button-prev {
  color: var(--bs-light);
}

.tm-theme .swiper-button-prev,
.tm-theme .swiper-rtl .swiper-button-next {
  left: 1rem;
}

.tm-theme .swiper-button-next,
.tm-theme .swiper-rtl .swiper-button-prev {
  right: 1rem;
}

.tm-theme .swiper-button-next:hover,
.tm-theme .swiper-button-prev:hover {
  color: var(--bs-primary);
}

.tm-theme .swiper-button-next.swiper-button-disabled,
.tm-theme .swiper-button-prev.swiper-button-disabled {
  opacity: 0;
}

.tm-theme .swiper-button-next:after,
.tm-theme .swiper-button-prev:after {
  font-family: bootstrap-icons !important;
  font-size: 26px;
  font-style: normal;
  font-weight: 400 !important;
  font-variant: normal;
  text-transform: none;
  line-height: 26px;
  vertical-align: -0.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.tm-theme .swiper-button-prev:after,
.tm-theme .swiper-rtl .swiper-button-next:after {
  content: "\f12f";
}

.tm-theme .swiper-button-next:after,
.tm-theme .swiper-rtl .swiper-button-prev:after {
  content: "\f138";
}

.tm-theme .tm-section-swiper .swiper-horizontal > .swiper-pagination-bullets,
.tm-theme
  .tm-section-swiper
  .swiper-pagination-bullets.swiper-pagination-horizontal,
.tm-theme .tm-section-swiper .swiper-pagination-custom,
.tm-theme .tm-section-swiper .swiper-pagination-fraction {
  position: relative;
  bottom: 0;
}

/* ========================================================================
   TM Allert
 ========================================================================== */

.tm-allert {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 11;
}
