/*
Trackside Device Viewports

---------------------------------------
Trackside PC monitor: design for 1920px width
------------------------------------
Screen Resolution: 1920 x 1080
Device Pixel Ratio: 1.0
Viewport Sizes
  Maximized browser window viewport: 1920 x 971
  Fullscreen browser window viewport: 1920 x 1080

---------------------------------------
Android terminal monitor: design for 1366px width (note: NOT 1368)
------------------------------------
Screen Resolution: 1366 x 768
Device Pixel Ratio: 1.0
Viewport Sizes
  Standard browser window viewport: 1366 x 624
  Scrolled slightly so browser top bar hides: 1366 x 720
  Tapped "down arrow" on bottom navbar to hide it: 1366 x 672
  Scrolled slightly and bottom navbar hidden: 1366 x 768

---------------------------------------
Android handheld screen: design for 360px width
------------------------------------
Screen Resolution: 720 x 1440 (portrait, not landscape)
Device Pixel Ratio: 2.0 (2 to 4 is typical for mobile devices)
Viewport Sizes
  Standard browser window viewport: 360 dppx x 592 dppx
  Scrolled slightly so browser top bar hides: 360 dppx x 648 dppx

*/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700;800&display=swap');

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Fix drag/drop "handle" elements' sizing breaking when `box-sizing: border-box` is applied
 * to them (since this stylesheet applies in the Admin area, too, for now) */
.draggable .handle {
  box-sizing: content-box;
}

/* NOTE - Most of the utility classes in here are from Bootstrap v4.6 */

/* FLEX UTILITIES */

.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !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;
}
.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
}
.flex-fill {
  flex: 1 1 auto !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;
}

/* GRID SYSTEM */

.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-3xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px;
  }
}

/* The 'xxl' breakpoint is a Bootstrap v5 thing, but this stylesheet uses Bootstrap v4.6 things, so this is a "backport" of sorts of 'xxl'. */
@media (min-width: 1400px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
    max-width: 1320px;
  }
}

/* The '3xl' breakpoint is custom - though done like Bootstrap v4.6 would have -
 * to be between 'xxl' with a 1400px max and 1080p's full width @ 1920px. */
