@charset "utf-8";

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


/* ============================================================
# Helper
============================================================ */

/* ## ScreenReaders
======================================== */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}



/* ## Others
======================================== */


/* ### ２行目以降文字下げ
---------------------------------------- */

.textIndent1 {
  padding-left: 1em;
  text-indent: -1em;
}
.textIndent2 {
  padding-left: 2em;
  text-indent: -2em;
}


/* ### ラッパー不要の中央揃え
---------------------------------------- */

.inlineCenter {
  max-inline-size: max-content;
  margin-inline: auto;
}



/* ============================================================
# Utilities
============================================================ */

/* ## Colors
======================================== */

/* ### Text color
---------------------------------------- */

.text-body {
  color: var(--body-color) !important;
}
.text-black {
  color: var(--black) !important;
}
.text-white {
  color: var(--white) !important;
}
.text-primary {
  color: var(--primary) !important;
}
.text-secondary {
  color: var(--secondary) !important;
}
.text-accent {
  color: var(--accent) !important;
}
.text-reset {
  color: inherit !important;
}


/* ### Background color
---------------------------------------- */

.bg-white {
  background-color: var(--white) !important;
}
.bg-black {
  background-color: var(--black) !important;
  color: var(--white);
}
.bg-primary {
  background-color: var(--primary) !important;
  color: var(--white);
}
.bg-secondary {
  background-color: var(--secondary) !important;
  color: var(--white);
}
.bg-accent {
  background-color: var(--accent) !important;
  color: var(--white);
}
.bg-transparent {
  background-color: transparent !important;
}



/* ## Borders
======================================== */

