@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500&family=Roboto:wght@400;500&display=swap");
/*
! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
*/
html {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75% !important;
  line-height: 0;
  position: relative;
  vertical-align: baseline !important;;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden] {
  display: none;
}
[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}
[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}
input::-moz-placeholder, textarea::-moz-placeholder{
  color: #6b7280;
  opacity: 1;
}
input::placeholder,textarea::placeholder{
  color: #6b7280;
  opacity: 1;
}
::-webkit-datetime-edit-fields-wrapper{
  padding: 0;
}
::-webkit-date-and-time-value{
  min-height: 1.5em;
}
::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{
  padding-top: 0;
  padding-bottom: 0;
}
select{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
[multiple],[size]:where(select:not([size="1"])){
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}
[type='checkbox'],[type='radio']{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}
[type='checkbox']{
  border-radius: 0px;
}
[type='radio']{
  border-radius: 100%;
}
[type='checkbox']:focus,[type='radio']:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
[type='checkbox']:checked,[type='radio']:checked{
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
[type='checkbox']:checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
[type='radio']:checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}
[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus{
  border-color: transparent;
  background-color: currentColor;
}
[type='checkbox']:indeterminate{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus{
  border-color: transparent;
  background-color: currentColor;
}
[type='file']{
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}
[type='file']:focus{
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}
html {
    font-size: clamp(14px, 4.1vmin, 16px);
    width: 100%;
    height: 100%;
    font-weight: 400;
    --tw-text-opacity: 1;
    color: rgb(52 58 64 / var(--tw-text-opacity));
  }
@media (min-width: 640px) {
    html {
      font-size: 16px;
    }
  }
body {
    min-height: 100%;
    transition: color 0.5s, background-color 0.5s;
    font-family: "Roboto", "Noto Sans TC", "San Francisco", -apple-system, "PingFang TC", "Hiragino Sans GB", "Microsoft YaHei", "微軟正黑體", "WenQuanYi Micro Hei", sans-serif;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
button {
    border: none;
  }
button:active, button:visited, button:checked, button:focus {
    outline: none;
  }
a:active, a:visited, a:checked, a:focus {
    outline: none;
  }
img {
    max-width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    vertical-align: middle;
    display: inline-block;
  }
h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: 500;
    line-height: 1.3;
  }
h1 {
    font-size: 1.9rem;
  }
h2 {
    font-size: 1.25rem;
  }
@media (min-width: 640px) {
    h2 {
      font-size: 1.5rem;
    }
  }
h3 {
    font-size: 1.125rem;
  }
@media (min-width: 640px) {
    h3 {
      font-size: 1.25rem;
    }
  }
h4 {
    font-size: 1rem;
  }
@media (min-width: 640px) {
    h4 {
      font-size: 1.125rem;
    }
  }
h5 {
    font-size: 0.875rem;
  }
h6 {
    font-size: 0.75rem;
  }
p{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
hr {
    margin: 1rem 0;
  }
label{
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
input[type=date] {
    position: relative;
    min-height: 38px;
  }
input[type=date]::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    padding: 0.375rem 1rem 0.375rem 0.75rem;
    color: transparent;
    background: url(../img/icons/calendar_today.svg) no-repeat calc(100% - 7px) center transparent;
    background-size: auto 50%;
    margin-inline-start: 0;
  }
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}
.pointer-events-none{
  pointer-events: none;
}
.visible{
  visibility: visible;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.\!bottom-32{
  bottom: 8rem !important;
}
.bottom-0{
  bottom: 0px;
}
.bottom-1{
  bottom: 0.25rem;
}
.bottom-3{
  bottom: 0.75rem;
}
.left-0{
  left: 0px;
}
.left-1\/2{
  left: 50%;
}
.left-4{
  left: 1rem;
}
.right-0{
  right: 0px;
}
.right-2{
  right: 0.5rem;
}
.right-2\.5{
  right: 0.625rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.right-8{
  right: 2rem;
}
.top-0{
  top: 0px;
}
.top-1\/2{
  top: 50%;
}
.top-2{
  top: 0.5rem;
}
.top-2\.5{
  top: 0.625rem;
}
.top-20{
  top: 5rem;
}
.top-\[74px\]{
  top: 74px;
}
.col-span-1{
  grid-column: span 1 / span 1;
}
.col-span-3{
  grid-column: span 3 / span 3;
}
.mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-4{
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-10{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-5{
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.\!mb-3{
  margin-bottom: 0.75rem !important;
}
.\!mr-0{
  margin-right: 0px !important;
}
.\!mt-0{
  margin-top: 0px !important;
}
.-mt-2{
  margin-top: -0.5rem;
}
.mb-0{
  margin-bottom: 0px;
}
.mb-0\.5{
  margin-bottom: 0.125rem;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-1\.5{
  margin-bottom: 0.375rem;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-20{
  margin-bottom: 5rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.ml-2\.5{
  margin-left: 0.625rem;
}
.ml-3{
  margin-left: 0.75rem;
}
.ml-5{
  margin-left: 1.25rem;
}
.mr-0{
  margin-right: 0px;
}
.mr-0\.5{
  margin-right: 0.125rem;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-1\.5{
  margin-right: 0.375rem;
}
.mr-2{
  margin-right: 0.5rem;
}
.mr-3{
  margin-right: 0.75rem;
}
.mr-4{
  margin-right: 1rem;
}
.mr-5{
  margin-right: 1.25rem;
}
.mt-0{
  margin-top: 0px;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-8{
  margin-top: 2rem;
}
.\!block{
  display: block !important;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.\!flex{
  display: flex !important;
}
.flex{
  display: flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.\!hidden{
  display: none !important;
}
.hidden{
  display: none;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.\!h-4{
  height: 1rem !important;
}
.\!h-5{
  height: 1.25rem !important;
}
.h-0{
  height: 0px;
}
.h-1\/2{
  height: 50%;
}
.h-10{
  height: 2.5rem;
}
.h-12{
  height: 3rem;
}
.h-20{
  height: 5rem;
}
.h-24{
  height: 6rem;
}
.h-32{
  height: 8rem;
}
.h-5{
  height: 1.25rem;
}
.h-6{
  height: 1.5rem;
}
.h-9{
  height: 2.25rem;
}
.h-\[164px\]{
  height: 164px;
}
.h-\[35px\]{
  height: 35px;
}
.h-\[52px\]{
  height: 52px;
}
.h-\[calc\(100\%-112px\)\]{
  height: calc(100% - 112px);
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.h-screen{
  height: 100vh;
}
.min-h-\[168px\]{
  min-height: 168px;
}
.min-h-\[200px\]{
  min-height: 200px;
}
.min-h-\[60px\]{
  min-height: 60px;
}
.min-h-screen{
  min-height: 100vh;
}
.\!w-1\/2{
  width: 50% !important;
}
.\!w-1\/3{
  width: 33.333333% !important;
}
.\!w-4{
  width: 1rem !important;
}
.\!w-5{
  width: 1.25rem !important;
}
.w-1{
  width: 0.25rem;
}
.w-1\/2{
  width: 50%;
}
.w-1\/3{
  width: 33.333333%;
}
.w-1\/4{
  width: 25%;
}
.w-10{
  width: 2.5rem;
}
.w-12{
  width: 3rem;
}
.w-14{
  width: 3.5rem;
}
.w-16{
  width: 4rem;
}
.w-2\/12{
  width: 16.666667%;
}
.w-20{
  width: 5rem;
}
.w-24{
  width: 6rem;
}
.w-32{
  width: 8rem;
}
.w-36{
  width: 9rem;
}
.w-40{
  width: 10rem;
}
.w-48{
  width: 12rem;
}
.w-5{
  width: 1.25rem;
}
.w-52{
  width: 13rem;
}
.w-56{
  width: 14rem;
}
.w-6{
  width: 1.5rem;
}
.w-72{
  width: 18rem;
}
.w-9{
  width: 2.25rem;
}
.w-\[200px\]{
  width: 200px;
}
.w-\[300px\]{
  width: 300px;
}
.w-\[310px\]{
  width: 310px;
}
.w-full{
  width: 100%;
}
.min-w-\[150px\]{
  min-width: 150px;
}
.max-w-2xl{
  max-width: 42rem;
}
.max-w-\[180px\]{
  max-width: 180px;
}
.max-w-\[400px\]{
  max-width: 400px;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.flex-grow{
  flex-grow: 1;
}
.grow{
  flex-grow: 1;
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-0{
  --tw-translate-y: -0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-0\.5{
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\!cursor-not-allowed{
  cursor: not-allowed !important;
}
.cursor-pointer{
  cursor: pointer;
}
.resize{
  resize: both;
}
.list-disc{
  list-style-type: disc;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.flex-col{
  flex-direction: column;
}
.flex-col-reverse{
  flex-direction: column-reverse;
}
.flex-wrap{
  flex-wrap: wrap;
}
.\!flex-nowrap{
  flex-wrap: nowrap !important;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-stretch{
  align-items: stretch;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.justify-evenly{
  justify-content: space-evenly;
}
.gap-1{
  gap: 0.25rem;
}
.gap-10{
  gap: 2.5rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-2\.5{
  gap: 0.625rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-x-5{
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-y-3{
  row-gap: 0.75rem;
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.\!overflow-visible{
  overflow: visible !important;
}
.overflow-scroll{
  overflow: scroll;
}
.overflow-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 0.5rem;
}
.rounded-md{
  border-radius: 0.375rem;
}
.rounded-r{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.rounded-t-md{
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.\!border-b-0{
  border-bottom-width: 0px !important;
}
.border-b{
  border-bottom-width: 1px;
}
.border-b-0{
  border-bottom-width: 0px;
}
.border-l{
  border-left-width: 1px;
}
.border-r{
  border-right-width: 1px;
}
.border-t{
  border-top-width: 1px;
}
.border-solid{
  border-style: solid;
}
.border-dashed{
  border-style: dashed;
}
.border-dotted{
  border-style: dotted;
}
.\!border-none{
  border-style: none !important;
}
.border-danger{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
}
.border-gray{
  --tw-border-opacity: 1;
  border-color: rgb(52 58 64 / var(--tw-border-opacity));
}
.border-gray-60{
  --tw-border-opacity: 1;
  border-color: rgb(226 226 227 / var(--tw-border-opacity));
}
.border-primary{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
}
.border-primary-60{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
}
.border-primary-70{
  --tw-border-opacity: 1;
  border-color: rgb(206 226 255 / var(--tw-border-opacity));
}
.border-white{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}
.border-l-primary-80{
  --tw-border-opacity: 1;
  border-left-color: rgb(127 176 255 / var(--tw-border-opacity));
}
.border-t-primary-70{
  --tw-border-opacity: 1;
  border-top-color: rgb(206 226 255 / var(--tw-border-opacity));
}
.\!bg-danger{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(238 68 68 / var(--tw-bg-opacity)) !important;
}
.\!bg-gray-80{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(165 165 165 / var(--tw-bg-opacity)) !important;
}
.\!bg-primary{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity)) !important;
}
.\!bg-secondary{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 139 83 / var(--tw-bg-opacity)) !important;
}
.\!bg-success{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(109 205 112 / var(--tw-bg-opacity)) !important;
}
.\!bg-warning{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 182 73 / var(--tw-bg-opacity)) !important;
}
.bg-basic-bg{
  --tw-bg-opacity: 1;
  background-color: rgb(242 249 255 / var(--tw-bg-opacity));
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}
.bg-danger{
  --tw-bg-opacity: 1;
  background-color: rgb(238 68 68 / var(--tw-bg-opacity));
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
.bg-gray-200{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}
.bg-gray-50{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}
.bg-gray-60{
  --tw-bg-opacity: 1;
  background-color: rgb(226 226 227 / var(--tw-bg-opacity));
}
.bg-gray-70\/70{
  background-color: rgb(210 210 210 / 0.7);
}
.bg-primary{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
}
.bg-primary-10{
  --tw-bg-opacity: 1;
  background-color: rgb(242 249 255 / var(--tw-bg-opacity));
}
.bg-primary-50{
  --tw-bg-opacity: 1;
  background-color: rgb(248 251 255 / var(--tw-bg-opacity));
}
.bg-primary-60{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.bg-primary-90{
  --tw-bg-opacity: 1;
  background-color: rgb(73 146 255 / var(--tw-bg-opacity));
}
.bg-purple-300{
  --tw-bg-opacity: 1;
  background-color: rgb(216 180 254 / var(--tw-bg-opacity));
}
.bg-secondary{
  --tw-bg-opacity: 1;
  background-color: rgb(254 139 83 / var(--tw-bg-opacity));
}
.bg-secondary-10{
  --tw-bg-opacity: 1;
  background-color: rgb(255 248 242 / var(--tw-bg-opacity));
}
.bg-secondary-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 190 158 / var(--tw-bg-opacity));
}
.bg-success{
  --tw-bg-opacity: 1;
  background-color: rgb(109 205 112 / var(--tw-bg-opacity));
}
.bg-warning{
  --tw-bg-opacity: 1;
  background-color: rgb(255 182 73 / var(--tw-bg-opacity));
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-white\/70{
  background-color: rgb(255 255 255 / 0.7);
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-primary-80{
  --tw-gradient-from: #7FB0FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(127 176 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-secondary-70{
  --tw-gradient-from: #FFAD84 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 173 132 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white{
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-primary-95{
  --tw-gradient-to: #3c8aff var(--tw-gradient-to-position);
}
.to-secondary{
  --tw-gradient-to: #FE8B53 var(--tw-gradient-to-position);
}
.to-yellow-100{
  --tw-gradient-to: #fef9c3 var(--tw-gradient-to-position);
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-1{
  padding: 0.25rem;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-2{
  padding: 0.5rem;
}
.p-3{
  padding: 0.75rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.\!px-2{
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
.\!px-3{
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}
.\!px-5{
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}
.\!py-1{
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7{
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0{
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.\!pl-14{
  padding-left: 3.5rem !important;
}
.pb-0{
  padding-bottom: 0px;
}
.pb-2{
  padding-bottom: 0.5rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pl-12{
  padding-left: 3rem;
}
.pl-2{
  padding-left: 0.5rem;
}
.pl-3{
  padding-left: 0.75rem;
}
.pl-4{
  padding-left: 1rem;
}
.pl-6{
  padding-left: 1.5rem;
}
.pr-0{
  padding-right: 0px;
}
.pr-2{
  padding-right: 0.5rem;
}
.pr-4{
  padding-right: 1rem;
}
.ps-5{
  padding-inline-start: 1.25rem;
}
.pt-1{
  padding-top: 0.25rem;
}
.pt-10{
  padding-top: 2.5rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.\!text-sm{
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.capitalize{
  text-transform: capitalize;
}
.leading-none{
  line-height: 1;
}
.leading-relaxed{
  line-height: 1.625;
}
.\!text-white{
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}
.text-success {
  color: #2c9b5e !important;
}

.text-danger{
  --tw-text-opacity: 1;
  color: rgb(238 68 68 / var(--tw-text-opacity));
}
.text-gray{
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}
.text-gray-400{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}
.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}
.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}
.text-gray-80{
  --tw-text-opacity: 1;
  color: rgb(165 165 165 / var(--tw-text-opacity));
}
.text-gray-90{
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.text-primary{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.text-primary-90{
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.text-secondary{
  --tw-text-opacity: 1;
  color: rgb(254 139 83 / var(--tw-text-opacity));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.underline{
  text-decoration-line: underline;
}
.opacity-100{
  opacity: 1;
}
.opacity-20{
  opacity: 0.2;
}
.opacity-30{
  opacity: 0.3;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-80{
  opacity: 0.8;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.brightness-100{
  --tw-brightness: brightness(100) !important;
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert{
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
.ellipsis-line2 {
    overflow: hidden;
    word-break: break-word;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
.flex-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
.absolute-center{
  position: absolute;
  left: 50%;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cust-scroll::-webkit-scrollbar {
    width: 18px;
    -webkit-appearance: none;
  }
.cust-scroll::-webkit-scrollbar-track {
    border-radius: 10px;
    margin: 0;
    box-shadow: inset 0 0 18px rgba(109, 124, 135, 0);
    border: 6px solid transparent;
  }
.cust-scroll::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: transparent;
    border: 6px solid transparent;
    box-shadow: inset 0 0 18px #c0c7cd;
  }
.collapse {
    visibility: inherit;
  }
.object-cover-img img{
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.object-contain-img img{
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.clean-input {
    outline: none;
    padding: 0.375rem 0.5rem;
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    border: none;
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
.clean-input:focus {
    border: none;
    box-shadow: none;
  }
.video-box{
  position: relative;
  height: 100%;
  width: 100%;
}
.video-box video{
  position: absolute;
  left: 0px;
  top: 0px;
  height: 100%;
  width: 100%;
}
.container{
  width: 100%;
}
@media (min-width: 640px){
  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1440px){
  .container{
    max-width: 1440px;
  }
}
@media (min-width: 1920px){
  .container{
    max-width: 1920px;
  }
}
.form-input,.form-textarea,.form-select,.form-multiselect{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}
.form-input:focus, .form-textarea:focus, .form-select:focus, .form-multiselect:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}
.form-select{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
.form-select:where([size]:not([size="1"])){
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}
.default-layout{
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}
.default-layout main{
  flex-grow: 1;
  padding-top: 60px;
}
.container{
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media (min-width: 768px){
  .container{
    max-width: 960px;
  }
}
@media (min-width: 1024px){
  .container{
    padding-left: 0px;
    padding-right: 0px;
  }
}
@media (min-width: 1280px){
  .container{
    max-width: 1140px;
  }
}
.container-home{
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media (min-width: 768px){
  .container-home{
    max-width: 960px;
  }
}
@media (min-width: 1024px){
  .container-home{
    padding-left: 0px;
    padding-right: 0px;
  }
}
@media (min-width: 1280px){
  .container-home{
    max-width: 1140px;
  }
}
@media (min-width: 1920px){
  .container-home{
    max-width: 1440px;
  }
}
.badge.white-wrap{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.white-wrap.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.white-wrap{
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media (min-width: 640px){
  .white-wrap{
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
.row{
  margin-left: -0.625rem;
  margin-right: -0.625rem;
  display: flex;
  flex-wrap: wrap;
}
.row__col{
  flex-grow: 1;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-bottom: 1.25rem;
}
.upload-img{
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.upload-img__label{
  position: relative;
  height: 88px;
  width: 6rem;
  cursor: pointer;
  border-radius: 0.5rem;
  border-width: 1px;
  border-style: dashed;
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.upload-img__item{
  position: relative;
  height: 88px;
  width: 6rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  border-style: dashed;
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
  padding: 0.375rem;
}
.badge.upload-img__delete{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.upload-img__delete.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.upload-img__delete{
  position: absolute;
  right: 0.125rem;
  top: 0.125rem;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.25rem;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  font-weight: 900;
  --tw-text-opacity: 1;
  color: rgb(238 68 68 / var(--tw-text-opacity));
}
.upload-img__delete::after {
    content: "✕";
  }
.draw-icon{
  margin-right: 0.5rem;
  display: flex;
  height: 1.5rem;
  width: 1.5rem;
  border-radius: 0.25rem;
}
.draw-icon:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.draw-icon:active{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.draw-icon.active{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.draw-icon.\!active{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.back-to-top{
  position: absolute;
  top: -4rem;
  right: 0px;
  z-index: 10;
  display: flex;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
  background-color: rgb(255 255 255 / 0.8);
  padding: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
@media (min-width: 768px){
  .back-to-top{
    display: none;
  }
}
.back-to-top::before {
    content: "";
    background: url(../img/icons/chevron-up.svg) no-repeat center center/contain;
    height: 1.25rem;
    width: 1.25rem;
  }
.badge.version-prev{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.version-prev{
  position: absolute;
  top: -9rem;
  right: 0px;
  z-index: 10;
  display: flex;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  padding: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.version-prev::before {
    content: "";
    background: url(../img/icons/back-arrow.svg) no-repeat center center/contain;
    filter: brightness(100) opacity(0.7);
    height: 1.25rem;
    width: 1.25rem;
  }
.badge.version-prev-fixed{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.version-prev-fixed{
  position: fixed;
  bottom: 4rem;
  right: 0px;
  z-index: 10;
  display: flex;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  padding: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.version-prev-fixed::before {
    content: "";
    background: url(../img/icons/back-arrow.svg) no-repeat center center/contain;
    filter: brightness(100) opacity(0.7);
    height: 1.25rem;
    width: 1.25rem;
  }
.router-link{
  position: relative;
  width: 100%;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.container-home .router-link {
  font-size: 1.2rem;
}
@media (min-width: 640px){
  .router-link{
    width: auto;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
.router-link:not(.disabled, .active):hover{
  background-color: rgb(127 176 255 / 0.1);
}
.router-link:not(.disabled, .active):hover::after {
    content: "";
  }
.badge.router-link:not(.disabled, .active):hover::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.router-link:not(.disabled, .active):hover.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.router-link:not(.disabled, .active):hover::after{
  pointer-events: none;
  position: absolute;
  bottom: -0.5rem;
  left: 0px;
  height: 0.5rem;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.badge.router-link.active{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.router-link.active.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.router-link.active{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.badge.router-link.\!active{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.router-link.\!active.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.router-link.\!active{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.router-link.active::after {
    content: "";
  }
.router-link.\!active::after {
    content: "" !important;
  }
.badge.router-link.active::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.router-link.active.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.router-link.active::after{
  pointer-events: none;
  position: absolute;
  bottom: -0.5rem;
  left: 0px;
  height: 0.5rem;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.badge.router-link.\!active::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.router-link.\!active.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.router-link.\!active::after{
  pointer-events: none;
  position: absolute;
  bottom: -0.5rem;
  left: 0px;
  height: 0.5rem;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.router-link.disabled{
  cursor: not-allowed;
  opacity: 0.4;
}
.loading-wrap{
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  top: 0px;
  z-index: 10;
  background-color: rgb(255 255 255 / 0.9);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.badge{
  display: inline-block;
  flex-shrink: 0;
  border-radius: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}
.badge.bg-white{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.bg-white.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.badge.bg-danger{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.\!bg-danger{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.bg-primary{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.\!bg-primary{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.bg-secondary{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.\!bg-secondary{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.bg-success{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.\!bg-success{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.bg-warning{
  --tw-border-opacity: 1;
  border-color: rgb(255 182 73 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}
.badge.\!bg-warning{
  --tw-border-opacity: 1;
  border-color: rgb(255 182 73 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}
/**
 * Swiper 10.1.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: August 1, 2023
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  overflow: clip;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  -ms-touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Cube slide shadows end */
.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Flip slide shadows end */
.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

/* BS只引入需要的項目*/
:root,
[data-bs-theme=light] {
  --bs-blue: #2075f3;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #ee4444;
  --bs-orange: #fe8b53;
  --bs-yellow: #ffc107;
  --bs-green: #6dcd70;
  --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: #2075f3;
  --bs-secondary: #fe8b53;
  --bs-success: #6dcd70;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #ee4444;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 32, 117, 243;
  --bs-secondary-rgb: 254, 139, 83;
  --bs-success-rgb: 109, 205, 112;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 238, 68, 68;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #0d2f61;
  --bs-secondary-text-emphasis: #663821;
  --bs-success-text-emphasis: #2c522d;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #5f1b1b;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #d2e3fd;
  --bs-secondary-bg-subtle: #ffe8dd;
  --bs-success-bg-subtle: #e2f5e2;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #fcdada;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #a6c8fa;
  --bs-secondary-border-subtle: #ffd1ba;
  --bs-success-border-subtle: #c5ebc6;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f8b4b4;
  --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: #2075f3;
  --bs-link-color-rgb: 32, 117, 243;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #1a5ec2;
  --bs-link-hover-color-rgb: 26, 94, 194;
  --bs-code-color: #d63384;
  --bs-highlight-bg: #fff3cd;
  --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(32, 117, 243, 0.25);
  --bs-form-valid-color: #6dcd70;
  --bs-form-valid-border-color: #6dcd70;
  --bs-form-invalid-color: #ee4444;
  --bs-form-invalid-border-color: #ee4444;
}

[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: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #79acf8;
  --bs-secondary-text-emphasis: #feb998;
  --bs-success-text-emphasis: #a7e1a9;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #f58f8f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #061731;
  --bs-secondary-bg-subtle: #331c11;
  --bs-success-bg-subtle: #162916;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #300e0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #134692;
  --bs-secondary-border-subtle: #985332;
  --bs-success-border-subtle: #417b43;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #8f2929;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #79acf8;
  --bs-link-hover-color: #94bdf9;
  --bs-link-color-rgb: 121, 172, 248;
  --bs-link-hover-color-rgb: 148, 189, 249;
  --bs-code-color: #e685b5;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #a7e1a9;
  --bs-form-valid-border-color: #a7e1a9;
  --bs-form-invalid-color: #f58f8f;
  --bs-form-invalid-border-color: #f58f8f;
}

.form-label {
  margin-bottom: 0.5rem;
}

.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;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #90baf9;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(32, 117, 243, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::-moz-placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  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) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.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);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  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);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #90baf9;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(32, 117, 243, 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);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .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='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #90baf9;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(32, 117, 243, 0.25);
}
.form-check-input:checked {
  background-color: #2075f3;
  border-color: #2075f3;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #2075f3;
  border-color: #2075f3;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390baf9'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(32, 117, 243, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(32, 117, 243, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  -webkit-appearance: none;
          appearance: none;
  background-color: #2075f3;
  border: 0;
  border-radius: 1rem;
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: 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) {
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #bcd6fb;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-tertiary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  -moz-appearance: none;
       appearance: none;
  background-color: #2075f3;
  border: 0;
  border-radius: 1rem;
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: 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) {
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #bcd6fb;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-tertiary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
  color: transparent;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(var(--bs-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%236dcd70' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%236dcd70' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ee4444'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ee4444' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ee4444'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ee4444' stroke='none'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.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;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 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-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

.btn-primary {
  --bs-btn-color: #000;
  --bs-btn-bg: #2075f3;
  --bs-btn-border-color: #2075f3;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #418af5;
  --bs-btn-hover-border-color: #3683f4;
  --bs-btn-focus-shadow-rgb: 27, 99, 207;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #4d91f5;
  --bs-btn-active-border-color: #3683f4;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #2075f3;
  --bs-btn-disabled-border-color: #2075f3;
}

.btn-secondary {
  --bs-btn-color: #000;
  --bs-btn-bg: #fe8b53;
  --bs-btn-border-color: #fe8b53;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #fe9c6d;
  --bs-btn-hover-border-color: #fe9764;
  --bs-btn-focus-shadow-rgb: 216, 118, 71;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #fea275;
  --bs-btn-active-border-color: #fe9764;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #fe8b53;
  --bs-btn-disabled-border-color: #fe8b53;
}

.btn-success {
  --bs-btn-color: #000;
  --bs-btn-bg: #6dcd70;
  --bs-btn-border-color: #6dcd70;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #83d585;
  --bs-btn-hover-border-color: #7cd27e;
  --bs-btn-focus-shadow-rgb: 93, 174, 95;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #8ad78d;
  --bs-btn-active-border-color: #7cd27e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #6dcd70;
  --bs-btn-disabled-border-color: #6dcd70;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #31d2f2;
  --bs-btn-hover-border-color: #25cff2;
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #3dd5f3;
  --bs-btn-active-border-color: #25cff2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #ffc720;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #000;
  --bs-btn-bg: #ee4444;
  --bs-btn-border-color: #ee4444;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f16060;
  --bs-btn-hover-border-color: #f05757;
  --bs-btn-focus-shadow-rgb: 202, 58, 58;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f16969;
  --bs-btn-active-border-color: #f05757;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ee4444;
  --bs-btn-disabled-border-color: #ee4444;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
  --bs-btn-color: #2075f3;
  --bs-btn-border-color: #2075f3;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #2075f3;
  --bs-btn-hover-border-color: #2075f3;
  --bs-btn-focus-shadow-rgb: 32, 117, 243;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #2075f3;
  --bs-btn-active-border-color: #2075f3;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #2075f3;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #2075f3;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #fe8b53;
  --bs-btn-border-color: #fe8b53;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #fe8b53;
  --bs-btn-hover-border-color: #fe8b53;
  --bs-btn-focus-shadow-rgb: 254, 139, 83;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #fe8b53;
  --bs-btn-active-border-color: #fe8b53;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fe8b53;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #fe8b53;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #6dcd70;
  --bs-btn-border-color: #6dcd70;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #6dcd70;
  --bs-btn-hover-border-color: #6dcd70;
  --bs-btn-focus-shadow-rgb: 109, 205, 112;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #6dcd70;
  --bs-btn-active-border-color: #6dcd70;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6dcd70;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6dcd70;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0dcaf0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #ee4444;
  --bs-btn-border-color: #ee4444;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ee4444;
  --bs-btn-hover-border-color: #ee4444;
  --bs-btn-focus-shadow-rgb: 238, 68, 68;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ee4444;
  --bs-btn-active-border-color: #ee4444;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ee4444;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ee4444;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 27, 99, 207;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --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);
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(var(--bs-border-width) * -1);
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(var(--bs-border-width) * -1);
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-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: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --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 {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-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;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.875rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --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-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #2075f3;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #2075f3;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --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: var(--bs-border-radius);
  --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(32, 117, 243, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #2075f3;
  --bs-pagination-active-border-color: #2075f3;
  --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);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.manual-pagination {
    --bs-pagination-padding-x: 0.75rem;
    --bs-pagination-padding-y: 0.375rem;
    --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: var(--bs-border-radius);
    --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(32, 117, 243, 0.25);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: #2075f3;
    --bs-pagination-active-border-color: #2075f3;
    --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);
    display: flex;
    padding-left: 0;
    list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  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;
}

.manual-link {
    position: relative;
    display: block;
    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
    font-size: var(--bs-pagination-font-size);
    color: var(--bs-pagination-color);
    text-decoration: none;
    background-color: var(--bs-pagination-bg);
    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
    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) {

    .page-link {
    transition: none;
    }
    .manual-link {
        transition: none;
    }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: calc(var(--bs-border-width) * -1);
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}


.manual-link:hover {
    z-index: 2;
    color: var(--bs-pagination-hover-color);
    background-color: var(--bs-pagination-hover-bg);
    border-color: var(--bs-pagination-hover-border-color);
}
.manual-link:focus {
    z-index: 3;
    color: var(--bs-pagination-focus-color);
    background-color: var(--bs-pagination-focus-bg);
    outline: 0;
    box-shadow: var(--bs-pagination-focus-box-shadow);
}
.manual-link.active, .active > .manual-link {
    z-index: 3;
    color: var(--bs-pagination-active-color);
    background-color: var(--bs-pagination-active-bg);
    border-color: var(--bs-pagination-active-border-color);
}
.manual-link.disabled, .disabled > .manual-link {
    color: var(--bs-pagination-disabled-color);
    pointer-events: none;
    background-color: var(--bs-pagination-disabled-bg);
    border-color: var(--bs-pagination-disabled-border-color);
}

.manual-item:not(:first-child) .manual-link {
    margin-left: calc(var(--bs-border-width) * -1);
}
.manual-item:first-child .manual-link {
    border-top-left-radius: var(--bs-pagination-border-radius);
    border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.manual-item:last-child .manual-link {
    border-top-right-radius: var(--bs-pagination-border-radius);
    border-bottom-right-radius: var(--bs-pagination-border-radius);
}



.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.25rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

.manual-pagination-lg {
    --bs-pagination-padding-x: 1.5rem;
    --bs-pagination-padding-y: 0.75rem;
    --bs-pagination-font-size: 1.25rem;
    --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

.manual-pagination-sm {
    --bs-pagination-padding-x: 0.5rem;
    --bs-pagination-padding-y: 0.25rem;
    --bs-pagination-font-size: 0.875rem;
    --bs-pagination-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;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(32, 117, 243, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #2075f3;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.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='%230d2f61'%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: #90baf9;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(32, 117, 243, 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);
}

.accordion-flush .accordion-collapse {
  border-width: 0;
}
.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379acf8'%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-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2379acf8'%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");
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.datepicker {
  width: -moz-min-content;
  width: min-content;
}
.datepicker:not(.active) {
  display: none;
}

.datepicker-dropdown {
  position: absolute;
  z-index: 1000;
  padding-top: 4px;
}
.datepicker-dropdown.datepicker-orient-top {
  padding-top: 0;
  padding-bottom: 4px;
}

.datepicker-picker {
  display: flex;
  flex-direction: column;
  border-radius: 0.375rem;
  background-color: #fff;
}
.datepicker-dropdown .datepicker-picker {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.datepicker-main {
  flex: auto;
  padding: 2px;
}

.datepicker-footer {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  background-color: #f8f9fa;
}

.datepicker-title {
  box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.1);
  background-color: #f8f9fa;
  padding: 0.375rem 0.75rem;
  text-align: center;
  font-weight: 700;
}

.datepicker-controls {
  display: flex;
}
.datepicker-header .datepicker-controls {
  padding: 2px 2px 0;
}
.datepicker-controls .btn {
  border-color: #f8f9fa;
  background-color: #fff;
}
.datepicker-controls .btn:hover {
  border-color: #dbe0e5;
  background-color: #e2e6ea;
  color: #000;
}
.datepicker-controls .btn:focus {
  border-color: #dbe0e5;
  box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
  background-color: #e2e6ea;
  color: #000;
}
.datepicker-controls .btn:disabled {
  border-color: #f8f9fa;
  background-color: #f8f9fa;
  color: #000;
}
.datepicker-controls .btn:not(:disabled):active {
  border-color: #d4dae0;
  background-color: #dbe0e5;
  color: #000;
}
.datepicker-controls .btn:not(:disabled):active:focus {
  box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
.datepicker-header .datepicker-controls .btn {
  border-color: transparent;
  font-weight: bold;
}
.datepicker-footer .datepicker-controls .btn {
  flex: auto;
  margin: calc(0.375rem - 1px) 0.375rem;
  border-radius: 0.25rem;
  font-size: 0.875rem;
}
.datepicker-controls .view-switch {
  flex: auto;
}
.datepicker-controls .prev-button,
.datepicker-controls .next-button {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
  flex: 0 0 14.2857142857%;
}
.datepicker-controls .prev-button.disabled,
.datepicker-controls .next-button.disabled {
  visibility: hidden;
}

.datepicker-view,
.datepicker-grid {
  display: flex;
}

.datepicker-view {
  align-items: stretch;
  width: 15.75rem;
}

.datepicker-grid {
  flex-wrap: wrap;
  flex: auto;
}

.datepicker .days {
  display: flex;
  flex-direction: column;
  flex: auto;
}
.datepicker .days-of-week {
  display: flex;
}
.datepicker .week-numbers {
  display: flex;
  flex-direction: column;
  flex: 0 0 9.6774193548%;
}
.datepicker .weeks {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: auto;
}
.datepicker span {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  cursor: default;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.datepicker .dow {
  height: 1.5rem;
  font-size: 0.9375rem;
  font-weight: 700;
}
.datepicker .week {
  flex: auto;
  color: #dee2e6;
  font-size: 0.875rem;
}

.datepicker-cell, .datepicker .days .dow {
  flex-basis: 14.2857142857%;
}

.datepicker-cell {
  height: 2.25rem;
}
.datepicker-cell:not(.day) {
  flex-basis: 25%;
  height: 4.5rem;
}
.datepicker-cell:not(.disabled):hover {
  background-color: #f9f9f9;
  cursor: pointer;
}
.datepicker-cell.focused:not(.selected) {
  background-color: #e2e6ea;
}
.datepicker-cell.selected, .datepicker-cell.selected:hover {
  background-color: #2075f3;
  color: #fff;
  font-weight: 600;
}
.datepicker-cell.disabled {
  color: rgba(33, 37, 41, 0.5);
}
.datepicker-cell.prev:not(.disabled), .datepicker-cell.next:not(.disabled) {
  color: #6c757d;
}
.datepicker-cell.prev.selected, .datepicker-cell.next.selected {
  color: #e6e6e6;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today) {
  border-radius: 0;
  background-color: #f8f9fa;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today):not(.disabled):hover {
  background-color: #f1f3f5;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
  background-color: #e2e6ea;
}
.datepicker-cell.today:not(.selected) {
  background-color: #20c997;
}
.datepicker-cell.today:not(.selected):not(.disabled) {
  color: #fff;
}
.datepicker-cell.today.focused:not(.selected) {
  background-color: #1fc493;
}
.datepicker-cell.range-end:not(.selected), .datepicker-cell.range-start:not(.selected) {
  background-color: #fe8b53;
  color: #fff;
}
.datepicker-cell.range-end.focused:not(.selected), .datepicker-cell.range-start.focused:not(.selected) {
  background-color: #fe854b;
}
.datepicker-cell.range-start:not(.range-end) {
  border-radius: 0.375rem 0 0 0.375rem;
}
.datepicker-cell.range-end:not(.range-start) {
  border-radius: 0 0.375rem 0.375rem 0;
}
.datepicker-cell.range {
  border-radius: 0;
  background-color: #e9ecef;
}
.datepicker-cell.range:not(.disabled):not(.focused):not(.today):hover {
  background-color: #e2e6ea;
}
.datepicker-cell.range.disabled {
  color: #ced4db;
}
.datepicker-cell.range.focused {
  background-color: #dbe0e5;
}

.datepicker-input.in-edit {
  border-color: #7daef8;
}
.datepicker-input.in-edit:focus, .datepicker-input.in-edit:active {
  box-shadow: 0 0 0.25em 0.25em rgba(125, 174, 248, 0.2);
}

/* 元件 */
/* ----------------------------------------- */
/* 按鈕 - 改寫bs設定 */
.btn{
  border-radius: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
@media (min-width: 640px){
  .btn{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.btn-sm, .btn-group-sm > .btn {
  box-shadow: none !important;
  border-radius: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.btn-sm img, .btn-group-sm > .btn img{
  margin-right: 0.25rem;
  height: 1.25rem;
}

.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
  box-shadow: none;
  --tw-border-opacity: 1;
  border-color: rgb(226 226 227 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(226 226 227 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(165 165 165 / var(--tw-text-opacity));
  opacity: 1;
}
.btn:disabled *,
.btn.disabled *,
fieldset:disabled .btn * {
  filter: grayscale(1) opacity(0.7);
}

.btn-plain-primary {
  color: #2075f3;
  background: #e9f1fe;
  border: 1px solid #79acf8;
  box-shadow: 0px 3px #79acf8;
}
.btn-check + .btn-plain-primary:hover, .btn-check:checked + .btn-plain-primary, :not(.btn-check) + .btn-plain-primary:active, .btn-plain-primary:first-child:active, .btn-plain-primary:hover, .btn-plain-primary:active, .btn-plain-primary:checked, .btn-plain-primary:focus, .btn-plain-primary.active {
  background: #2075f3;
  color: #ffffff;
  border: 1px solid #1f71ec;
  box-shadow: 0px 3px #1f71ec;
}
.btn-check + .btn-plain-primary:hover img, .btn-check:checked + .btn-plain-primary img, :not(.btn-check) + .btn-plain-primary:active img, .btn-plain-primary:first-child:active img, .btn-plain-primary:hover img, .btn-plain-primary:active img, .btn-plain-primary:checked img, .btn-plain-primary:focus img, .btn-plain-primary.active img{
  --tw-brightness: brightness(100);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.btn-plain-secondary {
  color: #fe8b53;
  background: #fff3ee;
  border: 1px solid #feb998;
  box-shadow: 0px 3px #feb998;
}
.btn-check + .btn-plain-secondary:hover, .btn-check:checked + .btn-plain-secondary, :not(.btn-check) + .btn-plain-secondary:active, .btn-plain-secondary:first-child:active, .btn-plain-secondary:hover, .btn-plain-secondary:active, .btn-plain-secondary:checked, .btn-plain-secondary:focus, .btn-plain-secondary.active {
  background: #fe8b53;
  color: #ffffff;
  border: 1px solid #f68751;
  box-shadow: 0px 3px #f68751;
}
.btn-check + .btn-plain-secondary:hover img, .btn-check:checked + .btn-plain-secondary img, :not(.btn-check) + .btn-plain-secondary:active img, .btn-plain-secondary:first-child:active img, .btn-plain-secondary:hover img, .btn-plain-secondary:active img, .btn-plain-secondary:checked img, .btn-plain-secondary:focus img, .btn-plain-secondary.active img{
  --tw-brightness: brightness(100);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.btn-primary {
  color: #ffffff;
  box-shadow: 0px 3px #1a5ec2;
}
.btn-check + .btn-primary:hover, .btn-check:checked + .btn-primary, :not(.btn-check) + .btn-primary:active, .btn-primary:first-child:active, .btn-primary:hover, .btn-primary:active, .btn-primary:checked, .btn-primary:focus, .btn-primary.active {
  color: #ffffff;
  border: 1px solid #1d69db;
  box-shadow: 0px 3px #1d69db;
}

.btn-secondary {
  color: #ffffff;
  box-shadow: 0px 3px #cb6f42;
}
.btn-check + .btn-secondary:hover, .btn-check:checked + .btn-secondary, :not(.btn-check) + .btn-secondary:active, .btn-secondary:first-child:active, .btn-secondary:hover, .btn-secondary:active, .btn-secondary:checked, .btn-secondary:focus, .btn-secondary.active {
  color: #ffffff;
  border: 1px solid #e57d4b;
  box-shadow: 0px 3px #e57d4b;
}

.btn-outline-primary {
  box-shadow: 0px 3px rgb(170, 170, 170);
}

.badge.btn-outline-primary{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.badge.btn-outline-primary.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.btn-outline-primary{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(165 165 165 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.btn-outline-primary .color {
  color: #4d91f5;
}
.btn-check + .btn-outline-primary:hover, .btn-check:checked + .btn-outline-primary, :not(.btn-check) + .btn-outline-primary:active, .btn-outline-primary:first-child:active, .btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary:checked, .btn-outline-primary:focus, .btn-outline-primary.active {
  color: #3683f4;
  background: #fff;
  border-color: #4d91f5;
  box-shadow: 0px 3px #4d91f5;
}
.btn-check + .btn-outline-primary:hover img, .btn-check:checked + .btn-outline-primary img, :not(.btn-check) + .btn-outline-primary:active img, .btn-outline-primary:first-child:active img, .btn-outline-primary:hover img, .btn-outline-primary:active img, .btn-outline-primary:checked img, .btn-outline-primary:focus img, .btn-outline-primary.active img{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.btn-outline-primary img{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.btn-outline-secondary {
  box-shadow: 0px 3px rgb(170, 170, 170);
}

.badge.btn-outline-secondary{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.badge.btn-outline-secondary.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.btn-outline-secondary{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(165 165 165 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.btn-outline-secondary .color {
  color: #fea275;
}
.btn-check + .btn-outline-secondary:hover, .btn-check:checked + .btn-outline-secondary, :not(.btn-check) + .btn-outline-secondary:active, .btn-outline-secondary:first-child:active, .btn-outline-secondary:hover, .btn-outline-secondary:active, .btn-outline-secondary:checked, .btn-outline-secondary:focus, .btn-outline-secondary.active {
  color: #fe9764;
  background: #fff;
  border-color: #fea275;
  box-shadow: 0px 3px #fea275;
}
.btn-check + .btn-outline-secondary:hover img, .btn-check:checked + .btn-outline-secondary img, :not(.btn-check) + .btn-outline-secondary:active img, .btn-outline-secondary:first-child:active img, .btn-outline-secondary:hover img, .btn-outline-secondary:active img, .btn-outline-secondary:checked img, .btn-outline-secondary:focus img, .btn-outline-secondary.active img{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.btn-outline-secondary img{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

/* ------------------------------------------ */
.breadcrumb{
  margin-bottom: 0.25rem;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.breadcrumb-item:not(.active){
  text-decoration-line: underline;
}

.breadcrumb-item:not(.active):hover{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

.badge.btn-return{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.badge.btn-return.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.btn-return{
  margin-right: 0.5rem;
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(206 226 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.btn-return:hover{
  --tw-border-opacity: 1;
  border-color: rgb(127 176 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.btn-return::before {
  content: "";
  width: 14px;
  height: 14px;
  margin-right: 2px;
  display: inline-block;
  background: url(../img/icons/return.svg) no-repeat center center/contain;
}

/* ------------------------------------------ */
.btn-close {
  box-sizing: content-box;
  width: 1rem;
  height: 1rem;
  padding: 0.25rem 0.25rem;
  color: #000;
  background: url(../img/icons/close.svg) no-repeat center center/contain;
  filter: brightness(100);
  border: 0;
  border-radius: 0.25rem;
  opacity: 0.7;
}
.btn-close:hover{
  opacity: 1;
}

.badge.btn-delete{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.badge.btn-delete.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.btn-delete{
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  font-weight: 900;
  color: rgb(238 68 68 / 0.75);
}
.btn-delete::after {
  content: "✕";
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  line-height: 1;
}
.container-home .btn-delete::after {
  font-size: 1.2rem;
}
.btn-delete:hover{
  --tw-text-opacity: 1;
  color: rgb(238 68 68 / var(--tw-text-opacity));
}

/* 收藏按鈕 */
.badge.btn-bookmark{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.btn-bookmark.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.btn-bookmark{
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(226 226 227 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.btn-bookmark:hover{
  opacity: 0.7;
}
.btn-bookmark::before {
  content: "";
  background: url(../img/icons/bookmark-outline.svg) no-repeat center center/contain;
  display: block;
  height: 1.25rem;
  width: 1.25rem;
}
.btn-bookmark::after {
  content: "收藏";
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.btn-bookmark.active::before {
  background: url(../img/icons/bookmark-solid.svg) no-repeat center center/contain;
}
.btn-bookmark.active::after {
  content: "已收藏";
}
.badge.btn-bookmark.process{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.btn-bookmark.process{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.btn-bookmark.process::before {
  content: "";
  background: url(../img/icons/bookmark-solid-white.svg) no-repeat center center/contain;
}

/* 收藏按鈕 -- 動畫相關 */
.add-to-bookmark{
  position: relative;
}
.add-to-bookmark .ball{
  display: none;
}
.add-to-bookmark.send-animate .ball {
  animation: flyAnimationX 0.5s linear forwards, none 0.3s 0.5s linear;
  position: absolute;
  right: 0px;
  top: 0px;
  display: block;
  height: 1rem;
  width: 1rem;
  border-radius: 9999px;
}
.add-to-bookmark.send-animate .ball::before {
  content: "";
  animation: flyAnimationY 0.5s cubic-bezier(0, 0.65, 0.51, 0.79) forwards, none 0.3s 0.5s linear;
}
.badge.add-to-bookmark.send-animate .ball::before{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.add-to-bookmark.send-animate .ball::before{
  position: absolute;
  right: 0px;
  top: 0px;
  display: block;
  height: 1rem;
  width: 1rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
}

#bookmarkTarget.shake {
  animation: shakeBookmark 0.3s 0.5s ease-in-out forwards;
}

@keyframes flyAnimationX {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--deltaX));
  }
}
@keyframes flyAnimationY {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(var(--deltaY));
  }
}
@keyframes none {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes shakeBookmark {
  25% {
    transform: translateX(6px);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
  50% {
    transform: translateX(-4px);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
  75% {
    transform: translateX(2px);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
  100% {
    transform: translateX(0);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
}
/* ------------------------------------------ */
/* 提示按鈕 */
.badge.btn-hint{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.btn-hint.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.btn-hint{
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(226 226 227 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.btn-hint:hover{
  opacity: 0.7;
}
.btn-hint::before {
  content: "";
  background: url(../img/icons/alert-circle-outline-green.svg) no-repeat center center/contain;
  display: block;
  height: 1.25rem;
  width: 1.25rem;
}
.btn-hint::after {
  content: "提示";
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

/* ------------------------------------------ */
/* 評分按鈕 */
.badge.btn-rating{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.btn-rating.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.btn-rating{
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(226 226 227 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.btn-rating:hover{
  opacity: 0.7;
}
.btn-rating::before {
  content: "";
  background: url(../img/icons/star-yellow-outline.svg) no-repeat center center/contain;
  display: block;
  height: 1.25rem;
  width: 1.25rem;
}
.btn-rating::after {
  content: "評分";
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.btn-rating.active::before {
  background: url(../img/icons/star-yellow-solid.svg) no-repeat center center/contain;
}
.btn-rating.active::after {
  content: "已評分";
}

.btn-next,
.btn-prev{
  position: absolute;
  top: 50%;
  height: 2.5rem;
  width: 1.5rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(206 226 255 / var(--tw-bg-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

@media (min-width: 640px){
  .btn-next,
.btn-prev{
    height: 10rem;
  }
}
.btn-next:hover,
.btn-prev:hover{
  background-color: rgb(127 176 255 / 0.5);
}
.btn-next::after,
.btn-prev::after {
  content: "";
  display: block;
  height: 1.25rem;
  width: 1.25rem;
  position: absolute;
  left: 50%;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.btn-next{
  right: 0px;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.btn-next::after {
  background: url(../img/icons/chevron-double-right.svg) no-repeat center center/contain;
}

.btn-prev{
  left: 0px;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.btn-prev::after {
  background: url(../img/icons/chevron-double-left.svg) no-repeat center center/contain;
}

.btn-ebook-next,
.btn-ebook-prev{
  position: relative;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  border-radius: 0.375rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(206 226 255 / var(--tw-border-opacity));
}
.btn-ebook-next:hover,
.btn-ebook-prev:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.btn-ebook-next::after,
.btn-ebook-prev::after {
  content: "";
  display: block;
  height: 1.25rem;
  width: 1.25rem;
  position: absolute;
  left: 50%;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.btn-ebook-next::after {
  background: url(../img/icons/chevron-right.svg) no-repeat center center/contain;
}

.btn-ebook-prev::after {
  background: url(../img/icons/chevron-left.svg) no-repeat center center/contain;
}

/* ------------------------------------------ */
.dropdown-item{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.dropdown-item:hover,
.dropdown-item:focus{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

/* ----------------------------------------- */
/* form 表單元件 */
.form-icon{
  position: relative;
}
.form-icon__left .form-control,
.form-icon__left .form-select{
  padding-left: 2.25rem;
}
.form-icon__left .form-icon-img{
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  height: 1.25rem;
  width: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.form-icon__right .form-control,
.form-icon__right .form-select{
  padding-right: 2.25rem;
}
.form-icon__right .form-icon-img{
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
  height: 1.25rem;
  width: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.form-control,
.form-select,
.form-check-input {
  font-size: 14px;
}
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
}

.form-check-label{
  margin-top: 0.25rem;
  display: inline-block;
  line-height: 1;
}

.form-control::-moz-placeholder{
  --tw-text-opacity: 1;
  color: rgb(165 165 165 / var(--tw-text-opacity));
}

.form-control::placeholder{
  --tw-text-opacity: 1;
  color: rgb(165 165 165 / var(--tw-text-opacity));
}

.form-check {
  min-height: 1.25rem;
}

.checked-color:checked + label{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

.onoffswitch {
  width: 40px;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.onoffswitch .onoffswitch-checkbox{
  pointer-events: none;
  position: absolute;
  opacity: 0;
}
.onoffswitch .onoffswitch-label {
  height: 22px;
  line-height: 22px;
  transition: background-color 0.2s ease-in;
  display: block;
  cursor: pointer;
  overflow: hidden;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(165 165 165 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(165 165 165 / var(--tw-bg-opacity));
  padding: 0px;
}
.onoffswitch .onoffswitch-label::before {
  content: "";
  width: 16px;
  height: 16px;
  top: 3px;
  bottom: 0;
  right: 21px;
  transition: all 0.2s ease-in 0s;
}
.badge.onoffswitch .onoffswitch-label::before{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.onoffswitch .onoffswitch-label.color-primary::before{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.onoffswitch .onoffswitch-label::before{
  position: absolute;
  margin: 0px;
  display: block;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.badge.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
}
.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label,
.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label:before{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
}
.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label:before {
  right: 3px;
}

.onoffswitch.sm {
  width: 30px;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.onoffswitch.sm .onoffswitch-checkbox{
  pointer-events: none;
  position: absolute;
  opacity: 0;
}
.onoffswitch.sm .onoffswitch-label {
  height: 16.5px;
  line-height: 16.5px;
  transition: background-color 0.2s ease-in;
  display: block;
  cursor: pointer;
  overflow: hidden;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(165 165 165 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(165 165 165 / var(--tw-bg-opacity));
  padding: 0px;
}
.onoffswitch.sm .onoffswitch-label::before {
  content: "";
  width: 12px;
  height: 12px;
  top: 2.25px;
  bottom: 0;
  right: 15.75px;
  transition: all 0.2s ease-in 0s;
}
.badge.onoffswitch.sm .onoffswitch-label::before{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.onoffswitch.sm .onoffswitch-label.color-primary::before{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.onoffswitch.sm .onoffswitch-label::before{
  position: absolute;
  margin: 0px;
  display: block;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.badge.onoffswitch.sm .onoffswitch-checkbox:checked + .onoffswitch-label{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.onoffswitch.sm .onoffswitch-checkbox:checked + .onoffswitch-label{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
}
.onoffswitch.sm .onoffswitch-checkbox:checked + .onoffswitch-label,
.onoffswitch.sm .onoffswitch-checkbox:checked + .onoffswitch-label:before{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
}
.onoffswitch.sm .onoffswitch-checkbox:checked + .onoffswitch-label:before {
  right: 2.25px;
}

.onoffswitch.lg {
  width: 60px;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.onoffswitch.lg .onoffswitch-checkbox{
  pointer-events: none;
  position: absolute;
  opacity: 0;
}
.onoffswitch.lg .onoffswitch-label {
  height: 33px;
  line-height: 33px;
  transition: background-color 0.2s ease-in;
  display: block;
  cursor: pointer;
  overflow: hidden;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(165 165 165 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(165 165 165 / var(--tw-bg-opacity));
  padding: 0px;
}
.onoffswitch.lg .onoffswitch-label::before {
  content: "";
  width: 24px;
  height: 24px;
  top: 4.5px;
  bottom: 0;
  right: 31.5px;
  transition: all 0.2s ease-in 0s;
}
.badge.onoffswitch.lg .onoffswitch-label::before{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.onoffswitch.lg .onoffswitch-label.color-primary::before{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.onoffswitch.lg .onoffswitch-label::before{
  position: absolute;
  margin: 0px;
  display: block;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.onoffswitch.lg .onoffswitch-label::after {
  content: "關";
  right: 12px;
  left: auto;
  top: 9px;
  position: absolute;
  margin: 0px;
  display: block;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.onoffswitch.lg .onoffswitch-checkbox:checked + .onoffswitch-label{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.onoffswitch.lg .onoffswitch-checkbox:checked + .onoffswitch-label{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
}
.onoffswitch.lg .onoffswitch-checkbox:checked + .onoffswitch-label,
.onoffswitch.lg .onoffswitch-checkbox:checked + .onoffswitch-label:before{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
}
.onoffswitch.lg .onoffswitch-checkbox:checked + .onoffswitch-label:before {
  right: 4.5px;
}
.onoffswitch.lg .onoffswitch-checkbox:checked + .onoffswitch-label:after {
  content: "開";
  left: 12px;
  right: auto;
}

.require-label{
  position: relative;
}
.require-label::before {
  content: "*";
  position: absolute;
  left: -0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(238 68 68 / var(--tw-text-opacity));
}

.invalid-feedback,
.valid-feedback{
  font-size: 0.75rem;
  line-height: 1rem;
}

.rating-group {
  direction: rtl;
  font-size: 0;
  display: flex;
  gap: 0.25rem;
}
.rating-group label {
  background: url(../img/icons/star-yellow-outline.svg) no-repeat center center/contain;
  height: 1.5rem;
  width: 1.5rem;
  cursor: pointer;
}
.rating-group label:hover, .rating-group label:hover ~ label {
  background: url(../img/icons/star-yellow-solid.svg) no-repeat center center/contain;
}
.rating-group input[type=radio]{
  display: none;
}
.rating-group input[type=radio]:checked ~ label {
  background: url(../img/icons/star-yellow-solid.svg) no-repeat center center/contain;
}

.suject-checkbox input{
  position: absolute;
  opacity: 0;
}
.suject-checkbox input:checked + label{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.suject-checkbox input:checked + label img{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.suject-checkbox label{
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(241 241 241 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.suject-checkbox label img{
  margin-right: 0.25rem;
  width: 1.5rem;
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.suject-checkbox label:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.suject-checkbox label:hover img{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.levels-checkbox input{
  position: absolute;
  opacity: 0;
}
.levels-checkbox input:checked + label{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(127 176 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.levels-checkbox input:checked + label img{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.badge.levels-checkbox label{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.levels-checkbox label.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.levels-checkbox label{
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 226 227 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.levels-checkbox label img{
  margin-right: 0.25rem;
  width: 1.5rem;
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.levels-checkbox label:hover{
  --tw-border-opacity: 1;
  border-color: rgb(127 176 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.levels-checkbox label:hover img{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.badge.bookmark{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.badge.bookmark.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.bookmark{
  position: relative;
  display: block;
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bookmark input{
  position: absolute;
  cursor: pointer;
  opacity: 0;
}
.bookmark input:checked + .bookmark__icon {
  background: url(../img/icons/bookmark-solid.svg) no-repeat center center/contain;
}
.bookmark__icon {
  background: url(../img/icons/bookmark-outline.svg) no-repeat center center/contain;
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
}

.input-number{
  width: 4rem;
  padding: 0.25rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.input-number:focus {
  border: none;
  box-shadow: none;
}

.input-number,
.input-number-decrement,
.input-number-increment{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(241 241 241 / var(--tw-border-opacity));
}

.input-number-decrement,
.input-number-increment{
  width: 2rem;
  cursor: pointer;
  --tw-bg-opacity: 1;
  background-color: rgb(241 241 241 / var(--tw-bg-opacity));
  text-align: center;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.input-number-decrement:active,
.input-number-increment:active{
  --tw-bg-opacity: 1;
  background-color: rgb(210 210 210 / var(--tw-bg-opacity));
}

.input-number-decrement{
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.input-number-increment{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

/* ----------------------------------------- */
/* pagination 分頁 */
.disabled > .page-link {
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
  opacity: 0.3;
}

.page-link {
  border: none;
  box-shadow: 0 0 0 transparent !important;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}

.page-link:hover{
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

.page-link:focus{
  background-color: transparent;
}

.page-item:last-child .page-link,
.page-item:first-child .page-link{
  cursor: pointer;
  --tw-text-opacity: 1;
  color: rgb(127 176 255 / var(--tw-text-opacity));
}

.page-item:last-child .page-link:hover,
.page-item:first-child .page-link:hover{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

.active > .page-link{
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

/* ----------------------------------------- */


/* ----------------------------------------- */
/*  manual pagination 分頁 */
.disabled > .manual-link {
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgb(52 58 64 / var(--tw-text-opacity));
    opacity: 0.3;
}

.manual-link {
    border: none;
    box-shadow: 0 0 0 transparent !important;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(52 58 64 / var(--tw-text-opacity));
}

.manual-link:hover{
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgb(32 117 243 / var(--tw-text-opacity));
}

.manual-link:focus{
    background-color: transparent;
}

.manual-item:last-child .manual-link,
.manual-item:first-child .manual-link{
    cursor: pointer;
    --tw-text-opacity: 1;
    color: rgb(127 176 255 / var(--tw-text-opacity));
}

.manual-item:last-child .manual-link:hover,
.manual-item:first-child .manual-link:hover{
    --tw-text-opacity: 1;
    color: rgb(32 117 243 / var(--tw-text-opacity));
}

.active > .manual-link{
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgb(230 240 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(32 117 243 / var(--tw-text-opacity));
}

/* ----------------------------------------- */




/* modal 彈窗 - 改寫BS預設樣式 */
.modal-content {
  border: none;
}

.modal-header{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #2075F3 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(32 117 243 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #3c8aff var(--tw-gradient-to-position);
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.modal-header .btn-close {
  padding: 0.25rem;
}

.modal-body{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.modal-body::-webkit-scrollbar {
  width: 18px;
  -webkit-appearance: none;
}
.modal-body::-webkit-scrollbar-track {
  border-radius: 10px;
  margin: 0;
  box-shadow: inset 0 0 18px rgba(109, 124, 135, 0);
  border: 6px solid transparent;
}
.modal-body::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: transparent;
  border: 6px solid transparent;
  box-shadow: inset 0 0 18px #c0c7cd;
}

.modal-footer{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* ----------------------------------------- */
/* iffcanvas 側邊欄 */
.offcanvas.offcanvas-end.offcanvas-cust {
  width: 86%;
  max-width: 400px;
}

.badge.offcanvas-chat .offcanvas-header{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.offcanvas-chat .offcanvas-header{
  height: 3.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.offcanvas-chat .offcanvas-footer{
  display: flex;
  align-items: center;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.offcanvas-chat .offcanvas-body{
  position: relative;
  display: flex;
  flex-direction: column;
  --tw-bg-opacity: 1;
  background-color: rgb(241 241 241 / var(--tw-bg-opacity));
  padding: 0px;
}
.offcanvas-chat .notice{
  border-width: 1px;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.offcanvas-chat input {
  outline: none;
  padding: 0.375rem 0.5rem;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.offcanvas-chat input:focus {
  border: none;
  box-shadow: none;
}
.offcanvas-chat .other{
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.badge.offcanvas-chat .other .content{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.offcanvas-chat .other .content.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.offcanvas-chat .other .content{
  margin-right: 0.5rem;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.offcanvas-chat .self{
  margin-bottom: 0.75rem;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.badge.offcanvas-chat .self .content{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.offcanvas-chat .self .content{
  margin-left: 0.5rem;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.offcanvas-chat .self .time{
  text-align: right;
}
.offcanvas-chat .time {
  font-size: 12px;
  line-height: 1.1;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(165 165 165 / var(--tw-text-opacity));
}

/* ----------------------------------------- */
/* tab 頁籤 */
.nav-tabs{
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(210 210 210 / var(--tw-border-opacity));
}
.nav-tabs .nav-link{
  white-space: nowrap;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(210 210 210 / var(--tw-border-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-top: 0px;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.nav-tabs .nav-link.active {
  box-shadow: inset 0px -2px 0px #2075f3;
  border-bottom-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(210 210 210 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.nav-tabs .nav-link:not(.disabled):hover {
  box-shadow: inset 0px -2px 0px #2075f3;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
  opacity: 0.6;
}
.nav-tabs .nav-link.disabled{
  pointer-events: auto;
  cursor: not-allowed;
  opacity: 0.3;
}

.card{
  cursor: pointer;
  border-radius: 0.375rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
.card.shadow-color-dafault{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: rgb(165 165 165 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.card.shadow-color-dafault:hover{
  --tw-shadow-color: rgb(165 165 165 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.card.shadow-color-primary{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: rgb(73 146 255 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.card.shadow-color-primary:hover{
  --tw-shadow-color: rgb(73 146 255 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.card__img{
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.card__img > img{
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card__overlay{
  position: absolute;
  left: 0px;
  top: 0px;
  height: 100%;
  width: 100%;
}
.badge.card__body{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.card__body.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.card__body{
  min-height: 36px;
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
  border-width: 1px;
  border-top-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.card__body p{
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.card__exam-score{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.card__exam-score.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.card__exam-score{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.25rem;
  margin-top: 0.75rem;
  height: 4rem;
  width: 5rem;
  border-radius: 44px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.card__exam-score .unit{
  margin-left: 0.125rem;
  display: inline-block;
  --tw-translate-y: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
}
.card__quiz-text{
  width: 2.25rem;
  border-radius: 0.375rem;
  border-width: 1px;
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.card__quiz-text.pass{
  --tw-border-opacity: 1;
  border-color: rgb(148 227 151 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(232 255 234 / var(--tw-bg-opacity));
}
.card__quiz-text.fail{
  --tw-border-opacity: 1;
  border-color: rgb(255 134 134 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 215 215 / var(--tw-bg-opacity));
}

.cards-grid-default{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 640px){
  .cards-grid-default{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px){
  .cards-grid-default{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px){
  .cards-grid-default{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1280px){
  .cards-grid-default{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.accordion-header{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.accordion-body{
  padding: 0px;
}

.accordion-button{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.accordion-button:focus{
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.accordion-button:not(.collapsed){
  background-color: rgb(241 241 241 / 0.5);
}
.accordion-button::after {
  content: "";
  background: url(../img/icons/chevron-down.svg) no-repeat center center/contain;
}
.accordion-button:not(.collapsed)::after {
  content: "";
  background: url(../img/icons/chevron-down.svg) no-repeat center center/contain;
}

.program{
  display: flex;
  cursor: default;
  align-items: center;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.program__icon {
  background: url(../img/icons/play-circle-outline.png) no-repeat center center/contain;
  margin-right: 0.375rem;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  opacity: 0;
}


/* 新模式狀態 */
.program.has_read .program__icon {
    background: url(../img/icons/check_green.png) no-repeat center center/contain;
    opacity: 1;
}


.program__title{
  margin-right: 0.375rem;
  width: 1.25rem;
  flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.program__time{
  min-width: 60px;
  flex-shrink: 0;
  text-align: right;
}
.program.active{
  --tw-bg-opacity: 1;
  background-color: rgb(248 251 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.program.active .program__icon{
  opacity: 1;
}
.program:not(.active):hover{
  --tw-text-opacity: 1;
  color: rgb(127 176 255 / var(--tw-text-opacity));
}

/* ----------------------------------------- */
/* 客製表格 */
.cust-table{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.cust-table__header{
  display: flex;
  cursor: default;
  align-items: stretch;
}
.cust-table__header .table-item{
  position: relative;
  flex-shrink: 0;
  border-bottom-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(248 251 255 / var(--tw-bg-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cust-table__header .table-item.sortable::after {
  content: "";
  background: url(../img/icons/swap-gray.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  height: 1rem;
  width: 1rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
}
.cust-table__header .table-item.sortable.asc::after {
  content: "";
  background: url(../img/icons/swap-asc.svg) no-repeat center center/contain;
}
.cust-table__header .table-item.sortable.desc::after {
  content: "";
  background: url(../img/icons/swap-desc.svg) no-repeat center center/contain;
}
.cust-table__header .table-item.filter::after {
  content: "";
  background: url(../img/icons/filter.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  height: 1rem;
  width: 1rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  opacity: 0.7;
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.cust-table__header .table-item.filter.fail::after {
  filter: invert(64%) sepia(97%) saturate(4737%) hue-rotate(333deg) brightness(94%) contrast(98%);
}
.cust-table__header .table-item.filter.pass::after {
  filter: invert(59%) sepia(96%) saturate(243%) hue-rotate(72deg) brightness(103%) contrast(86%);
}
.cust-table__row{
  display: flex;
}
.cust-table__row .table-item{
  flex-shrink: 0;
  border-bottom-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 頁面組件 */
/* ----------------------------------------- */
/* 頁面置頂 navbar */
@media screen and (max-width: 1024px) {
  .top-nav-open {
    right: 0;
    bottom: 0;
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #2075F3 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(32 117 243 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #3c8aff var(--tw-gradient-to-position);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
  .top-nav-open .top-nav__menu {
    display: flex;
    height: calc(100% - 70px);
  }
}
.badge.top-navbg{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.top-navbg{
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 50;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.top-navbg.other-style{
  --tw-bg-opacity: 1;
  background-color: rgb(73 146 255 / var(--tw-bg-opacity));
}
.top-navbg.other-style .top-nav-search{
  --tw-bg-opacity: 1;
  background-color: rgb(73 146 255 / var(--tw-bg-opacity));
}

.top-nav-width{
  height: 100%;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (min-width: 1440px){
  .top-nav-width{
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.top-nav{
  position: relative;
  display: flex;
  height: 100%;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  justify-content: space-between;
}
.top-nav__logo{
  display: flex;
  width: auto;
  align-items: center;
}
@media (min-width: 640px){
  .top-nav__logo{
    width: 10rem;
  }
}
.top-nav__menu{
  order: 9999;
  display: none;
  width: 100%;
  flex-direction: column;
  align-items: center;
  padding-top: 2.5rem;
}
@media (min-width: 1024px){
  .top-nav__menu{
    order: 0;
    display: flex;
    width: auto;
    flex-direction: row;
    padding-top: 0px;
  }
}
.top-nav__tools{
  position: relative;
  display: flex;
  height: 60px;
  width: auto;
  align-items: center;
  justify-content: flex-end;
}
@media (min-width: 640px){
  .top-nav__tools{
    width: 10rem;
  }
}

.top-nav__menu--item{
  position: relative;
  margin-left: 6rem;
  margin-right: 6rem;
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  display: flex;
  justify-content: center;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(230 240 255 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

@media (min-width: 1024px){
  .top-nav__menu--item{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    margin-top: 0px;
    margin-bottom: 0px;
  }
}
.top-nav__menu--item img {
  filter: brightness(100);
}
.top-nav__menu--item.active, .top-nav__menu--item:hover{
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.top-nav__menu--item.active img, .top-nav__menu--item:hover img {
  filter: none;
}
.top-nav__menu--item p{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
@media (min-width: 768px){
  .top-nav__menu--item p{
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.badge.top-nav-search{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.top-nav-search{
  position: absolute;
  right: 0px;
  top: 0px;
  z-index: 20;
  height: 60px;
  width: 100%;
  align-items: center;
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
}

@media (min-width: 1024px){
  .top-nav-search{
    width: 20rem;
  }
}
.top-nav-search input {
  outline: none;
  padding: 0.375rem 2rem 0.375rem 1rem;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  width: 100%;
  border-radius: 9999px;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}

.badge.nav-badge{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.nav-badge{
  position: absolute;
  top: -0.25rem;
  right: -0.375rem;
  height: 1.25rem;
  width: 1.25rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(238 68 68 / var(--tw-bg-opacity));
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.btn-menu {
  z-index: 10;
  cursor: pointer;
  transition: 0.3s;
}
.btn-menu__line {
  position: relative;
  width: 20px;
  height: 16px;
}
.btn-menu__line > span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
  transition: 0.3s;
  border-radius: 99rem;
}
.btn-menu__line > span:nth-of-type(2) {
  top: 7px;
}
.btn-menu__line > span:nth-of-type(3) {
  top: 14px;
}
.btn-menu__line.active > span:nth-of-type(1) {
  transform: translateY(7px) rotate(45deg);
}
.btn-menu__line.active > span:nth-of-type(2) {
  opacity: 0;
}
.btn-menu__line.active > span:nth-of-type(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ----------------------------------------- */
/* 置底選單 */
.footer-menu {
  box-shadow: 0 0px 10px -3px rgba(73, 146, 255, 0.4);
}
.badge.footer-menu{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.footer-menu.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.footer-menu{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media (min-width: 768px){
  .footer-menu{
    flex-direction: row;
    align-items: stretch;
    gap: 0.625rem;
  }
}
.footer-menu__item{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  display: flex;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
.footer-menu__item p{
  padding-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

/* 各頁面 */
/* ----------------------------------------- */
/* 1. 登入相關頁面 */
.login-bg {
  background: url(../img/login/login-bg-1111.png) no-repeat center top/cover;
}
@media (min-width: 1024px) {
  .login-bg {
    background: url(../img/login/login-bg-2222.png) no-repeat center top/cover;
  }
}
@media (min-width: 1440px) {
  .login-bg {
    background: url(../img/login/login-bg-3333.png) no-repeat center center/cover;
  }
}
.login-bg .logo-wrap{
    position: absolute;
    left: 1rem;
    top: 1rem;
    max-height: 13rem;
    width: 5rem;
}
@media (min-width: 640px){
    .login-bg .logo-wrap{
        width: 8rem;
    }
}
@media (min-width: 1024px){
    .login-bg .logo-wrap{
        left: 19%;
        top: 6rem;
        width: 10rem;
        --tw-translate-x: -50%;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
}
@media (min-width: 1440px){
    .login-bg .logo-wrap{
        top: 8rem;
        width: 11rem;
    }
}

.login-notice{
    position: relative;
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.75rem;
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-bottom-color: rgb(109 205 112 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(232 255 234 / var(--tw-bg-opacity));
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

@media (min-width: 640px){
    .login-notice{
        position: absolute;
    }
}

/* ----------------------------------------- */
/* 2. 首頁相關頁面 */
.home-bg{
  position: relative;
}
.home-bg::before {
  content: "";
  z-index: -1;
  pointer-events: none;
  position: absolute;
  left: 0px;
  top: 0px;
  height: 410px;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(73 146 255 / var(--tw-bg-opacity));
}
@media (min-width: 640px){
  .home-bg::before{
    height: 360px;
  }
}
@media (min-width: 768px){
  .home-bg::before{
    height: 320px;
  }
}
@media (min-width: 1024px){
  .home-bg::before{
    height: 350px;
  }
}
@media (min-width: 1440px){
  .home-bg::before{
    height: 380px;
  }
}
.home-bg .circle-link{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 1rem;
}
.home-bg .circle-link__col{
  text-align: center;
}
@media (min-width: 768px){
  .home-bg .circle-link__col{
    width: auto;
  }
}
.home-bg .circle-link__col:hover .text{
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}
.home-bg .circle-link .img-size{
  height: 5rem;
  width: 5rem;
}
.home-bg .circle-link .img-size-sm{
  height: 70px;
  width: 70px;
}
@media (min-width: 640px){
  .home-bg .circle-link .img-size-sm{
    height: 5rem;
    width: 5rem;
  }
}
.home-bg .circle-link .text{
  margin-top: 0.25rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.home-bg .banner-link{
  display: flex;
  width: 100%;
  flex-direction: row;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(206 226 255 / var(--tw-border-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
@media (min-width: 640px){
  .home-bg .banner-link{
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 1024px){
  .home-bg .banner-link{
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
.home-bg .banner-link:hover{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: rgb(73 146 255 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
.home-bg .banner-link__img{
  height: 86px;
  width: 86px;
  flex-shrink: 0;
  text-align: center;
}
@media (min-width: 640px){
  .home-bg .banner-link__img{
    width: 100%;
  }
}

.notice{
  margin-bottom: 2rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.notice__item{
  display: flex;
  cursor: default;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
}
.notice__item:nth-child(odd){
  --tw-bg-opacity: 1;
  background-color: rgb(248 251 255 / var(--tw-bg-opacity));
}
.notice__text{
  flex-grow: 1;
  cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.notice__text:hover{
  text-decoration-line: underline;
}
.notice__time{
  flex-shrink: 0;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
@media (min-width: 640px){
  .notice__time{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.notice__state{
  min-width: 48px;
  padding-right: 0.5rem;
}
.notice__state .badge{
  min-width: 38px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

ul.list{
  list-style-type: disc;
  padding-inline-start: 1.25rem;
}
ul.list li{
  margin-bottom: 0.375rem;
}
ul.list a{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
ul.list a:hover{
  text-decoration-line: underline;
}

ol.list{
  list-style-type: decimal;
  padding-inline-start: 1.25rem;
}
ol.list li{
  margin-bottom: 0.375rem;
}
ol.list a{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
ol.list a:hover{
  text-decoration-line: underline;
}

.intro .accordion-item{
  margin-bottom: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 226 227 / var(--tw-border-opacity));
}
.intro .accordion-item:not(:first-of-type){
  border-top-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(226 226 227 / var(--tw-border-opacity));
}
.intro .accordion-body{
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.intro .accordion-button{
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(241 241 241 / var(--tw-bg-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.container-home .intro .accordion-button {
  font-size: 1.2rem;
}
.intro .accordion-button::after,
.intro .accordion-button img{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.intro .accordion-button:not(.collapsed){
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.intro .accordion-button:not(.collapsed)::after,
.intro .accordion-button:not(.collapsed) img{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.intro-video{
  position: relative;
  width: 100%;
  flex-shrink: 0;
}

@media (min-width: 768px){
  .intro-video{
    width: 16rem;
  }
}

@media (min-width: 1024px){
  .intro-video{
    width: 20rem;
  }
}
.intro-video img{
  width: 100%;
}
.intro-video__play{
  height: 4rem;
  width: 7rem;
  cursor: pointer;
  border-radius: 0.5rem;
  background-color: rgb(0 0 0 / 0.7);
  position: absolute;
  left: 50%;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.intro-video__play::after {
  content: "";
  background: url(../img/icons/play_arrow.svg) no-repeat center center/contain;
  height: 3.5rem;
  width: 3.5rem;
  --tw-brightness: brightness(100);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  position: absolute;
  left: 50%;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.badge-searchpage{
  margin-left: 0.25rem;
  min-width: 16px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

/* ----------------------------------------- */
/* 2. 首頁home-v2 新版首頁的調整內容 */
.container-home .circle-link .img-size{
  height: 5rem;
  width: 5rem;
}
@media (min-width: 1280px){
  .container-home .circle-link .img-size{
    height: 120px;
    width: 120px;
  }
}
.container-home .circle-link .img-size-sm{
  height: 70px;
  width: 70px;
}
@media (min-width: 640px){
  .container-home .circle-link .img-size-sm{
    height: 5rem;
    width: 5rem;
  }
}
@media (min-width: 1280px){
  .container-home .circle-link .img-size-sm{
    height: 120px;
    width: 120px;
  }
}
.container-home .circle-link .text{
  margin-top: 0.25rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
@media (min-width: 1280px){
  .container-home .circle-link .text{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.container-home .banner-link{
  display: flex;
  width: 100%;
  flex-direction: row;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(206 226 255 / var(--tw-border-opacity));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
@media (min-width: 640px){
  .container-home .banner-link{
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 1024px){
  .container-home .banner-link{
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
.container-home .banner-link:hover{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: rgb(73 146 255 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
.container-home .banner-link__img{
  height: 86px;
  width: 86px;
  flex-shrink: 0;
  text-align: center;
}
@media (min-width: 640px){
  .container-home .banner-link__img{
    width: 100%;
  }
}
@media (min-width: 1280px){
  .container-home .banner-link__img{
    height: 140px;
  }
}
.container-home .text-base {
  font-size: 1.2rem;
}
.container-home .badge {
  font-size: 1rem;
}

/* ----------------------------------------- */
/* 3. 名師教學頁面 */
.tab-notes{
  display: flex;
  cursor: pointer;
  gap: 0.75rem;
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.tab-notes.active, .tab-notes:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 251 255 / var(--tw-bg-opacity));
}
.tab-notes__img{
  width: 6rem;
  flex-shrink: 0;
}
.tab-notes__content{
  width: 0px;
  flex-grow: 1;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.tab-notes__content .play-icon{
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
}
.tab-notes__content .play-icon::before {
  content: "";
  background: url(../img/icons/play-circle-outline.svg) no-repeat center center/contain;
  margin-right: 0.375rem;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

/* ----------------------------------------- */
/* 4. 百萬題庫相關頁面 */
/* 考卷測驗 */
.exam-qs{
  position: relative;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.exam-qs .swiper-slide:not(:last-child)::before {
  content: "";
  z-index: -1;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-bottom-width: 1px;
}
.badge.exam-qs__index{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.exam-qs__index.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.exam-qs__index{
  margin-left: auto;
  margin-right: auto;
  height: 2rem;
  width: 2rem;
  cursor: default;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(210 210 210 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.exam-qs__index.finish{
  --tw-border-opacity: 1;
  border-color: rgb(206 226 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.badge.exam-qs__index.re-check{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.exam-qs__index.re-check.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.exam-qs__index.re-check{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(238 68 68 / var(--tw-text-opacity));
}

.exam-qs__index.re-check.finish{
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

.exam-qs__index.re-check.active{
  color: rgb(255 255 255 / var(--tw-text-opacity));
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  background-color: rgb(238 68 68 / var(--tw-bg-opacity));
}

.badge.exam-qs__index.active{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-qs__index.active{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-qs .swiper-button-prev{
  position: absolute;
  left: 0px;
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.exam-qs .swiper-button-prev::after {
  content: "❮";
  font-size: 1.125rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.exam-qs .swiper-button-next{
  position: absolute;
  right: 0px;
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.exam-qs .swiper-button-next::after {
  content: "❯";
  font-size: 1.125rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.exam-qs .swiper-button-lock {
  display: flex;
  opacity: 0.15;
}

.exam-checkbox input{
  position: absolute;
  opacity: 0;
}
.badge.exam-checkbox input:checked + label{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-checkbox input:checked + label{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-checkbox label{
  display: flex;
  width: 4rem;
  flex-shrink: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(127 176 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.container-home .exam-checkbox label {
  font-size: 1.2rem;
}
.badge.exam-checkbox:not(.pass, .fail) label:hover{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-checkbox:not(.pass, .fail) label:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-checkbox.pass label{
  --tw-border-opacity: 1;
  border-color: rgb(148 227 151 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(232 255 234 / var(--tw-bg-opacity));
}
.exam-checkbox.pass label::after {
  content: "";
  background: url(../img/icons/check-green.svg) no-repeat center center/contain;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
}
.exam-checkbox.fail label{
  --tw-border-opacity: 1;
  border-color: rgb(255 134 134 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 215 215 / var(--tw-bg-opacity));
}
.exam-checkbox.fail label::after {
  content: "";
  background: url(../img/icons/close-red.svg) no-repeat center center/contain;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
}
.exam-checkbox.disabled{
  pointer-events: none;
}

.exam-ture-false{
  width: 100%;
}
.exam-ture-false input{
  position: absolute;
  opacity: 0;
}
.badge.exam-ture-false input:checked + label{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-ture-false input:checked + label{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-ture-false label{
  display: flex;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(127 176 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.badge.exam-ture-false:not(.pass, .fail) label:hover{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-ture-false:not(.pass, .fail) label:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-ture-false.pass label{
  --tw-border-opacity: 1;
  border-color: rgb(148 227 151 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(232 255 234 / var(--tw-bg-opacity));
}
.exam-ture-false.pass label::after {
  content: "";
  background: url(../img/icons/check-green.svg) no-repeat center center/contain;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
}
.exam-ture-false.fail label{
  --tw-border-opacity: 1;
  border-color: rgb(255 134 134 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 215 215 / var(--tw-bg-opacity));
}
.exam-ture-false.fail label::after {
  content: "";
  background: url(../img/icons/close-red.svg) no-repeat center center/contain;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
}
.exam-ture-false.disabled{
  pointer-events: none;
}

.right-answer {
  background: url(../img/icons/circle-green.svg) no-repeat center center/contain;
  height: 1.5rem;
  width: 1.5rem;
}

.wrong-answer {
  background: url(../img/icons/close-red.svg) no-repeat center center/contain;
  height: 1.5rem;
  width: 1.5rem;
}

/* 考卷測驗步驟 */
.exam-step{
  margin-left: auto;
  margin-right: auto;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
}
@media (min-width: 640px){
  .exam-step{
    gap: 1.25rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (min-width: 768px){
  .exam-step{
    width: 600px;
  }
}
.exam-step__item{
  flex-shrink: 0;
  opacity: 0.5;
}
.exam-step__item.checked{
  opacity: 1;
}
.badge.exam-step__item.checked .exam-step__circle{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.exam-step__item.checked .exam-step__circle.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.exam-step__item.checked .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step__item.checked .exam-step__circle::after {
  content: "";
  background: url(../img/icons/check-orange.svg) no-repeat center center/contain;
  height: 1.5rem;
  width: 1.5rem;
  position: absolute;
  left: 50%;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (min-width: 640px){
  .exam-step__item.checked .exam-step__circle::after{
    height: 1.75rem;
    width: 1.75rem;
  }
}
.exam-step__item.active{
  opacity: 1;
}
.badge.exam-step__item.active .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step__item.active .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(254 139 83 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.exam-step__circle{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.exam-step__circle.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.exam-step__circle{
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.25rem;
  height: 1.75rem;
  width: 1.75rem;
  border-radius: 9999px;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
@media (min-width: 640px){
  .exam-step__circle{
    height: 2rem;
    width: 2rem;
  }
}
.exam-step.step-1 .exam-step__item:nth-of-type(1){
  opacity: 1;
}
.badge.exam-step.step-1 .exam-step__item:nth-of-type(1) .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step.step-1 .exam-step__item:nth-of-type(1) .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(254 139 83 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step.step-2 .exam-step__item:nth-of-type(1){
  opacity: 1;
}
.badge.exam-step.step-2 .exam-step__item:nth-of-type(1) .exam-step__circle{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.exam-step.step-2 .exam-step__item:nth-of-type(1) .exam-step__circle.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.exam-step.step-2 .exam-step__item:nth-of-type(1) .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step.step-2 .exam-step__item:nth-of-type(1) .exam-step__circle::after {
  content: "";
  background: url(../img/icons/check-orange.svg) no-repeat center center/contain;
  height: 1.5rem;
  width: 1.5rem;
  position: absolute;
  left: 50%;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (min-width: 640px){
  .exam-step.step-2 .exam-step__item:nth-of-type(1) .exam-step__circle::after{
    height: 1.75rem;
    width: 1.75rem;
  }
}
.exam-step.step-2 .exam-step__item:nth-of-type(3){
  opacity: 1;
}
.badge.exam-step.step-2 .exam-step__item:nth-of-type(3) .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step.step-2 .exam-step__item:nth-of-type(3) .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(254 139 83 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step.step-3 .exam-step__item:nth-of-type(1),
.exam-step.step-3 .exam-step__item:nth-of-type(3){
  opacity: 1;
}
.badge.exam-step.step-3 .exam-step__item:nth-of-type(1) .exam-step__circle,.badge
.exam-step.step-3 .exam-step__item:nth-of-type(3) .exam-step__circle{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.exam-step.step-3 .exam-step__item:nth-of-type(1) .exam-step__circle.color-primary,.badge
.exam-step.step-3 .exam-step__item:nth-of-type(3) .exam-step__circle.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.exam-step.step-3 .exam-step__item:nth-of-type(1) .exam-step__circle,
.exam-step.step-3 .exam-step__item:nth-of-type(3) .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step.step-3 .exam-step__item:nth-of-type(1) .exam-step__circle::after,
.exam-step.step-3 .exam-step__item:nth-of-type(3) .exam-step__circle::after {
  content: "";
  background: url(../img/icons/check-orange.svg) no-repeat center center/contain;
  height: 1.5rem;
  width: 1.5rem;
  position: absolute;
  left: 50%;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (min-width: 640px){
  .exam-step.step-3 .exam-step__item:nth-of-type(1) .exam-step__circle::after,
.exam-step.step-3 .exam-step__item:nth-of-type(3) .exam-step__circle::after{
    height: 1.75rem;
    width: 1.75rem;
  }
}
.exam-step.step-3 .exam-step__item:nth-of-type(5){
  opacity: 1;
}
.badge.exam-step.step-3 .exam-step__item:nth-of-type(5) .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.exam-step.step-3 .exam-step__item:nth-of-type(5) .exam-step__circle{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(254 139 83 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

/* 考卷測驗手動 */
.level-hard::after {
  content: "難";
  display: inline-block;
  flex-shrink: 0;
  border-radius: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}
.level-hard.bg-white::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.level-hard.bg-white.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.level-hard.bg-danger::after{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.badge.level-hard::after{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.level-hard.bg-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.level-hard.bg-secondary::after{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.level-hard.bg-success::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.level-hard.bg-warning::after{
  --tw-border-opacity: 1;
  border-color: rgb(255 182 73 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}
.level-hard::after{
  cursor: default;
  --tw-bg-opacity: 1;
  background-color: rgb(238 68 68 / var(--tw-bg-opacity));
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.notice__state .level-hard::after{
  min-width: 38px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.container-home .level-hard::after {
  font-size: 1rem;
}

.level-mid::after {
  content: "中";
  display: inline-block;
  flex-shrink: 0;
  border-radius: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.level-mid.bg-white::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.level-mid.bg-white.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.level-mid.bg-danger::after{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.level-mid.bg-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.badge.level-mid::after{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.level-mid.bg-secondary::after{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.level-mid.bg-success::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.level-mid.bg-warning::after{
  --tw-border-opacity: 1;
  border-color: rgb(255 182 73 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}

.level-mid::after{
  cursor: default;
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.notice__state .level-mid::after{
  min-width: 38px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.container-home .level-mid::after {
  font-size: 1rem;
}

.level-easy::after {
  content: "易";
  display: inline-block;
  flex-shrink: 0;
  border-radius: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.level-easy.bg-white::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.level-easy.bg-white.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.level-easy.bg-danger::after{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.level-easy.bg-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.level-easy.bg-secondary::after{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.level-easy.bg-success::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.badge.level-easy::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.level-easy.bg-warning::after{
  --tw-border-opacity: 1;
  border-color: rgb(255 182 73 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}

.level-easy::after{
  cursor: default;
  --tw-bg-opacity: 1;
  background-color: rgb(109 205 112 / var(--tw-bg-opacity));
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.notice__state .level-easy::after{
  min-width: 38px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.container-home .level-easy::after {
  font-size: 1rem;
}

.exam-do::after {
  content: "詳解";
  display: inline-block;
  flex-shrink: 0;
  border-radius: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.exam-do.bg-white::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.badge.exam-do::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.exam-do.bg-white.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.badge.exam-do.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.exam-do.bg-danger::after{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.exam-do.bg-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.exam-do.bg-secondary::after{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.exam-do.bg-success::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.exam-do.bg-warning::after{
  --tw-border-opacity: 1;
  border-color: rgb(255 182 73 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}

.exam-do::after{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.notice__state .exam-do::after{
  min-width: 38px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.container-home .exam-do::after {
  font-size: 1rem;
}

.exam-undo::after {
  content: "未做";
  display: inline-block;
  flex-shrink: 0;
  border-radius: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.exam-undo.bg-white::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.badge.exam-undo::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.exam-undo.bg-white.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.badge.exam-undo.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}

.exam-undo.bg-danger::after{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.exam-undo.bg-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.exam-undo.bg-secondary::after{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.exam-undo.bg-success::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.exam-undo.bg-warning::after{
  --tw-border-opacity: 1;
  border-color: rgb(255 182 73 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}

.exam-undo::after{
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.notice__state .exam-undo::after{
  min-width: 38px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.container-home .exam-undo::after {
  font-size: 1rem;
}

/* 隨堂測驗 */
.quiz-qs{
  position: relative;
  display: flex;
  gap: 2rem;
}
.quiz-qs::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 50%;
  width: 100%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-bottom-width: 1px;
}
.badge.quiz-qs__index{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.quiz-qs__index.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.quiz-qs__index{
  height: 2rem;
  width: 2rem;
  cursor: default;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(210 210 210 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.badge.quiz-qs__index.active{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.quiz-qs__index.active{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.quiz-qs__index.pass{
  background-color: rgb(148 227 151 / var(--tw-bg-opacity));
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.quiz-qs__index.fail{
  background-color: rgb(238 68 68 / var(--tw-bg-opacity));
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.quiz-qs__index.pass.active,
.quiz-qs__index.fail.active{
  /* color: rgb(255 255 255 / var(--tw-text-opacity)); */
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}

.badge.quiz-qs__index.re-check{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.quiz-qs__index.re-check.color-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.quiz-qs__index.re-check{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(238 68 68 / var(--tw-text-opacity));
}
.quiz-qs__index.finish{
  --tw-border-opacity: 1;
  border-color: rgb(206 226 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

.btn-answer{
  display: flex;
  width: 4rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(127 176 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  padding: 0.375rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}

.container-home .btn-answer {
  font-size: 1.2rem;
}
.badge.btn-answer:not(.pass, .fail):hover,.badge .btn-answer:not(.pass, .fail):active{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.btn-answer:not(.pass, .fail):hover, .btn-answer:not(.pass, .fail):active{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.btn-answer.pass{
  --tw-border-opacity: 1;
  border-color: rgb(148 227 151 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(232 255 234 / var(--tw-bg-opacity));
}
.btn-answer.pass::after {
  content: "";
  /* background: url(../img/icons/check-green.svg) no-repeat center center/contain; */
  display: inline-block;
  /* height: 1.5rem;
  width: 1.5rem; */
}
.btn-answer.fail{
  --tw-border-opacity: 1;
  border-color: rgb(255 134 134 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 215 215 / var(--tw-bg-opacity));
}
.btn-answer.fail::after {
  content: "";
  /* background: url(../img/icons/close-red.svg) no-repeat center center/contain; */
  display: inline-block;
  /* height: 1.5rem;
  width: 1.5rem; */
}
.btn-answer.disabled{
  pointer-events: none;
}

/* 歷屆試題 */
.cards-grid-past{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 640px){
  .cards-grid-past{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px){
  .cards-grid-past{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px){
  .cards-grid-past{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1280px){
  .cards-grid-past{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.past-card .card__img{
  aspect-ratio: auto;
  height: 94px;
}
.past-card .card__overlay{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-bottom: 0.25rem;
  padding-top: 0.75rem;
}
.past-card .form-check-input{
  position: absolute;
  right: 1.25rem;
  top: 1.25rem;
  margin-top: 0px;
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
}
.past-card .form-check-input:checked + label{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.past-card .form-check-input:checked + label img{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.past-card label{
  display: flex;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(241 241 241 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.past-card label img{
  margin-right: 0.25rem;
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

/* 手寫板內容 */
.board-tool{
  position: fixed;
  right: 0.25rem;
  top: 50%;
  display: flex;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 768px){
  .board-tool{
    right: 1rem;
  }
}
.board-tool.show-tip .tip{
  display: block;
}
.board-tool .tip{
  margin-right: 0.375rem;
  display: none;
}

/* ----------------------------------------- */
/* 6. 解惑平台相關頁面 */
.record-bugs-height{
  height: calc(100vh - 300px);
  min-height: 300px;
}
@media (min-width: 768px){
  .record-bugs-height{
    height: calc(100vh - 380px);
  }
}

.record-asked-height{
  height: calc(100vh - 300px);
  min-height: 300px;
}

@media (min-width: 768px){
  .record-asked-height{
    height: calc(100vh - 400px);
  }
}

.record-list{
  width: 100%;
  overflow-y: auto;
  border-radius: 0.375rem;
}

.record-list::-webkit-scrollbar {
    width: 18px;
    -webkit-appearance: none;
  }

.record-list::-webkit-scrollbar-track {
    border-radius: 10px;
    margin: 0;
    box-shadow: inset 0 0 18px rgba(109, 124, 135, 0);
    border: 6px solid transparent;
  }

.record-list::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: transparent;
    border: 6px solid transparent;
    box-shadow: inset 0 0 18px #c0c7cd;
  }

@media (min-width: 768px){
  .record-list{
    width: 16rem;
    border-width: 1px;
    padding: 0.75rem;
  }
}
.record-list__item{
  position: relative;
  margin-bottom: 0.75rem;
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.25rem;
  border-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
@media (min-width: 768px){
  .record-list__item{
    border-style: none;
  }
}
.record-list__item:hover, .record-list__item:active, .record-list__item.active{
  --tw-bg-opacity: 1;
  background-color: rgb(248 251 255 / var(--tw-bg-opacity));
}
.record-list__item .open-modal{
  position: absolute;
  left: 0px;
  top: 0px;
  height: 100%;
  width: 100%;
}
@media (min-width: 768px){
  .record-list__item .open-modal{
    display: none;
  }
}
.record-list__badge{
  flex-shrink: 0;
}
.record-list__badge::after {
  content: "答";
  display: inline-block;
  flex-shrink: 0;
  border-radius: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}
.record-list__badge.bg-white::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.badge.record-list__badge::after{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.record-list__badge.bg-white.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.badge.record-list__badge.color-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.record-list__badge.bg-danger::after{
  --tw-border-opacity: 1;
  border-color: rgb(238 68 68 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.record-list__badge.bg-primary::after{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.record-list__badge.bg-secondary::after{
  --tw-border-opacity: 1;
  border-color: rgb(254 139 83 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.record-list__badge.bg-success::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.record-list__badge.bg-warning::after{
  --tw-border-opacity: 1;
  border-color: rgb(255 182 73 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}
.record-list__badge::after{
  cursor: default;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.notice__state .record-list__badge::after{
  min-width: 38px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.container-home .record-list__badge::after {
  font-size: 1rem;
}
.badge.record-list__badge.solved::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.record-list__badge.solved::after{
  --tw-border-opacity: 1;
  border-color: rgb(109 205 112 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(109 205 112 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.record-list__text{
  width: 5rem;
  flex-grow: 1;
}
.record-list__text .title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
.record-list__text .time{
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.record-board{
  position: absolute;
  left: 0px;
  top: 0px;
  height: 100%;
  width: 100%;
  overflow-y: auto;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.record-board::-webkit-scrollbar {
    width: 18px;
    -webkit-appearance: none;
  }

.record-board::-webkit-scrollbar-track {
    border-radius: 10px;
    margin: 0;
    box-shadow: inset 0 0 18px rgba(109, 124, 135, 0);
    border: 6px solid transparent;
  }

.record-board::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: transparent;
    border: 6px solid transparent;
    box-shadow: inset 0 0 18px #c0c7cd;
  }

.asked-accordion{
  margin-bottom: 1.25rem;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(248 251 255 / var(--tw-bg-opacity));
  padding: 0.75rem;
}

@media (min-width: 640px){
  .asked-accordion{
    margin-bottom: 2rem;
  }
}
.asked-accordion .accordion-item{
  border-width: 0px;
  background-color: transparent;
}
.asked-accordion .accordion-header{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  border-bottom-width: 1px;
  padding-bottom: 0.5rem;
}
@media (min-width: 640px){
  .asked-accordion .accordion-header{
    flex-direction: row;
  }
}
.asked-accordion .accordion-button{
  width: auto;
  background-color: transparent;
  font-weight: 400;
}
.asked-accordion .accordion-button:not(.collapsed){
  background-color: transparent;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.asked-accordion .accordion-body{
  margin-top: 0.75rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px){
  .asked-accordion .accordion-body{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
.asked-accordion .btn-outline-primary.active{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.asked-accordion__filter{
  display: flex;
  width: 100%;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
@media (min-width: 640px){
  .asked-accordion__filter{
    width: auto;
    flex-direction: row;
  }
}
.asked-accordion__filter .btns{
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
@media (min-width: 640px){
  .asked-accordion__filter .btns{
    display: block;
    width: auto;
  }
}
.asked-accordion__filter .btn{
  width: 100%;
}
@media (min-width: 640px){
  .asked-accordion__filter .btn{
    width: auto;
  }
}

/* ----------------------------------------- */
/* 7. 學習紀錄相關頁面 */
.plan-date{
  margin-top: 1.25rem;
  display: flex;
  height: 4rem;
  align-items: center;
  gap: 0px;
}
@media (min-width: 640px){
  .plan-date{
    gap: 0.5rem;
  }
}
@media (min-width: 1280px){
  .plan-date{
    gap: 1.25rem;
  }
}
.plan-date--next, .plan-date--prev{
  margin-bottom: 1rem;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  cursor: pointer;
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
@media (min-width: 640px){
  .plan-date--next, .plan-date--prev{
    margin-bottom: 0px;
  }
}
.plan-date--next:hover, .plan-date--next:active, .plan-date--prev:hover, .plan-date--prev:active{
  --tw-text-opacity: 1;
  color: rgb(127 176 255 / var(--tw-text-opacity));
}
.plan-date__row{
  display: flex;
  flex-grow: 1;
  align-items: center;
  overflow-x: auto;
}
.plan-date__row::-webkit-scrollbar {
    width: 18px;
    -webkit-appearance: none;
  }
.plan-date__row::-webkit-scrollbar-track {
    border-radius: 10px;
    margin: 0;
    box-shadow: inset 0 0 18px rgba(109, 124, 135, 0);
    border: 6px solid transparent;
  }
.plan-date__row::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: transparent;
    border: 6px solid transparent;
    box-shadow: inset 0 0 18px #c0c7cd;
  }
.plan-date__col{
  position: relative;
  height: 4rem;
  width: 5rem;
  flex-shrink: 0;
  flex-grow: 1;
  cursor: default;
  border-radius: 0.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
@media (min-width: 1024px){
  .plan-date__col{
    width: 6rem;
  }
}
.plan-date__col:hover, .plan-date__col:active{
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 255 / var(--tw-bg-opacity));
}
.plan-date__col:not(:last-of-type)::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 50%;
  height: 3rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-right-width: 1px;
}
.plan-date__col.planned{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.badge.plan-date__col.today{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.plan-date__col.today{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.plan-date__col.today::after{
  --tw-border-opacity: 1;
  border-right-color: rgb(32 117 243 / var(--tw-border-opacity));
}

.plan-cards-grid{
  display: grid;
  width: 100%;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (min-width: 640px){
  .plan-cards-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px){
  .plan-cards-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px){
  .plan-cards-grid{
    width: 640px;
  }
}
.plan-cards-grid .card{
  width: 100%;
}
@media (min-width: 1024px){
  .plan-cards-grid .card{
    width: 200px;
  }
}

.timetable{
  display: flex;
  overflow-x: auto;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

.timetable::-webkit-scrollbar {
    width: 18px;
    -webkit-appearance: none;
  }

.timetable::-webkit-scrollbar-track {
    border-radius: 10px;
    margin: 0;
    box-shadow: inset 0 0 18px rgba(109, 124, 135, 0);
    border: 6px solid transparent;
  }

.timetable::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: transparent;
    border: 6px solid transparent;
    box-shadow: inset 0 0 18px #c0c7cd;
  }
.timetable__col{
  width: 12.5%;
  min-width: 100px;
  flex-shrink: 0;
  flex-grow: 1;
}
.timetable__col > p{
  height: 2.75rem;
  border-bottom-width: 1px;
  text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.timetable__col:first-of-type{
  min-width: 50px;
  --tw-bg-opacity: 1;
  background-color: rgb(248 251 255 / var(--tw-bg-opacity));
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
@media (min-width: 640px){
  .timetable__col:first-of-type{
    min-width: 100px;
  }
}
.timetable__col:first-of-type > p{
  --tw-border-opacity: 1;
  border-color: rgb(206 226 255 / var(--tw-border-opacity));
}
.timetable.disabled input{
  pointer-events: none;
  background-color: transparent;
}
.timetable input {
  outline: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  width: 83.333333%;
  min-width: 80px;
  border-radius: 0.25rem;
  background-color: rgb(241 241 241 / 0.4);
  padding: 0.25rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.timetable input:focus {
  border: none;
  box-shadow: none;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.timetable input:disabled{
  background-color: transparent;
}

.icon-sort{
  display: flex;
  cursor: pointer;
  align-items: center;
}
.icon-sort::after {
  content: "";
  background: url(../img/icons/swap-gray.svg) no-repeat center center/contain;
  display: inline-block;
  height: 1rem;
  width: 1rem;
}
.icon-sort.asc::after {
  content: "";
  background: url(../img/icons/swap-asc.svg) no-repeat center center/contain;
}
.icon-sort.desc::after {
  content: "";
  background: url(../img/icons/swap-desc.svg) no-repeat center center/contain;
}

.learn-textarea{
  margin-bottom: 0.75rem;
  height: 10rem;
  flex-grow: 1;
}
.learn-textarea .form-control{
  height: 100%;
  resize: none;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.progress-page-link{
  width: 100%;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(241 241 241 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}

@media (min-width: 640px){
  .progress-page-link{
    width: auto;
  }
}
.progress-page-link.active{
  --tw-bg-opacity: 1;
  background-color: rgb(255 235 221 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(254 139 83 / var(--tw-text-opacity));
}
.progress-page-link:not(.active):hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 226 227 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity));
}

.progress{
  margin-bottom: 1.25rem;
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}

@media (min-width: 640px){
  .progress{
    gap: 1.25rem;
  }
}
.progress__item{
  display: flex;
  width: 83.333333%;
  flex-grow: 1;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.25rem;
}
.progress__percent{
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  line-height: 1;
}
.progress.all .progress-title{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.badge.progress.all .progress-thumb{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.progress.all .progress-thumb{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
}

.progress-title{
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 640px){
  .progress-title{
    width: 66.666667%;
  }
}

.progress-time{
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(165 165 165 / var(--tw-text-opacity));
}

@media (min-width: 640px){
  .progress-time{
    width: auto;
  }
}

.progress-bar{
  position: relative;
  height: 0.375rem;
  width: 100%;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(241 241 241 / var(--tw-bg-opacity));
}

.progress-thumb{
  position: absolute;
  bottom: 0px;
  left: 0px;
  top: 0px;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(127 176 255 / var(--tw-bg-opacity));
}

.progres-viewer{
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  border-radius: 0.25rem;
  border-width: 1px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.progres-viewer .info{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.progres-viewer .arrow{
  flex-shrink: 0;
}
.progres-viewer .info,
.progres-viewer .progress-bar,
.progres-viewer .arrow {
  filter: grayscale(1) opacity(0.5);
}
.progres-viewer .subject{
  padding-left: 0.25rem;
}
.progres-viewer:hover{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(242 249 255 / var(--tw-bg-opacity));
}
.progres-viewer:hover .info,
.progres-viewer:hover .progress-bar,
.progres-viewer:hover .arrow {
  filter: grayscale(0) opacity(1);
}
.progres-viewer:hover .percent,
.progres-viewer:hover .subject,
.progres-viewer:hover .current-timer{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.badge.progres-viewer:hover .progress-thumb{
  --tw-border-opacity: 1;
  border-color: rgb(32 117 243 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.progres-viewer:hover .progress-thumb{
  --tw-bg-opacity: 1;
  background-color: rgb(32 117 243 / var(--tw-bg-opacity));
}

.collapse-btn-1{
  display: flex;
  align-items: center;
}
.collapse-btn-1.collapsed img {
  transform: rotate(0deg);
}
.collapse-btn-1 img {
  transition: 0.15s;
  transform: rotate(90deg);
}

.chart-collapse-btn{
  margin-bottom: 1rem;
  display: flex;
  width: 100%;
  cursor: pointer;
  align-items: center;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1.25rem;
}
.chart-collapse-btn.style-primary{
  --tw-border-opacity: 1;
  border-color: rgb(230 240 255 / var(--tw-border-opacity));
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #7FB0FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(127 176 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #4992FF var(--tw-gradient-to-position);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-primary.collapsed{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #F2F9FF var(--tw-gradient-to-position);
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-primary.collapsed:hover{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #7FB0FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(127 176 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #4992FF var(--tw-gradient-to-position);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-primary.collapsed:hover h4{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-primary.collapsed:hover img {
  filter: brightness(100);
}
.chart-collapse-btn.style-primary.collapsed img {
  filter: none;
}
.chart-collapse-btn.style-primary.collapsed h4{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-primary img {
  filter: brightness(100);
}
.chart-collapse-btn.style-secondary{
  --tw-border-opacity: 1;
  border-color: rgb(255 235 221 / var(--tw-border-opacity));
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #FFAD84 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 173 132 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #FE8B53 var(--tw-gradient-to-position);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-secondary.collapsed{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #FFF8F2 var(--tw-gradient-to-position);
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-secondary.collapsed:hover{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #FFAD84 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 173 132 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #FE8B53 var(--tw-gradient-to-position);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-secondary.collapsed:hover h4{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-secondary.collapsed:hover img {
  filter: brightness(100);
}
.chart-collapse-btn.style-secondary.collapsed img {
  filter: none;
}
.chart-collapse-btn.style-secondary.collapsed h4{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}
.chart-collapse-btn.style-secondary img {
  filter: brightness(100);
}
.chart-collapse-btn.collapsed img {
  transform: rotate(0deg);
}
.chart-collapse-btn img {
  transition: 0.15s;
  transform: rotate(90deg);
}
.hover\:bg-gray-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}
.hover\:bg-secondary-30:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 235 221 / var(--tw-bg-opacity));
}
.hover\:text-gray-90:hover{
  --tw-text-opacity: 1;
  color: rgb(107 107 107 / var(--tw-text-opacity));
}
.hover\:text-primary:hover{
  --tw-text-opacity: 1;
  color: rgb(32 117 243 / var(--tw-text-opacity));
}
.hover\:text-primary-90:hover{
  --tw-text-opacity: 1;
  color: rgb(73 146 255 / var(--tw-text-opacity));
}
.hover\:text-primary-95:hover{
  --tw-text-opacity: 1;
  color: rgb(60 138 255 / var(--tw-text-opacity));
}
.hover\:underline:hover{
  text-decoration-line: underline;
}
.hover\:no-underline:hover{
  text-decoration-line: none;
}
.hover\:opacity-100:hover{
  opacity: 1;
}
.hover\:grayscale-0:hover{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
@media (min-width: 640px){
  .sm\:left-3{
    left: 0.75rem;
  }
  .sm\:right-3{
    right: 0.75rem;
  }
  .sm\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  .sm\:mb-5{
    margin-bottom: 1.25rem;
  }
  .sm\:mb-8{
    margin-bottom: 2rem;
  }
  .sm\:mt-5{
    margin-top: 1.25rem;
  }
  .sm\:mt-8{
    margin-top: 2rem;
  }
  .sm\:block{
    display: block;
  }
  .sm\:flex{
    display: flex;
  }
  .sm\:\!hidden{
    display: none !important;
  }
  .sm\:hidden{
    display: none;
  }
  .sm\:w-1{
    width: 0.25rem;
  }
  .sm\:w-10\/12{
    width: 83.333333%;
  }
  .sm\:w-32{
    width: 8rem;
  }
  .sm\:w-\[200px\]{
    width: 200px;
  }
  .sm\:w-auto{
    width: auto;
  }
  .sm\:max-w-\[650px\]{
    max-width: 650px;
  }
  .sm\:max-w-none{
    max-width: none;
  }
  .sm\:flex-grow-0{
    flex-grow: 0;
  }
  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:flex-row{
    flex-direction: row;
  }
  .sm\:flex-nowrap{
    flex-wrap: nowrap;
  }
  .sm\:items-center{
    align-items: center;
  }
  .sm\:justify-end{
    justify-content: flex-end;
  }
  .sm\:justify-between{
    justify-content: space-between;
  }
  .sm\:gap-0{
    gap: 0px;
  }
  .sm\:gap-2{
    gap: 0.5rem;
  }
  .sm\:gap-3{
    gap: 0.75rem;
  }
  .sm\:gap-5{
    gap: 1.25rem;
  }
  .sm\:bg-gray-60{
    --tw-bg-opacity: 1;
    background-color: rgb(226 226 227 / var(--tw-bg-opacity));
  }
  .sm\:p-5{
    padding: 1.25rem;
  }
  .sm\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .sm\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .sm\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .sm\:pb-10{
    padding-bottom: 2.5rem;
  }
  .sm\:pl-6{
    padding-left: 1.5rem;
  }
  .sm\:pr-2{
    padding-right: 0.5rem;
  }
  .sm\:pt-0{
    padding-top: 0px;
  }
  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (min-width: 768px){
  .md\:right-6{
    right: 1.5rem;
  }
  .md\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .md\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .md\:mb-14{
    margin-bottom: 3.5rem;
  }
  .md\:mb-5{
    margin-bottom: 1.25rem;
  }
  .md\:mb-8{
    margin-bottom: 2rem;
  }
  .md\:mt-14{
    margin-top: 3.5rem;
  }
  .md\:block{
    display: block;
  }
  .md\:inline-block{
    display: inline-block;
  }
  .md\:flex{
    display: flex;
  }
  .md\:hidden{
    display: none;
  }
  .md\:w-1\/2{
    width: 50%;
  }
  .md\:w-1\/3{
    width: 33.333333%;
  }
  .md\:w-48{
    width: 12rem;
  }
  .md\:w-\[300px\]{
    width: 300px;
  }
  .md\:w-\[450px\]{
    width: 450px;
  }
  .md\:w-auto{
    width: auto;
  }
  .md\:max-w-\[180px\]{
    max-width: 180px;
  }
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:flex-row{
    flex-direction: row;
  }
  .md\:items-center{
    align-items: center;
  }
  .md\:gap-2{
    gap: 0.5rem;
  }
  .md\:bg-orange-300{
    --tw-bg-opacity: 1;
    background-color: rgb(253 186 116 / var(--tw-bg-opacity));
  }
  .md\:p-6{
    padding: 1.5rem;
  }
  .md\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .md\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .md\:py-1\.5{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  }
  .md\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
  .md\:text-\[50px\]{
    font-size: 50px;
  }
}
@media (min-width: 1024px){
  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .lg\:mb-0{
    margin-bottom: 0px;
  }
  .lg\:mb-5{
    margin-bottom: 1.25rem;
  }
  .lg\:mb-8{
    margin-bottom: 2rem;
  }
  .lg\:mr-2{
    margin-right: 0.5rem;
  }
  .lg\:mt-10{
    margin-top: 2.5rem;
  }
  .lg\:block{
    display: block;
  }
  .lg\:flex{
    display: flex;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:h-screen{
    height: 100vh;
  }
  .lg\:w-1\/2{
    width: 50%;
  }
  .lg\:w-1\/4{
    width: 25%;
  }
  .lg\:w-2\/5{
    width: 40%;
  }
  .lg\:w-3\/5{
    width: 60%;
  }
  .lg\:w-60{
    width: 15rem;
  }
  .lg\:w-80{
    width: 20rem;
  }
  .lg\:w-auto{
    width: auto;
  }
  .lg\:max-w-xs{
    max-width: 20rem;
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:flex-row{
    flex-direction: row;
  }
  .lg\:items-start{
    align-items: flex-start;
  }
  .lg\:items-center{
    align-items: center;
  }
  .lg\:justify-end{
    justify-content: flex-end;
  }
  .lg\:gap-0{
    gap: 0px;
  }
  .lg\:bg-blue-300{
    --tw-bg-opacity: 1;
    background-color: rgb(147 197 253 / var(--tw-bg-opacity));
  }
  .lg\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
  .lg\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .lg\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (min-width: 1280px){
  .xl\:mb-14{
    margin-bottom: 3.5rem;
  }
  .xl\:h-\[46px\]{
    height: 46px;
  }
  .xl\:w-\[280px\]{
    width: 280px;
  }
  .xl\:bg-pink-200{
    --tw-bg-opacity: 1;
    background-color: rgb(251 207 232 / var(--tw-bg-opacity));
  }
  .xl\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .xl\:text-\[16px\]{
    font-size: 16px;
  }
  .xl\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .xl\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 1440px){
  .\32xl\:mr-3{
    margin-right: 0.75rem;
  }
  .\32xl\:mr-4{
    margin-right: 1rem;
  }
  .\32xl\:w-1\/3{
    width: 33.333333%;
  }
  .\32xl\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .\32xl\:bg-green-300{
    --tw-bg-opacity: 1;
    background-color: rgb(134 239 172 / var(--tw-bg-opacity));
  }
  .\32xl\:\!text-\[1\.2rem\]{
    font-size: 1.2rem !important;
  }
  .\32xl\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 1920px){
  .\33xl\:h-\[80px\]{
    height: 80px;
  }
  .\33xl\:w-\[320px\]{
    width: 320px;
  }
  .\33xl\:pb-8{
    padding-bottom: 2rem;
  }
}