@media (min-width: 1680px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-3xl {
    max-width: 1620px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right:0;
  margin-left:0
}
.no-gutters>.col, .no-gutters>[class*="col-"] {
  padding-right:0;
  padding-left:0
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto,
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto,
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto,
.col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto,
.col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12, .col-xl, .col-xxl-auto,
.col-3xl-1, .col-3xl-2, .col-3xl-3, .col-3xl-4, .col-3xl-5, .col-3xl-6, .col-3xl-7, .col-3xl-8, .col-3xl-9, .col-3xl-10, .col-3xl-11, .col-3xl-12, .col-3xl, .col-3xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.col-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}
.col-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}
.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.col-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}
.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}
.col-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}
.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}
.col-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}
.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}
.order-first {
  order: -1;
}
.order-last {
  order: 13;
}
.order-0 {
  order: 0;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.order-4 {
  order: 4;
}
.order-5 {
  order: 5;
}
.order-6 {
  order: 6;
}
.order-7 {
  order: 7;
}
.order-8 {
  order: 8;
}
.order-9 {
  order: 9;
}
.order-10 {
  order: 10;
}
.order-11 {
  order: 11;
}
.order-12 {
  order: 12;
}
.offset-1 {
  margin-left: 8.333333% !important;
}
.offset-2 {
  margin-left: 16.666667% !important;
}
.offset-3 {
  margin-left: 25% !important;
}
.offset-4 {
  margin-left: 33.333333% !important;
}
.offset-5 {
  margin-left: 41.666667% !important;
}
.offset-6 {
  margin-left: 50% !important;
}
.offset-7 {
  margin-left: 58.333333% !important;
}
.offset-8 {
  margin-left: 66.666667% !important;
}
.offset-9 {
  margin-left: 75% !important;
}
.offset-10 {
  margin-left: 83.333333% !important;
}
.offset-11 {
  margin-left: 91.666667% !important;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-1 {
    margin-left: 8.33333333% !important;
  }
  .offset-sm-2 {
    margin-left: 16.66666667% !important;
  }
  .offset-sm-3 {
    margin-left: 25% !important;
  }
  .offset-sm-4 {
    margin-left: 33.33333333% !important;
  }
  .offset-sm-5 {
    margin-left: 41.66666667% !important;
  }
  .offset-sm-6 {
    margin-left: 50% !important;
  }
  .offset-sm-7 {
    margin-left: 58.33333333% !important;
  }
  .offset-sm-8 {
    margin-left: 66.66666667% !important;
  }
  .offset-sm-9 {
    margin-left: 75% !important;
  }
  .offset-sm-10 {
    margin-left: 83.33333333% !important;
  }
  .offset-sm-11 {
    margin-left: 91.66666667% !important;
  }
  .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) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-md-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-md-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-1 {
    margin-left: 8.33333333% !important;
  }
  .offset-md-2 {
    margin-left: 16.66666667% !important;
  }
  .offset-md-3 {
    margin-left: 25% !important;
  }
  .offset-md-4 {
    margin-left: 33.33333333% !important;
  }
  .offset-md-5 {
    margin-left: 41.66666667% !important;
  }
  .offset-md-6 {
    margin-left: 50% !important;
  }
  .offset-md-7 {
    margin-left: 58.33333333% !important;
  }
  .offset-md-8 {
    margin-left: 66.66666667% !important;
  }
  .offset-md-9 {
    margin-left: 75% !important;
  }
  .offset-md-10 {
    margin-left: 83.33333333% !important;
  }
  .offset-md-11 {
    margin-left: 91.66666667% !important;
  }
  .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) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-1 {
    margin-left: 8.33333333% !important;
  }
  .offset-lg-2 {
    margin-left: 16.66666667% !important;
  }
  .offset-lg-3 {
    margin-left: 25% !important;
  }
  .offset-lg-4 {
    margin-left: 33.33333333% !important;
  }
  .offset-lg-5 {
    margin-left: 41.66666667% !important;
  }
  .offset-lg-6 {
    margin-left: 50% !important;
  }
  .offset-lg-7 {
    margin-left: 58.33333333% !important;
  }
  .offset-lg-8 {
    margin-left: 66.66666667% !important;
  }
  .offset-lg-9 {
    margin-left: 75% !important;
  }
  .offset-lg-10 {
    margin-left: 83.33333333% !important;
  }
  .offset-lg-11 {
    margin-left: 91.66666667% !important;
  }
  .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) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-1 {
    margin-left: 8.33333333% !important;
  }
  .offset-xl-2 {
    margin-left: 16.66666667% !important;
  }
  .offset-xl-3 {
    margin-left: 25% !important;
  }
  .offset-xl-4 {
    margin-left: 33.33333333% !important;
  }
  .offset-xl-5 {
    margin-left: 41.66666667% !important;
  }
  .offset-xl-6 {
    margin-left: 50% !important;
  }
  .offset-xl-7 {
    margin-left: 58.33333333% !important;
  }
  .offset-xl-8 {
    margin-left: 66.66666667% !important;
  }
  .offset-xl-9 {
    margin-left: 75% !important;
  }
  .offset-xl-10 {
    margin-left: 83.33333333% !important;
  }
  .offset-xl-11 {
    margin-left: 91.66666667% !important;
  }
  .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) {
  .col-xxl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xxl-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-xxl-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-xxl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-xxl-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-xxl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-xxl-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-xxl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-xxl-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-xxl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xxl-first {
    order: -1;
  }
  .order-xxl-last {
    order: 13;
  }
  .order-xxl-0 {
    order: 0;
  }
  .order-xxl-1 {
    order: 1;
  }
  .order-xxl-2 {
    order: 2;
  }
  .order-xxl-3 {
    order: 3;
  }
  .order-xxl-4 {
    order: 4;
  }
  .order-xxl-5 {
    order: 5;
  }
  .order-xxl-6 {
    order: 6;
  }
  .order-xxl-7 {
    order: 7;
  }
  .order-xxl-8 {
    order: 8;
  }
  .order-xxl-9 {
    order: 9;
  }
  .order-xxl-10 {
    order: 10;
  }
  .order-xxl-11 {
    order: 11;
  }
  .order-xxl-12 {
    order: 12;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333% !important;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667% !important;
  }
  .offset-xxl-3 {
    margin-left: 25% !important;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333% !important;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667% !important;
  }
  .offset-xxl-6 {
    margin-left: 50% !important;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333% !important;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667% !important;
  }
  .offset-xxl-9 {
    margin-left: 75% !important;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333% !important;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667% !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1680px) {
  .col-3xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-3xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-3xl-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-3xl-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-3xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-3xl-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-3xl-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-3xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-3xl-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-3xl-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-3xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-3xl-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-3xl-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-3xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-3xl-first {
    order: -1;
  }
  .order-3xl-last {
    order: 13;
  }
  .order-3xl-0 {
    order: 0;
  }
  .order-3xl-1 {
    order: 1;
  }
  .order-3xl-2 {
    order: 2;
  }
  .order-3xl-3 {
    order: 3;
  }
  .order-3xl-4 {
    order: 4;
  }
  .order-3xl-5 {
    order: 5;
  }
  .order-3xl-6 {
    order: 6;
  }
  .order-3xl-7 {
    order: 7;
  }
  .order-3xl-8 {
    order: 8;
  }
  .order-3xl-9 {
    order: 9;
  }
  .order-3xl-10 {
    order: 10;
  }
  .order-3xl-11 {
    order: 11;
  }
  .order-3xl-12 {
    order: 12;
  }
  .offset-3xl-1 {
    margin-left: 8.33333333% !important;
  }
  .offset-3xl-2 {
    margin-left: 16.66666667% !important;
  }
  .offset-3xl-3 {
    margin-left: 25% !important;
  }
  .offset-3xl-4 {
    margin-left: 33.33333333% !important;
  }
  .offset-3xl-5 {
    margin-left: 41.66666667% !important;
  }
  .offset-3xl-6 {
    margin-left: 50% !important;
  }
  .offset-3xl-7 {
    margin-left: 58.33333333% !important;
  }
  .offset-3xl-8 {
    margin-left: 66.66666667% !important;
  }
  .offset-3xl-9 {
    margin-left: 75% !important;
  }
  .offset-3xl-10 {
    margin-left: 83.33333333% !important;
  }
  .offset-3xl-11 {
    margin-left: 91.66666667% !important;
  }
  .align-self-3xl-auto {
    align-self: auto !important;
  }
  .align-self-3xl-start {
    align-self: flex-start !important;
  }
  .align-self-3xl-end {
    align-self: flex-end !important;
  }
  .align-self-3xl-center {
    align-self: center !important;
  }
  .align-self-3xl-baseline {
    align-self: baseline !important;
  }
  .align-self-3xl-stretch {
    align-self: stretch !important;
  }
}

/* Bootstrap v4.6.0 Spacing Utilities
 * These are used for gutter overrides, too, in this BS version,
 * since they include negative margin classes. */
.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: .25rem!important }
.mt-1,.my-1 { margin-top: .25rem!important }
.mr-1,.mx-1 { margin-right: .25rem!important }
.mb-1,.my-1 { margin-bottom: .25rem!important }
.ml-1,.mx-1 { margin-left: .25rem!important }
.m-2 { margin: .5rem!important }
.mt-2,.my-2 { margin-top: .5rem!important }
.mr-2,.mx-2 { margin-right: .5rem!important }
.mb-2,.my-2 { margin-bottom: .5rem!important }
.ml-2,.mx-2 { margin-left: .5rem!important }
.m-3 { margin: 1rem!important }
.mt-3,.my-3 { margin-top: 1rem!important }
.mr-3,.mx-3 { margin-right: 1rem!important }
.mb-3,.my-3 { margin-bottom: 1rem!important }
.ml-3,.mx-3 { margin-left: 1rem!important }
.m-4 { margin: 1.5rem!important }
.mt-4,.my-4 { margin-top: 1.5rem!important }
.mr-4,.mx-4 { margin-right: 1.5rem!important }
.mb-4,.my-4 { margin-bottom: 1.5rem!important }
.ml-4,.mx-4 { margin-left: 1.5rem!important }
.m-5 { margin: 3rem!important }
.mt-5,.my-5 { margin-top: 3rem!important }
.mr-5,.mx-5 { margin-right: 3rem!important }
.mb-5,.my-5 { margin-bottom: 3rem!important }
.ml-5,.mx-5 { margin-left: 3rem!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: .25rem!important }
.pt-1,.py-1 { padding-top: .25rem!important }
.pr-1,.px-1 { padding-right: .25rem!important }
.pb-1,.py-1 { padding-bottom: .25rem!important }
.pl-1,.px-1 { padding-left: .25rem!important }
.p-2 { padding: .5rem!important }
.pt-2,.py-2 { padding-top: .5rem!important }
.pr-2,.px-2 { padding-right: .5rem!important }
.pb-2,.py-2 { padding-bottom: .5rem!important }
.pl-2,.px-2 { padding-left: .5rem!important }
.p-3 { padding: 1rem!important }
.pt-3,.py-3 { padding-top: 1rem!important }
.pr-3,.px-3 { padding-right: 1rem!important }
.pb-3,.py-3 { padding-bottom: 1rem!important }
.pl-3,.px-3 { padding-left: 1rem!important }
.p-4 { padding: 1.5rem!important }
.pt-4,.py-4 { padding-top: 1.5rem!important }
.pr-4,.px-4 { padding-right: 1.5rem!important }
.pb-4,.py-4 { padding-bottom: 1.5rem!important }
.pl-4,.px-4 { padding-left: 1.5rem!important }
.p-5 { padding: 3rem!important }
.pt-5,.py-5 { padding-top: 3rem!important }
.pr-5,.px-5 { padding-right: 3rem!important }
.pb-5,.py-5 { padding-bottom: 3rem!important }
.pl-5,.px-5 { padding-left: 3rem!important }
.m-n1 { margin: -.25rem!important }
.mt-n1,.my-n1 { margin-top: -.25rem!important }
.mr-n1,.mx-n1 { margin-right: -.25rem!important }
.mb-n1,.my-n1 { margin-bottom: -.25rem!important }
.ml-n1,.mx-n1 { margin-left: -.25rem!important }
.m-n2 { margin: -.5rem!important }
.mt-n2,.my-n2 { margin-top: -.5rem!important }
.mr-n2,.mx-n2 { margin-right: -.5rem!important }
.mb-n2,.my-n2 { margin-bottom: -.5rem!important }
.ml-n2,.mx-n2 { margin-left: -.5rem!important }
.m-n3 { margin: -1rem!important }
.mt-n3,.my-n3 { margin-top: -1rem!important }
.mr-n3,.mx-n3 { margin-right: -1rem!important }
.mb-n3,.my-n3 { margin-bottom: -1rem!important }
.ml-n3,.mx-n3 { margin-left: -1rem!important }
.m-n4 { margin: -1.5rem!important }
.mt-n4,.my-n4 { margin-top: -1.5rem!important }
.mr-n4,.mx-n4 { margin-right: -1.5rem!important }
.mb-n4,.my-n4 { margin-bottom: -1.5rem!important }
.ml-n4,.mx-n4 { margin-left: -1.5rem!important }
.m-n5 { margin: -3rem!important }
.mt-n5,.my-n5 { margin-top: -3rem!important }
.mr-n5,.mx-n5 { margin-right: -3rem!important }
.mb-n5,.my-n5 { margin-bottom: -3rem!important }
.ml-n5,.mx-n5 { margin-left: -3rem!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 }