.border {
  border: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-0 {
  border: 0 !important;
}
.border-top {
  border-top: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-top-0 {
  border-top: 0 !important;
}
.border-right,
.border-end {
  border-right: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-right-0,
.border-end-0 {
  border-right: 0 !important;
}
.border-bottom {
  border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-bottom-0 {
  border-bottom: 0 !important;
}
.border-left,
.border-start {
  border-left: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-left-0,
.border-start-0 {
  border-left: 0 !important;
}
.border-dotted {
  --border-style: dotted;
}
.border-dashed {
  --border-style: dashed;
}
.border-double {
  --border-style: double;
}
.border-primary {
  --border-color: var(--primary);
}
.border-secondary {
  --border-color: var(--secondary);
}
.border-white {
  --border-color: var(--white);
}
.border-black {
  --border-color: var(--black);
}
.border-1 {
  --border-width: 1px;
}
.border-2 {
  --border-width: 2px;
}
.border-3 {
  --border-width: 3px;
}
.border-4 {
  --border-width: 4px;
}
.border-5 {
  --border-width: 5px;
}
@media (min-width: 576px) {
  .border-sm {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-0 {
    border: 0 !important;
  }
  .border-sm-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-top-0 {
    border-top: 0 !important;
  }
  .border-sm-right,
  .border-sm-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-right-0,
  .border-sm-end-0 {
    border-right: 0 !important;
  }
  .border-sm-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-sm-left,
  .border-sm-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-left-0,
  .border-sm-start-0 {
    border-left: 0 !important;
  }
}
@media (min-width: 768px) {
  .border-md {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-0 {
    border: 0 !important;
  }
  .border-md-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-top-0 {
    border-top: 0 !important;
  }
  .border-md-right,
  .border-md-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-right-0,
  .border-md-end-0 {
    border-right: 0 !important;
  }
  .border-md-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-md-left,
  .border-md-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-left-0,
  .border-md-start-0 {
    border-left: 0 !important;
  }
}
@media (min-width: 992px) {
  .border-lg {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-0 {
    border: 0 !important;
  }
  .border-lg-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-top-0 {
    border-top: 0 !important;
  }
  .border-lg-right,
  .border-lg-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-right-0,
  .border-lg-end-0 {
    border-right: 0 !important;
  }
  .border-lg-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-lg-left,
  .border-lg-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-left-0,
  .border-lg-start-0 {
    border-left: 0 !important;
  }
}
@media (min-width: 1200px) {
  .border-xl {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-0 {
    border: 0 !important;
  }
  .border-xl-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-top-0 {
    border-top: 0 !important;
  }
  .border-xl-right,
  .border-xl-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-right-0,
  .border-xl-end-0 {
    border-right: 0 !important;
  }
  .border-xl-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-xl-left,
  .border-xl-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-left-0,
  .border-xl-start-0 {
    border-left: 0 !important;
  }
}
@media (min-width: 1400px) {
  .border-2xl {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-0 {
    border: 0 !important;
  }
  .border-2xl-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-top-0 {
    border-top: 0 !important;
  }
  .border-2xl-right,
  .border-2xl-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-right-0,
  .border-2xl-end-0 {
    border-right: 0 !important;
  }
  .border-2xl-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-2xl-left,
  .border-2xl-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-left-0,
  .border-2xl-start-0 {
    border-left: 0 !important;
  }
}

.rounded-none,
.rounded-0 {
  border-radius: 0 !important;
}
.rounded-sm {
  border-radius: 0.125rem !important;
}
.rounded {
  border-radius: 0.25rem !important;
}
.rounded-md {
  border-radius: 0.375rem !important;
}
.rounded-lg {
  border-radius: 0.5rem !important;
}
.rounded-xl {
  border-radius: 0.75rem !important;
}
.rounded-2xl {
  border-radius: 1rem !important;
}
.rounded-3xl {
  border-radius: 1.5rem !important;
}
.rounded-pill {
  border-radius: 50rem !important;
}
.rounded-circle {
  border-radius: 50% !important;
}



/* ## Display property
======================================== */

.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-grid {
  display: grid !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.d-none {
  display: none !important;
}


/* ## Display switch
======================================== */

@media (min-width: 576px) {
  .d-lt-sm {
    display: none;
  }
}
@media (min-width: 768px) {
  .d-lt-md {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lt-lg {
    display: none;
  }
}
@media (min-width: 1200px) {
  .d-lt-xl {
    display: none;
  }
}
@media (min-width: 1400px) {
  .d-lt-2xl {
    display: none;
  }
}

@media not all and (min-width: 576px) {
  .d-gt-sm {
    display: none;
  }
}
@media not all and (min-width: 768px) {
  .d-gt-md {
    display: none;
  }
}
@media not all and (min-width: 992px) {
  .d-gt-lg {
    display: none;
  }
}
@media not all and (min-width: 1200px) {
  .d-gt-xl {
    display: none;
  }
}
@media not all and (min-width: 1400px) {
  .d-gt-2xl {
    display: none;
  }
}




/* ## Grid
======================================== */

/* ### grid columns
---------------------------------------- */

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-none {
  grid-template-columns: none;
}
@media (min-width: 576px) {
  .grid-cols-sm-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-sm-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-sm-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-sm-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-sm-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-sm-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-sm-none {
    grid-template-columns: none;
  }
}
@media (min-width: 768px) {
  .grid-cols-md-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-md-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-md-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-md-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-md-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-md-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-md-none {
    grid-template-columns: none;
  }
}
@media (min-width: 992px) {
  .grid-cols-lg-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-lg-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-lg-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-lg-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-lg-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-lg-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-lg-none {
    grid-template-columns: none;
  }
}
@media (min-width: 1200px) {
  .grid-cols-xl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-xl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-xl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-xl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-xl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-xl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-xl-none {
    grid-template-columns: none;
  }
}
@media (min-width: 1400px) {
  .grid-cols-2xl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2xl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-2xl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-2xl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-2xl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-2xl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-2xl-none {
    grid-template-columns: none;
  }
}


/* ### grid auto flow
---------------------------------------- */

.grid-flow-row {
  grid-auto-flow: row;
}
.grid-flow-col {
  grid-auto-flow: column;
}
.grid-flow-dense {
  grid-auto-flow: dense;
}
.grid-flow-row-dense {
  grid-auto-flow: row dense;
}
.grid-flow-col-dense {
  grid-auto-flow: column dense;
}


/* ### Justify items
---------------------------------------- */

.justify-items-start {
  justify-items: start !important;
}
.justify-items-end {
  justify-items: end !important;
}
.justify-items-center {
  justify-items: center !important;
}
.justify-items-stretch {
  justify-items: stretch !important;
}


/* ### Justify self
---------------------------------------- */

.justify-self-auto {
  justify-self: auto !important;
}
.justify-self-start {
  justify-self: start !important;
}
.justify-self-end {
  justify-self: end !important;
}
.justify-self-center {
  justify-self: center !important;
}
.justify-self-stretch {
  justify-self: stretch !important;
}



/* ## Flex
======================================== */

.flex-1 {
  flex: 1 1 0% !important;
}
.flex-fill {
  flex: 1 1 auto !important;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex-column-reverse {
  flex-direction: column-reverse !important;
}
.flex-grow-0 {
  flex-grow: 0 !important;
}
.flex-grow-1 {
  flex-grow: 1 !important;
}
.flex-shrink-0 {
  flex-shrink: 0 !important;
}
.flex-shrink-1 {
  flex-shrink: 1 !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
@media (min-width: 576px) {
  .flex-sm-1 {
    flex: 1 1 0% !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
}
@media (min-width: 768px) {
  .flex-md-1 {
    flex: 1 1 0% !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-1 {
    flex: 1 1 0% !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-1 {
    flex: 1 1 0% !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
}
@media (min-width: 1400px) {
  .flex-2xl-1 {
    flex: 1 1 0% !important;
  }
  .flex-2xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-2xl-row {
    flex-direction: row !important;
  }
  .flex-2xl-column {
    flex-direction: column !important;
  }
  .flex-2xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-2xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-2xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-2xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-2xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-2xl-nowrap {
    flex-wrap: nowrap !important;
  }
}


/* ### Justify content
---------------------------------------- */

.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.justify-content-evenly {
  justify-content: space-evenly !important;
}
@media (min-width: 576px) {
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 768px) {
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 992px) {
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1200px) {
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1400px) {
  .justify-content-2xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-2xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-2xl-center {
    justify-content: center !important;
  }
  .justify-content-2xl-between {
    justify-content: space-between !important;
  }
  .justify-content-2xl-around {
    justify-content: space-around !important;
  }
  .justify-content-2xl-evenly {
    justify-content: space-evenly !important;
  }
}


/* ### Align items
---------------------------------------- */

.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
@media (min-width: 576px) {
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-items-2xl-start {
    align-items: flex-start !important;
  }
  .align-items-2xl-end {
    align-items: flex-end !important;
  }
  .align-items-2xl-center {
    align-items: center !important;
  }
  .align-items-2xl-baseline {
    align-items: baseline !important;
  }
  .align-items-2xl-stretch {
    align-items: stretch !important;
  }
}


/* ### Align content
---------------------------------------- */

.align-content-start {
  align-content: flex-start !important;
}
.align-content-end {
  align-content: flex-end !important;
}
.align-content-center {
  align-content: center !important;
}
.align-content-between {
  align-content: space-between !important;
}
.align-content-around {
  align-content: space-around !important;
}
.align-content-stretch {
  align-content: stretch !important;
}
@media (min-width: 576px) {
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-content-2xl-start {
    align-content: flex-start !important;
  }
  .align-content-2xl-end {
    align-content: flex-end !important;
  }
  .align-content-2xl-center {
    align-content: center !important;
  }
  .align-content-2xl-between {
    align-content: space-between !important;
  }
  .align-content-2xl-around {
    align-content: space-around !important;
  }
  .align-content-2xl-stretch {
    align-content: stretch !important;
  }
}


/* ### Align self
---------------------------------------- */

.align-self-auto {
  align-self: auto !important;
}
.align-self-start {
  align-self: flex-start !important;
}
.align-self-end {
  align-self: flex-end !important;
}
.align-self-center {
  align-self: center !important;
}
.align-self-baseline {
  align-self: baseline !important;
}
.align-self-stretch {
  align-self: stretch !important;
}
@media (min-width: 576px) {
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-self-2xl-auto {
    align-self: auto !important;
  }
  .align-self-2xl-start {
    align-self: flex-start !important;
  }
  .align-self-2xl-end {
    align-self: flex-end !important;
  }
  .align-self-2xl-center {
    align-self: center !important;
  }
  .align-self-2xl-baseline {
    align-self: baseline !important;
  }
  .align-self-2xl-stretch {
    align-self: stretch !important;
  }
}


/* ### Order
---------------------------------------- */

.order-first {
  order: -1 !important;
}
.order-0 {
  order: 0 !important;
}
.order-1 {
  order: 1 !important;
}
.order-2 {
  order: 2 !important;
}
.order-3 {
  order: 3 !important;
}
.order-4 {
  order: 4 !important;
}
.order-5 {
  order: 5 !important;
}
.order-last {
  order: 6 !important;
}
@media (min-width: 576px) {
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
}
@media (min-width: 768px) {
  .order-md-first {
    order: -1 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
}
@media (min-width: 992px) {
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
}
@media (min-width: 1200px) {
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
}
@media (min-width: 1400px) {
  .order-2xl-first {
    order: -1 !important;
  }
  .order-2xl-last {
    order: 6 !important;
  }
}



/* ## Gap
======================================== */

.gap-0 {
  gap: 0 !important;
}
.gap-1 {
  gap: 0.25rem !important;
}
.gap-2 {
  gap: 0.5rem !important;
}
.gap-3 {
  gap: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.gap-4 {
  gap: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
}
.gap-5 {
  gap: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
}
.gap-x-0 {
  column-gap: 0 !important;
}
.gap-x-1 {
  column-gap: 0.25rem !important;
}
.gap-x-2 {
  column-gap: 0.5rem !important;
}
.gap-x-3 {
  column-gap: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.gap-x-4 {
  column-gap: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
}
.gap-x-5 {
  column-gap: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
}
.gap-y-0 {
  row-gap: 0 !important;
}
.gap-y-1 {
  row-gap: 0.25rem !important;
}
.gap-y-2 {
  row-gap: 0.5rem !important;
}
.gap-y-3 {
  row-gap: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.gap-y-4 {
  row-gap: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
}
.gap-y-5 {
  row-gap: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
}



/* ## Interactions
======================================== */

.user-select-all {
  -webkit-user-select: all !important;
  user-select: all !important;
}
.user-select-auto {
  -webkit-user-select: auto !important;
  user-select: auto !important;
}
.user-select-none {
  -webkit-user-select: none !important;
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}
.pe-auto {
  pointer-events: auto !important;
}



/* ## Position
======================================== */

.position-static {
  position: static !important;
}
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}
.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}
.top-50 {
  top: 50% !important;
}
.top-100 {
  top: 100% !important;
}
.bottom-0 {
  bottom: 0 !important;
}
.bottom-50 {
  bottom: 50% !important;
}
.bottom-100 {
  bottom: 100% !important;
}
.start-0 {
  left: 0 !important;
}
.start-50 {
  left: 50% !important;
}
.start-100 {
  left: 100% !important;
}
.end-0 {
  right: 0 !important;
}
.end-50 {
  right: 50% !important;
}
.end-100 {
  right: 100% !important;
}
.translate-middle {
  transform: translate(-50%, -50%) !important;
}
.translate-middle-x {
  transform: translateX(-50%) !important;
}
.translate-middle-y {
  transform: translateY(-50%) !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
}
.sticky-bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 1020;
}



/* ## Shadows
======================================== */

.shadow-none {
  box-shadow: none !important;
}
.shadow-sm {
  box-shadow: 0.125rem 0.125rem 0.25rem rgb(0 0 0 / 0.25) !important;
}
.shadow-md {
  box-shadow: 0.25rem 0.25rem 0.5rem rgb(0 0 0 / 0.2) !important;
}
.shadow-lg {
  box-shadow: 0.5rem 0.5rem 1rem rgb(0 0 0 / 0.15) !important;
}



/* ## Sizing
======================================== */

.w-25 {
  width: 25% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.mw-100 {
  max-width: 100% !important;
}
.vw-100 {
  width: 100vw !important;
}
.min-vw-100 {
  min-width: 100vw !important;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.h-auto {
  height: auto !important;
}
.mh-100 {
  max-height: 100% !important;
}
.vh-100 {
  height: 100vh !important;
}
.min-vh-100 {
  min-height: 100vh !important;
}
@media (min-width: 576px) {
  .w-sm-100 {
    width: 100% !important;
  }
  .w-sm-auto {
    width: auto !important;
  }
  .mw-sm-100 {
    max-width: 100% !important;
  }
  .vw-sm-100 {
    width: 100vw !important;
  }
  .min-vw-sm-100 {
    min-width: 100vw !important;
  }
}
@media (min-width: 768px) {
  .w-md-100 {
    width: 100% !important;
  }
  .w-md-auto {
    width: auto !important;
  }
  .mw-md-100 {
    max-width: 100% !important;
  }
  .vw-md-100 {
    width: 100vw !important;
  }
  .min-vw-md-100 {
    min-width: 100vw !important;
  }
}
@media (min-width: 992px) {
  .w-lg-100 {
    width: 100% !important;
  }
  .w-lg-auto {
    width: auto !important;
  }
  .mw-lg-100 {
    max-width: 100% !important;
  }
  .vw-lg-100 {
    width: 100vw !important;
  }
  .min-vw-lg-100 {
    min-width: 100vw !important;
  }
}
@media (min-width: 1200px) {
  .w-xl-100 {
    width: 100% !important;
  }
  .w-xl-auto {
    width: auto !important;
  }
  .mw-xl-100 {
    max-width: 100% !important;
  }
  .vw-xl-100 {
    width: 100vw !important;
  }
  .min-vw-xl-100 {
    min-width: 100vw !important;
  }
}
@media (min-width: 1400px) {
  .w-2xl-100 {
    width: 100% !important;
  }
  .w-2xl-auto {
    width: auto !important;
  }
  .mw-2xl-100 {
    max-width: 100% !important;
  }
  .vw-2xl-100 {
    width: 100vw !important;
  }
  .min-vw-2xl-100 {
    min-width: 100vw !important;
  }
}



/* ## Spacing
======================================== */

.m-0 {
  margin: 0 !important;
}
.mt-0, .my-0 {
  margin-top: 0 !important;
}
.mr-0, .mx-0 {
  margin-right: 0 !important;
}
.mb-0, .my-0 {
  margin-bottom: 0 !important;
}
.ml-0, .mx-0 {
  margin-left: 0 !important;
}
.m-1 {
  margin: 0.25rem !important;
}
.mt-1, .my-1 {
  margin-top: 0.25rem !important;
}
.mr-1, .mx-1 {
  margin-right: 0.25rem !important;
}
.mb-1, .my-1 {
  margin-bottom: 0.25rem !important;
}
.ml-1, .mx-1 {
  margin-left: 0.25rem !important;
}
.m-2 {
  margin: 0.5rem !important;
}
.mt-2, .my-2 {
  margin-top: 0.5rem !important;
}
.mr-2, .mx-2 {
  margin-right: 0.5rem !important;
}
.mb-2, .my-2 {
  margin-bottom: 0.5rem !important;
}
.ml-2, .mx-2 {
  margin-left: 0.5rem !important;
}
.m-3 {
  margin: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.mt-3, .my-3 {
  margin-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.mr-3, .mx-3 {
  margin-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.mb-3, .my-3 {
  margin-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.ml-3, .mx-3 {
  margin-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.m-4 {
  margin: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
}
.mt-4, .my-4 {
  margin-top: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
}
.mr-4, .mx-4 {
  margin-right: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
}
.mb-4, .my-4 {
  margin-bottom: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
}
.ml-4, .mx-4 {
  margin-left: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
}
.m-5 {
  margin: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
}
.mt-5, .my-5 {
  margin-top: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
}
.mr-5, .mx-5 {
  margin-right: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
}
.mb-5, .my-5 {
  margin-bottom: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
}
.ml-5, .mx-5 {
  margin-left: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
}

.m-6 {
  margin: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
}
.mt-6, .my-6 {
  margin-top: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
}
.mr-6, .mx-6 {
  margin-right: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
}
.mb-6, .my-6 {
  margin-bottom: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
}
.ml-6, .mx-6 {
  margin-left: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
}

.mt-7, .my-7 {
  margin-top: clamp(3rem, 3rem + 4vw, 6rem) !important;
}
.mb-7, .my-7 {
  margin-bottom: clamp(3rem, 3rem + 4vw, 6rem) !important;
}
.mt-8, .my-8 {
  margin-top: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
}
.mb-8, .my-8 {
  margin-bottom: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
}
.m-auto {
  margin: auto !important;
}
.mt-auto, .my-auto {
  margin-top: auto !important;
}
.mr-auto, .mx-auto {
  margin-right: auto !important;
}
.mb-auto, .my-auto {
  margin-bottom: auto !important;
}
.ml-auto, .mx-auto {
  margin-left: auto !important;
}
.p-0 {
  padding: 0 !important;
}
.pt-0, .py-0 {
  padding-top: 0 !important;
}
.pr-0, .px-0 {
  padding-right: 0 !important;
}
.pb-0, .py-0 {
  padding-bottom: 0 !important;
}
.pl-0, .px-0 {
  padding-left: 0 !important;
}
.p-1 {
  padding: 0.25rem !important;
}
.pt-1, .py-1 {
  padding-top: 0.25rem !important;
}
.pr-1, .px-1 {
  padding-right: 0.25rem !important;
}
.pb-1, .py-1 {
  padding-bottom: 0.25rem !important;
}
.pl-1, .px-1 {
  padding-left: 0.25rem !important;
}
.p-2 {
  padding: 0.5rem !important;
}
.pt-2, .py-2 {
  padding-top: 0.5rem !important;
}
.pr-2, .px-2 {
  padding-right: 0.5rem !important;
}
.pb-2, .py-2 {
  padding-bottom: 0.5rem !important;
}
.pl-2, .px-2 {
  padding-left: 0.5rem !important;
}
.p-3 {
  padding: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.pt-3, .py-3 {
  padding-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.pr-3, .px-3 {
  padding-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.pb-3, .py-3 {
  padding-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.pl-3, .px-3 {
  padding-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
}
.p-4 {
  padding: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
}
.pt-4, .py-4 {
  padding-top: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
}
.pr-4, .px-4 {
  padding-right: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
}
.pb-4, .py-4 {
  padding-bottom: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
}
.pl-4, .px-4 {
  padding-left: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
}
.p-5 {
  padding: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
}
.pt-5, .py-5 {
  padding-top: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
}
.pr-5, .px-5 {
  padding-right: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
}
.pb-5, .py-5 {
  padding-bottom: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
}
.pl-5, .px-5 {
  padding-left: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
}
.p-6 {
  padding: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
}
.pt-6, .py-6 {
  padding-top: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
}
.pr-6, .px-6 {
  padding-right: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
}
.pb-6, .py-6 {
  padding-bottom: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
}
.pl-6, .px-6 {
  padding-left: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
}
.p-7 {
  padding: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
}
.pt-7, .py-7 {
  padding-top: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
}
.pr-7, .px-7 {
  padding-right: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
}
.pb-7, .py-7 {
  padding-bottom: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
}
.pl-7, .px-7 {
  padding-left: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
}
@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0, .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0, .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0, .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0, .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1, .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1, .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1, .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1, .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2, .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2, .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2, .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2, .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mt-sm-3, .my-sm-3 {
    margin-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mr-sm-3, .mx-sm-3 {
    margin-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mb-sm-3, .my-sm-3 {
    margin-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .ml-sm-3, .mx-sm-3 {
    margin-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .m-sm-4 {
    margin: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mt-sm-4, .my-sm-4 {
    margin-top: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mr-sm-4, .mx-sm-4 {
    margin-right: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mb-sm-4, .my-sm-4 {
    margin-bottom: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .ml-sm-4, .mx-sm-4 {
    margin-left: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .m-sm-5 {
    margin: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-sm-5, .my-sm-5 {
    margin-top: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mr-sm-5, .mx-sm-5 {
    margin-right: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mb-sm-5, .my-sm-5 {
    margin-bottom: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .ml-sm-5, .mx-sm-5 {
    margin-left: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-sm-6, .my-sm-6 {
    margin-top: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mb-sm-6, .my-sm-6 {
    margin-bottom: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mt-sm-7, .my-sm-7 {
    margin-top: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mb-sm-7, .my-sm-7 {
    margin-bottom: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mt-sm-8, .my-sm-8 {
    margin-top: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .mb-sm-8, .my-sm-8 {
    margin-bottom: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto, .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto, .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto, .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto, .mx-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0, .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0, .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0, .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0, .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1, .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1, .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1, .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1, .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2, .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2, .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2, .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2, .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pt-sm-3, .py-sm-3 {
    padding-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pr-sm-3, .px-sm-3 {
    padding-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pb-sm-3, .py-sm-3 {
    padding-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pl-sm-3, .px-sm-3 {
    padding-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .p-sm-4 {
    padding: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pt-sm-4, .py-sm-4 {
    padding-top: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pr-sm-4, .px-sm-4 {
    padding-right: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pb-sm-4, .py-sm-4 {
    padding-bottom: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pl-sm-4, .px-sm-4 {
    padding-left: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .p-sm-5 {
    padding: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pt-sm-5, .py-sm-5 {
    padding-top: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pr-sm-5, .px-sm-5 {
    padding-right: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pb-sm-5, .py-sm-5 {
    padding-bottom: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pl-sm-5, .px-sm-5 {
    padding-left: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .p-sm-6 {
    padding: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pt-sm-6, .py-sm-6 {
    padding-top: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pr-sm-6, .px-sm-6 {
    padding-right: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pb-sm-6, .py-sm-6 {
    padding-bottom: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pl-sm-6, .px-sm-6 {
    padding-left: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .p-sm-7 {
    padding: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pt-sm-7, .py-sm-7 {
    padding-top: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pr-sm-7, .px-sm-7 {
    padding-right: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pb-sm-7, .py-sm-7 {
    padding-bottom: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pl-sm-7, .px-sm-7 {
    padding-left: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0, .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0, .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0, .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0, .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1, .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1, .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1, .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1, .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2, .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2, .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2, .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2, .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mt-md-3, .my-md-3 {
    margin-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mr-md-3, .mx-md-3 {
    margin-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mb-md-3, .my-md-3 {
    margin-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .ml-md-3, .mx-md-3 {
    margin-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .m-md-4 {
    margin: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mt-md-4, .my-md-4 {
    margin-top: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mr-md-4, .mx-md-4 {
    margin-right: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mb-md-4, .my-md-4 {
    margin-bottom: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .ml-md-4, .mx-md-4 {
    margin-left: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .m-md-5 {
    margin: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-md-5, .my-md-5 {
    margin-top: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mr-md-5, .mx-md-5 {
    margin-right: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mb-md-5, .my-md-5 {
    margin-bottom: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .ml-md-5, .mx-md-5 {
    margin-left: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-md-6, .my-md-6 {
    margin-top: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mb-md-6, .my-md-6 {
    margin-bottom: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mt-md-7, .my-md-7 {
    margin-top: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mb-md-7, .my-md-7 {
    margin-bottom: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mt-md-8, .my-md-8 {
    margin-top: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .mb-md-8, .my-md-8 {
    margin-bottom: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto, .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto, .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto, .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto, .mx-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0, .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0, .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0, .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0, .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1, .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1, .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1, .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1, .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2, .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2, .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2, .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2, .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pt-md-3, .py-md-3 {
    padding-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pr-md-3, .px-md-3 {
    padding-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pb-md-3, .py-md-3 {
    padding-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pl-md-3, .px-md-3 {
    padding-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .p-md-4 {
    padding: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pt-md-4, .py-md-4 {
    padding-top: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pr-md-4, .px-md-4 {
    padding-right: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pb-md-4, .py-md-4 {
    padding-bottom: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pl-md-4, .px-md-4 {
    padding-left: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .p-md-5 {
    padding: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pt-md-5, .py-md-5 {
    padding-top: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pr-md-5, .px-md-5 {
    padding-right: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pb-md-5, .py-md-5 {
    padding-bottom: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pl-md-5, .px-md-5 {
    padding-left: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .p-md-6 {
    padding: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pt-md-6, .py-md-6 {
    padding-top: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pr-md-6, .px-md-6 {
    padding-right: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pb-md-6, .py-md-6 {
    padding-bottom: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pl-md-6, .px-md-6 {
    padding-left: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .p-md-7 {
    padding: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pt-md-7, .py-md-7 {
    padding-top: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pr-md-7, .px-md-7 {
    padding-right: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pb-md-7, .py-md-7 {
    padding-bottom: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pl-md-7, .px-md-7 {
    padding-left: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0, .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0, .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0, .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0, .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1, .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1, .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1, .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1, .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2, .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2, .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2, .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2, .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mt-lg-3, .my-lg-3 {
    margin-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mr-lg-3, .mx-lg-3 {
    margin-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mb-lg-3, .my-lg-3 {
    margin-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .ml-lg-3, .mx-lg-3 {
    margin-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .m-lg-4 {
    margin: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mt-lg-4, .my-lg-4 {
    margin-top: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mr-lg-4, .mx-lg-4 {
    margin-right: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mb-lg-4, .my-lg-4 {
    margin-bottom: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .ml-lg-4, .mx-lg-4 {
    margin-left: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .m-lg-5 {
    margin: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-lg-5, .my-lg-5 {
    margin-top: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mr-lg-5, .mx-lg-5 {
    margin-right: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mb-lg-5, .my-lg-5 {
    margin-bottom: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .ml-lg-5, .mx-lg-5 {
    margin-left: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-lg-6, .my-lg-6 {
    margin-top: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mb-lg-6, .my-lg-6 {
    margin-bottom: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mt-lg-7, .my-lg-7 {
    margin-top: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mb-lg-7, .my-lg-7 {
    margin-bottom: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mt-lg-8, .my-lg-8 {
    margin-top: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .mb-lg-8, .my-lg-8 {
    margin-bottom: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto, .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto, .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto, .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto, .mx-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0, .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0, .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0, .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0, .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1, .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1, .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1, .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1, .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2, .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2, .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2, .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2, .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pt-lg-3, .py-lg-3 {
    padding-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pr-lg-3, .px-lg-3 {
    padding-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pb-lg-3, .py-lg-3 {
    padding-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pl-lg-3, .px-lg-3 {
    padding-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .p-lg-4 {
    padding: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pt-lg-4, .py-lg-4 {
    padding-top: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pr-lg-4, .px-lg-4 {
    padding-right: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pb-lg-4, .py-lg-4 {
    padding-bottom: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pl-lg-4, .px-lg-4 {
    padding-left: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .p-lg-5 {
    padding: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pt-lg-5, .py-lg-5 {
    padding-top: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pr-lg-5, .px-lg-5 {
    padding-right: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pb-lg-5, .py-lg-5 {
    padding-bottom: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pl-lg-5, .px-lg-5 {
    padding-left: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .p-lg-6 {
    padding: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pt-lg-6, .py-lg-6 {
    padding-top: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pr-lg-6, .px-lg-6 {
    padding-right: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pb-lg-6, .py-lg-6 {
    padding-bottom: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pl-lg-6, .px-lg-6 {
    padding-left: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .p-lg-7 {
    padding: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pt-lg-7, .py-lg-7 {
    padding-top: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pr-lg-7, .px-lg-7 {
    padding-right: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pb-lg-7, .py-lg-7 {
    padding-bottom: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pl-lg-7, .px-lg-7 {
    padding-left: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0, .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0, .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0, .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0, .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1, .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1, .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1, .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1, .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2, .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2, .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2, .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2, .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mt-xl-3, .my-xl-3 {
    margin-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mr-xl-3, .mx-xl-3 {
    margin-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mb-xl-3, .my-xl-3 {
    margin-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .ml-xl-3, .mx-xl-3 {
    margin-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .m-xl-4 {
    margin: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mt-xl-4, .my-xl-4 {
    margin-top: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mr-xl-4, .mx-xl-4 {
    margin-right: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mb-xl-4, .my-xl-4 {
    margin-bottom: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .ml-xl-4, .mx-xl-4 {
    margin-left: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .m-xl-5 {
    margin: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-xl-5, .my-xl-5 {
    margin-top: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mr-xl-5, .mx-xl-5 {
    margin-right: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mb-xl-5, .my-xl-5 {
    margin-bottom: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .ml-xl-5, .mx-xl-5 {
    margin-left: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-xl-6, .my-xl-6 {
    margin-top: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mb-xl-6, .my-xl-6 {
    margin-bottom: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mt-xl-7, .my-xl-7 {
    margin-top: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mb-xl-7, .my-xl-7 {
    margin-bottom: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mt-xl-8, .my-xl-8 {
    margin-top: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .mb-xl-8, .my-xl-8 {
    margin-bottom: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto, .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto, .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto, .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto, .mx-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0, .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0, .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0, .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0, .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1, .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1, .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1, .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1, .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2, .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2, .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2, .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2, .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pt-xl-3, .py-xl-3 {
    padding-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pr-xl-3, .px-xl-3 {
    padding-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pb-xl-3, .py-xl-3 {
    padding-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pl-xl-3, .px-xl-3 {
    padding-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .p-xl-4 {
    padding: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pt-xl-4, .py-xl-4 {
    padding-top: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pr-xl-4, .px-xl-4 {
    padding-right: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pb-xl-4, .py-xl-4 {
    padding-bottom: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pl-xl-4, .px-xl-4 {
    padding-left: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .p-xl-5 {
    padding: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pt-xl-5, .py-xl-5 {
    padding-top: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pr-xl-5, .px-xl-5 {
    padding-right: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pb-xl-5, .py-xl-5 {
    padding-bottom: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pl-xl-5, .px-xl-5 {
    padding-left: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .p-xl-6 {
    padding: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pt-xl-6, .py-xl-6 {
    padding-top: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pr-xl-6, .px-xl-6 {
    padding-right: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pb-xl-6, .py-xl-6 {
    padding-bottom: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pl-xl-6, .px-xl-6 {
    padding-left: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .p-xl-7 {
    padding: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pt-xl-7, .py-xl-7 {
    padding-top: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pr-xl-7, .px-xl-7 {
    padding-right: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pb-xl-7, .py-xl-7 {
    padding-bottom: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pl-xl-7, .px-xl-7 {
    padding-left: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
}
@media (min-width: 1400px) {
  .m-2xl-0 {
    margin: 0 !important;
  }
  .mt-2xl-0, .my-2xl-0 {
    margin-top: 0 !important;
  }
  .mr-2xl-0, .mx-2xl-0 {
    margin-right: 0 !important;
  }
  .mb-2xl-0, .my-2xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-2xl-0, .mx-2xl-0 {
    margin-left: 0 !important;
  }
  .m-2xl-1 {
    margin: 0.25rem !important;
  }
  .mt-2xl-1, .my-2xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-2xl-1, .mx-2xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-2xl-1, .my-2xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-2xl-1, .mx-2xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-2xl-2 {
    margin: 0.5rem !important;
  }
  .mt-2xl-2, .my-2xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-2xl-2, .mx-2xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-2xl-2, .my-2xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-2xl-2, .mx-2xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-2xl-3 {
    margin: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mt-2xl-3, .my-2xl-3 {
    margin-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mr-2xl-3, .mx-2xl-3 {
    margin-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .mb-2xl-3, .my-2xl-3 {
    margin-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .ml-2xl-3, .mx-2xl-3 {
    margin-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .m-2xl-4 {
    margin: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mt-2xl-4, .my-2xl-4 {
    margin-top: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mr-2xl-4, .mx-2xl-4 {
    margin-right: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .mb-2xl-4, .my-2xl-4 {
    margin-bottom: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .ml-2xl-4, .mx-2xl-4 {
    margin-left: clamp(1.25rem, 1.25rem + 0.333vw, 1.5rem) !important;
  }
  .m-2xl-5 {
    margin: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-2xl-5, .my-2xl-5 {
    margin-top: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mr-2xl-5, .mx-2xl-5 {
    margin-right: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mb-2xl-5, .my-2xl-5 {
    margin-bottom: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .ml-2xl-5, .mx-2xl-5 {
    margin-left: clamp(1.5rem, 1.5rem + 2vw, 3rem) !important;
  }
  .mt-2xl-6, .my-2xl-6 {
    margin-top: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mb-2xl-6, .my-2xl-6 {
    margin-bottom: clamp(2.5rem, 2.5rem + 2.667vw, 4.5rem) !important;
  }
  .mt-2xl-7, .my-2xl-7 {
    margin-top: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mb-2xl-7, .my-2xl-7 {
    margin-bottom: clamp(3rem, 3rem + 4vw, 6rem) !important;
  }
  .mt-2xl-8, .my-2xl-8 {
    margin-top: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .mb-2xl-8, .my-2xl-8 {
    margin-bottom: clamp(3rem, 3rem + 6vw, 7.5rem) !important;
  }
  .m-2xl-auto {
    margin: auto !important;
  }
  .mt-2xl-auto, .my-2xl-auto {
    margin-top: auto !important;
  }
  .mr-2xl-auto, .mx-2xl-auto {
    margin-right: auto !important;
  }
  .mb-2xl-auto, .my-2xl-auto {
    margin-bottom: auto !important;
  }
  .ml-2xl-auto, .mx-2xl-auto {
    margin-left: auto !important;
  }
  .p-2xl-0 {
    padding: 0 !important;
  }
  .pt-2xl-0, .py-2xl-0 {
    padding-top: 0 !important;
  }
  .pr-2xl-0, .px-2xl-0 {
    padding-right: 0 !important;
  }
  .pb-2xl-0, .py-2xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-2xl-0, .px-2xl-0 {
    padding-left: 0 !important;
  }
  .p-2xl-1 {
    padding: 0.25rem !important;
  }
  .pt-2xl-1, .py-2xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-2xl-1, .px-2xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-2xl-1, .py-2xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-2xl-1, .px-2xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-2xl-2 {
    padding: 0.5rem !important;
  }
  .pt-2xl-2, .py-2xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-2xl-2, .px-2xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-2xl-2, .py-2xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-2xl-2, .px-2xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-2xl-3 {
    padding: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pt-2xl-3, .py-2xl-3 {
    padding-top: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pr-2xl-3, .px-2xl-3 {
    padding-right: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pb-2xl-3, .py-2xl-3 {
    padding-bottom: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .pl-2xl-3, .px-2xl-3 {
    padding-left: clamp(0.75rem, 0.75rem + 0.333vw, 1rem) !important;
  }
  .p-2xl-4 {
    padding: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pt-2xl-4, .py-2xl-4 {
    padding-top: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pr-2xl-4, .px-2xl-4 {
    padding-right: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pb-2xl-4, .py-2xl-4 {
    padding-bottom: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .pl-2xl-4, .px-2xl-4 {
    padding-left: clamp(1rem, 1rem + 0.667vw, 1.5rem) !important;
  }
  .p-2xl-5 {
    padding: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pt-2xl-5, .py-2xl-5 {
    padding-top: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pr-2xl-5, .px-2xl-5 {
    padding-right: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pb-2xl-5, .py-2xl-5 {
    padding-bottom: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .pl-2xl-5, .px-2xl-5 {
    padding-left: clamp(1rem, 1rem + 2.667vw, 3rem) !important;
  }
  .p-2xl-6 {
    padding: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pt-2xl-6, .py-2xl-6 {
    padding-top: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pr-2xl-6, .px-2xl-6 {
    padding-right: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pb-2xl-6, .py-2xl-6 {
    padding-bottom: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .pl-2xl-6, .px-2xl-6 {
    padding-left: clamp(1rem, 1rem + 4.667vw, 4.5rem) !important;
  }
  .p-2xl-7 {
    padding: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pt-2xl-7, .py-2xl-7 {
    padding-top: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pr-2xl-7, .px-2xl-7 {
    padding-right: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pb-2xl-7, .py-2xl-7 {
    padding-bottom: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
  .pl-2xl-7, .px-2xl-7 {
    padding-left: clamp(1rem, 1rem + 6.667vw, 6rem) !important;
  }
}



/* ## Text
======================================== */

/* ### Text alignment
---------------------------------------- */

.text-start,
.text-left {
  text-align: left !important;
}
.text-end,
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
@media (min-width: 576px) {
  .text-sm-start,
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-end,
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-start,
  .text-md-left {
    text-align: left !important;
  }
  .text-md-end,
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-start,
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-end,
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-start,
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-end,
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .text-2xl-start,
  .text-2xl-left {
    text-align: left !important;
  }
  .text-2xl-end,
  .text-2xl-right {
    text-align: right !important;
  }
  .text-2xl-center {
    text-align: center !important;
  }
}


/* ### Text wrapping and overflow, Word break
---------------------------------------- */

.text-wrap {
  white-space: normal !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  /* 併せて幅を指定した方がいい */
  /* max-width: 60vw; */
}
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}


/* ### Text transform
---------------------------------------- */

.text-lowercase {
  text-transform: lowercase !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}


/* ### Font size
---------------------------------------- */

.fs-2xs {
  font-size: clamp(0.625rem, 0.625rem + 0.1vw, 0.688rem) !important;
}
.fs-xs {
  font-size: clamp(0.75rem, 0.75rem + 0.1vw, 0.813rem) !important;
}
.fs-sm {
  font-size: clamp(0.813rem, 0.8rem + 0.1vw, 0.875rem) !important;
}
.fs-md {
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1rem) !important;
}
.fs-lg {
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.125rem) !important;
}
.fs-xl {
  font-size: clamp(1.125rem, 1rem + 0.35vw, 1.25rem) !important;
}
.fs-2xl {
  font-size: clamp(1.375rem, 1.25rem + 0.35vw, 1.5rem) !important;
}
.fs-3xl {
  font-size: clamp(1.625rem, 1.4rem + 0.65vw, 1.875rem) !important;
}
.fs-4xl {
  font-size: clamp(1.875rem, 1.7rem + 0.75vw, 2.25rem) !important;
}
.fs-5xl {
  font-size: clamp(2.375rem, 2rem + 1.35vw, 3rem) !important;
}
.fs-6xl {
  font-size: clamp(3rem, 2.6rem + 1.9vw, 4rem) !important;
}
.fs-7xl {
  font-size: clamp(3.25rem, 2.7rem + 2.4vw, 4.5rem) !important;
}
.fs-8xl {
  font-size: clamp(3.5rem, 2.9rem + 2.8vw, 5rem) !important;
}



/* ### Font weight and italics
---------------------------------------- */

.fw-normal {
  font-weight: 400 !important;
}
.fw-bold {
  font-weight: 700 !important;
}

.fst-italic {
  font-style: italic !important;
}
.fst-normal {
  font-style: normal !important;
}


/* ### Font family
---------------------------------------- */

.ff-sans {
  font-family: var(--font-family-sans) !important;
}
.ff-serif {
  font-family: var(--font-family-serif) !important;
}


/* ### Line height
---------------------------------------- */

.lh-1 {
  line-height: 1 !important;
}
.lh-xs {
  line-height: 1.2 !important;
}
.lh-sm {
  line-height: 1.4 !important;
}
.lh-base {
  line-height: 1.5 !important;
}
.lh-md {
  line-height: 1.6 !important;
}
.lh-lg {
  line-height: 1.8 !important;
}
.lh-xl {
  line-height: 2 !important;
}
.lh-2xl {
  line-height: 2.4 !important;
}
@media (min-width: 576px) {
  .lh-sm-1 {
    line-height: 1 !important;
  }
  .lh-sm-xs {
    line-height: 1.2 !important;
  }
  .lh-sm-sm {
    line-height: 1.4 !important;
  }
  .lh-sm-base {
    line-height: 1.5 !important;
  }
  .lh-sm-md {
    line-height: 1.6 !important;
  }
  .lh-sm-lg {
    line-height: 1.8 !important;
  }
  .lh-sm-xl {
    line-height: 2 !important;
  }
  .lh-sm-2xl {
    line-height: 2.4 !important;
  }
}
@media (min-width: 768px) {
  .lh-md-1 {
    line-height: 1 !important;
  }
  .lh-md-xs {
    line-height: 1.2 !important;
  }
  .lh-md-sm {
    line-height: 1.4 !important;
  }
  .lh-md-base {
    line-height: 1.5 !important;
  }
  .lh-md-md {
    line-height: 1.6 !important;
  }
  .lh-md-lg {
    line-height: 1.8 !important;
  }
  .lh-md-xl {
    line-height: 2 !important;
  }
  .lh-md-2xl {
    line-height: 2.4 !important;
  }
}
@media (min-width: 992px) {
  .lh-lg-1 {
    line-height: 1 !important;
  }
  .lh-lg-xs {
    line-height: 1.2 !important;
  }
  .lh-lg-sm {
    line-height: 1.4 !important;
  }
  .lh-lg-base {
    line-height: 1.5 !important;
  }
  .lh-lg-md {
    line-height: 1.6 !important;
  }
  .lh-lg-lg {
    line-height: 1.8 !important;
  }
  .lh-lg-xl {
    line-height: 2 !important;
  }
  .lh-lg-2xl {
    line-height: 2.4 !important;
  }
}
@media (min-width: 1200px) {
  .lh-xl-1 {
    line-height: 1 !important;
  }
  .lh-xl-xs {
    line-height: 1.2 !important;
  }
  .lh-xl-sm {
    line-height: 1.4 !important;
  }
  .lh-xl-base {
    line-height: 1.5 !important;
  }
  .lh-xl-md {
    line-height: 1.6 !important;
  }
  .lh-xl-lg {
    line-height: 1.8 !important;
  }
  .lh-xl-xl {
    line-height: 2 !important;
  }
  .lh-xl-2xl {
    line-height: 2.4 !important;
  }
}
@media (min-width: 1400px) {
  .lh-2xl-1 {
    line-height: 1 !important;
  }
  .lh-2xl-xs {
    line-height: 1.2 !important;
  }
  .lh-2xl-sm {
    line-height: 1.4 !important;
  }
  .lh-2xl-base {
    line-height: 1.5 !important;
  }
  .lh-2xl-md {
    line-height: 1.6 !important;
  }
  .lh-2xl-lg {
    line-height: 1.8 !important;
  }
  .lh-2xl-xl {
    line-height: 2 !important;
  }
  .lh-2xl-2xl {
    line-height: 2.4 !important;
  }
}


/* ### Letter spacing
---------------------------------------- */

.ls-1 {
  letter-spacing: 0.05em !important;
}
.ls-2 {
  letter-spacing: 0.1em !important;
}
.ls-3 {
  letter-spacing: 0.2em !important;
}
.ls-m1 {
  letter-spacing: -0.05em !important;
}
.ls-m2 {
  letter-spacing: -0.1em !important;
}


/* ### Text decoration
---------------------------------------- */
.text-decoration-none {
  text-decoration: none !important;
}
.text-decoration-underline {
  text-decoration: underline !important;
}



/* ## Vertical alignment
======================================== */

.align-baseline {
  vertical-align: baseline !important;
}
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}



/* ## Others
======================================== */



