/* utilities */
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

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


.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !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;
}

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

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

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

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

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


/* grid */

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.col-md {
  flex: 1 0 0%;
}
.row-cols-md-auto > * {
  flex: 0 0 auto;
  width: auto;
}
.row-cols-md-1 > * {
  flex: 0 0 auto;
  width: 100%;
}
.row-cols-md-2 > * {
  flex: 0 0 auto;
  width: 50%;
}
.row-cols-md-3 > * {
  flex: 0 0 auto;
  width: 33.3333333333%;
}
.row-cols-md-4 > * {
  flex: 0 0 auto;
  width: 25%;
}
.row-cols-md-5 > * {
  flex: 0 0 auto;
  width: 20%;
}
.row-cols-md-6 > * {
  flex: 0 0 auto;
  width: 16.6666666667%;
}
.col-md-auto {
  flex: 0 0 auto;
  width: auto;
}
.col-md-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}
.col-md-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-md-3 {
  flex: 0 0 auto;
  width: 25%;
}
.col-md-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.col-md-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.col-md-6 {
  flex: 0 0 auto;
  width: 50%;
}
.col-md-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.col-md-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}
.col-md-9 {
  flex: 0 0 auto;
  width: 75%;
}
.col-md-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.col-md-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}
.col-md-12 {
  flex: 0 0 auto;
  width: 100%;
}
.offset-md-0 {
  margin-left: 0;
}
.offset-md-1 {
  margin-left: 8.33333333%;
}
.offset-md-2 {
  margin-left: 16.66666667%;
}
.offset-md-3 {
  margin-left: 25%;
}
.offset-md-4 {
  margin-left: 33.33333333%;
}
.offset-md-5 {
  margin-left: 41.66666667%;
}
.offset-md-6 {
  margin-left: 50%;
}
.offset-md-7 {
  margin-left: 58.33333333%;
}
.offset-md-8 {
  margin-left: 66.66666667%;
}
.offset-md-9 {
  margin-left: 75%;
}
.offset-md-10 {
  margin-left: 83.33333333%;
}
.offset-md-11 {
  margin-left: 91.66666667%;
}
.g-md-0,
.gx-md-0 {
  --bs-gutter-x: 0;
}
.g-md-0,
.gy-md-0 {
  --bs-gutter-y: 0;
}
.g-md-1,
.gx-md-1 {
  --bs-gutter-x: 0.25rem;
}
.g-md-1,
.gy-md-1 {
  --bs-gutter-y: 0.25rem;
}
.g-md-2,
.gx-md-2 {
  --bs-gutter-x: 0.5rem;
}
.g-md-2,
.gy-md-2 {
  --bs-gutter-y: 0.5rem;
}
.g-md-3,
.gx-md-3 {
  --bs-gutter-x: 1rem;
}
.g-md-3,
.gy-md-3 {
  --bs-gutter-y: 1rem;
}
.g-md-4,
.gx-md-4 {
  --bs-gutter-x: 1.5rem;
}
.g-md-4,
.gy-md-4 {
  --bs-gutter-y: 1.5rem;
}
.g-md-5,
.gx-md-5 {
  --bs-gutter-x: 3rem;
}
.g-md-5,
.gy-md-5 {
  --bs-gutter-y: 3rem;
}