@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: .25rem!important }
  .mt-sm-1,.my-sm-1 { margin-top: .25rem!important }
  .mr-sm-1,.mx-sm-1 { margin-right: .25rem!important }
  .mb-sm-1,.my-sm-1 { margin-bottom: .25rem!important }
  .ml-sm-1,.mx-sm-1 { margin-left: .25rem!important }
  .m-sm-2 { margin: .5rem!important }
  .mt-sm-2,.my-sm-2 { margin-top: .5rem!important }
  .mr-sm-2,.mx-sm-2 { margin-right: .5rem!important }
  .mb-sm-2,.my-sm-2 { margin-bottom: .5rem!important }
  .ml-sm-2,.mx-sm-2 { margin-left: .5rem!important }
  .m-sm-3 { margin: 1rem!important }
  .mt-sm-3,.my-sm-3 { margin-top: 1rem!important }
  .mr-sm-3,.mx-sm-3 { margin-right: 1rem!important }
  .mb-sm-3,.my-sm-3 { margin-bottom: 1rem!important }
  .ml-sm-3,.mx-sm-3 { margin-left: 1rem!important }
  .m-sm-4 { margin: 1.5rem!important }
  .mt-sm-4,.my-sm-4 { margin-top: 1.5rem!important }
  .mr-sm-4,.mx-sm-4 { margin-right: 1.5rem!important }
  .mb-sm-4,.my-sm-4 { margin-bottom: 1.5rem!important }
  .ml-sm-4,.mx-sm-4 { margin-left: 1.5rem!important }
  .m-sm-5 { margin: 3rem!important }
  .mt-sm-5,.my-sm-5 { margin-top: 3rem!important }
  .mr-sm-5,.mx-sm-5 { margin-right: 3rem!important }
  .mb-sm-5,.my-sm-5 { margin-bottom: 3rem!important }
  .ml-sm-5,.mx-sm-5 { margin-left: 3rem!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: .25rem!important }
  .pt-sm-1,.py-sm-1 { padding-top: .25rem!important }
  .pr-sm-1,.px-sm-1 { padding-right: .25rem!important }
  .pb-sm-1,.py-sm-1 { padding-bottom: .25rem!important }
  .pl-sm-1,.px-sm-1 { padding-left: .25rem!important }
  .p-sm-2 { padding: .5rem!important }
  .pt-sm-2,.py-sm-2 { padding-top: .5rem!important }
  .pr-sm-2,.px-sm-2 { padding-right: .5rem!important }
  .pb-sm-2,.py-sm-2 { padding-bottom: .5rem!important }
  .pl-sm-2,.px-sm-2 { padding-left: .5rem!important }
  .p-sm-3 { padding: 1rem!important }
  .pt-sm-3,.py-sm-3 { padding-top: 1rem!important }
  .pr-sm-3,.px-sm-3 { padding-right: 1rem!important }
  .pb-sm-3,.py-sm-3 { padding-bottom: 1rem!important }
  .pl-sm-3,.px-sm-3 { padding-left: 1rem!important }
  .p-sm-4 { padding: 1.5rem!important }
  .pt-sm-4,.py-sm-4 { padding-top: 1.5rem!important }
  .pr-sm-4,.px-sm-4 { padding-right: 1.5rem!important }
  .pb-sm-4,.py-sm-4 { padding-bottom: 1.5rem!important }
  .pl-sm-4,.px-sm-4 { padding-left: 1.5rem!important }
  .p-sm-5 { padding: 3rem!important }
  .pt-sm-5,.py-sm-5 { padding-top: 3rem!important }
  .pr-sm-5,.px-sm-5 { padding-right: 3rem!important }
  .pb-sm-5,.py-sm-5 { padding-bottom: 3rem!important }
  .pl-sm-5,.px-sm-5 { padding-left: 3rem!important }
  .m-sm-n1 { margin: -.25rem!important }
  .mt-sm-n1,.my-sm-n1 { margin-top: -.25rem!important }
  .mr-sm-n1,.mx-sm-n1 { margin-right: -.25rem!important }
  .mb-sm-n1,.my-sm-n1 { margin-bottom: -.25rem!important }
  .ml-sm-n1,.mx-sm-n1 { margin-left: -.25rem!important }
  .m-sm-n2 { margin: -.5rem!important }
  .mt-sm-n2,.my-sm-n2 { margin-top: -.5rem!important }
  .mr-sm-n2,.mx-sm-n2 { margin-right: -.5rem!important }
  .mb-sm-n2,.my-sm-n2 { margin-bottom: -.5rem!important }
  .ml-sm-n2,.mx-sm-n2 { margin-left: -.5rem!important }
  .m-sm-n3 { margin: -1rem!important }
  .mt-sm-n3,.my-sm-n3 { margin-top: -1rem!important }
  .mr-sm-n3,.mx-sm-n3 { margin-right: -1rem!important }
  .mb-sm-n3,.my-sm-n3 { margin-bottom: -1rem!important }
  .ml-sm-n3,.mx-sm-n3 { margin-left: -1rem!important }
  .m-sm-n4 { margin: -1.5rem!important }
  .mt-sm-n4,.my-sm-n4 { margin-top: -1.5rem!important }
  .mr-sm-n4,.mx-sm-n4 { margin-right: -1.5rem!important }
  .mb-sm-n4,.my-sm-n4 { margin-bottom: -1.5rem!important }
  .ml-sm-n4,.mx-sm-n4 { margin-left: -1.5rem!important }
  .m-sm-n5 { margin: -3rem!important }
  .mt-sm-n5,.my-sm-n5 { margin-top: -3rem!important }
  .mr-sm-n5,.mx-sm-n5 { margin-right: -3rem!important }
  .mb-sm-n5,.my-sm-n5 { margin-bottom: -3rem!important }
  .ml-sm-n5,.mx-sm-n5 { margin-left: -3rem!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 }
}
@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: .25rem!important }
  .mt-md-1,.my-md-1 { margin-top: .25rem!important }
  .mr-md-1,.mx-md-1 { margin-right: .25rem!important }
  .mb-md-1,.my-md-1 { margin-bottom: .25rem!important }
  .ml-md-1,.mx-md-1 { margin-left: .25rem!important }
  .m-md-2 { margin: .5rem!important }
  .mt-md-2,.my-md-2 { margin-top: .5rem!important }
  .mr-md-2,.mx-md-2 { margin-right: .5rem!important }
  .mb-md-2,.my-md-2 { margin-bottom: .5rem!important }
  .ml-md-2,.mx-md-2 { margin-left: .5rem!important }
  .m-md-3 { margin: 1rem!important }
  .mt-md-3,.my-md-3 { margin-top: 1rem!important }
  .mr-md-3,.mx-md-3 { margin-right: 1rem!important }
  .mb-md-3,.my-md-3 { margin-bottom: 1rem!important }
  .ml-md-3,.mx-md-3 { margin-left: 1rem!important }
  .m-md-4 { margin: 1.5rem!important }
  .mt-md-4,.my-md-4 { margin-top: 1.5rem!important }
  .mr-md-4,.mx-md-4 { margin-right: 1.5rem!important }
  .mb-md-4,.my-md-4 { margin-bottom: 1.5rem!important }
  .ml-md-4,.mx-md-4 { margin-left: 1.5rem!important }
  .m-md-5 { margin: 3rem!important }
  .mt-md-5,.my-md-5 { margin-top: 3rem!important }
  .mr-md-5,.mx-md-5 { margin-right: 3rem!important }
  .mb-md-5,.my-md-5 { margin-bottom: 3rem!important }
  .ml-md-5,.mx-md-5 { margin-left: 3rem!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: .25rem!important }
  .pt-md-1,.py-md-1 { padding-top: .25rem!important }
  .pr-md-1,.px-md-1 { padding-right: .25rem!important }
  .pb-md-1,.py-md-1 { padding-bottom: .25rem!important }
  .pl-md-1,.px-md-1 { padding-left: .25rem!important }
  .p-md-2 { padding: .5rem!important }
  .pt-md-2,.py-md-2 { padding-top: .5rem!important }
  .pr-md-2,.px-md-2 { padding-right: .5rem!important }
  .pb-md-2,.py-md-2 { padding-bottom: .5rem!important }
  .pl-md-2,.px-md-2 { padding-left: .5rem!important }
  .p-md-3 { padding: 1rem!important }
  .pt-md-3,.py-md-3 { padding-top: 1rem!important }
  .pr-md-3,.px-md-3 { padding-right: 1rem!important }
  .pb-md-3,.py-md-3 { padding-bottom: 1rem!important }
  .pl-md-3,.px-md-3 { padding-left: 1rem!important }
  .p-md-4 { padding: 1.5rem!important }
  .pt-md-4,.py-md-4 { padding-top: 1.5rem!important }
  .pr-md-4,.px-md-4 { padding-right: 1.5rem!important }
  .pb-md-4,.py-md-4 { padding-bottom: 1.5rem!important }
  .pl-md-4,.px-md-4 { padding-left: 1.5rem!important }
  .p-md-5 { padding: 3rem!important }
  .pt-md-5,.py-md-5 { padding-top: 3rem!important }
  .pr-md-5,.px-md-5 { padding-right: 3rem!important }
  .pb-md-5,.py-md-5 { padding-bottom: 3rem!important }
  .pl-md-5,.px-md-5 { padding-left: 3rem!important }
  .m-md-n1 { margin: -.25rem!important }
  .mt-md-n1,.my-md-n1 { margin-top: -.25rem!important }
  .mr-md-n1,.mx-md-n1 { margin-right: -.25rem!important }
  .mb-md-n1,.my-md-n1 { margin-bottom: -.25rem!important }
  .ml-md-n1,.mx-md-n1 { margin-left: -.25rem!important }
  .m-md-n2 { margin: -.5rem!important }
  .mt-md-n2,.my-md-n2 { margin-top: -.5rem!important }
  .mr-md-n2,.mx-md-n2 { margin-right: -.5rem!important }
  .mb-md-n2,.my-md-n2 { margin-bottom: -.5rem!important }
  .ml-md-n2,.mx-md-n2 { margin-left: -.5rem!important }
  .m-md-n3 { margin: -1rem!important }
  .mt-md-n3,.my-md-n3 { margin-top: -1rem!important }
  .mr-md-n3,.mx-md-n3 { margin-right: -1rem!important }
  .mb-md-n3,.my-md-n3 { margin-bottom: -1rem!important }
  .ml-md-n3,.mx-md-n3 { margin-left: -1rem!important }
  .m-md-n4 { margin: -1.5rem!important }
  .mt-md-n4,.my-md-n4 { margin-top: -1.5rem!important }
  .mr-md-n4,.mx-md-n4 { margin-right: -1.5rem!important }
  .mb-md-n4,.my-md-n4 { margin-bottom: -1.5rem!important }
  .ml-md-n4,.mx-md-n4 { margin-left: -1.5rem!important }
  .m-md-n5 { margin: -3rem!important }
  .mt-md-n5,.my-md-n5 { margin-top: -3rem!important }
  .mr-md-n5,.mx-md-n5 { margin-right: -3rem!important }
  .mb-md-n5,.my-md-n5 { margin-bottom: -3rem!important }
  .ml-md-n5,.mx-md-n5 { margin-left: -3rem!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 }
}

@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: .25rem!important }
  .mt-lg-1,.my-lg-1 { margin-top: .25rem!important }
  .mr-lg-1,.mx-lg-1 { margin-right: .25rem!important }
  .mb-lg-1,.my-lg-1 { margin-bottom: .25rem!important }
  .ml-lg-1,.mx-lg-1 { margin-left: .25rem!important }
  .m-lg-2 { margin: .5rem!important }
  .mt-lg-2,.my-lg-2 { margin-top: .5rem!important }
  .mr-lg-2,.mx-lg-2 { margin-right: .5rem!important }
  .mb-lg-2,.my-lg-2 { margin-bottom: .5rem!important }
  .ml-lg-2,.mx-lg-2 { margin-left: .5rem!important }
  .m-lg-3 { margin: 1rem!important }
  .mt-lg-3,.my-lg-3 { margin-top: 1rem!important }
  .mr-lg-3,.mx-lg-3 { margin-right: 1rem!important }
  .mb-lg-3,.my-lg-3 { margin-bottom: 1rem!important }
  .ml-lg-3,.mx-lg-3 { margin-left: 1rem!important }
  .m-lg-4 { margin: 1.5rem!important }
  .mt-lg-4,.my-lg-4 { margin-top: 1.5rem!important }
  .mr-lg-4,.mx-lg-4 { margin-right: 1.5rem!important }
  .mb-lg-4,.my-lg-4 { margin-bottom: 1.5rem!important }
  .ml-lg-4,.mx-lg-4 { margin-left: 1.5rem!important }
  .m-lg-5 { margin: 3rem!important }
  .mt-lg-5,.my-lg-5 { margin-top: 3rem!important }
  .mr-lg-5,.mx-lg-5 { margin-right: 3rem!important }
  .mb-lg-5,.my-lg-5 { margin-bottom: 3rem!important }
  .ml-lg-5,.mx-lg-5 { margin-left: 3rem!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: .25rem!important }
  .pt-lg-1,.py-lg-1 { padding-top: .25rem!important }
  .pr-lg-1,.px-lg-1 { padding-right: .25rem!important }
  .pb-lg-1,.py-lg-1 { padding-bottom: .25rem!important }
  .pl-lg-1,.px-lg-1 { padding-left: .25rem!important }
  .p-lg-2 { padding: .5rem!important }
  .pt-lg-2,.py-lg-2 { padding-top: .5rem!important }
  .pr-lg-2,.px-lg-2 { padding-right: .5rem!important }
  .pb-lg-2,.py-lg-2 { padding-bottom: .5rem!important }
  .pl-lg-2,.px-lg-2 { padding-left: .5rem!important }
  .p-lg-3 { padding: 1rem!important }
  .pt-lg-3,.py-lg-3 { padding-top: 1rem!important }
  .pr-lg-3,.px-lg-3 { padding-right: 1rem!important }
  .pb-lg-3,.py-lg-3 { padding-bottom: 1rem!important }
  .pl-lg-3,.px-lg-3 { padding-left: 1rem!important }
  .p-lg-4 { padding: 1.5rem!important }
  .pt-lg-4,.py-lg-4 { padding-top: 1.5rem!important }
  .pr-lg-4,.px-lg-4 { padding-right: 1.5rem!important }
  .pb-lg-4,.py-lg-4 { padding-bottom: 1.5rem!important }
  .pl-lg-4,.px-lg-4 { padding-left: 1.5rem!important }
  .p-lg-5 { padding: 3rem!important }
  .pt-lg-5,.py-lg-5 { padding-top: 3rem!important }
  .pr-lg-5,.px-lg-5 { padding-right: 3rem!important }
  .pb-lg-5,.py-lg-5 { padding-bottom: 3rem!important }
  .pl-lg-5,.px-lg-5 { padding-left: 3rem!important }
  .m-lg-n1 { margin: -.25rem!important }
  .mt-lg-n1,.my-lg-n1 { margin-top: -.25rem!important }
  .mr-lg-n1,.mx-lg-n1 { margin-right: -.25rem!important }
  .mb-lg-n1,.my-lg-n1 { margin-bottom: -.25rem!important }
  .ml-lg-n1,.mx-lg-n1 { margin-left: -.25rem!important }
  .m-lg-n2 { margin: -.5rem!important }
  .mt-lg-n2,.my-lg-n2 { margin-top: -.5rem!important }
  .mr-lg-n2,.mx-lg-n2 { margin-right: -.5rem!important }
  .mb-lg-n2,.my-lg-n2 { margin-bottom: -.5rem!important }
  .ml-lg-n2,.mx-lg-n2 { margin-left: -.5rem!important }
  .m-lg-n3 { margin: -1rem!important }
  .mt-lg-n3,.my-lg-n3 { margin-top: -1rem!important }
  .mr-lg-n3,.mx-lg-n3 { margin-right: -1rem!important }
  .mb-lg-n3,.my-lg-n3 { margin-bottom: -1rem!important }
  .ml-lg-n3,.mx-lg-n3 { margin-left: -1rem!important }
  .m-lg-n4 { margin: -1.5rem!important }
  .mt-lg-n4,.my-lg-n4 { margin-top: -1.5rem!important }
  .mr-lg-n4,.mx-lg-n4 { margin-right: -1.5rem!important }
  .mb-lg-n4,.my-lg-n4 { margin-bottom: -1.5rem!important }
  .ml-lg-n4,.mx-lg-n4 { margin-left: -1.5rem!important }
  .m-lg-n5 { margin: -3rem!important }
  .mt-lg-n5,.my-lg-n5 { margin-top: -3rem!important }
  .mr-lg-n5,.mx-lg-n5 { margin-right: -3rem!important }
  .mb-lg-n5,.my-lg-n5 { margin-bottom: -3rem!important }
  .ml-lg-n5,.mx-lg-n5 { margin-left: -3rem!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 }
}

@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: .25rem!important }
  .mt-xl-1,.my-xl-1 { margin-top: .25rem!important }
  .mr-xl-1,.mx-xl-1 { margin-right: .25rem!important }
  .mb-xl-1,.my-xl-1 { margin-bottom: .25rem!important }
  .ml-xl-1,.mx-xl-1 { margin-left: .25rem!important }
  .m-xl-2 { margin: .5rem!important }
  .mt-xl-2,.my-xl-2 { margin-top: .5rem!important }
  .mr-xl-2,.mx-xl-2 { margin-right: .5rem!important }
  .mb-xl-2,.my-xl-2 { margin-bottom: .5rem!important }
  .ml-xl-2,.mx-xl-2 { margin-left: .5rem!important }
  .m-xl-3 { margin: 1rem!important }
  .mt-xl-3,.my-xl-3 { margin-top: 1rem!important }
  .mr-xl-3,.mx-xl-3 { margin-right: 1rem!important }
  .mb-xl-3,.my-xl-3 { margin-bottom: 1rem!important }
  .ml-xl-3,.mx-xl-3 { margin-left: 1rem!important }
  .m-xl-4 { margin: 1.5rem!important }
  .mt-xl-4,.my-xl-4 { margin-top: 1.5rem!important }
  .mr-xl-4,.mx-xl-4 { margin-right: 1.5rem!important }
  .mb-xl-4,.my-xl-4 { margin-bottom: 1.5rem!important }
  .ml-xl-4,.mx-xl-4 { margin-left: 1.5rem!important }
  .m-xl-5 { margin: 3rem!important }
  .mt-xl-5,.my-xl-5 { margin-top: 3rem!important }
  .mr-xl-5,.mx-xl-5 { margin-right: 3rem!important }
  .mb-xl-5,.my-xl-5 { margin-bottom: 3rem!important }
  .ml-xl-5,.mx-xl-5 { margin-left: 3rem!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: .25rem!important }
  .pt-xl-1,.py-xl-1 { padding-top: .25rem!important }
  .pr-xl-1,.px-xl-1 { padding-right: .25rem!important }
  .pb-xl-1,.py-xl-1 { padding-bottom: .25rem!important }
  .pl-xl-1,.px-xl-1 { padding-left: .25rem!important }
  .p-xl-2 { padding: .5rem!important }
  .pt-xl-2,.py-xl-2 { padding-top: .5rem!important }
  .pr-xl-2,.px-xl-2 { padding-right: .5rem!important }
  .pb-xl-2,.py-xl-2 { padding-bottom: .5rem!important }
  .pl-xl-2,.px-xl-2 { padding-left: .5rem!important }
  .p-xl-3 { padding: 1rem!important }
  .pt-xl-3,.py-xl-3 { padding-top: 1rem!important }
  .pr-xl-3,.px-xl-3 { padding-right: 1rem!important }
  .pb-xl-3,.py-xl-3 { padding-bottom: 1rem!important }
  .pl-xl-3,.px-xl-3 { padding-left: 1rem!important }
  .p-xl-4 { padding: 1.5rem!important }
  .pt-xl-4,.py-xl-4 { padding-top: 1.5rem!important }
  .pr-xl-4,.px-xl-4 { padding-right: 1.5rem!important }
  .pb-xl-4,.py-xl-4 { padding-bottom: 1.5rem!important }
  .pl-xl-4,.px-xl-4 { padding-left: 1.5rem!important }
  .p-xl-5 { padding: 3rem!important }
  .pt-xl-5,.py-xl-5 { padding-top: 3rem!important }
  .pr-xl-5,.px-xl-5 { padding-right: 3rem!important }
  .pb-xl-5,.py-xl-5 { padding-bottom: 3rem!important }
  .pl-xl-5,.px-xl-5 { padding-left: 3rem!important }
  .m-xl-n1 { margin: -.25rem!important }
  .mt-xl-n1,.my-xl-n1 { margin-top: -.25rem!important }
  .mr-xl-n1,.mx-xl-n1 { margin-right: -.25rem!important }
  .mb-xl-n1,.my-xl-n1 { margin-bottom: -.25rem!important }
  .ml-xl-n1,.mx-xl-n1 { margin-left: -.25rem!important }
  .m-xl-n2 { margin: -.5rem!important }
  .mt-xl-n2,.my-xl-n2 { margin-top: -.5rem!important }
  .mr-xl-n2,.mx-xl-n2 { margin-right: -.5rem!important }
  .mb-xl-n2,.my-xl-n2 { margin-bottom: -.5rem!important }
  .ml-xl-n2,.mx-xl-n2 { margin-left: -.5rem!important }
  .m-xl-n3 { margin: -1rem!important }
  .mt-xl-n3,.my-xl-n3 { margin-top: -1rem!important }
  .mr-xl-n3,.mx-xl-n3 { margin-right: -1rem!important }
  .mb-xl-n3,.my-xl-n3 { margin-bottom: -1rem!important }
  .ml-xl-n3,.mx-xl-n3 { margin-left: -1rem!important }
  .m-xl-n4 { margin: -1.5rem!important }
  .mt-xl-n4,.my-xl-n4 { margin-top: -1.5rem!important }
  .mr-xl-n4,.mx-xl-n4 { margin-right: -1.5rem!important }
  .mb-xl-n4,.my-xl-n4 { margin-bottom: -1.5rem!important }
  .ml-xl-n4,.mx-xl-n4 { margin-left: -1.5rem!important }
  .m-xl-n5 { margin: -3rem!important }
  .mt-xl-n5,.my-xl-n5 { margin-top: -3rem!important }
  .mr-xl-n5,.mx-xl-n5 { margin-right: -3rem!important }
  .mb-xl-n5,.my-xl-n5 { margin-bottom: -3rem!important }
  .ml-xl-n5,.mx-xl-n5 { margin-left: -3rem!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 }
}

@media (min-width: 1400px) {
  .m-xxl-0 { margin:0!important }
  .mt-xxl-0,.my-xxl-0 { margin-top: 0!important }
  .mr-xxl-0,.mx-xxl-0 { margin-right: 0!important }
  .mb-xxl-0,.my-xxl-0 { margin-bottom: 0!important }
  .ml-xxl-0,.mx-xxl-0 { margin-left: 0!important }
  .m-xxl-1 { margin: .25rem!important }
  .mt-xxl-1,.my-xxl-1 { margin-top: .25rem!important }
  .mr-xxl-1,.mx-xxl-1 { margin-right: .25rem!important }
  .mb-xxl-1,.my-xxl-1 { margin-bottom: .25rem!important }
  .ml-xxl-1,.mx-xxl-1 { margin-left: .25rem!important }
  .m-xxl-2 { margin: .5rem!important }
  .mt-xxl-2,.my-xxl-2 { margin-top: .5rem!important }
  .mr-xxl-2,.mx-xxl-2 { margin-right: .5rem!important }
  .mb-xxl-2,.my-xxl-2 { margin-bottom: .5rem!important }
  .ml-xxl-2,.mx-xxl-2 { margin-left: .5rem!important }
  .m-xxl-3 { margin: 1rem!important }
  .mt-xxl-3,.my-xxl-3 { margin-top: 1rem!important }
  .mr-xxl-3,.mx-xxl-3 { margin-right: 1rem!important }
  .mb-xxl-3,.my-xxl-3 { margin-bottom: 1rem!important }
  .ml-xxl-3,.mx-xxl-3 { margin-left: 1rem!important }
  .m-xxl-4 { margin: 1.5rem!important }
  .mt-xxl-4,.my-xxl-4 { margin-top: 1.5rem!important }
  .mr-xxl-4,.mx-xxl-4 { margin-right: 1.5rem!important }
  .mb-xxl-4,.my-xxl-4 { margin-bottom: 1.5rem!important }
  .ml-xxl-4,.mx-xxl-4 { margin-left: 1.5rem!important }
  .m-xxl-5 { margin: 3rem!important }
  .mt-xxl-5,.my-xxl-5 { margin-top: 3rem!important }
  .mr-xxl-5,.mx-xxl-5 { margin-right: 3rem!important }
  .mb-xxl-5,.my-xxl-5 { margin-bottom: 3rem!important }
  .ml-xxl-5,.mx-xxl-5 { margin-left: 3rem!important }
  .p-xxl-0 { padding: 0!important }
  .pt-xxl-0,.py-xxl-0 { padding-top: 0!important }
  .pr-xxl-0,.px-xxl-0 { padding-right: 0!important }
  .pb-xxl-0,.py-xxl-0 { padding-bottom: 0!important }
  .pl-xxl-0,.px-xxl-0 { padding-left: 0!important }
  .p-xxl-1 { padding: .25rem!important }
  .pt-xxl-1,.py-xxl-1 { padding-top: .25rem!important }
  .pr-xxl-1,.px-xxl-1 { padding-right: .25rem!important }
  .pb-xxl-1,.py-xxl-1 { padding-bottom: .25rem!important }
  .pl-xxl-1,.px-xxl-1 { padding-left: .25rem!important }
  .p-xxl-2 { padding: .5rem!important }
  .pt-xxl-2,.py-xxl-2 { padding-top: .5rem!important }
  .pr-xxl-2,.px-xxl-2 { padding-right: .5rem!important }
  .pb-xxl-2,.py-xxl-2 { padding-bottom: .5rem!important }
  .pl-xxl-2,.px-xxl-2 { padding-left: .5rem!important }
  .p-xxl-3 { padding: 1rem!important }
  .pt-xxl-3,.py-xxl-3 { padding-top: 1rem!important }
  .pr-xxl-3,.px-xxl-3 { padding-right: 1rem!important }
  .pb-xxl-3,.py-xxl-3 { padding-bottom: 1rem!important }
  .pl-xxl-3,.px-xxl-3 { padding-left: 1rem!important }
  .p-xxl-4 { padding: 1.5rem!important }
  .pt-xxl-4,.py-xxl-4 { padding-top: 1.5rem!important }
  .pr-xxl-4,.px-xxl-4 { padding-right: 1.5rem!important }
  .pb-xxl-4,.py-xxl-4 { padding-bottom: 1.5rem!important }
  .pl-xxl-4,.px-xxl-4 { padding-left: 1.5rem!important }
  .p-xxl-5 { padding: 3rem!important }
  .pt-xxl-5,.py-xxl-5 { padding-top: 3rem!important }
  .pr-xxl-5,.px-xxl-5 { padding-right: 3rem!important }
  .pb-xxl-5,.py-xxl-5 { padding-bottom: 3rem!important }
  .pl-xxl-5,.px-xxl-5 { padding-left: 3rem!important }
  .m-xxl-n1 { margin: -.25rem!important }
  .mt-xxl-n1,.my-xxl-n1 { margin-top: -.25rem!important }
  .mr-xxl-n1,.mx-xxl-n1 { margin-right: -.25rem!important }
  .mb-xxl-n1,.my-xxl-n1 { margin-bottom: -.25rem!important }
  .ml-xxl-n1,.mx-xxl-n1 { margin-left: -.25rem!important }
  .m-xxl-n2 { margin: -.5rem!important }
  .mt-xxl-n2,.my-xxl-n2 { margin-top: -.5rem!important }
  .mr-xxl-n2,.mx-xxl-n2 { margin-right: -.5rem!important }
  .mb-xxl-n2,.my-xxl-n2 { margin-bottom: -.5rem!important }
  .ml-xxl-n2,.mx-xxl-n2 { margin-left: -.5rem!important }
  .m-xxl-n3 { margin: -1rem!important }
  .mt-xxl-n3,.my-xxl-n3 { margin-top: -1rem!important }
  .mr-xxl-n3,.mx-xxl-n3 { margin-right: -1rem!important }
  .mb-xxl-n3,.my-xxl-n3 { margin-bottom: -1rem!important }
  .ml-xxl-n3,.mx-xxl-n3 { margin-left: -1rem!important }
  .m-xxl-n4 { margin: -1.5rem!important }
  .mt-xxl-n4,.my-xxl-n4 { margin-top: -1.5rem!important }
  .mr-xxl-n4,.mx-xxl-n4 { margin-right: -1.5rem!important }
  .mb-xxl-n4,.my-xxl-n4 { margin-bottom: -1.5rem!important }
  .ml-xxl-n4,.mx-xxl-n4 { margin-left: -1.5rem!important }
  .m-xxl-n5 { margin: -3rem!important }
  .mt-xxl-n5,.my-xxl-n5 { margin-top: -3rem!important }
  .mr-xxl-n5,.mx-xxl-n5 { margin-right: -3rem!important }
  .mb-xxl-n5,.my-xxl-n5 { margin-bottom: -3rem!important }
  .ml-xxl-n5,.mx-xxl-n5 { margin-left: -3rem!important }
  .m-xxl-auto { margin: auto!important }
  .mt-xxl-auto,.my-xxl-auto { margin-top: auto!important }
  .mr-xxl-auto,.mx-xxl-auto { margin-right: auto!important }
  .mb-xxl-auto,.my-xxl-auto { margin-bottom: auto!important }
  .ml-xxl-auto,.mx-xxl-auto { margin-left: auto!important }
}

@media (min-width: 1680px) {
  .m-3xl-0 { margin:0!important }
  .mt-3xl-0,.my-3xl-0 { margin-top: 0!important }
  .mr-3xl-0,.mx-3xl-0 { margin-right: 0!important }
  .mb-3xl-0,.my-3xl-0 { margin-bottom: 0!important }
  .ml-3xl-0,.mx-3xl-0 { margin-left: 0!important }
  .m-3xl-1 { margin: .25rem!important }
  .mt-3xl-1,.my-3xl-1 { margin-top: .25rem!important }
  .mr-3xl-1,.mx-3xl-1 { margin-right: .25rem!important }
  .mb-3xl-1,.my-3xl-1 { margin-bottom: .25rem!important }
  .ml-3xl-1,.mx-3xl-1 { margin-left: .25rem!important }
  .m-3xl-2 { margin: .5rem!important }
  .mt-3xl-2,.my-3xl-2 { margin-top: .5rem!important }
  .mr-3xl-2,.mx-3xl-2 { margin-right: .5rem!important }
  .mb-3xl-2,.my-3xl-2 { margin-bottom: .5rem!important }
  .ml-3xl-2,.mx-3xl-2 { margin-left: .5rem!important }
  .m-3xl-3 { margin: 1rem!important }
  .mt-3xl-3,.my-3xl-3 { margin-top: 1rem!important }
  .mr-3xl-3,.mx-3xl-3 { margin-right: 1rem!important }
  .mb-3xl-3,.my-3xl-3 { margin-bottom: 1rem!important }
  .ml-3xl-3,.mx-3xl-3 { margin-left: 1rem!important }
  .m-3xl-4 { margin: 1.5rem!important }
  .mt-3xl-4,.my-3xl-4 { margin-top: 1.5rem!important }
  .mr-3xl-4,.mx-3xl-4 { margin-right: 1.5rem!important }
  .mb-3xl-4,.my-3xl-4 { margin-bottom: 1.5rem!important }
  .ml-3xl-4,.mx-3xl-4 { margin-left: 1.5rem!important }
  .m-3xl-5 { margin: 3rem!important }
  .mt-3xl-5,.my-3xl-5 { margin-top: 3rem!important }
  .mr-3xl-5,.mx-3xl-5 { margin-right: 3rem!important }
  .mb-3xl-5,.my-3xl-5 { margin-bottom: 3rem!important }
  .ml-3xl-5,.mx-3xl-5 { margin-left: 3rem!important }
  .p-3xl-0 { padding: 0!important }
  .pt-3xl-0,.py-3xl-0 { padding-top: 0!important }
  .pr-3xl-0,.px-3xl-0 { padding-right: 0!important }
  .pb-3xl-0,.py-3xl-0 { padding-bottom: 0!important }
  .pl-3xl-0,.px-3xl-0 { padding-left: 0!important }
  .p-3xl-1 { padding: .25rem!important }
  .pt-3xl-1,.py-3xl-1 { padding-top: .25rem!important }
  .pr-3xl-1,.px-3xl-1 { padding-right: .25rem!important }
  .pb-3xl-1,.py-3xl-1 { padding-bottom: .25rem!important }
  .pl-3xl-1,.px-3xl-1 { padding-left: .25rem!important }
  .p-3xl-2 { padding: .5rem!important }
  .pt-3xl-2,.py-3xl-2 { padding-top: .5rem!important }
  .pr-3xl-2,.px-3xl-2 { padding-right: .5rem!important }
  .pb-3xl-2,.py-3xl-2 { padding-bottom: .5rem!important }
  .pl-3xl-2,.px-3xl-2 { padding-left: .5rem!important }
  .p-3xl-3 { padding: 1rem!important }
  .pt-3xl-3,.py-3xl-3 { padding-top: 1rem!important }
  .pr-3xl-3,.px-3xl-3 { padding-right: 1rem!important }
  .pb-3xl-3,.py-3xl-3 { padding-bottom: 1rem!important }
  .pl-3xl-3,.px-3xl-3 { padding-left: 1rem!important }
  .p-3xl-4 { padding: 1.5rem!important }
  .pt-3xl-4,.py-3xl-4 { padding-top: 1.5rem!important }
  .pr-3xl-4,.px-3xl-4 { padding-right: 1.5rem!important }
  .pb-3xl-4,.py-3xl-4 { padding-bottom: 1.5rem!important }
  .pl-3xl-4,.px-3xl-4 { padding-left: 1.5rem!important }
  .p-3xl-5 { padding: 3rem!important }
  .pt-3xl-5,.py-3xl-5 { padding-top: 3rem!important }
  .pr-3xl-5,.px-3xl-5 { padding-right: 3rem!important }
  .pb-3xl-5,.py-3xl-5 { padding-bottom: 3rem!important }
  .pl-3xl-5,.px-3xl-5 { padding-left: 3rem!important }
  .m-3xl-n1 { margin: -.25rem!important }
  .mt-3xl-n1,.my-3xl-n1 { margin-top: -.25rem!important }
  .mr-3xl-n1,.mx-3xl-n1 { margin-right: -.25rem!important }
  .mb-3xl-n1,.my-3xl-n1 { margin-bottom: -.25rem!important }
  .ml-3xl-n1,.mx-3xl-n1 { margin-left: -.25rem!important }
  .m-3xl-n2 { margin: -.5rem!important }
  .mt-3xl-n2,.my-3xl-n2 { margin-top: -.5rem!important }
  .mr-3xl-n2,.mx-3xl-n2 { margin-right: -.5rem!important }
  .mb-3xl-n2,.my-3xl-n2 { margin-bottom: -.5rem!important }
  .ml-3xl-n2,.mx-3xl-n2 { margin-left: -.5rem!important }
  .m-3xl-n3 { margin: -1rem!important }
  .mt-3xl-n3,.my-3xl-n3 { margin-top: -1rem!important }
  .mr-3xl-n3,.mx-3xl-n3 { margin-right: -1rem!important }
  .mb-3xl-n3,.my-3xl-n3 { margin-bottom: -1rem!important }
  .ml-3xl-n3,.mx-3xl-n3 { margin-left: -1rem!important }
  .m-3xl-n4 { margin: -1.5rem!important }
  .mt-3xl-n4,.my-3xl-n4 { margin-top: -1.5rem!important }
  .mr-3xl-n4,.mx-3xl-n4 { margin-right: -1.5rem!important }
  .mb-3xl-n4,.my-3xl-n4 { margin-bottom: -1.5rem!important }
  .ml-3xl-n4,.mx-3xl-n4 { margin-left: -1.5rem!important }
  .m-3xl-n5 { margin: -3rem!important }
  .mt-3xl-n5,.my-3xl-n5 { margin-top: -3rem!important }
  .mr-3xl-n5,.mx-3xl-n5 { margin-right: -3rem!important }
  .mb-3xl-n5,.my-3xl-n5 { margin-bottom: -3rem!important }
  .ml-3xl-n5,.mx-3xl-n5 { margin-left: -3rem!important }
  .m-3xl-auto { margin: auto!important }
  .mt-3xl-auto,.my-3xl-auto { margin-top: auto!important }
  .mr-3xl-auto,.mx-3xl-auto { margin-right: auto!important }
  .mb-3xl-auto,.my-3xl-auto { margin-bottom: auto!important }
  .ml-3xl-auto,.mx-3xl-auto { margin-left: auto!important }
}

.w-25 {
  width: 25%;
}
.w-50 {
  width: 50%;
}
.w-75 {
  width: 75%;
}
.w-100 {
  width: 100%;
}
.h-25 {
  height: 25%;
}
.h-50 {
  height: 50%;
}
.h-75 {
  height: 75%;
}
.h-100 {
  height: 100%;
}

.horizontal-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  border: 1px solid rgba(216, 217, 224, 0.8);
  border-radius: 2px;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: .25rem 1rem;
}

.horizontal-form .form-item {
  margin: .25rem 1rem;
}

.form-group {
  margin-bottom: 1rem;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.08);
}

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive > .table-bordered {
  border: 0;
}

.group-header-row {
  background-color: #444 !important;
  color: #fff !important;
  font-weight: bold;
}

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

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
}

@media (min-width: 1400px) {
  .d-xxl-none {
    display: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
}

@media (min-width: 1680px) {
  .d-3xl-none {
    display: none !important;
  }
  .d-3xl-inline {
    display: inline !important;
  }
  .d-3xl-inline-block {
    display: inline-block !important;
  }
  .d-3xl-block {
    display: block !important;
  }
  .d-3xl-flex {
    display: flex !important;
  }
  .d-3xl-table-cell {
    display: table-cell !important;
  }
}

.text-black { color: #000 !important; }
.text-muted { color: #6c757d !important; }
.text-success { color: #28a745 !important; }
a.text-success:hover, a.text-success:focus {
  color: #19692c !important;
}
.text-info { color: #17a2b8 !important; }
a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important;
}
.text-warning { color: #ffc107 !important; }
a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important;
}
.text-danger { color: #dc3545 !important; }
a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important;
}

.bg-success {
  background-color: #28a745 !important;
}
a.bg-success:hover,
a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important;
}

.bg-info {
  background-color: #17a2b8 !important;
}
a.bg-info:hover,
a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important;
}

.bg-warning {
  background-color: #ffc107 !important;
}
a.bg-warning:hover,
a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important;
}

.bg-danger {
  background-color: #dc3545 !important;
}
a.bg-danger:hover,
a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important;
}

.font-weight-bold { font-weight: bold !important; }
.font-weight-bolder { font-weight: bolder !important; }

.invalid { border: 1px solid red !important; }

.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }

.text-wrap { white-space: normal !important; }
.text-nowrap { white-space: nowrap !important; }
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 576px) {
  .text-sm-left { text-align: left !important; }
  .text-sm-center { text-align: center !important; }
  .text-sm-right { text-align: right !important; }
}

@media (min-width: 768px) {
  .text-md-left { text-align: left !important; }
  .text-md-center { text-align: center !important; }
  .text-md-right { text-align: right !important; }
}

@media (min-width: 992px) {
  .text-lg-left { text-align: left !important; }
  .text-lg-center { text-align: center !important; }
  .text-lg-right { text-align: right !important; }
}

@media (min-width: 1200px) {
  .text-xl-left { text-align: left !important; }
  .text-xl-center { text-align: center !important; }
  .text-xl-right { text-align: right !important; }
}

@media (min-width: 1400px) {
  .text-xxl-left { text-align: left !important; }
  .text-xxl-center { text-align: center !important; }
  .text-xxl-right { text-align: right !important; }
}

@media (min-width: 1680px) {
  .text-3xl-left { text-align: left !important; }
  .text-3xl-center { text-align: center !important; }
  .text-3xl-right { text-align: right !important; }
}

small, .small {
  font-size: 80%;
  font-weight: 400;
}

.alert {
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem
}
.alert-heading {
    color: inherit
}
.alert-link {
    font-weight: 700
}
.alert-dismissible {
    padding-right: 4rem
}
.alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: .75rem 1.25rem;
    color: inherit
}
.alert-primary {
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff
}
.alert-primary hr {
    border-top-color: #9fcdff
}
.alert-primary .alert-link {
    color: #002752
}
.alert-secondary {
    color: #383d41;
    background-color: #e2e3e5;
    border-color: #d6d8db
}
.alert-secondary hr {
    border-top-color: #c8cbcf
}
.alert-secondary .alert-link {
    color: #202326
}
.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb
}
.alert-success hr {
    border-top-color: #b1dfbb
}
.alert-success .alert-link {
    color: #0b2e13
}
.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb
}
.alert-info hr {
    border-top-color: #abdde5
}
.alert-info .alert-link {
    color: #062c33
}
.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba
}
.alert-warning hr {
    border-top-color: #ffe8a1
}
.alert-warning .alert-link {
    color: #533f03
}
.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb
}
.alert-danger hr {
    border-top-color: #f1b0b7
}
.alert-danger .alert-link {
    color: #491217
}
.alert-light {
    color: #818182;
    background-color: #fefefe;
    border-color: #fdfdfe
}
.alert-light hr {
    border-top-color: #ececf6
}
.alert-light .alert-link {
    color: #686868
}
.alert-dark {
    color: #1b1e21;
    background-color: #d6d8d9;
    border-color: #c6c8ca
}
.alert-dark hr {
    border-top-color: #b9bbbe
}
.alert-dark .alert-link {
    color: #040505
}

/* reset the default centering of columns on responsive-enabled */
#page main .layout-content .region-content #block-autointerests-autointerests-zen-system-main table.responsive-enabled.responsive-enabled-reset tbody tr td { text-align: left; }
#page main .layout-content .region-content #block-autointerests-autointerests-zen-system-main table.responsive-enabled.responsive-enabled-reset tbody tr td:nth-child(2) { text-align: left; }
#page main .layout-content .region-content #block-autointerests-autointerests-zen-system-main table.responsive-enabled.responsive-enabled-reset tbody tr td:nth-child(3) { text-align: left; }
table.responsive-enabled.responsive-enabled-reset thead th { text-align: left; }
table.responsive-enabled.responsive-enabled-reset tfoot tr:nth-child(1) { border-top: 1px solid #000; }
table.responsive-enabled.responsive-enabled-reset th, table.responsive-enabled.responsive-enabled-reset td { padding: .25rem; }

/* For any POS interface screen, remove the side padding from the outer admin layout block */
.layout-container:has(.pos-wrapper) {
  margin: 10px 0 0;
}

/* For any POS interface screen, don't show the breadcrumb area */
.layout-container:has(.pos-wrapper) .region-breadcrumb {
  display: none;
}

.pos-wrapper hr {
  background: unset !important;
  border-top: 1px solid #102c52 !important;
}

.pos-wrapper .border-top {
  border-top: 1px solid #102c52 !important;
}

.pos-wrapper .border-bottom {
  border-bottom: 1px solid #102c52 !important;
}

.pos-wrapper input[type=submit] {
  padding: 4px;
}

.pos-wrapper input[type=text],
.pos-wrapper input[type=number],
.pos-wrapper input[type=tel],
.pos-wrapper input[type=date],
.pos-wrapper input[type=email],
.pos-wrapper input[type=search] {
  font-family: "Open Sans";
  font-size: 24px;
  line-height: 1.5;
  color: #102c52;
  border: 1px solid #102c52;
  height: 40px;
}

.pos-wrapper input[type=number] {
  text-align: right;
}

.pos-wrapper select {
  background: url(../../../../core/misc/icons/333333/caret-down.svg) no-repeat 99% 63%;
  background-size: 40px;
  font-family: "Open Sans";
  font-size: 24px;
  line-height: 1.5;
  width: 100%;
  color: #102c52;
  border: 1px solid #102c52;
  border-radius: 0;
}

.pos-wrapper select:hover, .pos-wrapper select:focus {
  background: url(../../../../core/misc/icons/333333/caret-down.svg) no-repeat 99% 63%;
  background-size: 40px;
}

.pos-wrapper a {
  text-decoration: none !important;
}

/* Change the bar colors when a tab is loaded so it's more obvious */
#pos-cart-section[data-is-tab-loaded="true"] .pos-identification,
.pos-wrapper:not(#pos-cart-section) .pos-identification:has(.pos-tab-name-col) {
  background-color: #ffc107; /* from .bg-warning */
  color: black;
}

/* This is Bootstrap v4.6.0's `.input-group` styling, but stripped-down/simplified
 * and classes mostly swapped around for use just with the POS screen.
 * Ref: https://getbootstrap.com/docs/4.6/components/input-group
 * For this version of it:
 * `.input-group` wraps everything.
 * `.input-group-input` goes on the form control.
 * `.input-group-plaintext` is for mimicing a form control, but with static text.
 * `.input-group-prepend` and `.input-group-append` are wrapping `div`s that go
 *    before or after the form control or `.input-group-plaintext` element.
 * `.pos-button` or `.input-group-text` goes inside the prepend or append wrapper.
 */
.pos-wrapper .input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.pos-wrapper .input-group > .input-group-input,
.pos-wrapper .input-group > .input-group-plaintext {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
  border-radius: 0;
  height: 40px;
}
.pos-wrapper .input-group > .input-group-input + .input-group-input,
.pos-wrapper .input-group > .input-group-plaintext + .input-group-input {
  margin-left: -1px;
}
.pos-wrapper .input-group > .input-group-input:focus {
  z-index: 3;
}
/*
.pos-wrapper .input-group > .input-group-input:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.pos-wrapper .input-group:not(.has-validation) > .input-group-input:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.pos-wrapper .input-group.has-validation > .input-group-input:nth-last-child(n + 3) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
*/
.pos-wrapper .input-group-prepend,
.pos-wrapper .input-group-append {
  display: flex;
}
.pos-wrapper .input-group-prepend .pos-button,
.pos-wrapper .input-group-append .pos-button {
  position: relative;
  z-index: 2;
  height: 40px;
  padding: 1px 0.5rem;
}
@media (min-width: 576px) {
  .pos-wrapper .input-group-prepend .pos-button,
  .pos-wrapper .input-group-append .pos-button {
    /* Larger touch target when above mobile */
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.pos-wrapper .input-group-prepend .pos-button:focus,
.pos-wrapper .input-group-append .pos-button:focus {
  z-index: 3;
}
.pos-wrapper .input-group-prepend .pos-button + .pos-button,
.pos-wrapper .input-group-prepend .pos-button + .input-group-text,
.pos-wrapper .input-group-prepend .input-group-text + .input-group-text,
.pos-wrapper .input-group-prepend .input-group-text + .pos-button,
.pos-wrapper .input-group-append .pos-button + .pos-button,
.pos-wrapper .input-group-append .pos-button + .input-group-text,
.pos-wrapper .input-group-append .input-group-text + .input-group-text,
.pos-wrapper .input-group-append .input-group-text + .pos-button {
  margin-left: -1px;
}
.pos-wrapper .input-group-prepend {
  margin-right: -1px;
}
.pos-wrapper .input-group-append {
  margin-left: -1px;
}
.pos-wrapper .input-group-text {
  /* This was tweaked to more closely match the existing POS screen styles */
  display: flex;
  align-items: center;
  padding: 1px 8px;
  height: 40px;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0;
}
.pos-wrapper .input-group-text input[type="radio"],
.pos-wrapper .input-group-text input[type="checkbox"] {
  margin-top: 0;
}
/*
.pos-wrapper .input-group > .input-group-prepend > .pos-button,
.pos-wrapper .input-group > .input-group-prepend > .input-group-text,
.pos-wrapper .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .pos-button,
.pos-wrapper .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.pos-wrapper .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .pos-button,
.pos-wrapper .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.pos-wrapper .input-group > .input-group-append:last-child > .pos-button:not(:last-child):not(.dropdown-toggle),
.pos-wrapper .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.pos-wrapper .input-group > .input-group-append > .pos-button,
.pos-wrapper .input-group > .input-group-append > .input-group-text,
.pos-wrapper .input-group > .input-group-prepend:not(:first-child) > .pos-button,
.pos-wrapper .input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.pos-wrapper .input-group > .input-group-prepend:first-child > .pos-button:not(:first-child),
.pos-wrapper .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
*/

.pos-wrapper input[readonly] {
  background-color: #ddd;
}

a.pos-button {
  display: inline-block;
  min-width:130px;
}
a.pos-button:hover {
  text-decoration: none;
}

.pos-wrapper.reprint-receipt-form .pos-button {
  margin: 0 0 .5em 0;
}

.pos-wrapper.reprint-receipt-form .pos-button,
.pos-button {
  background-image: none;
  border-radius: unset;
  background-color: hsl(215deg 67% 19%);
  color: white;
  font-family: 'Open Sans';
  font-weight: bold;
  font-size: 1.25rem;
  line-height: calc(1em + 4px);
  padding: 0.375rem;
  text-align: center;
  border: none;
  word-break: break-word;
  transition: 0.25s;
  text-transform: uppercase;
}
.pos-button:hover {
  background-color: hsl(215deg 67% 28%);
}
.pos-button:focus {
  background-color: hsl(215deg 67% 38%);
}
@media (min-width: 576px) {
  .pos-button {
    font-size: 1.5rem;
  }
}

/* Desaturate/fade-out button when disabled */
.pos-button:disabled {
  pointer-events: none;
  color: hsl(0 0% 70%);
  background-color: hsl(215 37% 34%);
}

.pos-title {
  font-family: 'Open Sans';
  font-weight: 800;
  font-size: 38px;
  color: #102c52;
  text-transform: uppercase;
}

.pos-label {
  font-family: 'Open Sans';
  font-weight: 800;
  font-size: 26px;
  color: #102c52;
  text-transform: uppercase;
}

.pos-report-amount {
  font-family: 'Open Sans';
  font-size: 24px;
  color: #102c52;
  text-align: right;
}

.pos-identification {
  font-family: 'Open Sans';
  font-size: 16px;
  color: #102c52;
  background-color: #e4e4e4;
  padding: 2px 5px;
  justify-content: space-between;
  column-gap: 1rem;
  /* Make the transition to having a tab open or exiting a tab more obvious */
  transition: 0.5s ease-in-out 0.1s;
  transition-property: background, color;
}

.pos-should-consume-tickets-warning {
  font-family: 'Open Sans';
  padding: .25rem .5rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  background-color: black;
  color: hsl(354 70% 77%); /* `.text-danger` lightened to hit min readable contrast */
}

.pos-payment-amount-due {
  font-family: "Open Sans";
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 800;
  color: #102c52;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
@media (min-width: 576px) {
  .pos-payment-amount-due {
    font-size: 75px;
  }
}

.pos-trackside-logo {
  height: 80px;
}

/* Fix inconsistent padding of content area of dialogs */
div.ui-dialog .ui-widget-content.ui-dialog-content {
  padding: 15px;
}

.pos-wrapper.reprint-receipt-form form .form-item {
  width: 30%;
}
