@charset "UTF-8";

.border-primary {
  border-color: #033c73;
}

.border-secondary {
  border-color: #ced4da;
}

.border-success {
  border-color: #73a839;
}

.border-info {
  border-color: #2fa4e7;
}

.border-warning {
  border-color: #dd5600;
}

.border-danger {
  border-color: #c71c22;
}

.border-light {
  border-color: #d5d9eb;
}

.border-dark {
  border-color: #343a40;
}

.border-focus {
  border-color: #6610f2;
}

.border-alternate {
  border-color: #6f42c1;
}

.bg-primary {
  background-color: #033c73 !important;
}

a.bg-primary:hover,
a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #022241 !important;
}

.bg-secondary {
  background-color: #ced4da !important;
}

a.bg-secondary:hover,
a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #b1bbc4 !important;
}

.bg-success {
  background-color: #73a839 !important;
}

a.bg-success:hover,
a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #59822c !important;
}

.bg-info {
  background-color: #2fa4e7 !important;
}

a.bg-info:hover,
a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #178acc !important;
}

.bg-warning {
  background-color: #dd5600 !important;
}

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

.bg-danger {
  background-color: #c71c22 !important;
}

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

.bg-light {
  background-color: #d5d9eb !important;
}

a.bg-light:hover,
a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #b2badb !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover,
a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

.bg-focus {
  background-color: #6610f2 !important;
}

a.bg-focus:hover,
a.bg-focus:focus,
button.bg-focus:hover,
button.bg-focus:focus {
  background-color: #510bc4 !important;
}

.bg-alternate {
  background-color: #6f42c1 !important;
}

a.bg-alternate:hover,
a.bg-alternate:focus,
button.bg-alternate:hover,
button.bg-alternate:focus {
  background-color: #59339d !important;
}

.bg-gradient-primary {
  background: #033c73 linear-gradient(180deg, #295988, #033c73) repeat-x !important;
}

.bg-gradient-secondary {
  background: #ced4da linear-gradient(180deg, #d5dae0, #ced4da) repeat-x !important;
}

.bg-gradient-success {
  background: #73a839 linear-gradient(180deg, #88b557, #73a839) repeat-x !important;
}

.bg-gradient-info {
  background: #2fa4e7 linear-gradient(180deg, #4eb2eb, #2fa4e7) repeat-x !important;
}

.bg-gradient-warning {
  background: #dd5600 linear-gradient(180deg, #e26f26, #dd5600) repeat-x !important;
}

.bg-gradient-danger {
  background: #c71c22 linear-gradient(180deg, #cf3e43, #c71c22) repeat-x !important;
}

.bg-gradient-light {
  background: #d5d9eb linear-gradient(180deg, #dbdfee, #d5d9eb) repeat-x !important;
}

.bg-gradient-dark {
  background: #343a40 linear-gradient(180deg, #52585d, #343a40) repeat-x !important;
}

.bg-gradient-focus {
  background: #6610f2 linear-gradient(180deg, #7d34f4, #6610f2) repeat-x !important;
}

.bg-gradient-alternate {
  background: #6f42c1 linear-gradient(180deg, #855eca, #6f42c1) repeat-x !important;
}

:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #033c73;
  --secondary: #ced4da;
  --success: #73a839;
  --info: #2fa4e7;
  --warning: #dd5600;
  --danger: #c71c22;
  --light: #d5d9eb;
  --dark: #343a40;
  --focus: #6610f2;
  --alternate: #6f42c1;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-family-monospace:
    SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

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

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article,
aside,
figcaption,
figure,
footer,
header,
main,
nav,
section {
  display: block;
}

body {
  margin: 0;
  font-family:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: left;
  background-color: #fff;
}

[tabindex='-1']:focus {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

a {
  color: #033c73;
  text-decoration: none;
  background-color: transparent;
}
a:hover {
  color: #0056b3;
  text-decoration: underline;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):hover,
a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}

input[type='date'],
input[type='time'],
input[type='month'] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin-bottom: 0.5rem;
  font-family: inherit;
  font-weight: 400;
  line-height: 1.2;
  color: inherit;
}

h1,
.h1 {
  font-size: 2.5rem;
}

h2,
.h2 {
  font-size: 2rem;
}

h3,
.h3 {
  font-size: 1.75rem;
}

h4,
.h4 {
  font-size: 1.5rem;
}

h5,
.h5 {
  font-size: 1.25rem;
}

h6,
.h6 {
  font-size: 1rem;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

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

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-break: break-word;
}
a > code {
  color: inherit;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

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

.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 {
  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.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

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

.offset-2 {
  margin-left: 16.6666666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

@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.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .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-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }

  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@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.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .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-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.3333333333%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.3333333333%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.3333333333%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.3333333333%;
  }

  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@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.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .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-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }

  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@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.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .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-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }

  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }

  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }

  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }

  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
.table {
  width: 100%;
  margin-bottom: 1rem;
  background-color: transparent;
}
.table th,
.table td {
  padding: 0.55rem;
  vertical-align: top;
  border-top: 1px solid #e9ecef;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #e9ecef;
}
.table tbody + tbody {
  border-top: 2px solid #e9ecef;
}
.table .table {
  background-color: #fff;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #e9ecef;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #e9ecef;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

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

.table-hover tbody tr:hover {
  background-color: #d1f3ff;
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #b8c8d8;
}
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #7c9ab6;
}

.table-hover .table-primary:hover {
  background-color: #a8bbcf;
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #a8bbcf;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #f1f3f5;
}
.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #e6e9ec;
}

.table-hover .table-secondary:hover {
  background-color: #e2e6ea;
}
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #e2e6ea;
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: #d8e7c8;
}
.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #b6d298;
}

.table-hover .table-success:hover {
  background-color: #cbdfb6;
}
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #cbdfb6;
}

.table-info,
.table-info > th,
.table-info > td {
  background-color: #c5e6f8;
}
.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #93d0f3;
}

.table-hover .table-info:hover {
  background-color: #aedcf5;
}
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #aedcf5;
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #f5d0b8;
}
.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #eda77a;
}

.table-hover .table-warning:hover {
  background-color: #f2c1a2;
}
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #f2c1a2;
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #efbfc1;
}
.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #e2898c;
}

.table-hover .table-danger:hover {
  background-color: #eaabad;
}
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #eaabad;
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: #f3f4f9;
}
.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #e9ebf5;
}

.table-hover .table-light:hover {
  background-color: #e2e4f1;
}
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #e2e4f1;
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c6c8ca;
}
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #95999c;
}

.table-hover .table-dark:hover {
  background-color: #b9bbbe;
}
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #b9bbbe;
}

.table-focus,
.table-focus > th,
.table-focus > td {
  background-color: #d4bcfb;
}
.table-focus th,
.table-focus td,
.table-focus thead th,
.table-focus tbody + tbody {
  border-color: #af83f8;
}

.table-hover .table-focus:hover {
  background-color: #c5a4fa;
}
.table-hover .table-focus:hover > td,
.table-hover .table-focus:hover > th {
  background-color: #c5a4fa;
}

.table-alternate,
.table-alternate > th,
.table-alternate > td {
  background-color: #d7caee;
}
.table-alternate th,
.table-alternate td,
.table-alternate thead th,
.table-alternate tbody + tbody {
  border-color: #b49ddf;
}

.table-hover .table-alternate:hover {
  background-color: #c8b7e8;
}
.table-hover .table-alternate:hover > td,
.table-hover .table-alternate:hover > th {
  background-color: #c8b7e8;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: #d1f3ff;
}

.table-hover .table-active:hover {
  background-color: #b8ecff;
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: #b8ecff;
}

.table-dark {
  color: #fff;
  background-color: #212529;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #32383e;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
.table-responsive > .table-bordered {
  border: 0;
}

.form-control {
  display: block;
  width: 100%;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition:
    border-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #067def;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control:disabled {
  background-color: #e9ecef;
  opacity: 1;
}

select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.form-control-file,
.form-control-range {
  display: block;
  width: 100%;
}

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext.form-control-sm,
.form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  height: calc(1.8125rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.form-control-lg {
  height: calc(2.875rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

select.form-control[size],
select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  height: auto;
}

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

.form-text {
  display: block;
  margin-top: 0.25rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}
.form-row > .col,
.form-row > [class*='col-'] {
  padding-right: 5px;
  padding-left: 5px;
}

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

.form-check-label {
  margin-bottom: 0;
}

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}
.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(115, 168, 57, 0.9);
  border-radius: 0.25rem;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(199, 28, 34, 0.9);
  border-radius: 0.25rem;
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: #495057;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition:
    color 0.15s,
    background-color 0.15s,
    border-color 0.15s,
    box-shadow 0.15s;
}
@media screen and (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: #495057;
  text-decoration: none;
}
.btn:focus,
.btn.focus {
  outline: 0;
  box-shadow: none;
}
.btn.disabled,
.btn:disabled {
  opacity: 0.65;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

a.btn.disabled {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background: #033c73 linear-gradient(180deg, #295988, #033c73) repeat-x;
  border-color: #033c73;
}
.btn-primary:hover {
  color: #fff;
  background: #02294e linear-gradient(180deg, #284969, #02294e) repeat-x;
  border-color: #022241;
}
.btn-primary:focus,
.btn-primary.focus {
  box-shadow: 0 0 0 0 rgba(41, 89, 136, 0.5);
}
.btn-primary.disabled,
.btn-primary:disabled {
  color: #fff;
  background-color: #033c73;
  border-color: #033c73;
  background-image: none;
}
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #022241;
  background-image: none;
  border-color: #011c35;
}
.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(41, 89, 136, 0.5);
}

.btn-secondary {
  color: #212529;
  background: #ced4da linear-gradient(180deg, #d5dae0, #ced4da) repeat-x;
  border-color: #ced4da;
}
.btn-secondary:hover {
  color: #212529;
  background: #b8c1ca linear-gradient(180deg, #c3cad2, #b8c1ca) repeat-x;
  border-color: #b1bbc4;
}
.btn-secondary:focus,
.btn-secondary.focus {
  box-shadow: 0 0 0 0 rgba(180, 186, 191, 0.5);
}
.btn-secondary.disabled,
.btn-secondary:disabled {
  color: #212529;
  background-color: #ced4da;
  border-color: #ced4da;
  background-image: none;
}
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  color: #212529;
  background-color: #b1bbc4;
  background-image: none;
  border-color: #aab4bf;
}
.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(180, 186, 191, 0.5);
}

.btn-success {
  color: #fff;
  background: #73a839 linear-gradient(180deg, #88b557, #73a839) repeat-x;
  border-color: #73a839;
}
.btn-success:hover {
  color: #fff;
  background: #5f8b2f linear-gradient(180deg, #779c4e, #5f8b2f) repeat-x;
  border-color: #59822c;
}
.btn-success:focus,
.btn-success.focus {
  box-shadow: 0 0 0 0 rgba(136, 181, 87, 0.5);
}
.btn-success.disabled,
.btn-success:disabled {
  color: #fff;
  background-color: #73a839;
  border-color: #73a839;
  background-image: none;
}
.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #59822c;
  background-image: none;
  border-color: #527829;
}
.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(136, 181, 87, 0.5);
}

.btn-info {
  color: #fff;
  background: #2fa4e7 linear-gradient(180deg, #4eb2eb, #2fa4e7) repeat-x;
  border-color: #2fa4e7;
}
.btn-info:hover {
  color: #fff;
  background: #1992d7 linear-gradient(180deg, #3ca2dd, #1992d7) repeat-x;
  border-color: #178acc;
}
.btn-info:focus,
.btn-info.focus {
  box-shadow: 0 0 0 0 rgba(78, 178, 235, 0.5);
}
.btn-info.disabled,
.btn-info:disabled {
  color: #fff;
  background-color: #2fa4e7;
  border-color: #2fa4e7;
  background-image: none;
}
.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #178acc;
  background-image: none;
  border-color: #1682c0;
}
.btn-info:not(:disabled):not(.disabled):active:focus,
.btn-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(78, 178, 235, 0.5);
}

.btn-warning {
  color: #fff;
  background: #dd5600 linear-gradient(180deg, #e26f26, #dd5600) repeat-x;
  border-color: #dd5600;
}
.btn-warning:hover {
  color: #fff;
  background: #b74700 linear-gradient(180deg, #c26326, #b74700) repeat-x;
  border-color: #aa4200;
}
.btn-warning:focus,
.btn-warning.focus {
  box-shadow: 0 0 0 0 rgba(226, 111, 38, 0.5);
}
.btn-warning.disabled,
.btn-warning:disabled {
  color: #fff;
  background-color: #dd5600;
  border-color: #dd5600;
  background-image: none;
}
.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #aa4200;
  background-image: none;
  border-color: #9d3d00;
}
.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(226, 111, 38, 0.5);
}

.btn-danger {
  color: #fff;
  background: #c71c22 linear-gradient(180deg, #cf3e43, #c71c22) repeat-x;
  border-color: #c71c22;
}
.btn-danger:hover {
  color: #fff;
  background: #a5171c linear-gradient(180deg, #b33a3e, #a5171c) repeat-x;
  border-color: #9a161a;
}
.btn-danger:focus,
.btn-danger.focus {
  box-shadow: 0 0 0 0 rgba(207, 62, 67, 0.5);
}
.btn-danger.disabled,
.btn-danger:disabled {
  color: #fff;
  background-color: #c71c22;
  border-color: #c71c22;
  background-image: none;
}
.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #9a161a;
  background-image: none;
  border-color: #8f1418;
}
.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(207, 62, 67, 0.5);
}

.btn-light {
  color: #212529;
  background: #d5d9eb linear-gradient(180deg, #dbdfee, #d5d9eb) repeat-x;
  border-color: #d5d9eb;
}
.btn-light:hover {
  color: #212529;
  background: #bbc2df linear-gradient(180deg, #c5cbe4, #bbc2df) repeat-x;
  border-color: #b2badb;
}
.btn-light:focus,
.btn-light.focus {
  box-shadow: 0 0 0 0 rgba(186, 190, 206, 0.5);
}
.btn-light.disabled,
.btn-light:disabled {
  color: #212529;
  background-color: #d5d9eb;
  border-color: #d5d9eb;
  background-image: none;
}
.btn-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #b2badb;
  background-image: none;
  border-color: #aab2d6;
}
.btn-light:not(:disabled):not(.disabled):active:focus,
.btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(186, 190, 206, 0.5);
}

.btn-dark {
  color: #fff;
  background: #343a40 linear-gradient(180deg, #52585d, #343a40) repeat-x;
  border-color: #343a40;
}
.btn-dark:hover {
  color: #fff;
  background: #23272b linear-gradient(180deg, #44474b, #23272b) repeat-x;
  border-color: #1d2124;
}
.btn-dark:focus,
.btn-dark.focus {
  box-shadow: 0 0 0 0 rgba(82, 88, 93, 0.5);
}
.btn-dark.disabled,
.btn-dark:disabled {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
  background-image: none;
}
.btn-dark:not(:disabled):not(.disabled):active,
.btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  background-image: none;
  border-color: #171a1d;
}
.btn-dark:not(:disabled):not(.disabled):active:focus,
.btn-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(82, 88, 93, 0.5);
}

.btn-focus {
  color: #fff;
  background: #6610f2 linear-gradient(180deg, #7d34f4, #6610f2) repeat-x;
  border-color: #6610f2;
}
.btn-focus:hover {
  color: #fff;
  background: #560bd0 linear-gradient(180deg, #6f30d7, #560bd0) repeat-x;
  border-color: #510bc4;
}
.btn-focus:focus,
.btn-focus.focus {
  box-shadow: 0 0 0 0 rgba(125, 52, 244, 0.5);
}
.btn-focus.disabled,
.btn-focus:disabled {
  color: #fff;
  background-color: #6610f2;
  border-color: #6610f2;
  background-image: none;
}
.btn-focus:not(:disabled):not(.disabled):active,
.btn-focus:not(:disabled):not(.disabled).active,
.show > .btn-focus.dropdown-toggle {
  color: #fff;
  background-color: #510bc4;
  background-image: none;
  border-color: #4c0ab8;
}
.btn-focus:not(:disabled):not(.disabled):active:focus,
.btn-focus:not(:disabled):not(.disabled).active:focus,
.show > .btn-focus.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(125, 52, 244, 0.5);
}

.btn-alternate {
  color: #fff;
  background: #6f42c1 linear-gradient(180deg, #855eca, #6f42c1) repeat-x;
  border-color: #6f42c1;
}
.btn-alternate:hover {
  color: #fff;
  background: #5e37a6 linear-gradient(180deg, #7655b3, #5e37a6) repeat-x;
  border-color: #59339d;
}
.btn-alternate:focus,
.btn-alternate.focus {
  box-shadow: 0 0 0 0 rgba(133, 94, 202, 0.5);
}
.btn-alternate.disabled,
.btn-alternate:disabled {
  color: #fff;
  background-color: #6f42c1;
  border-color: #6f42c1;
  background-image: none;
}
.btn-alternate:not(:disabled):not(.disabled):active,
.btn-alternate:not(:disabled):not(.disabled).active,
.show > .btn-alternate.dropdown-toggle {
  color: #fff;
  background-color: #59339d;
  background-image: none;
  border-color: #533093;
}
.btn-alternate:not(:disabled):not(.disabled):active:focus,
.btn-alternate:not(:disabled):not(.disabled).active:focus,
.show > .btn-alternate.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(133, 94, 202, 0.5);
}

.btn-outline-primary {
  color: #033c73;
  border-color: #033c73;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #033c73;
  border-color: #033c73;
}
.btn-outline-primary:focus,
.btn-outline-primary.focus {
  box-shadow: 0 0 0 0 rgba(3, 60, 115, 0.5);
}
.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
  color: #033c73;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #033c73;
  border-color: #033c73;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(3, 60, 115, 0.5);
}

.btn-outline-secondary {
  color: #ced4da;
  border-color: #ced4da;
}
.btn-outline-secondary:hover {
  color: #212529;
  background-color: #ced4da;
  border-color: #ced4da;
}
.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
  box-shadow: 0 0 0 0 rgba(206, 212, 218, 0.5);
}
.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
  color: #ced4da;
  background-color: transparent;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #212529;
  background-color: #ced4da;
  border-color: #ced4da;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(206, 212, 218, 0.5);
}

.btn-outline-success {
  color: #73a839;
  border-color: #73a839;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #73a839;
  border-color: #73a839;
}
.btn-outline-success:focus,
.btn-outline-success.focus {
  box-shadow: 0 0 0 0 rgba(115, 168, 57, 0.5);
}
.btn-outline-success.disabled,
.btn-outline-success:disabled {
  color: #73a839;
  background-color: transparent;
}
.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #73a839;
  border-color: #73a839;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus,
.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(115, 168, 57, 0.5);
}

.btn-outline-info {
  color: #2fa4e7;
  border-color: #2fa4e7;
}
.btn-outline-info:hover {
  color: #fff;
  background-color: #2fa4e7;
  border-color: #2fa4e7;
}
.btn-outline-info:focus,
.btn-outline-info.focus {
  box-shadow: 0 0 0 0 rgba(47, 164, 231, 0.5);
}
.btn-outline-info.disabled,
.btn-outline-info:disabled {
  color: #2fa4e7;
  background-color: transparent;
}
.btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #2fa4e7;
  border-color: #2fa4e7;
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus,
.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(47, 164, 231, 0.5);
}

.btn-outline-warning {
  color: #dd5600;
  border-color: #dd5600;
}
.btn-outline-warning:hover {
  color: #fff;
  background-color: #dd5600;
  border-color: #dd5600;
}
.btn-outline-warning:focus,
.btn-outline-warning.focus {
  box-shadow: 0 0 0 0 rgba(221, 86, 0, 0.5);
}
.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
  color: #dd5600;
  background-color: transparent;
}
.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #fff;
  background-color: #dd5600;
  border-color: #dd5600;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(221, 86, 0, 0.5);
}

.btn-outline-danger {
  color: #c71c22;
  border-color: #c71c22;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #c71c22;
  border-color: #c71c22;
}
.btn-outline-danger:focus,
.btn-outline-danger.focus {
  box-shadow: 0 0 0 0 rgba(199, 28, 34, 0.5);
}
.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
  color: #c71c22;
  background-color: transparent;
}
.btn-outline-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #c71c22;
  border-color: #c71c22;
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(199, 28, 34, 0.5);
}

.btn-outline-light {
  color: #d5d9eb;
  border-color: #d5d9eb;
}
.btn-outline-light:hover {
  color: #212529;
  background-color: #d5d9eb;
  border-color: #d5d9eb;
}
.btn-outline-light:focus,
.btn-outline-light.focus {
  box-shadow: 0 0 0 0 rgba(213, 217, 235, 0.5);
}
.btn-outline-light.disabled,
.btn-outline-light:disabled {
  color: #d5d9eb;
  background-color: transparent;
}
.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #d5d9eb;
  border-color: #d5d9eb;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(213, 217, 235, 0.5);
}

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:focus,
.btn-outline-dark.focus {
  box-shadow: 0 0 0 0 rgba(52, 58, 64, 0.5);
}
.btn-outline-dark.disabled,
.btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}
.btn-outline-dark:not(:disabled):not(.disabled):active,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(52, 58, 64, 0.5);
}

.btn-outline-focus {
  color: #6610f2;
  border-color: #6610f2;
}
.btn-outline-focus:hover {
  color: #fff;
  background-color: #6610f2;
  border-color: #6610f2;
}
.btn-outline-focus:focus,
.btn-outline-focus.focus {
  box-shadow: 0 0 0 0 rgba(102, 16, 242, 0.5);
}
.btn-outline-focus.disabled,
.btn-outline-focus:disabled {
  color: #6610f2;
  background-color: transparent;
}
.btn-outline-focus:not(:disabled):not(.disabled):active,
.btn-outline-focus:not(:disabled):not(.disabled).active,
.show > .btn-outline-focus.dropdown-toggle {
  color: #fff;
  background-color: #6610f2;
  border-color: #6610f2;
}
.btn-outline-focus:not(:disabled):not(.disabled):active:focus,
.btn-outline-focus:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-focus.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(102, 16, 242, 0.5);
}

.btn-outline-alternate {
  color: #6f42c1;
  border-color: #6f42c1;
}
.btn-outline-alternate:hover {
  color: #fff;
  background-color: #6f42c1;
  border-color: #6f42c1;
}
.btn-outline-alternate:focus,
.btn-outline-alternate.focus {
  box-shadow: 0 0 0 0 rgba(111, 66, 193, 0.5);
}
.btn-outline-alternate.disabled,
.btn-outline-alternate:disabled {
  color: #6f42c1;
  background-color: transparent;
}
.btn-outline-alternate:not(:disabled):not(.disabled):active,
.btn-outline-alternate:not(:disabled):not(.disabled).active,
.show > .btn-outline-alternate.dropdown-toggle {
  color: #fff;
  background-color: #6f42c1;
  border-color: #6f42c1;
}
.btn-outline-alternate:not(:disabled):not(.disabled):active:focus,
.btn-outline-alternate:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-alternate.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(111, 66, 193, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #033c73;
}
.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
}
.btn-link:focus,
.btn-link.focus {
  text-decoration: underline;
  box-shadow: none;
}
.btn-link:disabled,
.btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg,
.btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm,
.btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}

input[type='submit'].btn-block,
input[type='reset'].btn-block,
input[type='button'].btn-block {
  width: 100%;
}

.fade {
  transition: opacity 0.15s linear;
}
@media screen and (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}


.dropdown {
  position: relative;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: '';
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 15rem;
  padding: 0.65rem 0;
  margin: 0.125rem 0 0;
  font-size: 0.88rem;
  color: #495057;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}
.dropdown-menu-left {
  right: auto;
  left: 0;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.4rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:first-child {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.dropdown-item:last-child {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.dropdown-item:hover,
.dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background: #d1f3ff linear-gradient(180deg, #d8f5ff, #d1f3ff) repeat-x;
}
.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background: #033c73 linear-gradient(180deg, #295988, #033c73) repeat-x;
}
.dropdown-item.disabled,
.dropdown-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: transparent;
  background-image: none;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.65rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.968rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.4rem 1.5rem;
  color: #212529;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
  z-index: 1;
}
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after {
  margin-left: 0;
}

.btn-sm + .dropdown-toggle-split,
.btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split,
.btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0;
}
.btn-group-toggle > .btn input[type='radio'],
.btn-group-toggle > .btn input[type='checkbox'],
.btn-group-toggle > .btn-group > .btn input[type='radio'],
.btn-group-toggle > .btn-group > .btn input[type='checkbox'] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-control-plaintext {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}
.input-group > .form-control + .form-control,
.input-group > .form-control-plaintext + .form-control {
  margin-left: -1px;
}
.input-group > .form-control:focus {
  z-index: 3;
}
.input-group > .form-control:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .form-control:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}
.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}
.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}
.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}

.input-group-prepend {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e0f7ff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.input-group-text input[type='radio'],
.input-group-text input[type='checkbox'] {
  margin-top: 0;
}

.input-group-lg > .form-control:not(textarea) {
  height: calc(2.875rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.input-group-sm > .form-control:not(textarea) {
  height: calc(1.8125rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}
.nav-link:hover,
.nav-link:focus {
  text-decoration: none;
}
.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}
.nav-tabs .nav-item {
  margin-bottom: -1px;
}
.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}
.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  border-radius: 0.25rem;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #033c73;
}

.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}
.navbar > .container,
.navbar > .container-fluid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}
.navbar-toggler:hover,
.navbar-toggler:focus {
  text-decoration: none;
}
.navbar-toggler:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: '';
  background: no-repeat center center;
  background-size: 100% 100%;
}

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}
@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}
.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid {
  padding-right: 0;
  padding-left: 0;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid {
  flex-wrap: nowrap;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover,
.navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox=%270 0 30 30%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cpath stroke=%27rgba%280, 0, 0, 0.5%29%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-text a:hover,
.navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-dark .navbar-brand {
  color: #fff;
}
.navbar-dark .navbar-brand:hover,
.navbar-dark .navbar-brand:focus {
  color: #fff;
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}
.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox=%270 0 30 30%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.5%29%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-text a {
  color: #fff;
}
.navbar-dark .navbar-text a:hover,
.navbar-dark .navbar-text a:focus {
  color: #fff;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: 1.25rem;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: 1.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  color: inherit;
  background-color: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
}

.card-img {
  width: 100%;
  border-radius: calc(0.25rem - 1px);
}

.card-img-top {
  width: 100%;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img-bottom {
  width: 100%;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-deck {
  display: flex;
  flex-direction: column;
}
.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    display: flex;
    flex: 1 0 0%;
    flex-direction: column;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

.card-group {
  display: flex;
  flex-direction: column;
}
.card-group > .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-group {
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:first-child .card-img-top,
  .card-group > .card:first-child .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:first-child .card-img-bottom,
  .card-group > .card:first-child .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:last-child .card-img-top,
  .card-group > .card:last-child .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:last-child .card-img-bottom,
  .card-group > .card:last-child .card-footer {
    border-bottom-left-radius: 0;
  }
  .card-group > .card:only-child {
    border-radius: 0.25rem;
  }
  .card-group > .card:only-child .card-img-top,
  .card-group > .card:only-child .card-header {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }
  .card-group > .card:only-child .card-img-bottom,
  .card-group > .card:only-child .card-footer {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {
    border-radius: 0;
  }
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {
    border-radius: 0;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
}
a.badge:hover,
a.badge:focus {
  text-decoration: none;
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #033c73;
}
a.badge-primary:hover,
a.badge-primary:focus {
  color: #fff;
  background-color: #022241;
}

.badge-secondary {
  color: #212529;
  background-color: #ced4da;
}
a.badge-secondary:hover,
a.badge-secondary:focus {
  color: #212529;
  background-color: #b1bbc4;
}

.badge-success {
  color: #fff;
  background-color: #73a839;
}
a.badge-success:hover,
a.badge-success:focus {
  color: #fff;
  background-color: #59822c;
}

.badge-info {
  color: #fff;
  background-color: #2fa4e7;
}
a.badge-info:hover,
a.badge-info:focus {
  color: #fff;
  background-color: #178acc;
}

.badge-warning {
  color: #fff;
  background-color: #dd5600;
}
a.badge-warning:hover,
a.badge-warning:focus {
  color: #fff;
  background-color: #aa4200;
}

.badge-danger {
  color: #fff;
  background-color: #c71c22;
}
a.badge-danger:hover,
a.badge-danger:focus {
  color: #fff;
  background-color: #9a161a;
}

.badge-light {
  color: #212529;
  background-color: #d5d9eb;
}
a.badge-light:hover,
a.badge-light:focus {
  color: #212529;
  background-color: #b2badb;
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}
a.badge-dark:hover,
a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}

.badge-focus {
  color: #fff;
  background-color: #6610f2;
}
a.badge-focus:hover,
a.badge-focus:focus {
  color: #fff;
  background-color: #510bc4;
}

.badge-alternate {
  color: #fff;
  background-color: #6f42c1;
}
a.badge-alternate:hover,
a.badge-alternate:focus {
  color: #fff;
  background-color: #59339d;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
}

.alert-dismissible {
  padding-right: 4rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

.alert-primary {
  color: #021f3c;
  background: #cdd8e3 linear-gradient(180deg, #d5dee7, #cdd8e3) repeat-x;
  border-color: #b8c8d8;
}
.alert-primary hr {
  border-top-color: #a8bbcf;
}
.alert-primary .alert-link {
  color: #00060b;
}

.alert-secondary {
  color: #6b6e71;
  background: #f5f6f8 linear-gradient(180deg, #f7f7f9, #f5f6f8) repeat-x;
  border-color: #f1f3f5;
}
.alert-secondary hr {
  border-top-color: #e2e6ea;
}
.alert-secondary .alert-link {
  color: #525557;
}

.alert-success {
  color: #3c571e;
  background: #e3eed7 linear-gradient(180deg, #e7f1dd, #e3eed7) repeat-x;
  border-color: #d8e7c8;
}
.alert-success hr {
  border-top-color: #cbdfb6;
}
.alert-success .alert-link {
  color: #223111;
}

.alert-info {
  color: #185578;
  background: #d5edfa linear-gradient(180deg, #dbf0fb, #d5edfa) repeat-x;
  border-color: #c5e6f8;
}
.alert-info hr {
  border-top-color: #aedcf5;
}
.alert-info .alert-link {
  color: #10374e;
}

.alert-warning {
  color: #732d00;
  background: #f8ddcc linear-gradient(180deg, #f9e2d4, #f8ddcc) repeat-x;
  border-color: #f5d0b8;
}
.alert-warning hr {
  border-top-color: #f2c1a2;
}
.alert-warning .alert-link {
  color: #401900;
}

.alert-danger {
  color: #670f12;
  background: #f4d2d3 linear-gradient(180deg, #f6d9da, #f4d2d3) repeat-x;
  border-color: #efbfc1;
}
.alert-danger hr {
  border-top-color: #eaabad;
}
.alert-danger .alert-link {
  color: #3a090a;
}

.alert-light {
  color: #6f717a;
  background: #f7f7fb linear-gradient(180deg, #f8f8fc, #f7f7fb) repeat-x;
  border-color: #f3f4f9;
}
.alert-light hr {
  border-top-color: #e2e4f1;
}
.alert-light .alert-link {
  color: #57585f;
}

.alert-dark {
  color: #1b1e21;
  background: #d6d8d9 linear-gradient(180deg, #dcdedf, #d6d8d9) repeat-x;
  border-color: #c6c8ca;
}
.alert-dark hr {
  border-top-color: #b9bbbe;
}
.alert-dark .alert-link {
  color: #040505;
}

.alert-focus {
  color: #35087e;
  background: #e0cffc linear-gradient(180deg, #e5d6fc, #e0cffc) repeat-x;
  border-color: #d4bcfb;
}
.alert-focus hr {
  border-top-color: #c5a4fa;
}
.alert-focus .alert-link {
  color: #21054e;
}

.alert-alternate {
  color: #3a2264;
  background: #e2d9f3 linear-gradient(180deg, #e6dff5, #e2d9f3) repeat-x;
  border-color: #d7caee;
}
.alert-alternate hr {
  border-top-color: #c8b7e8;
}
.alert-alternate .alert-link {
  color: #24153e;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.media {
  display: flex;
  align-items: flex-start;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.close:not(:disabled):not(.disabled):hover,
.close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
  appearance: none;
}

a.close.disabled {
  pointer-events: none;
}

.modal-open {
  overflow: hidden;
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media screen and (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - (0.5rem * 2));
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - (0.5rem * 2));
  content: '';
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid #e9ecef;
  border-bottom-right-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}
.modal-footer > :not(:first-child) {
  margin-left: 0.25rem;
}
.modal-footer > :not(:last-child) {
  margin-right: 0.25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }

  .modal-dialog-centered {
    min-height: calc(100% - (1.75rem * 2));
  }
  .modal-dialog-centered::before {
    height: calc(100vh - (1.75rem * 2));
  }

  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .arrow::before {
  position: absolute;
  content: '';
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top,
.bs-tooltip-auto[x-placement^='top'] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .arrow,
.bs-tooltip-auto[x-placement^='top'] .arrow {
  bottom: 0;
}
.bs-tooltip-top .arrow::before,
.bs-tooltip-auto[x-placement^='top'] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

.bs-tooltip-right,
.bs-tooltip-auto[x-placement^='right'] {
  padding: 0 0.4rem;
}
.bs-tooltip-right .arrow,
.bs-tooltip-auto[x-placement^='right'] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-right .arrow::before,
.bs-tooltip-auto[x-placement^='right'] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

.bs-tooltip-bottom,
.bs-tooltip-auto[x-placement^='bottom'] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .arrow,
.bs-tooltip-auto[x-placement^='bottom'] .arrow {
  top: 0;
}
.bs-tooltip-bottom .arrow::before,
.bs-tooltip-auto[x-placement^='bottom'] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

.bs-tooltip-left,
.bs-tooltip-auto[x-placement^='left'] {
  padding: 0 0.4rem;
}
.bs-tooltip-left .arrow,
.bs-tooltip-auto[x-placement^='left'] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-left .arrow::before,
.bs-tooltip-auto[x-placement^='left'] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 320px;
  font-family:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.3rem;
}
.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}
.popover .arrow::before,
.popover .arrow::after {
  position: absolute;
  display: block;
  content: '';
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top,
.bs-popover-auto[x-placement^='top'] {
  margin-bottom: 0.5rem;
}
.bs-popover-top .arrow,
.bs-popover-auto[x-placement^='top'] .arrow {
  bottom: calc((0.5rem + 1px) * -1);
}
.bs-popover-top .arrow::before,
.bs-popover-auto[x-placement^='top'] .arrow::before,
.bs-popover-top .arrow::after,
.bs-popover-auto[x-placement^='top'] .arrow::after {
  border-width: 0.5rem 0.5rem 0;
}
.bs-popover-top .arrow::before,
.bs-popover-auto[x-placement^='top'] .arrow::before {
  bottom: 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-top .arrow::after,
.bs-popover-auto[x-placement^='top'] .arrow::after {
  bottom: 1px;
  border-top-color: #fff;
}

.bs-popover-right,
.bs-popover-auto[x-placement^='right'] {
  margin-left: 0.5rem;
}
.bs-popover-right .arrow,
.bs-popover-auto[x-placement^='right'] .arrow {
  left: calc((0.5rem + 1px) * -1);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}
.bs-popover-right .arrow::before,
.bs-popover-auto[x-placement^='right'] .arrow::before,
.bs-popover-right .arrow::after,
.bs-popover-auto[x-placement^='right'] .arrow::after {
  border-width: 0.5rem 0.5rem 0.5rem 0;
}
.bs-popover-right .arrow::before,
.bs-popover-auto[x-placement^='right'] .arrow::before {
  left: 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-right .arrow::after,
.bs-popover-auto[x-placement^='right'] .arrow::after {
  left: 1px;
  border-right-color: #fff;
}

.bs-popover-bottom,
.bs-popover-auto[x-placement^='bottom'] {
  margin-top: 0.5rem;
}
.bs-popover-bottom .arrow,
.bs-popover-auto[x-placement^='bottom'] .arrow {
  top: calc((0.5rem + 1px) * -1);
}
.bs-popover-bottom .arrow::before,
.bs-popover-auto[x-placement^='bottom'] .arrow::before,
.bs-popover-bottom .arrow::after,
.bs-popover-auto[x-placement^='bottom'] .arrow::after {
  border-width: 0 0.5rem 0.5rem 0.5rem;
}
.bs-popover-bottom .arrow::before,
.bs-popover-auto[x-placement^='bottom'] .arrow::before {
  top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-bottom .arrow::after,
.bs-popover-auto[x-placement^='bottom'] .arrow::after {
  top: 1px;
  border-bottom-color: #fff;
}
.bs-popover-bottom .popover-header::before,
.bs-popover-auto[x-placement^='bottom'] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: '';
  border-bottom: 1px solid #fff;
}

.bs-popover-left,
.bs-popover-auto[x-placement^='left'] {
  margin-right: 0.5rem;
}
.bs-popover-left .arrow,
.bs-popover-auto[x-placement^='left'] .arrow {
  right: calc((0.5rem + 1px) * -1);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}
.bs-popover-left .arrow::before,
.bs-popover-auto[x-placement^='left'] .arrow::before,
.bs-popover-left .arrow::after,
.bs-popover-auto[x-placement^='left'] .arrow::after {
  border-width: 0.5rem 0 0.5rem 0.5rem;
}
.bs-popover-left .arrow::before,
.bs-popover-auto[x-placement^='left'] .arrow::before {
  right: 0;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-left .arrow::after,
.bs-popover-auto[x-placement^='left'] .arrow::after {
  right: 1px;
  border-left-color: #fff;
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 0.88rem;
  color: inherit;
  background-color: #fff;
  border-bottom: 1px solid #f2f2f2;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: '';
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: 0s 0.6s opacity;
}
@media screen and (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));
}

.carousel-control-next {
  right: 0;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 8 8%27%3e%3cpath d=%27M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z%27/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 8 8%27%3e%3cpath d=%27M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z%27/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
  }
}

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

.bg-primary {
  background-color: #033c73 !important;
}

a.bg-primary:hover,
a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #022241 !important;
}

.bg-secondary {
  background-color: #ced4da !important;
}

a.bg-secondary:hover,
a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #b1bbc4 !important;
}

.bg-success {
  background-color: #73a839 !important;
}

a.bg-success:hover,
a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #59822c !important;
}

.bg-info {
  background-color: #2fa4e7 !important;
}

a.bg-info:hover,
a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #178acc !important;
}

.bg-warning {
  background-color: #dd5600 !important;
}

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

.bg-danger {
  background-color: #c71c22 !important;
}

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

.bg-light {
  background-color: #d5d9eb !important;
}

a.bg-light:hover,
a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #b2badb !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover,
a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

.bg-focus {
  background-color: #6610f2 !important;
}

a.bg-focus:hover,
a.bg-focus:focus,
button.bg-focus:hover,
button.bg-focus:focus {
  background-color: #510bc4 !important;
}

.bg-alternate {
  background-color: #6f42c1 !important;
}

a.bg-alternate:hover,
a.bg-alternate:focus,
button.bg-alternate:hover,
button.bg-alternate:focus {
  background-color: #59339d !important;
}

.bg-gradient-primary {
  background: #033c73 linear-gradient(180deg, #295988, #033c73) repeat-x !important;
}

.bg-gradient-secondary {
  background: #ced4da linear-gradient(180deg, #d5dae0, #ced4da) repeat-x !important;
}

.bg-gradient-success {
  background: #73a839 linear-gradient(180deg, #88b557, #73a839) repeat-x !important;
}

.bg-gradient-info {
  background: #2fa4e7 linear-gradient(180deg, #4eb2eb, #2fa4e7) repeat-x !important;
}

.bg-gradient-warning {
  background: #dd5600 linear-gradient(180deg, #e26f26, #dd5600) repeat-x !important;
}

.bg-gradient-danger {
  background: #c71c22 linear-gradient(180deg, #cf3e43, #c71c22) repeat-x !important;
}

.bg-gradient-light {
  background: #d5d9eb linear-gradient(180deg, #dbdfee, #d5d9eb) repeat-x !important;
}

.bg-gradient-dark {
  background: #343a40 linear-gradient(180deg, #52585d, #343a40) repeat-x !important;
}

.bg-gradient-focus {
  background: #6610f2 linear-gradient(180deg, #7d34f4, #6610f2) repeat-x !important;
}

.bg-gradient-alternate {
  background: #6f42c1 linear-gradient(180deg, #855eca, #6f42c1) repeat-x !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #033c73 !important;
}

.border-secondary {
  border-color: #ced4da !important;
}

.border-success {
  border-color: #73a839 !important;
}

.border-info {
  border-color: #2fa4e7 !important;
}

.border-warning {
  border-color: #dd5600 !important;
}

.border-danger {
  border-color: #c71c22 !important;
}

.border-light {
  border-color: #d5d9eb !important;
}

.border-dark {
  border-color: #343a40 !important;
}

.border-focus {
  border-color: #6610f2 !important;
}

.border-alternate {
  border-color: #6f42c1 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: '';
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !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;
}

@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-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: inline-flex !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-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: flex !important;
  }

  .d-md-inline-flex {
    display: inline-flex !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-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: inline-flex !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-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: flex !important;
  }

  .d-print-inline-flex {
    display: inline-flex !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-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !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;
}

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

@media (min-width: 576px) {
  .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;
  }

  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-sm-fill {
    flex: 1 1 auto !important;
  }

  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }

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

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

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

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

  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-md-fill {
    flex: 1 1 auto !important;
  }

  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }

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

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

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

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

  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-lg-fill {
    flex: 1 1 auto !important;
  }

  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }

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

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

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

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

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-xl-fill {
    flex: 1 1 auto !important;
  }

  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }

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

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

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

  .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;
  }
}
.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }

  .float-sm-right {
    float: right !important;
  }

  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }

  .float-md-right {
    float: right !important;
  }

  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }

  .float-lg-right {
    float: right !important;
  }

  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }

  .float-xl-right {
    float: right !important;
  }

  .float-xl-none {
    float: none !important;
  }
}
.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !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;
}

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

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

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

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

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

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

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


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


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

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

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


.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: 1rem !important;
}

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


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

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


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

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

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


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

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


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

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

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


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

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


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


.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}


.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}


.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}


.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}


.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}


.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}


.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}


.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}


.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}


.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}


.px-5 {
  padding-left: 3rem !important;
}

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

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}


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

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}


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

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

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}


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

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}


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

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

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}


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

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}


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

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

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}


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

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}


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

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

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}


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

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .p-sm-0 {
    padding: 0 !important;
  }

  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }

  
  .px-sm-0 {
    padding-right: 0 !important;
  }

  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }

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

  
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }

  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }

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

  
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }

  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }

  
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }

  .p-sm-3 {
    padding: 1rem !important;
  }

  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }

  
  .px-sm-3 {
    padding-right: 1rem !important;
  }

  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }

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

  
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }

  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }

  
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }

  .p-sm-5 {
    padding: 3rem !important;
  }

  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }

  
  .px-sm-5 {
    padding-right: 3rem !important;
  }

  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }

  
  .px-sm-5 {
    padding-left: 3rem !important;
  }

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

  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }

  
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }

  
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }

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

  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }

  
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }

  
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }

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

  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }

  
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }

  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }

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

  
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }

  
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }

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

  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }

  
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }

  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }

  
  .mx-sm-n5 {
    margin-left: -3rem !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .p-md-0 {
    padding: 0 !important;
  }

  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }

  
  .px-md-0 {
    padding-right: 0 !important;
  }

  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }

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

  
  .px-md-1 {
    padding-right: 0.25rem !important;
  }

  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }

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

  
  .px-md-2 {
    padding-right: 0.5rem !important;
  }

  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }

  
  .px-md-2 {
    padding-left: 0.5rem !important;
  }

  .p-md-3 {
    padding: 1rem !important;
  }

  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }

  
  .px-md-3 {
    padding-right: 1rem !important;
  }

  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }

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

  
  .px-md-4 {
    padding-right: 1.5rem !important;
  }

  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }

  
  .px-md-4 {
    padding-left: 1.5rem !important;
  }

  .p-md-5 {
    padding: 3rem !important;
  }

  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }

  
  .px-md-5 {
    padding-right: 3rem !important;
  }

  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }

  
  .px-md-5 {
    padding-left: 3rem !important;
  }

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

  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }

  
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }

  
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }

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

  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }

  
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }

  
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }

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

  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }

  
  .mx-md-n3 {
    margin-right: -1rem !important;
  }

  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }

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

  
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }

  
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }

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

  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }

  
  .mx-md-n5 {
    margin-right: -3rem !important;
  }

  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }

  
  .mx-md-n5 {
    margin-left: -3rem !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .p-lg-0 {
    padding: 0 !important;
  }

  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }

  
  .px-lg-0 {
    padding-right: 0 !important;
  }

  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }

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

  
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }

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

  
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }

  
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }

  .p-lg-3 {
    padding: 1rem !important;
  }

  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }

  
  .px-lg-3 {
    padding-right: 1rem !important;
  }

  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }

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

  
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }

  
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }

  .p-lg-5 {
    padding: 3rem !important;
  }

  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }

  
  .px-lg-5 {
    padding-right: 3rem !important;
  }

  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }

  
  .px-lg-5 {
    padding-left: 3rem !important;
  }

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

  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important;
  }

  
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }

  
  .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }

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

  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important;
  }

  
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }

  
  .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }

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

  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important;
  }

  
  .mx-lg-n3 {
    margin-right: -1rem !important;
  }

  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important;
  }

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

  
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }

  
  .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }

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

  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important;
  }

  
  .mx-lg-n5 {
    margin-right: -3rem !important;
  }

  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important;
  }

  
  .mx-lg-n5 {
    margin-left: -3rem !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .p-xl-0 {
    padding: 0 !important;
  }

  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }

  
  .px-xl-0 {
    padding-right: 0 !important;
  }

  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }

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

  
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }

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

  
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }

  
  .px-xl-3 {
    padding-right: 1rem !important;
  }

  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }

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

  
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }

  
  .px-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }

  
  .px-xl-5 {
    padding-left: 3rem !important;
  }

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

  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important;
  }

  
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }

  
  .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }

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

  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important;
  }

  
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }

  
  .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }

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

  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important;
  }

  
  .mx-xl-n3 {
    margin-right: -1rem !important;
  }

  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important;
  }

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

  
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }

  
  .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }

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

  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important;
  }

  
  .mx-xl-n5 {
    margin-right: -3rem !important;
  }

  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important;
  }

  
  .mx-xl-n5 {
    margin-left: -3rem !important;
  }

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

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

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

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

  
  .mx-xl-auto {
    margin-left: auto !important;
  }
}
.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

.text-justify {
  text-align: justify !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

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

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

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

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

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

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

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

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

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

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

  .text-xl-center {
    text-align: center !important;
  }
}
.text-lowercase {
  text-transform: lowercase !important;
}

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

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

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #033c73 !important;
}

a.text-primary:hover,
a.text-primary:focus {
  color: #011528 !important;
}

.text-secondary {
  color: #ced4da !important;
}

a.text-secondary:hover,
a.text-secondary:focus {
  color: #a2aeb9 !important;
}

.text-success {
  color: #73a839 !important;
}

a.text-success:hover,
a.text-success:focus {
  color: #4c6f26 !important;
}

.text-info {
  color: #2fa4e7 !important;
}

a.text-info:hover,
a.text-info:focus {
  color: #157ab5 !important;
}

.text-warning {
  color: #dd5600 !important;
}

a.text-warning:hover,
a.text-warning:focus {
  color: #913800 !important;
}

.text-danger {
  color: #c71c22 !important;
}

a.text-danger:hover,
a.text-danger:focus {
  color: #841317 !important;
}

.text-light {
  color: #d5d9eb !important;
}

a.text-light:hover,
a.text-light:focus {
  color: #a1aad2 !important;
}

.text-dark {
  color: #343a40 !important;
}

a.text-dark:hover,
a.text-dark:focus {
  color: #121416 !important;
}

.text-focus {
  color: #6610f2 !important;
}

a.text-focus:hover,
a.text-focus:focus {
  color: #4709ac !important;
}

.text-alternate {
  color: #6f42c1 !important;
}

a.text-alternate:hover,
a.text-alternate:focus {
  color: #4e2d89 !important;
}

.text-body {
  color: #495057 !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

a,
button,
.btn {
  outline: none !important;
}

.app-container {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  margin: 0;
}

.app-header {
  position: fixed;
  width: 100%;
  height: 75px;
  display: flex;
  align-items: center;
  align-content: center;
  z-index: 100;
  transition: all 0.2s;
}
.app-header.header-shadow {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(0, 0, 0, 0.03),
    0 0.9375rem 1.40625rem rgba(0, 0, 0, 0.03),
    0 0.25rem 0.53125rem rgba(0, 0, 0, 0.05),
    0 0.125rem 0.1875rem rgba(0, 0, 0, 0.03);
}
.app-header .app-header__content {
  display: flex;
  align-items: center;
  align-content: center;
  flex: 1;
  padding: 0 1.5rem;
  height: 40px;
}
.app-header .app-header__content .app-header-left {
  display: flex;
  align-items: center;
}
.app-header .app-header__content .app-header-right {
  align-items: center;
  display: flex;
  margin-left: auto;
}

/* .app-header__logo {
  padding: 0 1.5rem;
  height: 40px;
  width: 200px;
  display: flex;
  align-items: center;
  transition: width .2s; }
  .app-header__logo .logo-src {
    width: 97px;
    background: url("./utils/images/Winnee_logo1_black_total.png");
    height: 50px;
    background-size: 100px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100px;}
.app-header__menu,
.app-header__mobile-menu {
  display: none;
  padding: 0 1.5rem;
  height: 40px;
  align-items: center; } */
/* 
.fixed-header .app-header {
  position: fixed;
  width: 100%;
  top: 0; }
  .fixed-header .app-header .app-header__logo {
    visibility: visible; }
.fixed-header .app-main {
  padding-top: 40px; 
  overflow: hidden;    /* ADDED */

/* .fixed-header:not(.fixed-sidebar):not(.closed-sidebar) .app-sidebar .app-header__logo {
  visibility: hidden; } */

.header-btn-lg {
  display: flex;
  align-items: center;
  position: relative;
}
.app-header.header-text-light .app-header-left > .nav > li > .nav-link {
  color: rgba(255, 255, 255, 0.7);
}
.app-header.header-text-light .app-header-left > .nav > li > .nav-link .nav-link-icon {
  color: rgba(255, 255, 255, 0.8);
}
.app-header.header-text-light .app-header-left > .nav > li > .nav-link:hover {
  color: white;
}
.app-header.header-text-light
  .app-header-right
  > .header-btn-lg
  .widget-content-left
  .btn-group
  > .btn-link {
  color: rgba(255, 255, 255, 0.8);
}
.app-header.header-text-light .search-wrapper .input-holder .search-icon {
  background: rgba(0, 0, 0, 0.1);
}
.app-header.header-text-light .search-wrapper.active .input-holder {
  background: rgba(255, 255, 255, 0.1);
}
.app-header.header-text-light .search-wrapper.active .input-holder .search-input {
  color: rgba(255, 255, 255, 0.8);
}
.app-header.header-text-light .search-wrapper.active .input-holder .search-icon {
  background: rgba(255, 255, 255, 0.1);
}
.app-header.header-text-light .search-wrapper .input-holder .search-icon span::after {
  border-color: rgba(255, 255, 255, 0.8);
}
.app-header.header-text-light .search-wrapper .close::before,
.app-header.header-text-light .search-wrapper .close::after,
.app-header.header-text-light .search-wrapper .input-holder .search-icon span::before {
  background: rgba(255, 255, 255, 0.8);
}

/* .app-sidebar {
  width: 200px;
  display: flex;
  z-index: 110;
  overflow: hidden;
  min-width: 200px;
  position: relative;
  flex: 0 0 200px;
  margin-top: -40px;
  padding-top: 40px;
  transition: all .2s; }
  .app-sidebar .app-sidebar__inner {
    padding: 2px 0px 1.5rem; }
  .app-sidebar .scrollbar-container {
    z-index: 150;
    width: 100%; }
  .app-sidebar .app-sidebar-bg {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    opacity: 0.05;
    background-size: cover;
    z-index: 100; }
  .app-sidebar .app-header__logo {
    position: absolute;
    left: 0;
    top: 0;
    display: none;
    z-index: 110; }
  .app-sidebar.sidebar-shadow {
    box-shadow: 7px 0 60px rgba(0, 0, 0, 0.05); }

.app-sidebar__heading {
  text-transform: uppercase;
  font-size: 0.8rem;
  margin: 0.75rem 0;
  font-weight: bold;
  color: #033C73;
  white-space: nowrap;
  position: relative; }

.sidebar-mobile-overlay {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: .6;
  left: 0;
  top: 0;
  z-index: 1000000; }

.vertical-nav-menu {
  position: relative; }
  .vertical-nav-menu::after {
    content: " ";
    pointer-events: none;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0; }
  .vertical-nav-menu .metismenu-container,
  .vertical-nav-menu .metismenu-item {
    margin: 0;
    padding: 0;
    position: relative; }
  .vertical-nav-menu .metismenu-container {
    list-style: none; }
    .vertical-nav-menu .metismenu-container:before {
      opacity: 0;
      transition: opacity 300ms; }
    .vertical-nav-menu .metismenu-container .metismenu-link {
      transition: transform .2s, height 300ms, color 300ms, background-color 300ms;
      display: block;
      line-height: 2.5rem;
      height: 2.5rem;
      padding: 0 1.5rem 0 45px;
      position: relative;
      border-radius: 0.25rem;
      color: #343a40;
      white-space: nowrap; }
      .vertical-nav-menu .metismenu-container .metismenu-link:hover {
        background: #d1f3ff;
        text-decoration: none; }
        .vertical-nav-menu .metismenu-container .metismenu-link:hover i.metismenu-icon {
          opacity: .6; }
        .vertical-nav-menu .metismenu-container .metismenu-link:hover i.metismenu-state-icon {
          opacity: 1; }
      .vertical-nav-menu .metismenu-container .metismenu-link.active {
        color: #033C73;
        background: #d1f3ff; }
      .vertical-nav-menu .metismenu-container .metismenu-link.has-active-child, .vertical-nav-menu .metismenu-container .metismenu-link.active {
        font-weight: bold; }
    .vertical-nav-menu .metismenu-container i.metismenu-state-icon,
    .vertical-nav-menu .metismenu-container i.metismenu-icon {
      text-align: center;
      width: 34px;
      height: 34px;
      line-height: 34px;
      position: absolute;
      left: 5px;
      top: 50%;
      margin-top: -17px;
      font-size: 1.5rem;
      opacity: .3;
      transition: color 300ms; }
    .vertical-nav-menu .metismenu-container i.metismenu-state-icon {
      transition: transform 300ms;
      left: auto;
      right: 0; }
      .vertical-nav-menu .metismenu-container i.metismenu-state-icon.rotate-minus-90 {
        transform: rotate(-180deg); }
    .vertical-nav-menu .metismenu-container .metismenu-container {
      transition: padding 300ms; }
      .vertical-nav-menu .metismenu-container .metismenu-container.visible {
        padding: .5em 0 0 2rem; }
        .vertical-nav-menu .metismenu-container .metismenu-container.visible:before {
          content: '';
          height: 100%;
          opacity: 1;
          width: 3px;
          background: #d1f3ff;
          position: absolute;
          left: 20px;
          top: 0;
          border-radius: 15px; }
        .vertical-nav-menu .metismenu-container .metismenu-container.visible > .metismenu-item > .metismenu-link {
          height: 2.3em;
          line-height: 2.3em;
          color: #868e96; }
          .vertical-nav-menu .metismenu-container .metismenu-container.visible > .metismenu-item > .metismenu-link:hover {
            color: #033C73; }
          .vertical-nav-menu .metismenu-container .metismenu-container.visible > .metismenu-item > .metismenu-link .metismenu-icon {
            display: none; }
          .vertical-nav-menu .metismenu-container .metismenu-container.visible > .metismenu-item > .metismenu-link.active {
            color: #033C73;
            background: #d1f3ff; }
      .vertical-nav-menu .metismenu-container .metismenu-container .metismenu-item > .metismenu-link {
        height: 0;
        overflow: hidden; }
      .vertical-nav-menu .metismenu-container .metismenu-container .metismenu-link {
        padding-left: 1em; }

.app-sidebar.sidebar-text-light {
  border-right: 0 !important; }
  .app-sidebar.sidebar-text-light .app-sidebar__heading {
    color: rgba(255, 255, 255, 0.6); }
    .app-sidebar.sidebar-text-light .app-sidebar__heading::before {
      background: rgba(255, 255, 255, 0.2) !important; }
  .app-sidebar.sidebar-text-light .metismenu .metismenu-container .metismenu-link {
    color: rgba(255, 255, 255, 0.7); }
    .app-sidebar.sidebar-text-light .metismenu .metismenu-container .metismenu-link:hover {
      color: white;
      background: rgba(255, 255, 255, 0.1); }
    .app-sidebar.sidebar-text-light .metismenu .metismenu-container .metismenu-link.active {
      background: rgba(255, 255, 255, 0.1); }
  .app-sidebar.sidebar-text-light .metismenu .metismenu-container.metismenu-container.visible .metismenu-item > .metismenu-link {
    color: rgba(255, 255, 255, 0.6); }
    .app-sidebar.sidebar-text-light .metismenu .metismenu-container.metismenu-container.visible .metismenu-item > .metismenu-link.active {
      background: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.8); }
    .app-sidebar.sidebar-text-light .metismenu .metismenu-container.metismenu-container.visible .metismenu-item > .metismenu-link:hover {
      color: white; }
  .app-sidebar.sidebar-text-light .metismenu .metismenu-container.metismenu-container.visible::before {
    background: rgba(255, 255, 255, 0.3); }
  .app-sidebar.sidebar-text-light .metismenu .metismenu-container i.metismenu-state-icon,
  .app-sidebar.sidebar-text-light .metismenu .metismenu-container i.metismenu-icon {
    opacity: .5; }
  .app-sidebar.sidebar-text-light .ps__thumb-y {
    background: rgba(255, 255, 255, 0.3); }
  .app-sidebar.sidebar-text-light .ps__rail-y:hover .ps__thumb-y {
    background: rgba(255, 255, 255, 0.2); }
  .app-sidebar.sidebar-text-light .app-header__logo .logo-src {
    background: url("./utils/images/Winnee_logo1_white_total.png");
    height: 50px;
    background-size: 100px;
    background-position: center;
    background-repeat: no-repeat; }
  .app-sidebar.sidebar-text-light .app-header__logo .hamburger-inner,
  .app-sidebar.sidebar-text-light .app-header__logo .hamburger-inner::before,
  .app-sidebar.sidebar-text-light .app-header__logo .hamburger-inner::after {
    background-color: rgba(255, 255, 255, 0.8); }

.app-sidebar.sidebar-text-dark {
  border-right: 0 !important; }
  .app-sidebar.sidebar-text-dark .app-sidebar__heading {
    color: rgba(0, 0, 0, 0.6); }
    .app-sidebar.sidebar-text-dark .app-sidebar__heading::before {
      background: rgba(0, 0, 0, 0.5) !important; }
  .app-sidebar.sidebar-text-dark .metismenu .metismenu-container .metismenu-link {
    color: rgba(0, 0, 0, 0.7); }
    .app-sidebar.sidebar-text-dark .metismenu .metismenu-container .metismenu-link:hover {
      color: black;
      background: rgba(0, 0, 0, 0.1); }
    .app-sidebar.sidebar-text-dark .metismenu .metismenu-container .metismenu-link.active {
      background: rgba(0, 0, 0, 0.1); }
  .app-sidebar.sidebar-text-dark .metismenu .metismenu-container.metismenu-container.visible .metismenu-item > .metismenu-link {
    color: rgba(0, 0, 0, 0.6); }
    .app-sidebar.sidebar-text-dark .metismenu .metismenu-container.metismenu-container.visible .metismenu-item > .metismenu-link.active {
      background: rgba(0, 0, 0, 0.1); }
  .app-sidebar.sidebar-text-dark .metismenu .metismenu-container.metismenu-container.visible::before {
    background: rgba(0, 0, 0, 0.3); }
  .app-sidebar.sidebar-text-dark .metismenu .metismenu-container.metismenu-container i.metismenu-state-icon,
  .app-sidebar.sidebar-text-dark .metismenu .metismenu-container.metismenu-container i.metismenu-icon {
    opacity: .5; }
  .app-sidebar.sidebar-text-dark .ps__thumb-y {
    background: rgba(0, 0, 0, 0.3); }
  .app-sidebar.sidebar-text-dark .ps__rail-y:hover .ps__thumb-y {
    background: rgba(0, 0, 0, 0.2); }
  .app-sidebar.sidebar-text-dark .app-header__logo .hamburger-inner,
  .app-sidebar.sidebar-text-dark .app-header__logo .hamburger-inner::before,
  .app-sidebar.sidebar-text-dark .app-header__logo .hamburger-inner::after {
    background-color: rgba(0, 0, 0, 0.8); }

.fixed-sidebar .app-sidebar {
  position: fixed;
  height: 100vh; }
.fixed-sidebar .app-main .app-main__outer {
  z-index: 9;
  padding-left: 200px; }
.fixed-sidebar.fixed-header .app-sidebar .app-header__logo {
  display: none; }
.fixed-sidebar:not(.fixed-header) .app-sidebar .app-header__logo {
  display: flex; }
.fixed-sidebar:not(.fixed-header) .app-header {
  margin-left: 200px; }
  .fixed-sidebar:not(.fixed-header) .app-header .app-header__logo {
    display: none; }
.fixed-sidebar.closed-sidebar:not(.fixed-header) .app-header {
  margin-left: 60px; }
.fixed-sidebar.closed-sidebar:not(.fixed-header) .app-sidebar .app-header__logo {
  width: 60px;
  padding: 0; }
  .fixed-sidebar.closed-sidebar:not(.fixed-header) .app-sidebar .app-header__logo .logo-src {
    display: none; }
  .fixed-sidebar.closed-sidebar:not(.fixed-header) .app-sidebar .app-header__logo .header__pane {
    margin-right: auto; }
.closed-sidebar .app-sidebar {
  transition: all .3s ease;
  width: 60px;
  min-width: 60px;
  flex: 0 0 60px;
  z-index: 1000001; }  
  .closed-sidebar .app-sidebar .app-sidebar__inner .app-sidebar__heading {
    text-indent: -999em; }
    .closed-sidebar .app-sidebar .app-sidebar__inner .app-sidebar__heading::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: 1px;
      background: #d1f3ff;
      text-indent: 1px; }
  .closed-sidebar .app-sidebar .app-sidebar__inner .metismenu-link {
    text-indent: -99rem;
    padding: 0; }
  .closed-sidebar .app-sidebar .app-sidebar__inner .metismenu-icon {
    text-indent: 0;
    left: 50%;
    margin-left: -17px; }
  .closed-sidebar .app-sidebar .app-sidebar__inner .metismenu-state-icon {
    visibility: hidden; }
  .closed-sidebar .app-sidebar .app-sidebar__inner .metismenu-container.visible {
    padding: 0; }
    .closed-sidebar .app-sidebar .app-sidebar__inner .metismenu-container.visible > .metismenu-item > .metismenu-link {
      height: 0; }
  @media (hover: hover) {
  .closed-sidebar .app-sidebar:hover {
    flex: 0 0 200px !important;
    width: 200px !important; }
    .closed-sidebar .app-sidebar:hover .app-sidebar__inner .app-sidebar__heading {
      text-indent: initial; }
      .closed-sidebar .app-sidebar:hover .app-sidebar__inner .app-sidebar__heading::before {
        display: none; }
    .closed-sidebar .app-sidebar:hover .app-sidebar__inner .metismenu-link {
      text-indent: initial;
      padding: 0 1.5rem 0 45px; }
    .closed-sidebar .app-sidebar:hover .app-sidebar__inner .metismenu-icon {
      text-indent: initial;
      left: 5px;
      margin-left: 0; }
    .closed-sidebar .app-sidebar:hover .app-sidebar__inner .metismenu-state-icon {
      visibility: visible; }
    .closed-sidebar .app-sidebar:hover .app-sidebar__inner .metismenu-container.visible {
      padding: .5em 0 0 2rem; }
      .closed-sidebar .app-sidebar:hover .app-sidebar__inner .metismenu-container.visible > .metismenu-item > .metismenu-link {
        height: 2.3em; }
    .closed-sidebar .app-sidebar:hover .app-sidebar__inner .metismenu-container .metismenu-container .metismenu-link {
      padding-left: 1em; }
  }
.closed-sidebar:not(.sidebar-mobile-open) .app-sidebar .scrollbar-container {
  position: static;
  height: auto;
  overflow: initial !important; }
.closed-sidebar:not(.sidebar-mobile-open) .app-sidebar:hover .scrollbar-container {
  position: absolute;
  height: 100%;
  overflow: hidden !important; }
.closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo {
  width: 60px; }
  .closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo .logo-src {
    display: none; }
  .closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo .header__pane {
    margin-right: auto; }
.closed-sidebar.fixed-sidebar .app-main__outer {
  padding-left: 60px; 
}
.closed-sidebar.fixed-header:not(.fixed-sidebar) .app-sidebar .app-header__logo {
  visibility: hidden; }
.closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo,
.closed-sidebar.closed-sidebar-mobile .app-header .app-header__logo {
  width: auto;
  display: flex; }
  .closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo .header__pane,
  .closed-sidebar.closed-sidebar-mobile .app-header .app-header__logo .header__pane {
    display: none; }
.closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo {
  display: flex;
  width: 60px;
  padding: 0 1.5rem !important; }
  .closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo .logo-src {
    display: block !important;
    margin: 0 auto;
    width: 21px; }
  .closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo .header__pane {
    display: none; }
.closed-sidebar.closed-sidebar-mobile .app-sidebar:hover .app-header__logo {
  width: 200px; }
  .closed-sidebar.closed-sidebar-mobile .app-sidebar:hover .app-header__logo .logo-src {
    width: 97px;
    margin: 0; }
.closed-sidebar.closed-sidebar-mobile .app-header {
  margin-left: 0 !important; }
.closed-sidebar.fixed-footer .app-footer__inner {
  margin-left: 0 !important; } */

.app-main {
  font-weight: 700;
  flex: 1;
  display: flex;
  z-index: 8;
  position: relative;
}
.app-main .app-main__outer {
  position: fixed;
  top: 75px;
  /* left: 60px; */
  width: 100%;
  /* height: calc(100% - 40px); */
  flex: 1;
  /* flex-direction: column; */
  display: flex;
  z-index: 12;
  transition: all 0.2s ease-in-out;
}
.app-main .app-main__outer.open {
  left: 200px;
}
.app-main .app-main__inner {
  padding: 0px 0px 0;
  flex: 1;
}

.app-footer {
  height: 60px;
}
.app-footer .app-footer__inner {
  padding: 0 1.5rem 0 0.75rem;
  height: 60px;
  display: flex;
  align-content: center;
  align-items: center;
}
.app-footer .app-footer__inner .app-footer-left {
  display: flex;
  align-items: center;
}
.app-footer .app-footer__inner .app-footer-right {
  margin-left: auto;
  display: flex;
}

.app-page-title {
  padding: 2px 10px 2px 10px;
  margin: -60px -30px 0px -5px;
  position: relative;
  /* position: absolute; */
  /*width: calc(100vw - 95px);}*/
  /* width: calc(100vw*/
}
.app-page-title .page-title-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 36px;
  /* background: #f1f4f6; */
}
.app-page-title .page-title-heading,
.app-page-title .page-title-subheading {
  margin: 0;
  padding: 0;
}
.app-page-title .page-title-heading {
  font-size: 1.25rem;
  font-weight: 800;
  display: flex;
  align-content: center;
  align-items: center;
}
.app-page-title .page-title-subheading {
  display: inline-block;
  margin: 0px 0px 0px 10px;
  padding: 3px 0 0;
  font-size: 0.88rem;
  opacity: 0.6;
}
.app-page-title .page-title-icon {
  font-size: 2rem;
  display: flex;
  align-items: center;
  align-content: center;
  text-align: center;
  /* padding: 0.8333333333rem; */
  margin: -3px 10px 0 0;
  background: #fff;
  box-shadow:
    0 0.46875rem 2.1875rem rgba(0, 0, 0, 0.03),
    0 0.9375rem 1.40625rem rgba(0, 0, 0, 0.03),
    0 0.25rem 0.53125rem rgba(0, 0, 0, 0.05),
    0 0.125rem 0.1875rem rgba(0, 0, 0, 0.03);
  border-radius: 0.25rem;
  width: 34px;
  height: 34px;
}
.app-page-title .page-title-icon i {
  margin: auto;
}
.app-page-title .page-title-icon.rounded-circle {
  margin: 0 20px 0 0;
}

.search-wrapper {
  position: relative;
  margin-right: 0.6666666667rem;
}
.search-wrapper .input-holder {
  height: 42px;
  width: 42px;
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease-in-out;
}
.search-wrapper .input-holder .search-input {
  width: 100%;
  padding: 0 70px 0 20px;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  background: transparent;
  box-sizing: border-box;
  border: none;
  outline: none;
  transform: translate(0, 40px);
  transition: all 0.3s cubic-bezier(0, 0.105, 0.035, 1.57);
  transition-delay: 0.3s;
  font-size: 0.88rem;
}
.search-wrapper .input-holder .search-icon {
  width: 42px;
  height: 42px;
  border: none;
  padding: 0;
  outline: none;
  position: relative;
  z-index: 2;
  float: right;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  background: rgba(0, 0, 0, 0.06);
  border-radius: 30px;
}
.search-wrapper .input-holder .search-icon span {
  width: 22px;
  height: 22px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  transform: rotate(45deg);
  transition: all 0.4s cubic-bezier(0.65, -0.6, 0.24, 1.65);
}
.search-wrapper .input-holder .search-icon span::before,
.search-wrapper .input-holder .search-icon span::after {
  position: absolute;
  content: '';
}
.search-wrapper .input-holder .search-icon span::before {
  width: 4px;
  height: 11px;
  left: 9px;
  top: 13px;
  border-radius: 2px;
  background: #033c73;
}
.search-wrapper .input-holder .search-icon span::after {
  width: 14px;
  height: 14px;
  left: 4px;
  top: 0;
  border-radius: 16px;
  border: 2px solid #033c73;
}
.search-wrapper .close {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  cursor: pointer;
  opacity: 0 !important;
  transform: rotate(-180deg);
  transition: all 0.2s cubic-bezier(0.285, -0.45, 0.935, 0.11);
  transition-delay: 0.1s;
}
.search-wrapper .close::before,
.search-wrapper .close::after {
  position: absolute;
  content: '';
  background: #033c73;
  border-radius: 2px;
}
.search-wrapper .close::before {
  width: 2px;
  height: 20px;
  left: 9px;
  top: 0;
}
.search-wrapper .close::after {
  width: 20px;
  height: 2px;
  left: 0;
  top: 9px;
}
.search-wrapper.active {
  width: 330px;
}
.search-wrapper.active .input-holder {
  width: 290px;
  border-radius: 50px;
  background: rgba(0, 0, 0, 0.05);
  transition: all 0.5s cubic-bezier(0, 0.105, 0.035, 1.57);
}
.search-wrapper.active .input-holder .search-input {
  opacity: 1;
  transform: translate(0, 11px);
}
.search-wrapper.active .input-holder .search-icon {
  width: 42px;
  height: 42px;
  margin: 0;
  border-radius: 30px;
}
.search-wrapper.active .input-holder .search-icon span {
  transform: rotate(-45deg);
}
.search-wrapper.active .close {
  left: 300px;
  opacity: 0.6 !important;
  transform: rotate(45deg);
  transition: all 0.6s cubic-bezier(0, 0.105, 0.035, 1.57);
  transition-delay: 0.5s;
}
.search-wrapper.active .close:hover {
  opacity: 1 !important;
}

.opacity-8 {
  opacity: 0.8 !important;
}

.alert-dismissible .close {
  top: 0;
  right: 5px;
  padding: 5px;
}

.h-100 {
  height: 100vh !important;
}

.h-sm {
  height: 150px;
}

.text-nowrap {
  white-space: nowrap;
}

.flex2 {
  flex: 2;
}

.bg-animation {
  animation: bg-pan-left 8s both;
}

@-webkit-keyframes bg-pan-left {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes bg-pan-left {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.w-100 {
  width: 100%;
}

.mb--2 {
  margin-bottom: -1.5rem;
}

.loader-container {
  align-items: center;
  display: flex;
  height: 100vh;
  justify-content: center;
  width: 100vw;
  text-align: center;
  line-height: 1.6rem;
}
.loader-container .loader-container-inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 0 1.5rem;
}
.loader-container small {
  margin: 10px 0 0;
  display: block;
  color: #868e96;
  font-weight: normal;
}
.loader-container h3 {
  text-align: center;
  display: block;
}

.bg-warm-flame {
  background-image: linear-gradient(45deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%) !important;
}

.bg-night-fade {
  background-image: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%) !important;
}

.bg-sunny-morning {
  background-image: linear-gradient(120deg, #f6d365 0%, #fda085 100%) !important;
}

.bg-tempting-azure {
  background-image: linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%) !important;
}

.bg-amy-crisp {
  background-image: linear-gradient(120deg, #a6c0fe 0%, #f68084 100%) !important;
}

.bg-heavy-rain {
  background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%) !important;
}

.bg-mean-fruit {
  background-image: linear-gradient(120deg, #fccb90 0%, #d57eeb 100%) !important;
}

.bg-malibu-beach {
  background-image: linear-gradient(to right, #4facfe 0%, #00f2fe 100%) !important;
}

.bg-deep-blue {
  background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%) !important;
}

.bg-ripe-malin {
  background-image: linear-gradient(120deg, #f093fb 0%, #f5576c 100%) !important;
}

.bg-arielle-smile {
  background-image: radial-gradient(
    circle 248px at center,
    #16d9e3 0%,
    #30c7ec 47%,
    #46aef7 100%
  ) !important;
}

.bg-plum-plate {
  background-image: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}

.bg-happy-fisher {
  background-image: linear-gradient(120deg, #89f7fe 0%, #66a6ff 100%) !important;
}

.bg-happy-itmeo {
  background-image: linear-gradient(180deg, #2af598 0%, #009efd 100%) !important;
}

.bg-mixed-hopes {
  background-image: linear-gradient(to top, #c471f5 0%, #fa71cd 100%) !important;
}

.bg-strong-bliss {
  background-image: linear-gradient(
    to right,
    #f78ca0 0%,
    #f9748f 19%,
    #fd868c 60%,
    #fe9a8b 100%
  ) !important;
}

.bg-grow-early {
  background-image: linear-gradient(to top, #0ba360 0%, #3cba92 100%) !important;
}

.bg-love-kiss {
  background-image: linear-gradient(to top, #ff0844 0%, #ffb199 100%) !important;
}

.bg-premium-dark {
  background-image: linear-gradient(to right, #434343 0%, black 100%) !important;
}

.bg-happy-green {
  background-image: linear-gradient(to bottom, #00b09b, #96c93d) !important;
}

.bg-vicious-stance {
  background-image: linear-gradient(60deg, #29323c 0%, #485563 100%) !important;
}

.bg-midnight-bloom {
  background-image: linear-gradient(-20deg, #2b5876 0%, #4e4376 100%) !important;
}

.bg-night-sky {
  background-image: linear-gradient(to top, #1e3c72 0%, #1e3c72 1%, #2a5298 100%) !important;
}

.bg-slick-carbon {
  background-image:
    linear-gradient(to bottom, #323232 0%, #3f3f3f 40%, #1c1c1c 150%),
    linear-gradient(to top, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.25) 200%) !important;
  background-blend-mode: multiply;
}

.bg-royal {
  background-image: linear-gradient(to right, #141e30, #243b55) !important;
}

.bg-asteroid {
  background-image: linear-gradient(to right, #0f2027, #203a43, #2c5364) !important;
}

.bg-transparent {
  background: transparent !important;
}

.bg-orange-custom {
  background-image: linear-gradient(to right, #ffae00 0%, #c56900 100%) !important;
}
.bg-orange-custom2 {
  background-image: linear-gradient(to right, #302100 0%, #5a3000 100%) !important;
}

/* NavtMix1 */
/* Gray */
.theme-header-gray {
  background-image: linear-gradient(to right, #424242 0%, #1e1e1e 100%) !important;
}
/* Orange */
/* Navy */
/* Blue */
/* LightBlue */
/* DarkGreen */
/* LightGreen */
/* Purple */
/* Pink */
/* Red */

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2015 Daniel Eden
*/
body {
  -webkit-backface-visibility: hidden;
}

.animated {
  -webkit-animation-duration: calc(1s);
  animation-duration: calc(1s);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.infinite {
  animation-iteration-count: infinite;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  0% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

.dropdown-menu.show {
  animation: fade-in2 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.popover:not([data-placement^='top']).show {
  animation: fade-in2 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

@keyframes fade-in2 {
  0% {
    margin-top: -50px;
    visibility: hidden;
    opacity: 0;
  }
  100% {
    margin-top: 0px;
    visibility: visible;
    opacity: 1;
  }
}
.form-control {
  transition: all 0.2s;
}

.dropdown-toggle::after {
  position: relative;
  top: 2px;
  opacity: 0.8;
}

.dropdown-toggle-split {
  border-left: rgba(255, 255, 255, 0.1) solid 1px;
}

.btn-outline-primary {
  color: #033c73;
  border-color: #033c73;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #033c73;
  border-color: #033c73;
}
.btn-outline-primary:focus,
.btn-outline-primary.focus {
  box-shadow: 0 0 0 0 rgba(3, 60, 115, 0.5);
}
.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
  color: #033c73;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #033c73;
  border-color: #033c73;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(3, 60, 115, 0.5);
}
.btn-outline-primary.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(3, 60, 115, 0.4),
    0 0.0625rem 0.125rem rgba(3, 60, 115, 0.5);
}
.btn-outline-primary.btn-shadow.active:hover,
.btn-outline-primary.btn-shadow.disabled:hover,
.btn-outline-primary.btn-shadow:active:hover,
.btn-outline-primary.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(3, 60, 115, 0.5),
    0 0.0625rem 0.125rem rgba(3, 60, 115, 0.6);
}
.btn-outline-primary.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(3, 60, 115, 0.19);
}

.btn-outline-secondary {
  color: #ced4da;
  border-color: #ced4da;
}
.btn-outline-secondary:hover {
  color: #212529;
  background-color: #ced4da;
  border-color: #ced4da;
}
.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
  box-shadow: 0 0 0 0 rgba(206, 212, 218, 0.5);
}
.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
  color: #ced4da;
  background-color: transparent;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #212529;
  background-color: #ced4da;
  border-color: #ced4da;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(206, 212, 218, 0.5);
}
.btn-outline-secondary.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(206, 212, 218, 0.4),
    0 0.0625rem 0.125rem rgba(206, 212, 218, 0.5);
}
.btn-outline-secondary.btn-shadow.active:hover,
.btn-outline-secondary.btn-shadow.disabled:hover,
.btn-outline-secondary.btn-shadow:active:hover,
.btn-outline-secondary.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(206, 212, 218, 0.5),
    0 0.0625rem 0.125rem rgba(206, 212, 218, 0.6);
}
.btn-outline-secondary.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(206, 212, 218, 0.19);
}

.btn-outline-success {
  color: #73a839;
  border-color: #73a839;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #73a839;
  border-color: #73a839;
}
.btn-outline-success:focus,
.btn-outline-success.focus {
  box-shadow: 0 0 0 0 rgba(115, 168, 57, 0.5);
}
.btn-outline-success.disabled,
.btn-outline-success:disabled {
  color: #73a839;
  background-color: transparent;
}
.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #73a839;
  border-color: #73a839;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus,
.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(115, 168, 57, 0.5);
}
.btn-outline-success.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(115, 168, 57, 0.4),
    0 0.0625rem 0.125rem rgba(115, 168, 57, 0.5);
}
.btn-outline-success.btn-shadow.active:hover,
.btn-outline-success.btn-shadow.disabled:hover,
.btn-outline-success.btn-shadow:active:hover,
.btn-outline-success.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(115, 168, 57, 0.5),
    0 0.0625rem 0.125rem rgba(115, 168, 57, 0.6);
}
.btn-outline-success.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(115, 168, 57, 0.19);
}

.btn-outline-info {
  color: #2fa4e7;
  border-color: #2fa4e7;
}
.btn-outline-info:hover {
  color: #fff;
  background-color: #2fa4e7;
  border-color: #2fa4e7;
}
.btn-outline-info:focus,
.btn-outline-info.focus {
  box-shadow: 0 0 0 0 rgba(47, 164, 231, 0.5);
}
.btn-outline-info.disabled,
.btn-outline-info:disabled {
  color: #2fa4e7;
  background-color: transparent;
}
.btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #2fa4e7;
  border-color: #2fa4e7;
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus,
.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(47, 164, 231, 0.5);
}
.btn-outline-info.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(47, 164, 231, 0.4),
    0 0.0625rem 0.125rem rgba(47, 164, 231, 0.5);
}
.btn-outline-info.btn-shadow.active:hover,
.btn-outline-info.btn-shadow.disabled:hover,
.btn-outline-info.btn-shadow:active:hover,
.btn-outline-info.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(47, 164, 231, 0.5),
    0 0.0625rem 0.125rem rgba(47, 164, 231, 0.6);
}
.btn-outline-info.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(47, 164, 231, 0.19);
}

.btn-outline-warning {
  color: #dd5600;
  border-color: #dd5600;
}
.btn-outline-warning:hover {
  color: #fff;
  background-color: #dd5600;
  border-color: #dd5600;
}
.btn-outline-warning:focus,
.btn-outline-warning.focus {
  box-shadow: 0 0 0 0 rgba(221, 86, 0, 0.5);
}
.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
  color: #dd5600;
  background-color: transparent;
}
.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #fff;
  background-color: #dd5600;
  border-color: #dd5600;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(221, 86, 0, 0.5);
}
.btn-outline-warning.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(221, 86, 0, 0.4),
    0 0.0625rem 0.125rem rgba(221, 86, 0, 0.5);
}
.btn-outline-warning.btn-shadow.active:hover,
.btn-outline-warning.btn-shadow.disabled:hover,
.btn-outline-warning.btn-shadow:active:hover,
.btn-outline-warning.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(221, 86, 0, 0.5),
    0 0.0625rem 0.125rem rgba(221, 86, 0, 0.6);
}
.btn-outline-warning.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(221, 86, 0, 0.19);
}

.btn-outline-danger {
  color: #c71c22;
  border-color: #c71c22;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #c71c22;
  border-color: #c71c22;
}
.btn-outline-danger:focus,
.btn-outline-danger.focus {
  box-shadow: 0 0 0 0 rgba(199, 28, 34, 0.5);
}
.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
  color: #c71c22;
  background-color: transparent;
}
.btn-outline-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #c71c22;
  border-color: #c71c22;
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(199, 28, 34, 0.5);
}
.btn-outline-danger.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(199, 28, 34, 0.4),
    0 0.0625rem 0.125rem rgba(199, 28, 34, 0.5);
}
.btn-outline-danger.btn-shadow.active:hover,
.btn-outline-danger.btn-shadow.disabled:hover,
.btn-outline-danger.btn-shadow:active:hover,
.btn-outline-danger.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(199, 28, 34, 0.5),
    0 0.0625rem 0.125rem rgba(199, 28, 34, 0.6);
}
.btn-outline-danger.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(199, 28, 34, 0.19);
}

.btn-outline-light {
  color: #d5d9eb;
  border-color: #d5d9eb;
}
.btn-outline-light:hover {
  color: #212529;
  background-color: #d5d9eb;
  border-color: #d5d9eb;
}
.btn-outline-light:focus,
.btn-outline-light.focus {
  box-shadow: 0 0 0 0 rgba(213, 217, 235, 0.5);
}
.btn-outline-light.disabled,
.btn-outline-light:disabled {
  color: #d5d9eb;
  background-color: transparent;
}
.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #d5d9eb;
  border-color: #d5d9eb;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(213, 217, 235, 0.5);
}
.btn-outline-light.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(213, 217, 235, 0.4),
    0 0.0625rem 0.125rem rgba(213, 217, 235, 0.5);
}
.btn-outline-light.btn-shadow.active:hover,
.btn-outline-light.btn-shadow.disabled:hover,
.btn-outline-light.btn-shadow:active:hover,
.btn-outline-light.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(213, 217, 235, 0.5),
    0 0.0625rem 0.125rem rgba(213, 217, 235, 0.6);
}
.btn-outline-light.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(213, 217, 235, 0.19);
}

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:focus,
.btn-outline-dark.focus {
  box-shadow: 0 0 0 0 rgba(52, 58, 64, 0.5);
}
.btn-outline-dark.disabled,
.btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}
.btn-outline-dark:not(:disabled):not(.disabled):active,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(52, 58, 64, 0.5);
}
.btn-outline-dark.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(52, 58, 64, 0.4),
    0 0.0625rem 0.125rem rgba(52, 58, 64, 0.5);
}
.btn-outline-dark.btn-shadow.active:hover,
.btn-outline-dark.btn-shadow.disabled:hover,
.btn-outline-dark.btn-shadow:active:hover,
.btn-outline-dark.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(52, 58, 64, 0.5),
    0 0.0625rem 0.125rem rgba(52, 58, 64, 0.6);
}
.btn-outline-dark.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(52, 58, 64, 0.19);
}

.btn-outline-focus {
  color: #6610f2;
  border-color: #6610f2;
}
.btn-outline-focus:hover {
  color: #fff;
  background-color: #6610f2;
  border-color: #6610f2;
}
.btn-outline-focus:focus,
.btn-outline-focus.focus {
  box-shadow: 0 0 0 0 rgba(102, 16, 242, 0.5);
}
.btn-outline-focus.disabled,
.btn-outline-focus:disabled {
  color: #6610f2;
  background-color: transparent;
}
.btn-outline-focus:not(:disabled):not(.disabled):active,
.btn-outline-focus:not(:disabled):not(.disabled).active,
.show > .btn-outline-focus.dropdown-toggle {
  color: #fff;
  background-color: #6610f2;
  border-color: #6610f2;
}
.btn-outline-focus:not(:disabled):not(.disabled):active:focus,
.btn-outline-focus:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-focus.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(102, 16, 242, 0.5);
}
.btn-outline-focus.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(102, 16, 242, 0.4),
    0 0.0625rem 0.125rem rgba(102, 16, 242, 0.5);
}
.btn-outline-focus.btn-shadow.active:hover,
.btn-outline-focus.btn-shadow.disabled:hover,
.btn-outline-focus.btn-shadow:active:hover,
.btn-outline-focus.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(102, 16, 242, 0.5),
    0 0.0625rem 0.125rem rgba(102, 16, 242, 0.6);
}
.btn-outline-focus.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(102, 16, 242, 0.19);
}

.btn-outline-alternate {
  color: #6f42c1;
  border-color: #6f42c1;
}
.btn-outline-alternate:hover {
  color: #fff;
  background-color: #6f42c1;
  border-color: #6f42c1;
}
.btn-outline-alternate:focus,
.btn-outline-alternate.focus {
  box-shadow: 0 0 0 0 rgba(111, 66, 193, 0.5);
}
.btn-outline-alternate.disabled,
.btn-outline-alternate:disabled {
  color: #6f42c1;
  background-color: transparent;
}
.btn-outline-alternate:not(:disabled):not(.disabled):active,
.btn-outline-alternate:not(:disabled):not(.disabled).active,
.show > .btn-outline-alternate.dropdown-toggle {
  color: #fff;
  background-color: #6f42c1;
  border-color: #6f42c1;
}
.btn-outline-alternate:not(:disabled):not(.disabled):active:focus,
.btn-outline-alternate:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-alternate.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(111, 66, 193, 0.5);
}
.btn-outline-alternate.btn-shadow {
  box-shadow:
    0 0.125rem 0.625rem rgba(111, 66, 193, 0.4),
    0 0.0625rem 0.125rem rgba(111, 66, 193, 0.5);
}
.btn-outline-alternate.btn-shadow.active:hover,
.btn-outline-alternate.btn-shadow.disabled:hover,
.btn-outline-alternate.btn-shadow:active:hover,
.btn-outline-alternate.btn-shadow:disabled:hover {
  box-shadow:
    0 0.125rem 0.625rem rgba(111, 66, 193, 0.5),
    0 0.0625rem 0.125rem rgba(111, 66, 193, 0.6);
}
.btn-outline-alternate.btn-shadow:hover {
  box-shadow: 0px 5px 15px 2px rgba(111, 66, 193, 0.19);
}

.btn {
  position: relative;
  transition:
    color 0.15s,
    background-color 0.15s,
    border-color 0.15s,
    box-shadow 0.15s;
  font-size: 0.8rem;
}
@media screen and (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}

.btn-light {
  border-color: gainsboro;
}

.btn-outline-light {
  color: #8f8f8f;
}

.nav-item .nav-link {
  font-weight: normal;
}

.nav-link {
  display: flex;
  align-items: center;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
  cursor: pointer;
}
.nav-link .nav-link-icon {
  color: #033c73;
  font-size: 1rem;
  width: 30px;
  text-align: center;
  opacity: 0.45;
  margin-left: -10px;
}
.nav-link:hover {
  color: #495057;
}
.nav-link:hover .nav-link-icon {
  opacity: 0.9;
  color: #033c73;
}
.nav-link:disabled .nav-link-icon,
.nav-link.disabled .nav-link-icon {
  opacity: 0.3;
}

.nav-item.nav-item-header {
  text-transform: uppercase;
  font-size: 0.7333333333rem;
  color: #868e96;
  font-weight: bold;
  padding: 0.5rem 1rem;
}
.nav-item.nav-item-btn {
  padding: 0.5rem 1rem;
}
.nav-item.nav-item-divider {
  margin: 0.5rem 0;
  height: 1px;
  overflow: hidden;
  background: #dee2e6;
}

.nav .badge {
  margin-left: 8px;
}

.nav-pills .nav-link.active,
.nav-pills .nav-link.active:hover {
  color: #fff;
}
.nav-pills .nav-link.active .nav-link-icon,
.nav-pills .nav-link.active:hover .nav-link-icon {
  color: #fff;
  opacity: 0.8;
}
.nav-pills .nav-link:hover {
  color: #495057 !important;
}

.badge-primary {
  color: #fff;
  background-color: #033c73;
}
a.badge-primary:hover,
a.badge-primary:focus {
  color: #fff;
  background-color: #022241;
}

.badge-secondary {
  color: #212529;
  background-color: #ced4da;
}
a.badge-secondary:hover,
a.badge-secondary:focus {
  color: #212529;
  background-color: #b1bbc4;
}

.badge-success {
  color: #fff;
  background-color: #73a839;
}
a.badge-success:hover,
a.badge-success:focus {
  color: #fff;
  background-color: #59822c;
}

.badge-info {
  color: #fff;
  background-color: #2fa4e7;
}
a.badge-info:hover,
a.badge-info:focus {
  color: #fff;
  background-color: #178acc;
}

.badge-warning {
  color: #fff;
  background-color: #dd5600;
}
a.badge-warning:hover,
a.badge-warning:focus {
  color: #fff;
  background-color: #aa4200;
}

.badge-danger {
  color: #fff;
  background-color: #c71c22;
}
a.badge-danger:hover,
a.badge-danger:focus {
  color: #fff;
  background-color: #9a161a;
}

.badge-light {
  color: #212529;
  background-color: #d5d9eb;
}
a.badge-light:hover,
a.badge-light:focus {
  color: #212529;
  background-color: #b2badb;
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}
a.badge-dark:hover,
a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}

.badge-focus {
  color: #fff;
  background-color: #6610f2;
}
a.badge-focus:hover,
a.badge-focus:focus {
  color: #fff;
  background-color: #510bc4;
}

.badge-alternate {
  color: #fff;
  background-color: #6f42c1;
}
a.badge-alternate:hover,
a.badge-alternate:focus {
  color: #fff;
  background-color: #59339d;
}

.badge {
  font-weight: bold;
  text-transform: uppercase;
  padding: 5px 10px;
  min-width: 19px;
}

.badge-light {
  background: #fff;
}

.badge-dot {
  text-indent: -999em;
  padding: 0;
  width: 8px;
  height: 8px;
  border: transparent solid 1px;
  border-radius: 30px;
  min-width: 2px;
}

.badge-dot-lg {
  width: 10px;
  height: 10px;
}

.badge-dot-xl {
  width: 18px;
  height: 18px;
  position: relative;
}
.badge-dot-xl::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 0.25rem;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -5px 0 0 -5px;
  background: #fff;
}

.badge-dot-sm {
  width: 6px;
  height: 6px;
}

.btn .badge {
  margin-left: 8px;
}
.btn .badge-dot {
  position: absolute;
  border: #fff solid 2px;
  top: -5px;
  right: -5px;
  width: 11px;
  height: 11px;
}
.btn .badge-dot.badge-dot-lg {
  width: 14px;
  height: 14px;
}
.btn .badge-dot.badge-dot-sm {
  width: 8px;
  height: 8px;
  border-width: 1px;
}
.btn .badge-dot-inside {
  top: 10px;
  right: 10px;
}

.btn-sm .badge-dot-sm,
.btn-group-sm > .btn .badge-dot-sm {
  top: 1px;
  right: 4px;
}
.btn-sm .badge-dot,
.btn-group-sm > .btn .badge-dot {
  top: 0px;
  right: 2px;
}
.btn-sm .badge-dot-lg,
.btn-group-sm > .btn .badge-dot-lg {
  top: -3px;
  right: -2px;
}
.btn-sm .badge-pill,
.btn-group-sm > .btn .badge-pill {
  position: absolute;
  top: -4px;
  right: -4px;
}

.badge-abs {
  position: absolute;
  right: -3px;
  top: -3px;
}

.card {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(0, 0, 0, 0.03),
    0 0.9375rem 1.40625rem rgba(0, 0, 0, 0.03),
    0 0.25rem 0.53125rem rgba(0, 0, 0, 0.05),
    0 0.125rem 0.1875rem rgba(0, 0, 0, 0.03);
  border-width: 0;
  transition: all 0.2s;
}
.card.text-dark.text-white .card-footer,
.card.text-dark.text-white .card-header,
.card.text-white .card-footer,
.card.text-white .card-header {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}
.card.text-dark.text-white .card-footer,
.card.text-dark.text-white .card-header {
  color: rgba(0, 0, 0, 0.9);
}
.card .card-footer {
  display: flex;
  align-items: center;
}

.btn-actions-pane-right {
  margin-left: auto;
  white-space: nowrap;
}
.btn-actions-pane-right a {
  text-transform: none;
}

.btn-actions-pane-left {
  margin-right: auto;
}

.card-header,
.card-title {
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.7);
  font-weight: bold;
  font-size: 0.88rem;
}

.card-header {
  display: flex;
  align-items: center;
  border-bottom-width: 1px;
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0.625rem;
  height: 3.5rem;
}
.card-header.card-header-tab .nav {
  width: auto;
  margin-left: auto;
}
.card-header.card-header-tab .card-header-title {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.card-header > .nav {
  margin-left: -0.625rem;
  height: 100%;
  width: 100%;
}
.card-header > .nav .nav-item {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}
.card-header > .nav .nav-link {
  text-transform: none;
  width: 100%;
  display: block;
  color: #495057;
}
.card-header > .nav .nav-link::before {
  content: '';
  border-radius: 15px;
  background: #033c73;
  transition: all 0.2s;
  height: 4px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -2px;
  opacity: 0;
}
.card-header > .nav .nav-link:hover {
  color: #033c73;
}
.card-header > .nav .nav-link.active {
  color: #033c73;
}
.card-header > .nav .nav-link.active::before {
  opacity: 1;
}

.card-border {
  box-shadow: 0 0 0 transparent;
  border-width: 1px;
}

.card-subtitle {
  margin-bottom: 0.75rem;
  font-size: 0.968rem;
  color: rgba(0, 0, 0, 0.55);
}

.card-shadow-primary {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(3, 60, 115, 0.03),
    0 0.9375rem 1.40625rem rgba(3, 60, 115, 0.03),
    0 0.25rem 0.53125rem rgba(3, 60, 115, 0.05),
    0 0.125rem 0.1875rem rgba(3, 60, 115, 0.03);
}

.card-shadow-secondary {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(206, 212, 218, 0.03),
    0 0.9375rem 1.40625rem rgba(206, 212, 218, 0.03),
    0 0.25rem 0.53125rem rgba(206, 212, 218, 0.05),
    0 0.125rem 0.1875rem rgba(206, 212, 218, 0.03);
}

.card-shadow-success {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(115, 168, 57, 0.03),
    0 0.9375rem 1.40625rem rgba(115, 168, 57, 0.03),
    0 0.25rem 0.53125rem rgba(115, 168, 57, 0.05),
    0 0.125rem 0.1875rem rgba(115, 168, 57, 0.03);
}

.card-shadow-info {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(47, 164, 231, 0.03),
    0 0.9375rem 1.40625rem rgba(47, 164, 231, 0.03),
    0 0.25rem 0.53125rem rgba(47, 164, 231, 0.05),
    0 0.125rem 0.1875rem rgba(47, 164, 231, 0.03);
}

.card-shadow-warning {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(221, 86, 0, 0.03),
    0 0.9375rem 1.40625rem rgba(221, 86, 0, 0.03),
    0 0.25rem 0.53125rem rgba(221, 86, 0, 0.05),
    0 0.125rem 0.1875rem rgba(221, 86, 0, 0.03);
}

.card-shadow-danger {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(199, 28, 34, 0.03),
    0 0.9375rem 1.40625rem rgba(199, 28, 34, 0.03),
    0 0.25rem 0.53125rem rgba(199, 28, 34, 0.05),
    0 0.125rem 0.1875rem rgba(199, 28, 34, 0.03);
}

.card-shadow-light {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(213, 217, 235, 0.03),
    0 0.9375rem 1.40625rem rgba(213, 217, 235, 0.03),
    0 0.25rem 0.53125rem rgba(213, 217, 235, 0.05),
    0 0.125rem 0.1875rem rgba(213, 217, 235, 0.03);
}

.card-shadow-dark {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(52, 58, 64, 0.03),
    0 0.9375rem 1.40625rem rgba(52, 58, 64, 0.03),
    0 0.25rem 0.53125rem rgba(52, 58, 64, 0.05),
    0 0.125rem 0.1875rem rgba(52, 58, 64, 0.03);
}

.card-shadow-focus {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(102, 16, 242, 0.03),
    0 0.9375rem 1.40625rem rgba(102, 16, 242, 0.03),
    0 0.25rem 0.53125rem rgba(102, 16, 242, 0.05),
    0 0.125rem 0.1875rem rgba(102, 16, 242, 0.03);
}

.card-shadow-alternate {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(111, 66, 193, 0.03),
    0 0.9375rem 1.40625rem rgba(111, 66, 193, 0.03),
    0 0.25rem 0.53125rem rgba(111, 66, 193, 0.05),
    0 0.125rem 0.1875rem rgba(111, 66, 193, 0.03);
}

.card-header-lg {
  padding: 1.5rem 2.5rem;
  height: auto;
}

.nav-pills,
.nav-tabs {
  margin-bottom: 1rem;
}

.nav-link {
  font-weight: bold;
}
.nav-link:hover {
  cursor: pointer;
}

.nav-tabs .nav-link:hover {
  color: #033c73 !important;
}
.nav-tabs .nav-link.active {
  color: #033c73;
}

.nav-pills .nav-link:hover {
  color: #033c73 !important;
}
.nav-pills .nav-link.active {
  background: #033c73;
}
.nav-pills .nav-link.active:hover {
  color: #fff !important;
}

@keyframes progress-active {
  0% {
    opacity: 0.4;
    width: 0;
  }
  100% {
    opacity: 0;
    width: 100%;
  }
}

.widget-content .widget-content-wrapper {
  display: flex;
  flex: 1;
  position: relative;
  align-items: center;
}

.card-btm-border {
  border-bottom: transparent solid 4px;
}

/*
 * Container style
 */

/*
 * Scrollbar rail styles
 */

/*
 * Scrollbar thumb styles
 */

/* MS supports */

.shadow-overflow {
  position: relative;
}
.shadow-overflow::after,
.shadow-overflow::before {
  width: 100%;
  bottom: auto;
  top: 0;
  left: 0;
  height: 1.5rem;
  position: absolute;
  z-index: 10;
  content: '';
  background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=0);
}
.shadow-overflow::after {
  bottom: 0;
  top: auto;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0);
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */

/* hamburger2 Start  <== Added */
/* hamburger2 End */

/*
 * Elastic
 */

@keyframes Toastify__trackProgress {
  0% {
    width: 96%;
  }
  100% {
    width: 0;
  }
}

@keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}
@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
@keyframes Toastify__flipOut {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(110%, 0, 0);
  }
}
@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-110%, 0, 0);
  }
}
@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}
@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}

.popover,
.tooltip {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.popover.show,
.tooltip.show {
  opacity: 1;
}

.popover {
  box-shadow:
    0 0.46875rem 2.1875rem rgba(0, 0, 0, 0.03),
    0 0.9375rem 1.40625rem rgba(0, 0, 0, 0.03),
    0 0.25rem 0.53125rem rgba(0, 0, 0, 0.05),
    0 0.125rem 0.1875rem rgba(0, 0, 0, 0.03);
}
.popover.rm-max-width {
  max-width: initial;
}
.popover.rm-pointers .arrow {
  display: none !important;
}

.popover-primary {
  background-color: #033c73 !important;
}

.popover-secondary {
  background-color: #ced4da !important;
}

.popover-success {
  background-color: #73a839 !important;
}

.popover-info {
  background-color: #2fa4e7 !important;
}

.popover-warning {
  background-color: #dd5600 !important;
}

.popover-danger {
  background-color: #c71c22 !important;
}

.popover-light {
  background-color: #d5d9eb !important;
}

.popover-dark {
  background-color: #343a40 !important;
}

.popover-focus {
  background-color: #6610f2 !important;
}

.popover-alternate {
  background-color: #6f42c1 !important;
}

.popover-custom .popover-body {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}
.popover-custom.popover-custom-lg {
  min-width: 22rem;
}
.popover-custom.popover-custom-xl {
  min-width: 25rem;
}
.popover-custom.popover-custom-sm {
  min-width: 15rem;
}

.popover-bg {
  border: 0;
}
.popover-bg .arrow {
  display: none;
}
.popover-bg .popover-header {
  background: rgba(255, 255, 255, 0.1);
  border-bottom: 0;
  color: white;
}
.popover-bg .popover-header::before {
  display: none;
}
.popover-bg .popover-body {
  color: rgba(255, 255, 255, 0.7);
}
.popover-bg.text-dark .popover-header {
  color: rgba(0, 0, 0, 0.8);
}
.popover-bg.text-dark .popover-body {
  color: rgba(0, 0, 0, 0.7);
}

.tooltip.tooltip-light .tooltip-inner {
  background: #fff;
  color: #343a40;
  box-shadow:
    0 0.46875rem 2.1875rem rgba(0, 0, 0, 0.03),
    0 0.9375rem 1.40625rem rgba(0, 0, 0, 0.03),
    0 0.25rem 0.53125rem rgba(0, 0, 0, 0.05),
    0 0.125rem 0.1875rem rgba(0, 0, 0, 0.03);
  border: rgba(0, 0, 0, 0.125) solid 1px;
}
.tooltip.tooltip-light .arrow {
  display: none;
}

/*
*  Licensing: http://www.pixeden.com/icon-fonts/stroke-7-icon-font-set
*/
@font-face {
  font-family: 'Pe-icon-7-stroke';
  src: url(/static/top/static/top/img/Pe-icon-7-stroke.eot);
  src:
    url(/static/top/static/top/img/Pe-icon-7-stroke.eot?#iefixd7yf1v)
      format('embedded-opentype'),
    url(/static/top/static/top/img/Pe-icon-7-stroke.woff) format('woff'),
    url(/static/top/static/top/img/Pe-icon-7-stroke.ttf) format('truetype'),
    url(/static/top/static/top/img/Pe-icon-7-stroke.svg#Pe-icon-7-stroke)
      format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^='pe-7s-'],
[class*=' pe-7s-'] {
  display: inline-block;
  font-family: 'Pe-icon-7-stroke';
  /* speak: none; */
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* HELPER CLASS
 * -------------------------- */
/* FA based classes */
/*! Modified from font-awesome helper CSS classes - PIXEDEN
 *  Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (CSS: MIT License)
 */
/* makes the font 33% larger relative to the icon container */
.pe-lg {
  font-size: 1.1704rem;
  line-height: 0.75em;
  vertical-align: -15%;
}

.pe-2x {
  font-size: 1.76rem;
}

.pe-3x {
  font-size: 2.64rem;
}

.pe-4x {
  font-size: 3.52rem;
}

.pe-5x {
  font-size: 4.4rem;
}

.pe-fw {
  width: 1.2857142857142858em;
  text-align: center;
}

.pe-ul {
  padding-left: 0;
  margin-left: 2.142857142857143em;
  list-style-type: none;
}
.pe-ul > li {
  position: relative;
}

.pe-li {
  position: absolute;
  left: -2.142857142857143em;
  width: 2.142857142857143em;
  top: 0.14285714285714285em;
  text-align: center;
}
.pe-li.pe-lg {
  left: -1.8571428571428572em;
}

.pe-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eeeeee;
  border-radius: 0.1em;
}

.pe-spin {
  animation: spin 2s infinite linear;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.pe-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  transform: rotate(90deg);
}

.pe-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  transform: rotate(180deg);
}

.pe-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  transform: rotate(270deg);
}

.pe-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  transform: scale(-1, 1);
}

.pe-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  transform: scale(1, -1);
}

.pe-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.pe-stack-1x,
.pe-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.pe-stack-1x {
  line-height: inherit;
}

.pe-stack-2x {
  font-size: 2em;
}

.pe-inverse {
  color: #ffffff;
}

/* Custom classes / mods - PIXEDEN */
.pe-va {
  vertical-align: middle;
}

.pe-border {
  border: solid 0.08em #eaeaea;
}

.pe-7s-album:before {
  content: '';
}

.pe-7s-arc:before {
  content: '';
}

.pe-7s-back-2:before {
  content: '';
}

.pe-7s-bandaid:before {
  content: '';
}

.pe-7s-car:before {
  content: '';
}

.pe-7s-diamond:before {
  content: '';
}

.pe-7s-door-lock:before {
  content: '';
}

.pe-7s-eyedropper:before {
  content: '';
}

.pe-7s-female:before {
  content: '';
}

.pe-7s-gym:before {
  content: '';
}

.pe-7s-hammer:before {
  content: '';
}

.pe-7s-headphones:before {
  content: '';
}

.pe-7s-helm:before {
  content: '';
}

.pe-7s-hourglass:before {
  content: '';
}

.pe-7s-leaf:before {
  content: '';
}

.pe-7s-magic-wand:before {
  content: '';
}

.pe-7s-male:before {
  content: '';
}

.pe-7s-map-2:before {
  content: '';
}

.pe-7s-next-2:before {
  content: '';
}

.pe-7s-paint-bucket:before {
  content: '';
}

.pe-7s-pendrive:before {
  content: '';
}

.pe-7s-photo:before {
  content: '';
}

.pe-7s-piggy:before {
  content: '';
}

.pe-7s-plugin:before {
  content: '';
}

.pe-7s-refresh-2:before {
  content: '';
}

.pe-7s-rocket:before {
  content: '';
}

.pe-7s-settings:before {
  content: '';
}

.pe-7s-shield:before {
  content: '';
}

.pe-7s-smile:before {
  content: '';
}

.pe-7s-usb:before {
  content: '';
}

.pe-7s-vector:before {
  content: '';
}

.pe-7s-wine:before {
  content: '';
}

.pe-7s-cloud-upload:before {
  content: '';
}

.pe-7s-cash:before {
  content: '';
}

.pe-7s-close:before {
  content: '';
}

.pe-7s-bluetooth:before {
  content: '';
}

.pe-7s-cloud-download:before {
  content: '';
}

.pe-7s-way:before {
  content: '';
}

.pe-7s-close-circle:before {
  content: '';
}

.pe-7s-id:before {
  content: '';
}

.pe-7s-angle-up:before {
  content: '';
}

.pe-7s-wristwatch:before {
  content: '';
}

.pe-7s-angle-up-circle:before {
  content: '';
}

.pe-7s-world:before {
  content: '';
}

.pe-7s-angle-right:before {
  content: '';
}

.pe-7s-volume:before {
  content: '';
}

.pe-7s-angle-right-circle:before {
  content: '';
}

.pe-7s-users:before {
  content: '';
}

.pe-7s-angle-left:before {
  content: '';
}

.pe-7s-user-female:before {
  content: '';
}

.pe-7s-angle-left-circle:before {
  content: '';
}

.pe-7s-up-arrow:before {
  content: '';
}

.pe-7s-angle-down:before {
  content: '';
}

.pe-7s-switch:before {
  content: '';
}

.pe-7s-angle-down-circle:before {
  content: '';
}

.pe-7s-scissors:before {
  content: '';
}

.pe-7s-wallet:before {
  content: '';
}

.pe-7s-safe:before {
  content: '';
}

.pe-7s-volume2:before {
  content: '';
}

.pe-7s-volume1:before {
  content: '';
}

.pe-7s-voicemail:before {
  content: '';
}

.pe-7s-video:before {
  content: '';
}

.pe-7s-user:before {
  content: '';
}

.pe-7s-upload:before {
  content: '';
}

.pe-7s-unlock:before {
  content: '';
}

.pe-7s-umbrella:before {
  content: '';
}

.pe-7s-trash:before {
  content: '';
}

.pe-7s-tools:before {
  content: '';
}

.pe-7s-timer:before {
  content: '';
}

.pe-7s-ticket:before {
  content: '';
}

.pe-7s-target:before {
  content: '';
}

.pe-7s-sun:before {
  content: '';
}

.pe-7s-study:before {
  content: '';
}

.pe-7s-stopwatch:before {
  content: '';
}

.pe-7s-star:before {
  content: '';
}

.pe-7s-speaker:before {
  content: '';
}

.pe-7s-signal:before {
  content: '';
}

.pe-7s-shuffle:before {
  content: '';
}

.pe-7s-shopbag:before {
  content: '';
}

.pe-7s-share:before {
  content: '';
}

.pe-7s-server:before {
  content: '';
}

.pe-7s-search:before {
  content: '';
}

.pe-7s-film:before {
  content: '';
}

.pe-7s-science:before {
  content: '';
}

.pe-7s-disk:before {
  content: '';
}

.pe-7s-ribbon:before {
  content: '';
}

.pe-7s-repeat:before {
  content: '';
}

.pe-7s-refresh:before {
  content: '';
}

.pe-7s-add-user:before {
  content: '';
}

.pe-7s-refresh-cloud:before {
  content: '';
}

.pe-7s-paperclip:before {
  content: '';
}

.pe-7s-radio:before {
  content: '';
}

.pe-7s-note2:before {
  content: '';
}

.pe-7s-print:before {
  content: '';
}

.pe-7s-network:before {
  content: '';
}

.pe-7s-prev:before {
  content: '';
}

.pe-7s-mute:before {
  content: '';
}

.pe-7s-power:before {
  content: '';
}

.pe-7s-medal:before {
  content: '';
}

.pe-7s-portfolio:before {
  content: '';
}

.pe-7s-like2:before {
  content: '';
}

.pe-7s-plus:before {
  content: '';
}

.pe-7s-left-arrow:before {
  content: '';
}

.pe-7s-play:before {
  content: '';
}

.pe-7s-key:before {
  content: '';
}

.pe-7s-plane:before {
  content: '';
}

.pe-7s-joy:before {
  content: '';
}

.pe-7s-photo-gallery:before {
  content: '';
}

.pe-7s-pin:before {
  content: '';
}

.pe-7s-phone:before {
  content: '';
}

.pe-7s-plug:before {
  content: '';
}

.pe-7s-pen:before {
  content: '';
}

.pe-7s-right-arrow:before {
  content: '';
}

.pe-7s-paper-plane:before {
  content: '';
}

.pe-7s-delete-user:before {
  content: '';
}

.pe-7s-paint:before {
  content: '';
}

.pe-7s-bottom-arrow:before {
  content: '';
}

.pe-7s-notebook:before {
  content: '';
}

.pe-7s-note:before {
  content: '';
}

.pe-7s-next:before {
  content: '';
}

.pe-7s-news-paper:before {
  content: '';
}

.pe-7s-musiclist:before {
  content: '';
}

.pe-7s-music:before {
  content: '';
}

.pe-7s-mouse:before {
  content: '';
}

.pe-7s-more:before {
  content: '';
}

.pe-7s-moon:before {
  content: '';
}

.pe-7s-monitor:before {
  content: '';
}

.pe-7s-micro:before {
  content: '';
}

.pe-7s-menu:before {
  content: '';
}

.pe-7s-map:before {
  content: '';
}

.pe-7s-map-marker:before {
  content: '';
}

.pe-7s-mail:before {
  content: '';
}

.pe-7s-mail-open:before {
  content: '';
}

.pe-7s-mail-open-file:before {
  content: '';
}

.pe-7s-magnet:before {
  content: '';
}

.pe-7s-loop:before {
  content: '';
}

.pe-7s-look:before {
  content: '';
}

.pe-7s-lock:before {
  content: '';
}

.pe-7s-lintern:before {
  content: '';
}

.pe-7s-link:before {
  content: '';
}

.pe-7s-like:before {
  content: '';
}

.pe-7s-light:before {
  content: '';
}

.pe-7s-less:before {
  content: '';
}

.pe-7s-keypad:before {
  content: '';
}

.pe-7s-junk:before {
  content: '';
}

.pe-7s-info:before {
  content: '';
}

.pe-7s-home:before {
  content: '';
}

.pe-7s-help2:before {
  content: '';
}

.pe-7s-help1:before {
  content: '';
}

.pe-7s-graph3:before {
  content: '';
}

.pe-7s-graph2:before {
  content: '';
}

.pe-7s-graph1:before {
  content: '';
}

.pe-7s-graph:before {
  content: '';
}

.pe-7s-global:before {
  content: '';
}

.pe-7s-gleam:before {
  content: '';
}

.pe-7s-glasses:before {
  content: '';
}

.pe-7s-gift:before {
  content: '';
}

.pe-7s-folder:before {
  content: '';
}

.pe-7s-flag:before {
  content: '';
}

.pe-7s-filter:before {
  content: '';
}

.pe-7s-file:before {
  content: '';
}

.pe-7s-expand1:before {
  content: '';
}

.pe-7s-exapnd2:before {
  content: '';
}

.pe-7s-edit:before {
  content: '';
}

.pe-7s-drop:before {
  content: '';
}

.pe-7s-drawer:before {
  content: '';
}

.pe-7s-download:before {
  content: '';
}

.pe-7s-display2:before {
  content: '';
}

.pe-7s-display1:before {
  content: '';
}

.pe-7s-diskette:before {
  content: '';
}

.pe-7s-date:before {
  content: '';
}

.pe-7s-cup:before {
  content: '';
}

.pe-7s-culture:before {
  content: '';
}

.pe-7s-crop:before {
  content: '';
}

.pe-7s-credit:before {
  content: '';
}

.pe-7s-copy-file:before {
  content: '';
}

.pe-7s-config:before {
  content: '';
}

.pe-7s-compass:before {
  content: '';
}

.pe-7s-comment:before {
  content: '';
}

.pe-7s-coffee:before {
  content: '';
}

.pe-7s-cloud:before {
  content: '';
}

.pe-7s-clock:before {
  content: '';
}

.pe-7s-check:before {
  content: '';
}

.pe-7s-chat:before {
  content: '';
}

.pe-7s-cart:before {
  content: '';
}

.pe-7s-camera:before {
  content: '';
}

.pe-7s-call:before {
  content: '';
}

.pe-7s-calculator:before {
  content: '';
}

.pe-7s-browser:before {
  content: '';
}

.pe-7s-box2:before {
  content: '';
}

.pe-7s-box1:before {
  content: '';
}

.pe-7s-bookmarks:before {
  content: '';
}

.pe-7s-bicycle:before {
  content: '';
}

.pe-7s-bell:before {
  content: '';
}

.pe-7s-battery:before {
  content: '';
}

.pe-7s-ball:before {
  content: '';
}

.pe-7s-back:before {
  content: '';
}

.pe-7s-attention:before {
  content: '';
}

.pe-7s-anchor:before {
  content: '';
}

.pe-7s-albums:before {
  content: '';
}

.pe-7s-alarm:before {
  content: '';
}

.pe-7s-airplay:before {
  content: '';
}

@font-face {
  font-family: 'Linearicons-Free';
  src: url(/static/top/static/top/img/Linearicons-Free.eot);
  src:
    url(/static/top/static/top/img/Linearicons-Free.eot?#iefixw118d)
      format('embedded-opentype'),
    url(/static/top/static/top/img/Linearicons-Free.woff) format('woff'),
    url(/static/top/static/top/img/Linearicons-Free.ttf) format('truetype'),
    url(/static/top/static/top/img/Linearicons-Free.svg#Linearicons-Free) format('svg');
  font-weight: normal;
  font-style: normal;
}

.btn-icon-vertical {
  min-width: 100px;
}

.card.mb-3 {
  margin-bottom: 30px !important;
}

@media (max-width: 991.98px) {
  /* .app-main {
    display: block; } */

  .dropdown-menu::before,
  .dropdown-menu::after {
    display: none;
  }

  /* .app-sidebar {
    flex: 0 0 200px !important;
    width: 200px !important;
    transform: translateX(-200px); }
    .app-sidebar .app-header__logo {
      display: none; }

  .sidebar-mobile-open .app-sidebar {
    transform: translateX(0); }
    .sidebar-mobile-open .app-sidebar .app-sidebar__inner .app-sidebar__heading {
      text-indent: initial; }
      .sidebar-mobile-open .app-sidebar .app-sidebar__inner .app-sidebar__heading::before {
        display: none; }
    .sidebar-mobile-open .app-sidebar .app-sidebar__inner .metismenu-link {
      text-indent: initial;
      padding: 0 1.5rem 0 45px; }
    .sidebar-mobile-open .app-sidebar .app-sidebar__inner .metismenu-icon {
      text-indent: initial;
      left: 5px;
      margin-left: 0; }
    .sidebar-mobile-open .app-sidebar .app-sidebar__inner .metismenu-state-icon {
      visibility: visible; }
    .sidebar-mobile-open .app-sidebar .app-sidebar__inner .metismenu-container.visible {
      padding: .5em 0 0 2rem; }
      .sidebar-mobile-open .app-sidebar .app-sidebar__inner .metismenu-container.visible > .metismenu-item > .metismenu-link {
        height: 2.3em; }
    .sidebar-mobile-open .app-sidebar .app-sidebar__inner .metismenu-container .metismenu-container .metismenu-link {
      padding-left: 1em; }
    .sidebar-mobile-open .app-sidebar .app-header__logo {
      width: auto !important; }
      .sidebar-mobile-open .app-sidebar .app-header__logo .logo-src {
        width: 97px !important;
        margin-left: auto;
        margin-right: 0; }
  .sidebar-mobile-open .fixed-sidebar .app-sidebar {
    height: 100%; }
  .sidebar-mobile-open .sidebar-mobile-overlay {
    display: block; } */

  .app-main .app-main__outer {
    padding-left: 0 !important;
  }

  /* 
  .app-header {
    justify-content: space-between; }
    .app-header .app-header__logo {
      display: none;
      order: 2;
      background: transparent !important;
      border: 0 !important; }
    .app-header .app-header__content {
      visibility: hidden;
      opacity: 0;
      box-shadow: 0 0.46875rem 2.1875rem rgba(0, 0, 0, 0.03), 0 0.9375rem 1.40625rem rgba(0, 0, 0, 0.03), 0 0.25rem 0.53125rem rgba(0, 0, 0, 0.05), 0 0.125rem 0.1875rem rgba(0, 0, 0, 0.03);
      position: absolute;
      left: 5%;
      width: 90%;
      top: 0;
      transition: all .2s;
      background: #fff;
      border-radius: 50px;
      padding: 0 10px;
      overflow: hidden; }
      .app-header .app-header__content .header-btn-lg {
        margin-left: .5rem;
        padding: 0 .5rem; }
        .app-header .app-header__content .header-btn-lg .hamburger-box {
          margin-top: 5px; }
        .app-header .app-header__content .header-btn-lg + .header-btn-lg {
          display: none; }
      .app-header .app-header__content .app-header-left .nav {
        display: none; }
      .app-header .app-header__content.header-mobile-open {
        visibility: visible;
        opacity: 1;
        top: 80px; }
    .app-header .app-header__mobile-menu {
      display: flex;
      order: 1; }
    .app-header .app-header__menu {
      display: flex;
      order: 3; }
    .app-header.header-text-light .app-header__menu > span .btn, .app-header.header-text-light .app-header__menu > .btn {
      background: rgba(255, 255, 255, 0.1);
      border-color: rgba(255, 255, 255, 0.1); }
    .app-header.header-text-light .header-mobile-open {
      background: #503908; } */

  .app-header {
    justify-content: space-between;
  }
  .app-page-title .page-title-subheading {
    display: none;
  }

  .popover,
  .dropdown-menu {
    position: fixed !important;
    z-index: 50;
    right: 0px !important;
    top: 55px !important;
    width: 100% !important;
    max-width: 350px;
    transform: translate(0px, 0px) !important;
    /* transform: translateY(-50%) !important; */
    /* min-width: 10px !important;*/
  }
  .popover .btn-icon-vertical .btn-icon-wrapper,
  .dropdown-menu .btn-icon-vertical .btn-icon-wrapper {
    display: none;
  }

  .popover {
    max-width: initial;
  }
  .popover .arrow {
    display: none !important;
  }

  .app-page-title {
    /* text-align: center;  */
    text-align: left;
  }
  .app-page-title .page-title-heading,
  .app-page-title .page-title-wrapper {
    margin: 0 auto;
    display: block;
  }

  .app-footer .app-footer__inner .app-footer-right {
    display: none;
  }
  .app-footer .app-footer__inner .app-footer-left {
    width: 100%;
  }
}

@media (max-width: 991.98px) {
  .app-page-title .page-title-icon {
    display: none;
  }
}
@media (max-width: 767.98px) {
  /* .app-main .app-main__inner {
    padding: 15px 5px 0; } */

  
  body .card.mb-3 {
    margin-bottom: 15px !important;
  }

  .app-page-title {
    /* padding: 15px; */
    /* margin: -15px -15px 0px;  */
  }

  .popover,
  .dropdown-menu {
    width: 80%;
    left: 10%;
  }

  body .card-header {
    height: auto;
    display: block;
    padding: 0.75rem 1.5rem;
    text-align: center;
  }
  body .card-header .btn-actions-pane-right {
    padding: 0.75rem 0 0;
  }

  .card-header.card-header-tab .card-header-title {
    display: inline-flex !important;
    line-height: 1;
  }
  .card-header.card-header-tab > .nav {
    margin: 0.75rem 0 -0.75rem;
    display: table !important;
    width: 100%;
  }
  .card-header.card-header-tab > .nav .nav-item {
    display: table-cell;
  }
}

@media (max-width: 579.98px) {
  /* .app-page-title {
    text-align: center; } */

  .app-header {
    justify-content: space-between;
  }
  .app-header .app-header__content {
    /* visibility: hidden; */
    /* opacity: 0; */
    /* box-shadow: 0 0.46875rem 2.1875rem rgba(0, 0, 0, 0.03), 0 0.9375rem 1.40625rem rgba(0, 0, 0, 0.03), 0 0.25rem 0.53125rem rgba(0, 0, 0, 0.05), 0 0.125rem 0.1875rem rgba(0, 0, 0, 0.03); */
    /* position: absolute;
      left: 5%;
      width: 90%;
      top: 0;
      transition: all .2s;
      background: #fff;
      border-radius: 50px;
      padding: 0 10px;
      overflow: hidden; }
      .app-header .app-header__content .header-btn-lg {
        margin-left: .5rem;
        padding: 0 .5rem; }
        .app-header .app-header__content .header-btn-lg .hamburger-box {
          margin-top: 5px; }
        .app-header .app-header__content .header-btn-lg + .header-btn-lg {
          display: none; }
      .app-header .app-header__content .app-header-left .nav {
        display: none; }
      .app-header .app-header__content.header-mobile-open {
        visibility: visible;
        opacity: 1;
        top: 60px; */
  }
  /* .app-header .app-header__menu {
      display: flex;
      order: 3; } */
}


/*
*  Licensing: http://www.pixeden.com/icon-fonts/stroke-7-icon-font-set
*/
/* @font-face {
    font-family: 'Icon-1';
    src: url("./components/icons/pe7s/fonts/Pe7s-stroke.eot");
    src: url("./components/icons/pe7s/fonts/Pe7s-stroke.eot") format("embedded-opentype"),
        url("./components/icons/pe7s/fonts/Pe7s-stroke.woff") format("woff"),
        url("./components/icons/pe7s/fonts/Pe7s-stroke.ttf") format("truetype"),
        url("./components/icons/pe7s/fonts/Pe7s-stroke.svg#Pe7s-stroke") format("svg");
}
[class^="Icon-1-"], [class*=" Icon-1-"] {
    display: inline-block;
    font-family: 'Icon-1';
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1; */
    /* Better Font Rendering =========== */
    /* -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


.Icon-1-sample:before {
	content: "\e6aa";
}
.Icon-1-arc:before {
	content: "\e6ab";
}
.Icon-1-p7:before {
	content: "\e6ab";
} */
html,
body {
  /* position: fixed; */
  height: 100%;
  margin: 0 0 auto 0;
  overflow-x: hidden;
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-family:
    'Roboto',
    '游ゴシック体',
    'YuGothic',
    '游ゴシック',
    'Yu Gothic',
    -apple-system,
    BlinkMacSystemFont,
    'Rubik',
    'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro',
    'メイリオ',
    'Meiryo',
    sans-serif;
}

p,
a,
button,
span,
input,
textarea,
li,
select,
div,
h1,
h2,
h3,
h4,
h5,
h6 {
  /* font-size: 1em; */
}
.hidden {
  display: none !important;
}

/* Scroll Bar */
::-webkit-scrollbar {
  width: 9px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background-color: rgba(155, 155, 155, 0.5);
  border-radius: 20px;
  border: transparent;
}

/* Error Boundary */
.error-boundary-body-title {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  padding: 60px 20px 20px 20px;
}
.error-boundary-body-message-wrapper {
  display: flex;
  justify-content: center;
}
.error-boundary-body-message {
  max-width: 80%;
  min-width: 50%;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
  padding: 20px 20px 20px 20px;
  border: 1px solid #c4c4c4;
  border-radius: 10px;
}
.error-boundary-body-text {
  font-size: 20px;
  font-weight: 400;
  text-align: center;
  padding: 20px 20px 20px 20px;
}
.error-boundary-body-btn {
  position: absolute;
  width: 160px;
  height: 60px;
  padding: 20px 10px;
  line-height: 16px;
  border-radius: 5px;
  border: 1px solid #c4c4c4;
  background: linear-gradient(to bottom, #ffffff 0%, #e5e8eb 100%) !important;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
  cursor: pointer;
  left: 50%;
  transform: translateX(-50%);
}

/* Error Boundary (End) */

/* Base Frame (Start) */
.app-main {
  background: #eaecef;
}
.app-main.darkmode {
  background: #353535;
}

.app-main .app-main__outer {
  top: 75px;
  width: 100%;
  height: calc(100% - 75px);
  display: flex;
  justify-content: center;
  overflow-x: hidden;
  overflow-y: auto;
}

.app-main__inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
}
.app-main__usermanual {
  position: relative;
  margin: 75px 0px 0px 0px;
}
/* Base Frame (End) */

/* No Service (Start) */
/* No Service (End) */

/* Construction Page */
.construction-message {
  padding: '100px 20px 100px 20px';
}
.construction-svg-wrapper {
  padding: 20px 0px;
  width: 60%;
  max-width: 300px;
  margin: 0px auto;
}

/* No Service (End) */

/* Dark Mode */
.app-page-title.darkmode {
  background: #353535 !important;
  color: #dddddd !important;
}
/* Dark Mode (End) */
.app-header .app-header__content {
  padding: 0px 20px 0px 0px;
}

/*****************************************/
/************ Header (Start) *************/
/* Header - Logo (Start) */
.header-logo {
  transition: width 0.3s;
}
.header-logo {
  padding: 0px 0px 0px 15px;
  height: 40px;
  /* width: 80px; */
  display: flex;
  align-items: center;
  transition: width 0.3s;
}
.header-logo .logo-src {
  width: 150px;
  /* background: url("./utils/images/android-chrome-192x192.png"); */
  background: url(/static/top/static/top/img/Logo_monoedge_edge.svg);
  opacity: 0.9;
  height: 40px;
  background-size: 100px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100px;
  background-size: contain;
}
.header-logo .logo-name {
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  margin-left: 10px;
  white-space: nowrap;
  cursor: pointer;
}
.header-logo .logo-name-vertical {
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  line-height: 13px;
  margin-left: 10px;
  white-space: nowrap;
  cursor: pointer;
  display: none;
}
.header-logo.open {
  width: 200px;
}
/* Header - Logo (End) */

/* Header Right Link > 998 (Start)*/
.app-header-right-links {
  display: flex;
}
.app-header-right-links .app-header-context {
  margin: 0px 20px;
  font-size: 16px;
  color: #ffffff;
  /* cursor: pointer; */
}
.app-header-right-links .app-header-context-text {
  display: flex;
  justify-content: center;
}
.app-header-right-links .app-header-text {
  font-size: 16px;
  color: #ffffff;
  height: 75px;
  line-height: 75px;
  cursor: pointer;
}
.app-header-right-links .app-header-icon {
  font-size: 20px;
  color: #ffffff;
  height: 75px;
  line-height: 75px;
}
/* Header Right Link > 998 (End)*/

/* Header Dialog > 998 (Start)*/
.app-header-dialog {
  position: absolute;
  margin: 0px 0px 0px 0px;
  color: #ffffff;
  background: #4d4d4d;
  transform: translateX(calc(-50% + 40px));
}
.app-header-dialog.horizontal {
  display: flex;
}
.app-header-dialog-link-container {
  color: #ffffff;
  background: #4d4d4d;
}
.app-header-dialog-link {
  width: 200px;
  height: 65px;
  padding: 17px 20px 17px 20px;
  font-size: 16px;
  line-height: 20px;
  color: #ffffff;
  background: #3d3d3d;
  display: flex;
  justify-content: center;
  cursor: pointer;
}
.app-header-dialog-link a {
  color: #ffffff;
}
.app-header-dialog-svg {
  width: 200px;
  background: #3d3d3d;
  display: flex;
  justify-content: center;
  padding: 20px 10px 0px 10px;
}
.app-header-dialog-svg-wrapper {
  width: 60px;
  color: #ffffff;
  background: #3d3d3d;
}
.app-header-dialog-svg-wrapper svg {
  width: 60px;
}
.app-header-dialog-child-container {
  width: 100%;
  /* height: 40px; */
  padding: 12px 20px 12px 20px;
  font-size: 16px;
  color: #ffffff;
  background: #4d4d4d;
}
.app-header-dialog-child-container a {
  color: #ffffff;
  display: flex;
  justify-content: center;
  text-decoration-line: underline;
}
.app-header-dialog-child {
  cursor: pointer;
}
/* Header Dialog > 998 (End)*/

/* Header Pulldown less than 998 (Start)*/
.header-gotoplan {
  background: #494b4d;
  border: 1px solid #eaecef;
  border-radius: 4px;
  margin: 5px 10px 5px 0px;
  padding: 4px 10px 4px 10px;
  height: 40px;
  font-size: 14px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  color: #ffffff;
  cursor: pointer;
}
.header-gotoplan-text {
}
.app-header-dropdown-links {
  position: fixed;
  margin: 11px 0px 0px 0px;
  right: 0;
  color: #ffffff;
  background: #3b3b3b;
  width: 100%;
  max-width: 350px;
  max-height: calc(100% - 65px);
  overflow-y: auto;
}
.app-header-dropdown-title {
  cursor: pointer;
}
.app-header-dropdown-title-text {
  display: flex;
  justify-content: space-between;
  height: 55px;
  font-size: 18px;
  line-height: 18px;
  padding: 18px 20px 18px 20px;
}
.app-header-dropdown-link {
  display: flex;
  justify-content: space-between;
  height: 55px;
  font-size: 18px;
  line-height: 18px;
  padding: 18px 20px 18px 40px;
  color: #ffffff;
  background: #4d4d4d;
  cursor: pointer;
}
.app-header-dropdown-link a {
  color: #ffffff;
}
.app-header-dropdown-link-child {
  height: 55px;
  font-size: 18px;
  line-height: 18px;
  padding: 18px 20px 18px 60px;
  color: #ffffff;
  background: #727272;
}
.app-header-dropdown-link-child a {
  color: #ffffff;
}
.app-header-dropdown-icon {
  margin: -5px 0px 0px 0px;
}
/* Header Pulldown less than 998 (End)*/

/* Header Hamburger (Start)*/
.hamburger-react {
  margin: 0px 0px 0px -5px;
  color: #ffffff;
}
.header-btn-lg {
  width: 40px;
  height: 40px;
  border: 1px solid #ffffff;
  border-radius: 5px;
}
/* Header Hamburger (End)*/

/************* Header (End) **************/
/*****************************************/

/*****************************************/
/************ Vertical Nav (Start) *************/
/* Header - Logo (Start) */
.vertical-nav-header-dummy {
  flex: 1;
  margin: 24px 0px 32px 0px;
}
.vertical-nav-header-dummy span {
  white-space: normal;
  line-height: 18px;
}

/************* Vertical (End) **************/
/*****************************************/

/*****************************************/
/************* Home (Start) **************/
.w400 {
  font-weight: 400;
}
.w700 {
  font-weight: 700;
}
.home-content-container {
  position: relative;
  width: 100%;
}
.home-content-container.table {
  display: table;
  margin-bottom: 0px;
  z-index: 2;
  height: 100%;
}
.home-content-container-cell {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  /* position:absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; */
}
.home-content-img {
  /* margin-top: 20px; */
}
.home-content-text-wrapper {
  padding: 40px 40px 40px 40px;
}
.home-content-text-wrapper.proudlysreve {
  padding: 30px 20px 20px 20px;
}
.home-content-text-wrapper.clients {
  padding: 40px 20px 40px 20px;
}
.home-content-text-title {
  text-align: left;
}
.home-content-text-bold {
  font-weight: 700;
}
.home-content-text-bold.flex {
  display: flex;
}
.home-content-text-bold.center {
  justify-content: center;
}

/* Home - Number of used (Start) */
.home-content-text-wrapper.used {
  padding: 0px 20px 0px 20px;
}

/* Home - Number of used (End) */

/* Home - Top Phrase (Start) */
.home-content-text-wrapper.top-phrase {
  /* padding: 80px 20px 80px 80px; */
  /* padding: 120px 20px 80px 40px; */
  padding: 80px 0px 80px 80px;
}
.home-content-text-title.top-phrase {
  font-size: 60px;
}
/* Home - Top Phrase (End) */

/* Home - Top Explanation (Start) */
.home-content-text-wrapper.top-explanation {
  padding: 0px 40px 0px 40px;
}
.home-content-text-title.top-explanation {
  font-size: 22px;
}
.home-content-text-text {
  font-size: 22px;
}
/* Home - Top Explanation (End) */

/* Home - Sign Up (Start) */
.home-content-container.get-takemyorder {
  text-align: left;
  font-size: 26px;
  background: #3b3b3b;
}
.home-get-takemyorder-img-wrapper {
  width: 100%;
  padding: 0px 20% 0px 20%;
}
.home-get-takemyorder-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.9;
}
.home-get-takemyorder-text {
  /* padding: 5px 20px; */
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
}
.home-signup-img-row {
  display: flex;
  justify-content: center;
  padding: 20px 0px 0px 0px;
}
.home-signup-img-wrapper {
  width: 140px;
  cursor: pointer;
}
.home-signup-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* Home - Sign Up (End) */

/* Home - Explanation (Start) */
.home-content-text-title.explanation {
  text-align: left;
  font-size: 26px;
}
.home-content-text.left {
  text-align: left;
  margin: 0px 0px 0px -16px;
}
.home-content-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* Home - Explanation (End) */

/* Home - Provide (Start) */
.home-content-text-wrapper.provide {
  background: #3b3b3b;
  margin: 30px 20px 20px 20px;
}

.home-content-text-title.provide {
  font-size: 26px;
  color: #fff;
  opacity: 0.8;
  font-weight: 700;
  margin-bottom: 20px;
}
/* Home - Provide (End) */

/* Home - Background (Start) */
.home-content-container.background {
  position: relative;
  text-align: center;
  vertical-align: middle;
  /* height: 1500px; */
  width: 100%;
  /* position:absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; */
}
.home-content-text-wrapper.background {
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}
/* Home - Background (End) */

/* Home - Feature (Start) */
.home-content-container.feature {
  position: relative;
  text-align: center;
  vertical-align: middle;
  /* height: 1500px; */
  padding: 20px 0px 20px 0px;
  /* position:absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; */
}
.home-content-text-wrapper.feature {
  background: #3b3b3b;
  border-radius: 40px;
  margin: 0px 40px 0px 40px;
  padding: 20px 0px 20px 0px;
}

.home-content-text-title.feature {
  font-size: 26px;
  color: #fff;
  font-weight: 700;
  padding: 0px 20px 20px 20px;
  text-align: center;
}
/* Home - Feature (End) */

/* Home - Brand Slider (Start) */
.home-content-container.brand-slider {
  position: relative;
  width: 100%;
  max-width: 100% !important;
  text-align: center;
  vertical-align: middle;
  padding: 40px 0px 40px 0px;
  height: 280px;
  background-color: #3b3b3b;
  margin: 0px 0px 20px 0px;
}
.home-brand-slider-wrapper {
  position: relative;
  width: 100%;
  height: 140px;
}
.home-brand-slider-block {
  width: 180px;
  height: 180px;
  background-size: 180px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 180px;
  background-size: contain;
}
.home-brand-slider-block.CityBarkery_300x300 {
  background: url(/static/top/static/top/img/CityBarkery_300x300.png);
}
.home-brand-slider-block.DimbulahCoffee_300x300 {
  background: url(/static/top/static/top/img/DimbulahCoffee_300x300.png);
}
.home-brand-slider-block.Kawakamian_300x300 {
  background: url(/static/top/static/top/img/Kawakamian_300x300.png);
}
.home-brand-slider-block.Sawamura_300x300 {
  background: url(/static/top/static/top/img/Sawamura_300x300.png);
}
.home-brand-slider-block.Suju_300x300 {
  background: url(/static/top/static/top/img/Suju_300x300.png);
}
.home-brand-slider-wrapper .slick-dots button:before {
  color: #c4c4c4;
}
.home-brand-slider-wrapper .slick-dots li.slick-active button:before {
  color: #ffffff;
}
/* Home - Brand Slider (End) */

/* Home - Price (Start) */
.home-content-container.price {
  position: relative;
  text-align: center;
  vertical-align: middle;
  /* height: 1500px; */
  padding: 20px 0px 20px 0px;
  /* position:absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%; */
}
.home-content-text-wrapper.price {
  background: #3b3b3b;
  border-radius: 40px;
  margin: 0px 40px 0px 40px;
  padding: 20px 0px 20px 0px;
}
.home-content-text-title.price {
  font-size: 26px;
  color: #fff;
  font-weight: 700;
  padding: 0px 20px 20px 20px;
  text-align: center;
}
.home-content-price-text-title {
  font-size: 20px;
}
.home-content-price-text-title-row {
  display: flex;
  justify-content: center;
  font-size: 36px;
  line-height: 36px;
  padding: 10px 0px 10px 0px;
}
.home-content-price-text-title-row .small {
  font-size: 14px;
  margin-top: 6px;
}

.home-content-price-container-wrapper {
  padding: 20px 20px 0px 20px;
}
.home-content-price-container {
  padding: 20px 20px 20px 20px;
  background: #4b4b4b;
  color: #ffffff;
}
.home-content-price-text-title {
  font-size: 24px;
}
.home-content-price-table {
  padding-left: 0px;
  padding-right: 0px;
}
.home-content-price-text-splitter {
  border-bottom: 1px solid #c4c4c4;
  margin: 20px 20px 20px 20px;
}
.home-content-price-row {
  display: flex;
  justify-content: flex-start;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
}
.home-content-price-icon-wrapper {
  width: 30px;
  margin-right: 10px;
}
.home-content-price-text-wrapper {
  width: (100% - 30px);
}
.resource-price-title {
  margin: 0px 0px 10px 0px;
}
.resource-price-title-title {
  width: 100%;
  padding: 40px 20px 20px 20px;
  text-align: center;
  font-size: 30px;
}
.resource-price-title-subtitle {
  width: 100%;
  padding: 0px 20px 0px 20px;
  text-align: center;
  font-size: 20px;
}
.home-content-price-plan-container {
  width: 100vw;
  display: flex;
  justify-content: space-around;
  /* padding: 0px 25px; */
}
.home-content-price-plan-box-wrapper,
.home-content-price-option-box-wrapper {
  margin: 20px 5px;
  position: relative;
  display: flex;
  justify-content: center;
  height: 100%;
  padding: 0px 0px 20px 0px;
}
.home-content-price-plan-box-wrapper {
  /* justify-content: right; */
  justify-content: center;
}
.home-content-price-option-box-wrapper {
  /* justify-content: left; */
  justify-content: center;
}
.home-content-price-plan-box,
.home-content-price-option-box {
  width: calc(100% - 40px);
  max-width: 700px;
  width: 100%;
  /* margin: 20px 20px; */
  position: relative;
  border: 1px solid #c4c4c4;
  border-radius: 10px;
  background: #f6f8fa;
  z-index: 1;
}
.home-content-price-plan-background-image {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  z-index: -1;
}
.home-content-price-plan-title,
.home-content-price-option-title {
  font-size: 26px;
  padding: 0px 20px 0px 20px;
}
.home-content-price-plan-description {
  font-size: 18px;
  padding: 20px 20px 0px 20px;
}
.home-content-price-plan-price {
  font-size: 36px;
  padding: 0px 20px 0px 20px;
}
.home-content-price-plan-feature-container,
.home-content-price-option-feature-container {
  padding: 20px 20px 0px 20px;
}
.home-content-price-plan-feature-earlybird {
  font-size: 30px;
}
.home-content-price-plan-feature-earlybird.green {
  color: #3b8671;
}
.home-content-price-plan-feature-earlybird.orange {
  color: #c58816;
}
.home-content-price-plan-feature-allfree {
  font-size: 26px;
}
.home-content-price-plan-feature-allfree.flex {
  display: flex;
  justify-content: center;
}
.home-content-price-plan-feature-allfreebox {
  padding: 10px 10px 10px 10px;
  border: 1px solid #c4c4c4;
  border-radius: 10px;
  font-size: 17px;
}
.home-content-price-plan-feature-allfreebox.green {
  border: 2px solid #02db9f;
}
.home-content-price-plan-feature-allfreebox.orange {
  border: 2px solid #ffb52c;
}
.home-content-price-plan-feature-allfreebox.red {
  border: 2px solid #ff5c5c;
}
.home-content-price-plan-feature-price-text {
  font-size: 30px;
}
.home-content-price-plan-feature,
.home-content-price-option-feature {
  padding: 5px 10px 5px 10px;
}
.home-content-price-plan-feature.flex,
.home-content-price-option-feature.flex {
  display: flex;
  justify-content: flex-start;
}
.home-content-price-plan-feature-icon-wrapper,
.home-content-price-option-feature-icon-wrapper {
  font-size: 30px;
  height: 30px;
  line-height: 30px;
  margin: -2px 10px 0px 0px;
}
.home-content-price-plan-feature-icon-wrapper.green,
.home-content-price-option-feature-icon-wrapper.green {
  color: #02db9f;
}
.home-content-price-plan-feature-icon-wrapper.orange,
.home-content-price-option-feature-icon-wrapper.orange {
  color: #ffb52c;
}
.home-content-price-plan-feature-icon-wrapper.red,
.home-content-price-option-feature-icon-wrapper.red {
  color: #ff5c5c;
}
.home-content-price-plan-feature-text,
.home-content-price-option-feature-text {
  min-height: 30px;
  padding: 7px 0px 0px 0px;
  line-height: 16px;
}
.home-content-price-option-feature-price {
  font-size: 16px;
  font-weight: 400;
  text-align: right;
}
.home-content-price-plan-feature-text.center {
  text-align: center;
}
.home-content-price-option-feature-comment {
  margin: 40px 10px 0px 15px;
}
.home-content-price-plan-pp-tc-box {
  padding: 20px 20px 20px 40px;
}
.home-content-price-plan-pp-tc-text {
  font-size: 13px;
  margin-left: 15px;
}
.home-content-price-plan-pp-tc-error {
  color: #ff0000;
  padding: 0px 0px 0px 30px;
}

.home-content-price-plan-choose-btn {
  padding: 15px 10px 15px 10px;
  /* background: rgba(64, 96, 255, 0.8); */
  color: rgb(0, 0, 0);
  /* border: 1px solid rgb(161, 161, 161);
  border-radius: 4px; */
  /* height: 75px; */
  line-height: 30px;
  text-align: center;
  /* width: 100%; */
  cursor: pointer;
  margin: 20px 20px 0px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.home-content-price-plan-choose-btn.green {
  background: #02db9f11;
  border: 2px solid #02db9f;
  color: hsl(210deg 8.75% 31.37%);
  border-radius: 4px;
  font-size: 24px;
}
.home-content-price-plan-choose-btn.orange {
  background: #ffb52c11;
  border: 2px solid #ffb52c;
  border-radius: 4px;
}
.home-content-price-plan-choose-btn.red {
  background: #ff5c5c11;
  border: 2px solid#ff5c5c;
  border-radius: 4px;
}
/* Home - Price (End) */

/* ========================================
   Price Page Enhanced Styles
   ======================================== */

/* Free Banner at the top */
.resource-price-free-banner {
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  border-radius: 16px;
  padding: 40px 30px;
  /* margin-bottom: 50px; */
  margin-top: 75px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.resource-price-free-banner-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2e7d32;
  margin-bottom: 15px;
  line-height: 1.3;
}

.resource-price-free-banner-subtitle {
  font-size: 1.4rem;
  color: #388e3c;
  font-weight: 500;
  margin: 10px;
}

.resource-price-free-banner-badge {
  display: inline-block;
  background: #4caf50;
  color: white;
  padding: 8px 24px;
  border-radius: 24px;
  font-size: 1rem;
  font-weight: 600;
  margin: 0px 0px 20px;
}

/* Price Comparison */
.resource-price-comparison {
  text-align: center;
  margin: 25px 0;
  padding: 20px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 12px;
}

.resource-price-comparison-original {
  font-size: 1.1rem;
  color: #666;
  text-decoration: line-through;
  margin-bottom: 8px;
}

.resource-price-comparison-arrow {
  font-size: 1.5rem;
  color: #4caf50;
  margin: 5px 0;
  font-weight: bold;
}

.resource-price-comparison-free {
  font-size: 1.8rem;
  color: #2e7d32;
  font-weight: 700;
}

/* Enhanced Early Bird Campaign */
.home-content-price-plan-feature-earlybird.enhanced {
  padding: 30px 20px !important;
  background: linear-gradient(135deg, rgba(76, 175, 80, 0.15) 0%, rgba(46, 125, 50, 0.1) 100%);
  border-radius: 12px;
  margin-bottom: 25px;
}

.home-content-price-plan-feature-earlybird.enhanced > div {
  font-size: 1.1rem !important;
  line-height: 1.6;
}

/* FREE Badge */
.resource-price-free-badge {
  display: inline-block;
  background: #4caf50;
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  margin-left: 8px;
  vertical-align: middle;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Enlarged Standard Plan */
.home-content-price-plan-box-wrapper.enlarged {
  margin: 0px -10px;
}

.home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-box {
  padding: 30px 30px;
}
@media (max-width: 575px) {
  .home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-box {
    padding: 30px 15px;
  }
}
@media (max-width: 435px) {
  .home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-box {
    padding: 30px 0px;
  }
}

.home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-title {
  font-size: 2.2rem !important;
}

.home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-price {
  font-size: 3rem !important;
}

.home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-feature-icon-wrapper {
  width: 30px !important;
  height: 30px !important;
  font-size: 20px !important;
}

/* Minimal Additional Options */
.home-content-price-option-box-wrapper.minimal {
  margin-top: 40px;
  margin-bottom: 40px;
  /* opacity: 0.75; */
}

.home-content-price-option-box-wrapper.minimal .home-content-price-option-box {
  background: #f5f5f5 !important;
  border: 1px solid #e0e0e0;
  padding: 25px 20px;
}

.home-content-price-option-box-wrapper.minimal .home-content-price-option-title {
  font-size: 1.1rem !important;
  color: #757575 !important;
  margin-bottom: 15px;
}

.home-content-price-option-box-wrapper.minimal .home-content-price-option-feature-text {
  font-size: 0.9rem !important;
  color: #757575 !important;
}

.home-content-price-option-box-wrapper.minimal .home-content-price-option-price {
  font-size: 1rem !important;
  color: #757575 !important;
}

.home-content-price-option-box-wrapper.minimal .home-content-price-option-feature-icon-wrapper {
  color: #9e9e9e !important;
}

.resource-price-option-note {
  text-align: center;
  color: #757575;
  font-size: 0.95rem;
  font-style: italic;
  margin-top: 15px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 8px;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
  .resource-price-free-banner {
    margin-top: 56px;
  }
  .resource-price-free-banner-title {
    font-size: 2rem;
  }

  .resource-price-free-banner-subtitle {
    font-size: 1.2rem;
  }

  .home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-title {
    font-size: 1.8rem !important;
  }

  .home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-price {
    font-size: 2.5rem !important;
  }
}

@media (max-width: 767.98px) {
  .resource-price-free-banner {
    padding: 30px 20px;
    margin-bottom: 0px;
  }

  .resource-price-free-banner-title {
    font-size: 1.6rem;
  }

  .resource-price-free-banner-subtitle {
    font-size: 1rem;
  }

  .home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-title {
    font-size: 1.5rem !important;
  }

  .home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-price {
    font-size: 2rem !important;
  }
}

/* ============================================
   Button Click Enhancement Styles
   ============================================ */

/* Shine animation keyframes */
@keyframes shine {
  0% {
    left: -100%;
  }
  20% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

/* Enhanced button with shine effect */
.home-content-price-plan-choose-btn.green {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  font-weight: 600;
}

/* Shine effect layer */
.home-content-price-plan-choose-btn.green::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  animation: shine 3s infinite;
  pointer-events: none;
}

/* Hover effects */
.home-content-price-plan-choose-btn.green:hover {
  background: #02db9f44 !important;
  border-width: 4px !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(2, 219, 159, 0.3);
}

.home-content-price-plan-choose-btn.green:active {
  transform: translateY(0);
  box-shadow: 0 4px 8px rgba(2, 219, 159, 0.2);
}

/* Tooltip/Callout styles */
.button-tooltip {
  position: absolute;
  top: -50px;
  right: -10px;
  background: #02db9f;
  color: white;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(2, 219, 159, 0.4);
  animation:
    tooltip-pulse 2s infinite,
    tooltip-bounce 1s ease-in-out infinite;
  z-index: 10;
}

/* Tooltip arrow */
.button-tooltip::after {
  content: '';
  position: absolute;
  bottom: -8px;
  right: 20px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #02db9f;
}

/* Tooltip animations */
@keyframes tooltip-pulse {
  0%,
  100% {
    box-shadow: 0 4px 12px rgba(2, 219, 159, 0.4);
  }
  50% {
    box-shadow: 0 4px 20px rgba(2, 219, 159, 0.6);
  }
}

@keyframes tooltip-bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

/* Responsive tooltip positioning */
@media (max-width: 767.98px) {
  .button-tooltip {
    top: -45px;
    right: 50%;
    transform: translateX(50%);
    font-size: 12px;
    padding: 6px 10px;
  }

  .button-tooltip::after {
    right: 50%;
    transform: translateX(50%);
  }
}

/* ============================================
   FREE Badge Layout Fix
   ============================================ */

/* Flexbox layout for feature text with FREE badge to prevent wrapping */
.home-content-price-plan-feature-text.green.center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  line-height: 1.8;
  min-height: 40px;
}

/* Ensure badge stays inline */
.home-content-price-plan-feature-text.green.center .resource-price-free-badge {
  flex-shrink: 0;
  white-space: nowrap;
}

/* Responsive adjustments for mobile */
@media (max-width: 767.98px) {
  .home-content-price-plan-feature-text.green.center {
    font-size: 0.95rem;
    gap: 3px;
    min-height: 36px;
  }

  .resource-price-free-badge {
    font-size: 0.7rem;
    padding: 3px 10px;
    margin-left: 4px;
  }
}

@media (max-width: 575.98px) {
  .home-content-price-plan-feature-text.green.center {
    font-size: 0.9rem;
  }

  .resource-price-free-badge {
    font-size: 0.65rem;
    padding: 2px 8px;
  }
}

/* Home - Comparison (Start) */
.home-content-container.comparison {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 20px 0px 20px 0px;
}
.home-content-text-wrapper.comparison {
  background: #3b3b3b;
  border-radius: 40px;
  margin: 0px 40px 0px 40px;
  padding: 20px 0px 20px 0px;
}
.home-content-text-title.comparison {
  font-size: 26px;
  color: #fff;
  font-weight: 700;
  padding: 0px 20px 20px 20px;
  text-align: center;
}
/* Home - Comparison (End) */

/* Home - FAQ (Start) */
.home-content-container.faq {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 20px 0px 0px 0px;
}
.home-content-text-wrapper.faq {
  background: #3b3b3b;
  padding: 20px 0px 0px 0px;
}
.home-content-text-title.faq {
  font-size: 26px;
  color: #fff;
  font-weight: 700;
  padding: 0px 20px 20px 20px;
  text-align: center;
}
.faqbox-question {
  display: flex;
  justify-content: flex-start;
  font-size: 18px;
  text-align: left;
  color: #4b4b4b;
  background-color: #f4f4f4;
  border-bottom: 1px solid #c4c4c4;
  padding: 18px;
  width: 100%;
  cursor: pointer;
}
.faqbox-question-icon-wrapper {
  margin-right: 5px;
}
.faqbox-question-svg {
  width: 20px;
  height: 20px;
  margin: -2px 0px 0px 0px;
  fill: #4b4b4b;
}
.faqbox-answer-container {
  padding: 20px;
  animation: fadein 0.35s ease-in;
  background-color: #4b4b4b;
}
.faqbox-answer-text {
  color: #ffffff;
  font-size: 18px;
  margin-bottom: 0.5rem;
  font-weight: 100;
  line-height: 1.2;
  text-align: left;
}
.faqbox-question {
  background-color: #f4f4f4;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  text-align: left;
  border: none;
  cursor: pointer;
}
/* Home - FAQ (End) */

/* Reservation (Start) */
.home-content-text-icon-wrapper {
  margin: -3px 6px 0px 0px;
  font-size: 16px;
}
.home-content-text-text {
  margin: 0px 0px 6px 0px;
}
.home-content-text-text.flex {
  display: flex;
  justify-content: flex-start;
}
.home-content-text-text.left {
  display: flex;
  justify-content: flex-start;
}
.home-content-text-text.center {
  display: flex;
  justify-content: center;
}
.font18 {
  font-size: 18px !important;
  line-height: 22px !important;
}
.font20 {
  font-size: 20px !important;
  line-height: 24px !important;
}
.font22 {
  font-size: 22px !important;
  line-height: 28px !important;
}
.font30 {
  font-size: 30px !important;
  line-height: 36px !important;
}
.font60 {
  font-size: 60px !important;
  line-height: 70px !important;
}
.home-content-text-title.reseravtion {
  /* height: 36px; */
  margin: 0px 0px 10px 0px;
  font-size: 26px;
  font-weight: 700;
  line-height: 26px;
  text-align: left;
}
.home-content-text-text.reseravtion {
  font-size: 17px;
  line-height: 22px;
  text-align: left;
}
/* Reservation (End) */

/* Home - SNS (Start) */
.home-content-container.sns {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 0px 0px 20px 0px;
}
.home-content-text-wrapper.sns {
  background: #3b3b3b;
  padding: 20px 0px 20px 0px;
}
.sns-icon {
  width: 60px;
  height: 60px;
  fill: #ffffff;
}
.sns-context-title {
  font-size: 24px;
  color: #fff;
  font-weight: 700;
  padding: 0px 20px 5px 20px;
  text-align: center;
}
.sns-context-text {
  font-size: 20px;
  color: #fff;
  font-weight: 400;
  padding: 0px 20px 20px 20px;
  text-align: center;
}
.sns-context-text.line {
  line-height: 50px;
}
.sns-image-wrapper {
  position: relative;
  overflow: hidden;
  display: inline-block;
  width: 100px;
  height: 100px;
}
.sns-image-line-qrcode {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  transition: opacity 500ms ease 0s;
}
.sns-context-text-wrapper {
  display: flex;
  justify-content: center;
}
.sns-context-img-wrapper {
  width: 100px;
  margin: 0px auto;
}
.sns-context-text.center {
  font-size: 13px;
  text-align: center;
}
/* Home - SNS (End) */

/* Home - Copyright (Start) */
.home-content-container.copyright {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 20px 0px 20px 0px;
}
.home-content-text-wrapper.copyright {
  padding: 20px 0px 20px 0px;
}
.home-content-copyright {
  display: flex;
  justify-content: center;
  font-size: 14px;
}
/* Home - Copyright (End) */

/* WhoUse - Restaurant (Start) */
.home-content-server-btn-next.pp {
  background: #f3f5f8;
  color: #495057;
  border: 1px solid rgb(131 134 140);
  border-radius: 3px;
  height: 60px;
  width: 40%;
  min-width: 80px;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  padding: 20px 0px 20px 0px;
  cursor: pointer;
  margin: 10px auto 40px;
}
/* WhoUse - Restaurant (End) */

/* WhoUse - Findmenu (Start) */
.whouse-findname-btn {
  background: #f3f5f8;
  color: #495057;
  border: 1px solid rgb(131 134 140);
  border-radius: 3px;
  height: 60px;
  width: calc(100% - 20px);
  min-width: 120px;
  max-width: 400px;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  padding: 20px 0px 20px 0px;
  cursor: pointer;
  margin: 10px auto 40px;
}
.whouse-findname-btn.disabled {
  background: #fafafa;
  color: #495057;
  border: 1px solid rgb(131 134 140);
  border-radius: 3px;
  height: 60px;
  width: 90%;
  min-width: 80px;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  padding: 20px 0px 20px 0px;
  cursor: pointer;
  margin: 10px auto 40px;
}
.whouse-findmenu-content-container {
  position: relative;
  width: 100%;
  padding: 20px 20px 20px 20px;
}
.whouse-findname-menu-title {
  width: 100%;
  margin: 0px 20px 40px 0px;
  text-align: center;
}
.whouse-findname-menu-table {
  position: relative;
  background: #f6f6f6;
}
/* パターン3: 光が駆け抜けるテキスト */
.loading-text-shine {
  /* グラデーションを背景として設定 */
  background: linear-gradient(to right, #333 40%, #eee 50%, #333 60%);
  background-size: 200% auto; /* 背景サイズを2倍にして動かす領域を作る */

  /* テキストの色を透明にする */
  color: transparent;

  /* 背景をテキストの形で切り抜く */
  background-clip: text;
  -webkit-background-clip: text; /* Safari/Chromeなどのベンダープレフィックス */

  animation: shine 2s linear infinite;
}

@keyframes shine {
  to {
    background-position: -200% center; /* 背景の位置をずらして光って見せる */
  }
}

.server-selection-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  max-width: 800px;
  margin: 0 auto;
}

.server-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 15px;
  border: 2px solid #ccc;
  border-radius: 8px;
  background-color: #fff;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  min-height: 180px;
  text-align: center;
}

.server-card:hover:not(.disabled) {
  border-color: #007bff;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2);
  transform: translateY(-3px);
}

.server-card.selected {
  border-color: #28a745;
  background-color: #e9f5ec;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
}

.server-card.disabled {
  cursor: not-allowed;
  background-color: #f8f9fa;
  opacity: 0.6;
}

.server-card-header {
  width: 100%;
}

.server-name {
  font-size: 1.1rem;
  font-weight: 700;
}

.server-location {
  font-size: 0.9rem;
  color: #6c757d;
}

.server-card-body {
  margin: 15px 0;
}

.server-card-footer {
  font-size: 1rem;
  font-weight: 500;
  color: #333;
}

/* WhoUse - Findmenu (End) */

/* UserManual (End) */
.usermanual-content-container {
  position: relative;
  width: 100%;
}
.usermanual-content-container.table {
  display: table;
  margin-bottom: 0px;
  z-index: 2;
  height: 100%;
}
.usermanual-content-container-cell {
  display: table-cell;
  /* text-align: center; */
  /* vertical-align: middle; */
}
.usermanual-content-text-wrapper {
  padding: 40px 40px 40px 0px;
}
.usermanual-content-text-title {
  text-align: left;
  font-size: 20px;
}
.usermanual-content-text-text {
  font-size: 16px;
}

/* Long-form manual rows. The back-office articles explain a screen field by field, so they
   need a term label, a numbered step and a caution box that the two original classes
   (title 20px / text 16px) could not carry. */
.usermanual-content-text-text b.um-term {
  font-weight: 700;
  color: #1f1f1f;
}
.usermanual-content-text-text.um-warn > div:last-child {
  border-left: 3px solid #d98c00;
  padding-left: 12px;
}
.usermanual-content-text-wrapper.um-note {
  background: #fbf7ee;
  border-radius: 8px;
  padding: 24px 40px 14px 24px;
}
.usermanual-content-text-wrapper.um-note .usermanual-content-text-title {
  color: #8a5a00;
}
.um-step-num {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  margin: 0px 14px 0px 40px;
  border-radius: 50%;
  background: #3b3b3b;
  color: #ffffff;
  font-size: 14px;
  line-height: 26px;
  text-align: center;
}

/* UserManual (End) */

/* WordpressRestaurantPlugin - Top Phrase (Start) */
/* WordpressRestaurantPlugin - Top Phrase (End) */

/* WixApp - Top Phrase (Start) */
.home-content-text-wrapper.wix-app {
  padding: 120px 0px 80px 40px;
}
.home-content-text-title.wix-app {
  font-size: 46px;
}
/* WixApp - Top Phrase (End) */

/* Privacy Policy (Start) */
.home-content-container.pp {
  padding: 0px 20px;
}
.home-content-text-text.pp.disclaimer {
  margin: 10px 0px 20px 0px;
  padding: 20px 20px 20px 20px;
  border: 1px solid #c4c4c4;
  border-radius: 10px;
  font-size: 16px;
  line-height: 22px;
  text-align: left;
  background: #f8f8f8;
}
.home-content-text-text.pp.title {
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  text-align: center;
}
.home-content-text-text.pp.content {
  font-size: 14px;
  line-height: 20px;
  text-align: left;
}
.disclaimer-title {
  font-weight: 700;
  margin-bottom: 10px;
}
.disclaimer-content {
  font-size: 13px;
  line-height: 14px;
}
.content-paragraph {
  padding: 5px 10px;
}
.home-content-server-btn-next.pp {
  background: #f3f5f8;
  color: #495057;
  border: 1px solid rgb(131 134 140);
  border-radius: 3px;
  height: 60px;
  width: 40%;
  min-width: 80px;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  padding: 20px 0px 20px 0px;
  cursor: pointer;
  margin: 10px auto 40px;
}
/* Privacy Policy (End) */

/* Terms and Condition (Start) */
.home-content-container.tc {
  padding: 0px 20px;
}
.home-content-text-text.tc.disclaimer {
  margin: 10px 0px 20px 0px;
  padding: 20px 20px 20px 20px;
  border: 1px solid #c4c4c4;
  border-radius: 10px;
  font-size: 16px;
  line-height: 22px;
  text-align: left;
  background: #f8f8f8;
}
.home-content-text-text.tc.title {
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  text-align: center;
}
.home-content-text-text.tc.content {
  font-size: 14px;
  line-height: 20px;
  text-align: left;
}
.disclaimer-title {
  font-weight: 700;
  margin-bottom: 10px;
}
.disclaimer-content {
  font-size: 13px;
  line-height: 14px;
}
.content-paragraph {
  padding: 5px 10px;
}
.content-paragraph.overflowwrap {
  overflow-wrap: anywhere;
}
.content-inline-block {
  display: inline;
}
.home-content-server-btn-next.tc {
  background: #f3f5f8;
  color: #495057;
  border: 1px solid rgb(131 134 140);
  border-radius: 3px;
  height: 60px;
  width: 40%;
  min-width: 80px;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  padding: 20px 0px 20px 0px;
  cursor: pointer;
  margin: 10px auto 40px;
}
/* Terms and Condition (End) */

.container-body {
  height: 9000px;
}
.spinner {
  width: 140px;
  height: 140px;
  background-color: cornflowerblue;
  margin: auto;
  margin-top: 55%;
}
.padding-40 {
  padding: 40px 40px 40px 40px;
}

/* Sidebar */
.sidebar-screen {
  display: none;
  background: #41414150;
  height: 100vh;
  width: 100vw;
}
.sidebar-wrapper {
  /* The manual sidebar scrolls on its own: sticking it to the top of
     .app-main__outer (the page's scroll container) keeps the article list in
     place while the article body scrolls. align-self is required because a
     stretched flex item can never stick. */
  position: sticky;
  top: 0;
  align-self: flex-start;
  height: calc(100vh - 75px);
  min-height: 0;
  z-index: 100;
}
.sidebar-wrapper .ps-sidebar-root {
  height: 100%;
}
.sidebar-wrapper .ps-sidebar-container {
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.ps-submenu-expand-icon > span:first-child {
  width: 10px;
  height: 10px;
}
/* Sidebar (End) */

.rm-pointers {
  box-shadow: 0px 0px 25px 10px rgb(0 0 0 / 10%);
  background: rgb(255 255 255);
  border: 1px solid #b3b3b3;
}
.rm-pointers .splitter {
  border-top: 1px solid #c4c4c4;
  height: 0px;
  margin: 0px 20px 10px 20px;
}
.custom-nav-link {
  color: #495057 !important;
  display: flex;
  align-items: center;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
  cursor: pointer;
  font-weight: normal;
  font-size: 16px;
}
.nav-link {
  color: #495057 !important;
  display: flex;
  align-items: center;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
  cursor: pointer;
  font-weight: normal;
  font-size: 16px;
}
.custom-nav-link:hover {
  color: #114880 !important;
}
.nav-link:hover {
  color: #114880 !important;
}

/* Component */
.input:focus {
  outline: none !important;
  border: 1px solid red;
  box-shadow: 0 0 10px #719ece;
}

.notice-wrapper {
  position: fixed;
  right: 0;
  background: #ffffff00;
  width: 50%;
  min-width: 500px;
  padding-right: 15px;
}
.notice-content {
  display: flex;
  width: 100%;
  margin: 5px 20px 5px 0px;
  box-shadow: 5px 5px 10px rgb(0 0 0 / 75%);
  padding: 10px 20px 10px 20px;
  border-radius: 5px;
}
.notice-content-left {
  width: calc(100% - 30px);
}
.notice-content-right {
  width: 60px;
}

.notice-content-cancel {
  position: relative;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  color: #ffffff;
  font-size: 40px;
  border: 2px solid #ffffff;
  border-radius: 100px;
  cursor: pointer;
}
.notice-content-cancel-icon {
  margin: -15px 0px 0px -2px;
}

/* Time Picker*/
/* {
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
} */

/* Succeeded Style */
.succeeded-screen {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 100000;
  background: rgba(255, 255, 255, 0);
}
.succeeded-screen .hidden {
  display: none;
}
.succeeded-dialog {
  margin: 0;
  position: fixed;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);

  font-size: 20px;
  color: rgba(33, 107, 243, 0.8);
  font-weight: 900;
  background-image: linear-gradient(to bottom right, #f0f0f0, #cacaca);
  z-index: 300000;

  width: 30%;
  padding: 10px 10px;
  border: 2px solid rgba(33, 107, 243, 0.8);
  border-radius: 10px;
  box-shadow: 5px 5px 10px rgb(131, 131, 131);
}
.succeeded-dialog .hidden {
  display: none;
}
.succeeded-dialog-wrapper {
  margin: 10px;
}
.succeeded-dialog-body {
  text-align: center;
  margin-bottom: 20px;
}
/* Succeeded Style (End) */

/* Failed Style */
.failed-screen {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 500000;
  background: rgba(135, 135, 135, 0.6);
}
.failed-screen .hidden {
  display: none;
}
.failed-dialog {
  margin: 0;
  position: fixed;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);

  font-size: 20px;
  color: rgba(255, 0, 0, 0.8);
  font-weight: 900;
  background-image: linear-gradient(to bottom right, #f0f0f0, #cacaca);
  z-index: 5000000;

  width: 50%;
  padding: 10px 10px;
  border: 2px solid rgba(255, 0, 0, 0.8);
  border-radius: 10px;
  box-shadow: 5px 5px 10px rgb(131, 131, 131);
}
.failed-dialog .hidden {
  display: none;
}
.failed-dialog-wrapper {
  margin: 10px;
}
.failed-dialog-body {
  text-align: center;
  margin-bottom: 20px;
}
.failed-dialog-btn {
  text-align: center;
  background: rgba(255, 0, 0, 0.8);
  border: 2px solid rgba(255, 0, 0, 0.8);
  border-radius: 10px;
  color: rgb(255, 255, 255);
}
/* Failed Style (End) */

/* QuickError Style */
/* Succeeded Style (End) */
/* Confirm BOx  Style */
.confirm-screen {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 100000;
  background: rgba(135, 135, 135, 0.6);
}
.confirm-screen .hidden {
  display: none;
}
.confirm-dialog {
  margin: 0;
  position: fixed;
  top: 50%;
  left: calc(50% + 30px);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);

  font-size: 20px;
  color: rgba(63, 63, 63, 0.8);
  font-weight: 900;
  background-image: linear-gradient(to bottom right, #f0f0f0, #cacaca);
  z-index: 500000;

  width: 70%;
  padding: 10px 10px;
  border: 2px solid rgba(236, 236, 236, 0.8);
  border-radius: 10px;
  box-shadow: 5px 5px 10px rgb(131, 131, 131);
}
.confirm-dialog .hidden {
  display: none;
}
/* Failed Style (End) */
.fade-enter {
  opacity: 0;
}
.fade-enter-active {
  transition: all 1s ease;
  color: red;
  opacity: 1;
}
.fade-enter-done {
  color: blue;
  opacity: 1;
}
.fade-exit {
  opacity: 1;
}
.fade-exit-active {
  transition: all 1s ease;
  opacity: 0.5;
}

/* Header Animation */

/* Sidebar Animation */

/* Main Animation */

@keyframes color-change {
  0% {
    color: #ff0000;
  }
  50% {
    color: #000000;
  }
  100% {
    color: #ff0000;
  }
}

/* ////////////////////////////////////////////////////////////// */
/* Responsive */
@media (max-width: 991.98px) {
  .app-main__usermanual {
    margin: 55px 0px 0px 0px;
  }
  .loader-content-wrapper {
    /* width: calc(100% - 10px); */
  }
  .app-header {
    height: 55px;
  }
  .app-header-dropdown-links {
    margin: 3px 0px 0px 0px;
  }
  .app-main .app-main__outer {
    top: 55px;
    height: calc(100% - 55px);
  }
  .header-logo {
    padding: 0px 0px 0px 5px;
  }
  .vertical-nav-header-dummy {
    flex: 1;
    margin: 20px 0px 32px 0px;
  }
  .sidebar-wrapper {
    position: static;
    height: auto;
  }
  .sidebar-wrapper .ps-sidebar-root,
  .sidebar-wrapper .ps-sidebar-container {
    height: 100%;
  }
  .confirm-dialog {
    left: 50%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* Home - Top Phrase*/
  .home-content-text-wrapper.top-phrase {
    padding: 60px 0px 60px 60px;
  }

  .home-content-text-title.top-phrase {
    font-size: 46px;
  }
}

/* most of Mobile*/
@media (max-width: 767.98px) {
  .home-content-text-wrapper.top-phrase {
    padding: 60px 0px 60px 60px;
  }

  .home-content-text-title.top-phrase {
    font-size: 46px;
  }
  /* Home - Slider*/
  .home-content-container.brand-slider {
    padding: 30px 0px 30px 0px;
    height: 240px;
  }
  .home-brand-slider-wrapper {
    width: 100%;
    height: 160px;
  }
  .home-brand-slider-block {
    width: 160px;
    height: 160px;
    background-size: 160px;
    background-size: 160px;
  }

  /* Comparison */

  /* SNS */
  .sns-context-title {
    padding: 0px 20px 0px 20px;
  }

  /* User Manual */
  .usermanual-content-text-wrapper {
    padding: 40px 40px 40px 40px;
  }

  .resource-price-title {
    margin: 0px 0px 10px 0px;
    /* padding: 0px 25px; */
  }
  .resource-price-title-subtitle {
    font-size: 16px;
  }
}

/* most of Mobile*/
@media (max-width: 575.98px) {
  /* .app-page-title {
    padding: 2px 0px 2px 0px;
  } */

  .app-header-dropdown-links {
    max-width: none;
  }

  .home-content-img-wrapper {
    padding: 20px 40px 20px 40px;
  }
  .usermanual-content-img-wrapper {
    padding: 20px 40px 20px 40px;
  }
  .home-content-text-wrapper.top-phrase {
    padding: 40px 40px 40px 40px;
  }

  /* Home - Slider*/
  .home-content-container.brand-slider {
    padding: 30px 0px 30px 0px;
    height: 220px;
  }
  .home-brand-slider-wrapper {
    width: 100%;
    height: 140px;
  }
  .home-brand-slider-block {
    width: 140px;
    height: 140px;
    background-size: 140px;
    background-size: 140px;
  }

  /* Comparison */
  .sns-icon {
    width: 40px;
    height: 40px;
  }

  .home-content-price-plan-feature-container,
  .home-content-price-option-feature-container {
    padding: 20px 10px 0px 10px;
  }
}

/* most of Mobile*/
@media (max-width: 479.98px) {
  .header-logo .logo-name {
    display: none;
  }
  .header-logo .logo-name-vertical {
    display: block;
  }

  .header-gotoplan {
    padding: 4px 5px 4px 5px;
  }
  .header-gotoplan-text {
    font-size: 13px;
  }
  /* .app-page-title {
    padding: 2px 0px 2px 0px;
  } */

  .app-header-dropdown-links {
    max-width: none;
  }

  .home-content-text-wrapper,
  .usermanual-content-text-wrapper {
    /* padding: 20px 20px 20px 40px; */
    padding: 10px 20px 10px 20px;
  }

  .home-content-text-wrapper.top-phrase {
    padding: 20px 20px 20px 20px;
  }
  .home-content-text-wrapper.top-explanation {
    padding: 0px 20px 0px 20px;
  }

  .home-content-text-wrapper,
  .home-content-text-wrapper.background,
  .home-content-text-wrapper.background,
  .home-content-text-wrapper.feature,
  .home-content-text-wrapper.price,
  .home-content-text-wrapper.comparison,
  .usermanual-content-text-wrapper.background,
  .usermanual-content-text-wrapper.background,
  .usermanual-content-text-wrapper.feature,
  .usermanual-content-text-wrapper.price,
  .usermanual-content-text-wrapper.comparison {
    /* margin: 20px 10px 20px 40px; */
    margin: 20px 0px 20px 0px;
  }

  .home-content-text-title.top-phrase {
    font-size: 36px;
  }
  .home-content-text-text.top-phrase {
    font-size: 18px;
  }

  /* Home - Slider*/
  .home-content-container.brand-slider {
    padding: 20px 0px 20px 0px;
    height: 160px;
  }
  .home-brand-slider-wrapper {
    width: 100%;
    height: 100px;
  }
  .home-brand-slider-block {
    width: 100px;
    height: 100px;
    background-size: 100px;
    background-size: 100px;
  }

  /* Comparison */

  /* User Manual */
  .usermanual-content-img-wrapper {
    padding: 20px 20px 20px 20px;
  }
  .usermanual-content-text-wrapper {
    padding: 20px 20px 20px 20px;
  }
}

/* most of Mobile*/
@media (max-width: 349.98px) {
  .header-logo .logo-src {
    width: 44px;
    margin: 0px 0px 0px 6px;
    /* background: url("./utils/images/Logo_monoedge_edge_icon.svg"); */
    background: url(/static/top/static/top/img/Logo_monoedge_edge_black_full_icon.svg);
    opacity: 0.9;
    height: 44px;
    background-size: 100px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100px;
    background-size: contain;
  }

  .home-content-price-plan-feature-container,
  .home-content-price-option-feature-container {
    padding: 20px 0px 0px 0px;
  }
}

/* Small Mobile*/
@media (max-width: 299.98px) {
  .app-header .app-header__content {
    padding: 0px 10px 0px 0px;
  }
  .header-gotoplan {
    padding: 4px 5px 4px 5px;
    font-size: 12px;
  }

  .home-content-text-title.top-phrase {
    font-size: 30px;
  }

  /* Home - Slider*/
  .home-content-container.brand-slider {
    padding: 20px 0px 20px 0px;
    height: 140px;
  }
  .home-brand-slider-wrapper {
    width: 100%;
    height: 120px;
  }
  .home-brand-slider-block {
    width: 80px;
    height: 80px;
    background-size: 80px;
    background-size: 80px;
  }

  /* Comparison */

  /* Copy Right */
  .home-content-copyright {
    font-size: 12px;
  }
}

/* Company Information - Simple White CSS Classes (Start) */
.company-container {
  position: relative;
  width: 100%;
}
.company-content-container {
  position: relative;
  width: 100%;
}
.company-content-container.table {
  display: table;
  margin-bottom: 0px;
  z-index: 2;
  height: 100%;
}
.company-content-container-cell {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}
.company-content-text-wrapper {
  padding: 40px 40px 40px 40px;
  background: #ffffff;
  border-radius: 8px;
  margin: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.company-content-text-wrapper.top-phrase {
  padding: 80px 0px 80px 80px;
  background: #ffffff;
  color: #333333;
  margin: 0;
  border-radius: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.company-content-text-wrapper.explanation {
  padding: 40px 40px 40px 40px;
}
.company-content-text-wrapper.provide {
  background: #ffffff;
  margin: 30px 20px 20px 20px;
  color: #333333;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.company-content-text-wrapper.feature {
  background: #ffffff;
  border-radius: 8px;
  margin: 0px 40px 0px 40px;
  padding: 20px 0px 20px 0px;
  color: #333333;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.company-content-text-title {
  text-align: left;
  font-weight: 700;
  color: #333333;
}
.company-content-text-title.top-phrase {
  font-size: 60px;
  color: #333333;
}
.company-content-text-title.explanation {
  text-align: left;
  font-size: 26px;
  color: #333333;
}
.company-content-text-title.provide {
  font-size: 26px;
  color: #333333;
  font-weight: 700;
  margin-bottom: 20px;
}
.company-content-text-title.feature {
  font-size: 26px;
  color: #333333;
  font-weight: 700;
  padding: 0px 20px 20px 20px;
  text-align: center;
}
.company-content-text-bold {
  font-weight: 700;
  color: #333333;
}
.company-content-text {
  font-size: 16px;
  color: #666666;
}
.company-content-text.left {
  text-align: left;
  margin: 0px 0px 0px 0px;
}
.company-content-check-table {
  background-color: #ffffff;
  padding: 0px 20px 0px 20px;
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
  border-radius: 8px;
  margin: 20px 0px 0px 0px;
}
.company-content-check {
  display: flex;
  border-bottom: 1px solid #f0f0f0;
  padding: 10px 0;
}
.company-content-check:last-child {
  border-bottom: none;
}
.company-content-check:nth-child(1) {
  padding-top: 10px;
}
.company-content-check-icon {
  width: 50px;
  height: 50px;
  overflow: hidden;
}
.company-content-check-text-wrapper {
  display: table;
  max-width: calc(100% - 50px);
}
.company-content-check-text {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  color: #333333;
  font-weight: 400;
  font-size: 16px;
}
.company-content-container.brand-slider {
  position: relative;
  width: 100%;
  max-width: 100% !important;
  text-align: center;
  vertical-align: middle;
  padding: 40px 0px 40px 0px;
  height: 280px;
  background-color: #ffffff;
  margin: 0px 0px 20px 0px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}
.company-brand-slider-wrapper {
  position: relative;
  width: 100%;
  /* height: 140px; */
  padding: 40px 0px 40px 0px;
  /* background-color: #3b3b3b; */
  margin: 0px 0px 20px 0px;
}
.company-brand-slider-block {
  width: 180px;
  height: 180px;
  background-size: 180px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.company-content-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.company-brand-slider-wrapper .slick-dots button:before {
  color: #c4c4c4;
}
.company-brand-slider-wrapper .slick-dots li.slick-active button:before {
  color: #ffffff;
}

@media only screen and (max-width: 991.98px) {
  .company-content-text-wrapper.top-phrase {
    padding: 40px 20px 40px 40px;
  }
  .company-content-text-title.top-phrase {
    font-size: 40px;
  }
  .company-content-text-wrapper.explanation {
    padding: 20px 20px 20px 20px;
  }
  .company-content-text-wrapper.provide {
    margin: 20px 10px 10px 10px;
  }
  .company-content-text-wrapper.feature {
    border-radius: 8px;
    margin: 0px 20px 0px 20px;
    padding: 10px 0px 10px 0px;
  }
  .company-content-container.brand-slider {
    padding: 30px 0px 30px 0px;
    height: 240px;
  }
  .company-brand-slider-wrapper {
    width: 100%;
    /* height: 160px; */
  }
  .company-brand-slider-block {
    width: 160px;
    /* height: 160px; */
  }
}

@media only screen and (max-width: 575.98px) {
  .company-content-text-wrapper.top-phrase {
    padding: 20px 20px 20px 20px;
  }
  .company-content-text-title.top-phrase {
    font-size: 28px;
  }
  .company-content-container.brand-slider {
    padding: 20px 0px 20px 0px;
    height: 160px;
  }
  .company-brand-slider-wrapper {
    width: 100%;
    height: 100px;
  }
  .company-brand-slider-block {
    width: 100px;
    height: 100px;
  }
}
/* Company Information - Specific CSS Classes (End) */

/* Shopify App Documentation - Specific CSS Classes (Start) */
/* Shopify App Documentation - Specific CSS Classes (End) */

/* 
.cti-box-title {
  color: #343434;
}
.anim-icon-phone-ringing {
  animation: phone_ringing 0.7s infinite;
}

@keyframes phone_ringing {
  from {font-size: 10px;}
  to {font-size: 18px;}
} */
/* Landing Page Styles */

/* Landing Header */
.landing-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 15px 0;
}

.landing-header.transparent {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
}

.landing-header-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.landing-header-logo {
  cursor: pointer;
  display: flex;
  align-items: center;
}

.landing-header-logo-img {
  width: 150px;
  height: 40px;
  object-fit: contain;
}

.landing-header-right {
  display: flex;
  gap: 15px;
  align-items: center;
}

.landing-header-btn {
  padding: 10px 24px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  outline: none;
}

.landing-header-btn-outline {
  background: transparent;
  border: 2px solid #0e6f63;
  color: #0e6f63;
}

.landing-header-btn-outline:hover {
  background: #0e6f63;
  color: #ffffff;
}

.landing-header-btn-primary {
  background: linear-gradient(135deg, #0e6f63 0%, #0b574e 100%);
  color: #ffffff;
  border: none;
}

.landing-header-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

/* Container */
.landing-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

/* Hero Section */
.landing-hero-section {
  position: relative;
  min-height: 400px;
  padding: 40px 0 30px;
  overflow: hidden;
  margin-top: 70px;
}

/* Hero Background Overlay */
.landing-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* 🔴 白い見出しが明るい写真 (CRM 版は昼の店内) に溶けて読めなかった。
     左だけ濃くして、右半分の製品画像は見えたままにする。 */
  background: linear-gradient(
    100deg,
    rgba(24, 26, 22, 0.78) 0%,
    rgba(24, 26, 22, 0.62) 42%,
    rgba(24, 26, 22, 0.15) 78%,
    rgba(24, 26, 22, 0.05) 100%
  );
  z-index: 1;
}

.landing-hero-row {
  align-items: center;
  min-height: 500px;
  position: relative;
  z-index: 2;
}

.landing-hero-left {
  position: relative;
  z-index: 2;
}

.landing-hero-content {
  color: #ffffff;
}

.landing-hero-title {
  font-size: 28px;
  font-weight: 400;
  margin-bottom: 20px;
  line-height: 1.3;
  color: #ffffff;
}

.landing-hero-subtitle {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 1.3;
  color: #ffffff;
}

.landing-hero-subtitle-box {
  background: #ffffff;
  color: #3a3a38;
  padding: 5px 15px;
  display: inline-block;
  margin-right: 10px;
}

/* Feature Buttons */
.landing-feature-buttons {
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.landing-feature-btn {
  background: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
  padding: 12px 30px;
  border-radius: 0;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.landing-feature-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}

/* Interactive Feature Button Enhancements */
.landing-feature-btn-interactive {
  position: relative;
  overflow: hidden;
  outline: none;
}

.landing-feature-btn-interactive::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transform: translate(-50%, -50%);
  transition:
    width 0.6s,
    height 0.6s;
}

.landing-feature-btn-interactive:hover::before {
  width: 300px;
  height: 300px;
}

.landing-feature-btn-interactive:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: #ffffff;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.landing-feature-btn-interactive:active {
  transform: translateY(-1px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.landing-feature-btn-interactive:focus {
  outline: 2px solid rgba(255, 255, 255, 0.5);
  outline-offset: 2px;
}

/* CTA Button */
.landing-cta-button {
  background: linear-gradient(135deg, #0e6f63 0%, #0b574e 100%);
  border: none;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  padding: 18px 40px;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.landing-cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.landing-cta-button-lg {
  font-size: 20px;
  padding: 20px 50px;
}

.landing-cta-button-md {
  font-size: 18px;
  padding: 16px 40px;
}

.landing-cta-button-sm {
  font-size: 16px;
  padding: 12px 30px;
}

/* Hero Right Side */
.landing-hero-right {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

.landing-hero-image-wrapper {
  position: relative;
  width: 100%;
  max-width: 500px;
}

/* Price Badge */
.landing-price-badge {
  position: absolute;
  top: -20px;
  right: -20px;
  background: #ffffff;
  border-radius: 50%;
  width: 150px;
  height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  z-index: 10;
}

.landing-price-badge-label {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  margin-bottom: 5px;
}

.landing-price-badge-price {
  font-size: 48px;
  font-weight: 900;
  color: #0e6f63;
  line-height: 1;
}

/* Device Mockup - Improved Layout */
.landing-device-mockup {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 450px;
  padding: 40px 20px;
}

.landing-device-image {
  position: absolute;
  height: auto;
  filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.25));
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  animation: deviceFloatIn 1s ease-out forwards;
}

/* Float in animation */
@keyframes deviceFloatIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Main device (right) - Reservation */
.landing-device-main {
  z-index: 3;
  max-width: 200px;
  right: 12%;
  top: 15%;
  animation-delay: 0.3s;
}

/* Secondary device (left) - Mobile Order */
.landing-device-secondary-left {
  z-index: 2;
  max-width: 170px;
  left: 8%;
  top: 30%;
  animation-delay: 0.1s;
}

/* Tablet device (center-bottom) - POS */
.landing-device-tablet {
  z-index: 4;
  max-width: 280px;
  left: 30%;
  top: 45%;
  animation-delay: 0.5s;
}

/* Hover effects - Subtle movement */
.landing-device-mockup:hover .landing-device-main {
  transform: translateY(-10px) scale(1.03);
  filter: drop-shadow(0 20px 40px rgba(102, 126, 234, 0.4));
}

.landing-device-mockup:hover .landing-device-secondary-left {
  transform: translateY(-8px) translateX(-5px) scale(1.02);
  filter: drop-shadow(0 18px 38px rgba(118, 75, 162, 0.35));
}

.landing-device-mockup:hover .landing-device-tablet {
  transform: translateY(-12px) scale(1.04);
  filter: drop-shadow(0 22px 42px rgba(102, 126, 234, 0.45));
}

/* CTA Section (below hero) */
.landing-cta-section {
  background: #ffffff;
  padding: 40px 0;
  text-align: center;
}

.landing-cta-description {
  font-size: 16px;
  color: #6b6c68;
  margin-top: 15px;
  line-height: 1.6;
}

.landing-cta-brand {
  font-weight: 700;
  color: #0e6f63;
  margin: 0 5px;
}

/* Sections */
.landing-section {
  padding: 50px 0;
}

.landing-brand-section {
  background: #f5f3ee;
  color: #3a3a38;
  padding: 50px 0;
}

.landing-brand-section .landing-section-title {
  color: #3a3a38;
  margin-bottom: 30px;
}

.landing-brand-slider-wrapper {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.landing-features-section {
  background: #ffffff;
  padding: 60px 0;
}

.landing-bottom-cta-section {
  background: #faf9f6;
  text-align: center;
  color: #3a3a38;
  padding: 60px 0;
}

.landing-section-title {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
  color: #333;
}

.landing-section-title-large {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 50px;
  color: #333;
}

.landing-bottom-cta-title {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 30px;
  color: #3a3a38;
}

/* Feature Cards */
.landing-features-grid {
  margin: 0 -15px;
}

.landing-feature-col {
  padding: 0 15px;
  margin-bottom: 25px;
}

.landing-feature-card {
  background: #ffffff;
  border-radius: 15px;
  padding: 25px 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.landing-feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Feature Card Icon - Simple and Stylish */
.landing-feature-card-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-weight: 300;
  background: #ffffff;
  border: 2px solid #f5f3ee;
  border-radius: 50%;
  color: #0e6f63;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.landing-feature-card:hover .landing-feature-card-icon {
  background: #0e6f63;
  border-color: #0e6f63;
  color: #ffffff;
  transform: scale(1.08);
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.25);
}

.landing-feature-card-image-wrapper {
  width: 100%;
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 180px;
}

.landing-feature-card-image {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.landing-feature-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.landing-feature-card-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #333;
}

.landing-feature-card-description {
  font-size: 14px;
  line-height: 1.6;
  color: #666;
  margin-bottom: 12px;
  flex: 1;
}

/* Feature Card Link Button Style */
.landing-feature-card-link-btn {
  background: transparent;
  border: 2px solid #0e6f63;
  color: #0e6f63;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: auto;
}

.landing-feature-card-link-btn:hover {
  background: #0e6f63;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

/* Responsive Design */
@media (max-width: 768px) {
  .landing-header-logo-img {
    width: 140px;
    height: 32px;
  }

  .landing-header-btn {
    padding: 8px 16px;
    font-size: 13px;
  }

  .landing-hero-section {
    margin-top: 60px;
    padding: 40px 0 30px;
  }

  .landing-hero-title {
    font-size: 22px;
  }

  .landing-hero-subtitle {
    font-size: 36px;
  }

  .landing-section-title-large {
    font-size: 28px;
    margin-bottom: 35px;
  }

  .landing-bottom-cta-title {
    font-size: 28px;
    margin-bottom: 25px;
  }

  .landing-section-title {
    margin-bottom: 25px;
  }

  .landing-price-badge {
    width: 120px;
    height: 120px;
    top: 10px;
    right: 10px;
  }

  .landing-price-badge-price {
    font-size: 36px;
  }

  .landing-feature-buttons {
    justify-content: center;
  }

  .landing-section {
    padding: 40px 0;
  }

  .landing-cta-section {
    padding: 30px 0;
  }

  .landing-bottom-cta-section {
    padding: 40px 0;
  }

  /* Device mockup responsive adjustments for tablet */
  .landing-device-mockup {
    min-height: 350px;
    padding: 30px 10px;
  }

  .landing-device-main {
    max-width: 160px;
    right: 15%;
    top: 15%;
  }

  .landing-device-secondary-left {
    max-width: 140px;
    left: 10%;
    top: 25%;
  }

  .landing-device-tablet {
    max-width: 220px;
    left: 30%;
    top: 40%;
  }
}

@media (max-width: 576px) {
  .landing-header-logo-img {
    width: 120px;
    height: 28px;
  }

  .landing-header-btn {
    padding: 6px 12px;
    font-size: 12px;
  }

  .landing-header-right {
    gap: 8px;
  }

  .landing-hero-title {
    font-size: 20px;
  }

  .landing-hero-subtitle {
    font-size: 28px;
  }

  .landing-feature-btn {
    font-size: 14px;
    padding: 10px 20px;
  }

  .landing-cta-button {
    font-size: 16px;
    padding: 16px 32px;
  }

  .landing-section {
    padding: 30px 0;
  }

  .landing-cta-section {
    padding: 25px 0;
  }

  .landing-features-section {
    padding: 40px 0;
  }

  .landing-bottom-cta-section {
    padding: 30px 0;
  }

  .landing-price-badge {
    width: 90px;
    height: 90px;
    top: 5px;
    right: 5px;
  }

  .landing-price-badge-label {
    font-size: 11px;
  }

  .landing-price-badge-price {
    font-size: 24px;
  }

  /* Mobile device mockup adjustments - Show all 3 devices */
  .landing-device-mockup {
    min-height: 300px;
    padding: 20px 5px;
  }

  .landing-device-main {
    max-width: 120px;
    right: 10%;
    top: 20%;
  }

  .landing-device-secondary-left {
    max-width: 100px;
    left: 5%;
    top: 30%;
  }

  .landing-device-tablet {
    max-width: 160px;
    left: 25%;
    top: 45%;
  }

  /* Simplify hover effects on mobile */
  .landing-device-mockup:hover .landing-device-main,
  .landing-device-mockup:hover .landing-device-secondary-left,
  .landing-device-mockup:hover .landing-device-tablet {
    transform: none;
  }
}

/* ============================================================
   MonoEdge Top — direction 05 "Calm"

   トークン (値) と当て込み (どこに効かせるか) を 1 本にまとめている。
   🔴 2 本に分けない。分けると「片方だけ届く」状態が起きて、
      var() が未定義になり invalid-at-computed-value-time で
      その宣言だけが unset に落ちる = 地は白いのにボタンだけ効かない、
      という半端に壊れた見た目になる (2026-09-08 に実際に起きた)。

   🔴 読み込み順が命。Index.tsx で base.css / style.css より後に import する。
      base.css (ArchitectUI・335KB) を上書きするため。

   決定・トークン表・残りの段階は
   .claude/docs/design/09-top-style-direction-calm.md
   ============================================================ */

/* ============================================================
   1. トークン — 値だけ。ここを直せば全体が変わる
   ============================================================ */

:root {
  /* ---- 地と文字 ---- */
  --me-bg: #faf9f6;
  --me-surface: #ffffff;
  --me-surface-2: #f5f3ee;
  --me-fg: #3a3a38;
  --me-fg-head: #1f211f;
  --me-fg-dim: #6b6c68;
  --me-fg-faint: #9a9b95;
  --me-line: #ece9e2;
  --me-line-strong: #e0ddd5;

  /* ---- 差し色 ---- */
  --me-accent: #0e6f63;
  --me-accent-hover: #0b574e;
  --me-accent-fg: #ffffff;
  --me-accent-soft: #eef5f3;
  /* 注意・確認だけに使う。通常の強調には使わない */
  --me-warn: #b0561f;
  --me-warn-soft: #fbf2ec;

  /* ---- ナビと左メニュー ---- */
  --me-nav-bg: #ffffff;
  --me-nav-fg: #1f211f;
  --me-side-bg: #f5f3ee;
  --me-side-fg: #4a4b47;
  --me-side-on-bg: #ffffff;
  --me-side-on-fg: #0e6f63;
  --me-side-width: 252px;

  /* ---- 書体 ----
     和文 Noto Sans JP / 欧文 Manrope。和文は 300 以下を使わない (線が飛ぶ) */
  --me-font-display:
    'Manrope', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
  /* 🔴 欧文を先に置く。Manrope に和文グリフは無いので和文は自動的に
     Noto Sans JP へ落ちる。逆順にすると英文まで Noto Sans JP で描かれ、
     本文が見出し (Manrope) より太く見える。 */
  --me-font-body:
    'Manrope', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
  --me-font-ui: var(--me-font-display);

  /* ---- 文字サイズ / 行間 / 字間 (欧文基準) ---- */
  --me-h1-size: 41px;
  --me-h1-lh: 1.32;
  --me-h1-ls: -0.03em;
  --me-h1-weight: 700;
  --me-h2-size: 26px;
  --me-h2-lh: 1.42;
  --me-h2-ls: -0.02em;
  --me-h2-weight: 700;
  --me-h3-size: 17px;
  --me-body-size: 15px;
  --me-body-lh: 1.95;
  --me-body-ls: 0;
  --me-lead-size: 15.5px;
  --me-lead-lh: 1.85;
  --me-side-size: 13px;
  --me-side-lh: 1.55;
  --me-nav-size: 13.5px;
  --me-nav-ls: 0;
  --me-note-size: 13px;
  --me-label-size: 11px;
  --me-label-ls: 0.14em;

  /* ---- 余白 ---- */
  --me-gap-para: 14px;
  --me-gap-block: 22px;
  --me-pad-nav: 16px 30px;
  --me-pad-hero: 60px 44px;
  --me-pad-article: 44px;
  --me-pad-side-item: 9px 12px;
  --me-measure: 66ch;

  /* ---- 形 ---- */
  --me-radius: 12px;
  --me-radius-sm: 9px;
  --me-radius-btn: 10px;
  --me-radius-pill: 99px;
  --me-shadow-card: 0 1px 2px rgba(31, 33, 31, 0.04), 0 14px 32px -24px rgba(31, 33, 31, 0.5);
  --me-shadow-btn: 0 6px 18px -8px rgba(14, 111, 99, 0.6);
  --me-radius-lg: 18px;

  /* 節 (帯) の幅。`.home-container` 1200px の内側。
     背景を持つ帯は全部これに合わせて左右をそろえる (3-14) */
  --me-band: 1120px;
  /* 節と節の縦の間。帯の margin-bottom だけで決める (3-14) */
  --me-gap-section: 44px;

  /* ---- 濃い帯 (フッター / SNS) ---- */
  --me-ink: #23251f;
  --me-ink-2: #2e312a;
  --me-ink-fg: #f1efe8;
  --me-ink-dim: #a9a89f;

  /* ---- 左メニューの追加色 ---- */
  --me-side-hover-bg: #eceae3;
  --me-side-line: #e4e1d8;

  /* ---- 見出しの最大 (ヒーロー) ---- */
  --me-hero-size: clamp(32px, 4.6vw, 54px);
}

/* 和文は行間と字間を足さないと窮屈に見える。
   :lang(ja) は <html lang="ja"> でも要素側の lang でも効く。 */

/* ============================================================
   2. 当て込み — 段階 1: ヘッダー (Layout/AppHeader) だけ
   ============================================================ */

/* ---------- ヘッダーの地 ---------- */
.app-header.theme-header-gray {
  background-image: none !important;
  background-color: var(--me-nav-bg) !important;
  border-bottom: 1px solid var(--me-line);
  box-shadow: none;
}

/* ---------- ロゴ ---------- */
/* Logo_monoedge_edge.svg は白地でも読める (黒プレート + 白抜き文字) ため差し替え不要 */
.app-header .header-logo .logo-name,
.app-header .header-logo .logo-name-vertical {
  color: var(--me-fg-head);
  font-family: var(--me-font-display);
  letter-spacing: -0.01em;
}

/* ---------- ナビ項目 ---------- */
.app-header .app-header-right-links .app-header-context,
.app-header .app-header-right-links .app-header-icon {
  color: var(--me-fg-head);
}
.app-header .app-header-right-links .app-header-text {
  color: var(--me-fg-head);
  font-family: var(--me-font-ui);
  font-size: var(--me-nav-size);
  font-weight: 500;
  letter-spacing: var(--me-nav-ls);
  transition: color 0.15s ease;
}
.app-header .app-header-right-links .app-header-context:hover .app-header-text,
.app-header .app-header-right-links .app-header-context:hover .app-header-icon {
  color: var(--me-accent);
}

/* ---------- CTA (管理アカウントを作成する) ---------- */
.app-header .header-gotoplan {
  background: var(--me-accent);
  border: 1px solid var(--me-accent);
  border-radius: var(--me-radius-btn);
  color: var(--me-accent-fg);
  box-shadow: var(--me-shadow-btn);
  font-family: var(--me-font-ui);
  font-weight: 700;
  letter-spacing: 0.01em;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.app-header .header-gotoplan:hover {
  background: var(--me-accent-hover);
  border-color: var(--me-accent-hover);
}

/* ---------- プルダウン (PC・998px 超) ----------
   構造は「列 = .app-header-dialog-link-container」で、各列の中身は
   アイコン (.app-header-dialog-svg) → 列見出し (.app-header-dialog-link)
   → 行 (.app-header-dialog-child-container > .app-header-dialog-child)。

   🔴 元は 200x65px の塗り分けブロックを並べただけで、
     ① アイコンの svg が fill="#ffffff" 直書きなので白地では消える (上が丸ごと空白に見えた)
     ② 列の高さが揃わず下が階段状にギザギザ
     ③ 見出しと行が同じ大きさで階層が読めない
   の 3 つが同時に起きていた。列見出しをラベル体に落として、
   行を「押せる面」にするのが今回の作り直し。 */

.app-header-dialog {
  background: var(--me-surface);
  color: var(--me-fg);
  border: 1px solid var(--me-line);
  border-radius: 16px;
  box-shadow:
    0 1px 2px rgba(31, 33, 31, 0.05),
    0 26px 60px -30px rgba(31, 33, 31, 0.55);
  padding: 14px;
  margin-top: 6px;
}
/* 🔴 ヘッダーとパネルの間の 6px は margin なので当たり判定が無く、
   カーソルがそこを通った瞬間にパネルが閉じて中身を押せなかった。
   透明な帯で橋渡しする (パネルは .hidden = display:none なので閉じている間は出ない)。
   ここで overflow:hidden を掛けるとこの帯ごと切られるので掛けない。 */
.app-header-dialog::before {
  content: '';
  height: 14px;
  left: 0;
  position: absolute;
  right: 0;
  top: -14px;
}
.app-header-dialog.horizontal {
  align-items: flex-start; /* 列ごとに高さが違うので伸ばさない = 下のギザギザ対策 */
  gap: 4px;
}

/* ---- 列 ---- */
.app-header-dialog-link-container {
  display: flex;
  flex-direction: column;
  width: 214px;
  background: transparent;
  color: var(--me-fg);
  padding: 4px 0 2px 0;
}
.app-header-dialog.horizontal
  .app-header-dialog-link-container
  + .app-header-dialog-link-container {
  border-left: 1px solid var(--me-line);
  padding-left: 4px;
}

/* ---- 列のアイコン ---- */
.app-header-dialog-svg {
  width: auto;
  background: transparent;
  justify-content: flex-start;
  padding: 4px 12px 2px 12px;
}
.app-header-dialog-svg-wrapper {
  width: 24px;
  background: transparent;
  color: var(--me-accent);
}
.app-header-dialog-svg-wrapper svg {
  width: 24px;
  height: 24px;
}
/* svg の中に fill="#ffffff" が直書きされているので CSS の fill で上書きする */
.app-header-dialog-svg-wrapper svg g,
.app-header-dialog-svg-wrapper svg path {
  fill: var(--me-accent);
}

/* ---- 列見出し (Overview / Acquire / Engage) ---- */
.app-header-dialog-link {
  width: auto;
  height: auto;
  background: transparent;
  color: var(--me-fg-faint);
  font-family: var(--me-font-ui);
  font-size: var(--me-label-size);
  font-weight: 700;
  letter-spacing: var(--me-label-ls);
  line-height: 1.4;
  text-transform: uppercase;
  justify-content: flex-start;
  padding: 2px 12px 10px 12px;
  cursor: default;
}
.app-header-dialog-link:hover {
  background: transparent;
}
.app-header-dialog-link a {
  color: var(--me-fg-faint);
}

/* ---- 行 ---- */
.app-header-dialog-child-container {
  width: 100%;
  background: transparent;
  color: var(--me-fg-head);
  padding: 0;
  font-size: var(--me-body-size);
}
.app-header-dialog-child {
  border-radius: 9px;
  color: var(--me-fg-head);
  font-family: var(--me-font-body);
  font-size: 14px;
  line-height: 1.5;
  padding: 9px 12px;
  transition:
    background 0.12s ease,
    color 0.12s ease;
}
.app-header-dialog-child:hover {
  background: var(--me-accent-soft);
  color: var(--me-accent);
}
.app-header-dialog-child-container a {
  color: var(--me-fg-head);
  display: block;
  justify-content: flex-start;
  text-decoration-line: none;
}

/* 列見出し自体がリンクになっている (children を持たない) 列だけは押せる見た目に戻す */
.app-header-dialog-link-container > .app-header-dialog-link:only-child {
  color: var(--me-fg-head);
  cursor: pointer;
  font-family: var(--me-font-body);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 9px;
  padding: 9px 12px;
}
.app-header-dialog-link-container > .app-header-dialog-link:only-child:hover {
  background: var(--me-accent-soft);
  color: var(--me-accent);
}

/* ---------- プルダウン (スマホ・998px 以下) ---------- */
.app-header-dropdown-links {
  background: var(--me-surface);
  color: var(--me-fg);
  border-left: 1px solid var(--me-line);
  box-shadow: var(--me-shadow-card);
}
.app-header-dropdown-title-text {
  color: var(--me-fg-head);
  font-family: var(--me-font-ui);
  font-weight: 600;
}
.app-header-dropdown-link {
  background: var(--me-surface);
  color: var(--me-fg-head);
  border-top: 1px solid var(--me-line);
}
.app-header-dropdown-link a {
  color: var(--me-fg-head);
}
.app-header-dropdown-link-child {
  background: var(--me-surface-2);
  color: var(--me-fg-dim);
}
.app-header-dropdown-link-child a {
  color: var(--me-fg-dim);
}

/* ---------- ハンバーガー ---------- */
.app-header .hamburger-react {
  color: var(--me-fg-head);
}

/* ============================================================
   3. 当て込み — 段階 2〜5: ヘッダー以外の本編すべて
   ============================================================ */

/* ---------- 3-1. 地と基礎の書体 ---------- */

.app-main {
  background: var(--me-bg);
}
.app-main,
.app-main input,
.app-main textarea,
.app-main select,
.app-main button {
  font-family: var(--me-font-body);
  color: var(--me-fg);
}
.app-main__usermanual {
  background: var(--me-bg);
}

/* 見出し系はディスプレイ書体。
   🔴 素の h1/h2/h3 に色は付けない。濃い帯の中の <h2> は親から白を継承しており、
   ここで色を当てると濃色の上に濃色が乗って読めなくなる
   (Customers の「Right now, running on MonoEdge」が実際にそうなった)。 */
.app-main h1,
.app-main h2,
.app-main h3 {
  font-family: var(--me-font-display);
}
.home-content-text-title,
.usermanual-content-text-title,
.home-content-price-plan-title,
.home-content-price-option-title,
.sns-context-title,
.resource-price-title-title {
  font-family: var(--me-font-display);
  color: var(--me-fg-head);
}

/* ============================================================
   3-2. マーケティングページ — 濃色パネルを面の重なりに置き換える

   元は #3b3b3b / #4b4b4b / #2b2530 の黒パネルの上に白文字だった。
   Calm は「罫を引かず面の重なりで区切る」ので、白カード + 極薄の影にする。
   最下部の SNS 帯だけは濃色 (--me-ink) を残して視線の底を作る。
   ============================================================ */

/* ---- セクションの器 ----
   地 (--me-bg) → セクション (--me-surface-2) → カード (--me-surface) の 3 層。
   セクションも白にすると地と見分けが付かず、全部が平らに見える。 */
.home-content-text-wrapper.provide,
.home-content-text-wrapper.feature,
.home-content-text-wrapper.price,
.home-content-text-wrapper.comparison,
.home-content-text-wrapper.faq {
  background: var(--me-surface-2);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg);
  box-shadow: none;
  overflow: hidden;
}
.home-content-text-wrapper.faq {
  padding-bottom: 0;
}

/* ---- セクション見出し ---- */
.home-content-text-title.provide,
.home-content-text-title.feature,
.home-content-text-title.price,
.home-content-text-title.comparison,
.home-content-text-title.faq,
.home-content-text-title.explanation,
.home-content-text-title.reseravtion {
  color: var(--me-fg-head);
  opacity: 1;
  font-size: var(--me-h2-size);
  font-weight: var(--me-h2-weight);
  line-height: var(--me-h2-lh);
  letter-spacing: var(--me-h2-ls);
  padding-top: 12px;
}

/* ---- ヒーロー ---- */
.home-content-text-title.top-phrase {
  font-size: var(--me-hero-size);
  font-weight: var(--me-h1-weight);
  line-height: var(--me-h1-lh);
  letter-spacing: var(--me-h1-ls);
  color: var(--me-fg-head);
}
.home-content-text-title.top-explanation {
  font-size: var(--me-h3-size);
  font-weight: 700;
  color: var(--me-fg-head);
  letter-spacing: -0.01em;
}
.home-content-text-text {
  font-size: var(--me-lead-size);
  line-height: var(--me-lead-lh);
  letter-spacing: var(--me-body-ls);
  color: var(--me-fg);
}

/* ---- 「We prepare services below」のカード ---- */

/* ---- チェックリスト (Amazing Features) ---- */
/* svg 側に fill="#f0b660" が直書きされているので CSS の fill で上書きする */

/* ---- 導入店ロゴのスライダー ---- */
.home-content-container.brand-slider {
  background-color: var(--me-surface-2);
}
.home-brand-slider-wrapper .slick-dots button:before {
  color: var(--me-line-strong);
}
.home-brand-slider-wrapper .slick-dots li.slick-active button:before {
  color: var(--me-accent);
}

/* ---- 「Give your customers better experience.」の帯 ---- */
.home-content-container.get-takemyorder {
  background: var(--me-surface-2);
}
.home-get-takemyorder-text {
  color: var(--me-fg-head);
  font-family: var(--me-font-display);
  font-size: var(--me-h2-size);
  font-weight: var(--me-h2-weight);
  line-height: var(--me-h2-lh);
  letter-spacing: var(--me-h2-ls);
}
.home-get-takemyorder-img {
  opacity: 1;
}

/* ---- 料金 ---- */
.home-content-price-container {
  background: var(--me-surface-2);
  color: var(--me-fg);
  border-radius: var(--me-radius);
}
.home-content-price-text-splitter {
  border-bottom: 1px solid var(--me-line-strong);
}
.home-content-price-row {
  font-size: var(--me-body-size);
  line-height: var(--me-body-lh);
}
.home-content-price-plan-box,
.home-content-price-option-box {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  box-shadow: var(--me-shadow-card);
}
.home-content-price-plan-title,
.home-content-price-option-title {
  font-size: var(--me-h2-size);
  font-weight: var(--me-h2-weight);
  letter-spacing: var(--me-h2-ls);
  color: var(--me-fg-head);
}
.home-content-price-plan-description {
  font-size: var(--me-body-size);
  line-height: var(--me-body-lh);
  color: var(--me-fg-dim);
}
.home-content-price-plan-price {
  font-family: var(--me-font-display);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--me-fg-head);
}
.home-content-price-plan-feature-text,
.home-content-price-option-feature-text {
  font-size: var(--me-body-size);
  line-height: 1.55;
  color: var(--me-fg);
}
.home-content-price-plan-feature-icon-wrapper.green,
.home-content-price-option-feature-icon-wrapper.green,
.home-content-price-plan-feature-earlybird.green {
  color: var(--me-accent);
}
.home-content-price-plan-feature-allfreebox {
  border: 1px solid var(--me-line-strong);
  border-radius: var(--me-radius-sm);
}
.home-content-price-plan-feature-allfreebox.green {
  border: 1px solid var(--me-accent);
  background: var(--me-accent-soft);
  color: var(--me-accent);
}
.home-content-price-plan-choose-btn.green {
  background: var(--me-accent);
  border: 1px solid var(--me-accent);
  border-radius: var(--me-radius-btn);
  box-shadow: var(--me-shadow-btn);
  color: var(--me-accent-fg);
  font-family: var(--me-font-ui);
  font-size: var(--me-h3-size);
  font-weight: 700;
}
.home-content-price-plan-choose-btn.green:hover {
  background: var(--me-accent-hover);
  border-color: var(--me-accent-hover);
}
.home-content-price-plan-pp-tc-text {
  color: var(--me-fg-dim);
  font-size: var(--me-note-size);
}

/* ---- FAQ ---- */
.faqbox-question {
  background-color: var(--me-surface);
  color: var(--me-fg-head);
  border-bottom: 1px solid var(--me-line);
  font-family: var(--me-font-ui);
  font-size: var(--me-body-size);
  font-weight: 600;
  line-height: 1.6;
  transition: background-color 0.15s ease;
}
.faqbox-question:hover {
  background-color: var(--me-surface-2);
}
.faqbox-question-svg {
  fill: var(--me-accent);
}
.faqbox-answer-container {
  background-color: var(--me-surface-2);
  border-bottom: 1px solid var(--me-line);
}
.faqbox-answer-text {
  color: var(--me-fg);
  font-size: var(--me-body-size);
  font-weight: 400;
  line-height: var(--me-body-lh);
  letter-spacing: var(--me-body-ls);
}

/* ---- 比較表 ---- */
/* 外枠が #4b4b4b のままだと白い箱の周りに黒い額縁が残る */

/* ---- ヒーローの CTA ----
   .header-gotoplan はヘッダー専用ではなく Home のヒーローでも使われている。
   段階 1 の当て込みは .app-header 前置だったのでここに素の分を足す。 */
.header-gotoplan {
  background: var(--me-accent);
  border: 1px solid var(--me-accent);
  border-radius: var(--me-radius-btn);
  box-shadow: var(--me-shadow-btn);
  color: var(--me-accent-fg);
  font-family: var(--me-font-ui);
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: background 0.15s ease;
}
.header-gotoplan:hover {
  background: var(--me-accent-hover);
  border-color: var(--me-accent-hover);
}
.home-signup-img-row .header-gotoplan {
  font-size: var(--me-h3-size);
  height: auto;
  line-height: 1.35;
  padding: 14px 30px;
  border-radius: var(--me-radius-pill);
}

/* ---- ボタン (jumpbutton / next) ---- */
.home-content-server-btn-next.pp,
.home-content-server-btn-next.tc {
  background: var(--me-surface);
  border: 1px solid var(--me-line-strong);
  border-radius: var(--me-radius-btn);
  color: var(--me-fg-head);
  font-family: var(--me-font-ui);
  font-size: var(--me-body-size);
}

/* ---- SNS 帯 + コピーライト (ページの底) ---- */
.home-content-text-wrapper.sns {
  background: var(--me-ink);
  border-radius: var(--me-radius-lg);
}
.sns-context-title {
  color: var(--me-ink-fg);
  font-size: var(--me-h3-size);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.sns-context-text {
  color: var(--me-ink-dim);
  font-size: var(--me-body-size);
  line-height: var(--me-body-lh);
}
.sns-context-text.center {
  color: var(--me-ink-dim);
  font-size: var(--me-label-size);
  letter-spacing: var(--me-label-ls);
}
.sns-icon {
  fill: var(--me-ink-fg);
}
.home-content-copyright {
  color: var(--me-fg-faint);
  font-family: var(--me-font-ui);
  font-size: var(--me-note-size);
  letter-spacing: 0.02em;
}

/* ---- ページ内リンク ---- */
.custom-nav-link,
.nav-link {
  color: var(--me-fg) !important;
  font-family: var(--me-font-ui);
  font-size: var(--me-body-size);
}
.custom-nav-link:hover,
.nav-link:hover {
  color: var(--me-accent) !important;
}
.rm-pointers {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  box-shadow: var(--me-shadow-card);
}
.rm-pointers .splitter {
  border-top: 1px solid var(--me-line);
}

/* ============================================================
   3-3. ユーザーマニュアル本文

   記事は 1 本の白いカードにまとめて、地 (--me-bg) の上に浮かせる。
   長時間読むページなので行長を --me-measure で止める。
   ============================================================ */

.usermanual-container {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg);
  box-shadow: var(--me-shadow-card);
  margin: 28px 32px 64px 32px;
  padding: 8px 0 24px 0;
  max-width: 940px;
}
/* 図版はカード幅いっぱい、本文だけ --me-measure で止めてカードの中央に置く。
   本文に max-width を掛けるだけだと右側だけが大きく空いて重心が左に寄る。 */
.usermanual-content-text-wrapper {
  padding: var(--me-pad-article);
  padding-bottom: 0;
  max-width: calc(var(--me-measure) + 2 * var(--me-pad-article));
  margin-left: auto;
  margin-right: auto;
}
.usermanual-content-text-title {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.015em;
  color: var(--me-fg-head);
  margin-bottom: var(--me-gap-block);
}
.usermanual-content-text-text {
  font-size: var(--me-body-size);
  line-height: var(--me-body-lh);
  letter-spacing: var(--me-body-ls);
  color: var(--me-fg);
  max-width: var(--me-measure);
}
/* 🔴 記事本文は 15,583 箇所すべてが .w700 で書かれている (太字でない段落は 0)。
   強調ではなく執筆時の既定なので、本文は 400 に戻す。
   こうして初めて <b class="um-term"> の用語が強調として効く。 */
.usermanual-content-text-text.w700 {
  font-weight: 400;
}
.usermanual-content-text-text b.um-term {
  color: var(--me-fg-head);
  font-weight: 700;
}
.usermanual-content-text-text.um-warn > div:last-child {
  border-left: 2px solid var(--me-warn);
  padding-left: 14px;
}
.usermanual-content-text-wrapper.um-note {
  background: var(--me-warn-soft);
  border: 1px solid #f0e3d6;
  border-radius: var(--me-radius);
  margin: var(--me-gap-block) var(--me-pad-article);
  padding: 22px 26px 8px 26px;
}
.usermanual-content-text-wrapper.um-note .usermanual-content-text-title {
  color: var(--me-warn);
  font-size: var(--me-h3-size);
  margin-bottom: 10px;
}
.um-step-num {
  background: var(--me-accent);
  color: var(--me-accent-fg);
  font-family: var(--me-font-ui);
  font-size: var(--me-note-size);
  font-weight: 700;
}

/* ============================================================
   3-4. ユーザーマニュアルの左ナビ (枠)

   色は VerticalNavUserManual.tsx のインライン style が持っている
   (react-pro-sidebar の menuItemStyles)。そちらは var(--me-side-*) を
   参照するように書き換えた。ここは枠と余白だけ。
   ============================================================ */

.sidebar-wrapper .ps-sidebar-root,
.sidebar-wrapper .ps-sidebar-container {
  background: var(--me-side-bg) !important;
  background-image: none !important;
}
.sidebar-wrapper .ps-sidebar-root {
  border-right: 1px solid var(--me-line) !important;
}
/* 🔴 .sidebar-wrapper は sticky top:0 なので、そのままだと先頭の項目が
   固定ヘッダー (75px) の裏に隠れる。高さを 100vh にして中身を押し下げる。
   記事側 (.app-main__usermanual) は margin-top:75px で既に逃がしてある。 */
.sidebar-wrapper {
  height: 100vh;
}
.sidebar-wrapper .ps-sidebar-container {
  padding-top: 88px;
  padding-bottom: 24px;
}
.sidebar-screen {
  background: rgba(31, 33, 31, 0.32);
}
/* 🔴 .vertical-nav-header-dummy はメニュー全体を包む div なので、
   ここに text-transform を書くと項目名まで全部大文字になる。
   見出し ("User Manual") はその中の最初の div だけ。 */
.sidebar-wrapper .vertical-nav-header-dummy > div:first-child {
  color: var(--me-fg-dim);
  font-family: var(--me-font-ui);
  font-size: var(--me-label-size);
  font-weight: 700;
  letter-spacing: var(--me-label-ls);
  text-transform: uppercase;
}
/* スクロールバーを地に馴染ませる (左ナビだけ) */
.sidebar-wrapper .ps-sidebar-container::-webkit-scrollbar {
  width: 8px;
}
.sidebar-wrapper .ps-sidebar-container::-webkit-scrollbar-thumb {
  background: var(--me-line-strong);
  border-radius: 99px;
}
.sidebar-wrapper .ps-sidebar-container::-webkit-scrollbar-track {
  background: transparent;
}
.sb-button {
  font-family: var(--me-font-ui);
  font-size: var(--me-note-size);
  font-weight: 600;
}

/* ============================================================
   3-5. LandingHeader (AppPages/components/LandingHeader)

   AppHeader とは別物。既定は #667eea 系の紫青グラデーションなので
   差し色を深緑に統一する。
   🔴 .theme-header-gray を裸で上書きしないこと (AppHeader を巻き込む)。
   ============================================================ */

.landing-header {
  background: var(--me-nav-bg);
  border-bottom: 1px solid var(--me-line);
  box-shadow: none;
}
.landing-header.transparent {
  background: rgba(255, 255, 255, 0.9);
}
.landing-header-btn {
  border-radius: var(--me-radius-btn);
  font-family: var(--me-font-ui);
  font-size: var(--me-nav-size);
  font-weight: 600;
  letter-spacing: 0.01em;
}
.landing-header-btn-outline {
  background: transparent;
  border: 1px solid var(--me-line-strong);
  color: var(--me-fg-head);
}
/* LandingPage のヘッダーは暗い写真ヒーローに合わせて .theme-header-gray のまま
   (base.css の黒グラデーション)。そこでは枠線ボタンを白系にしないと文字が消える。 */
.landing-header.theme-header-gray:not(.transparent) .landing-header-btn-outline {
  border-color: rgba(255, 255, 255, 0.45);
  color: #ffffff;
}
.landing-header.theme-header-gray:not(.transparent) .landing-header-btn-outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #ffffff;
  color: #ffffff;
}
.landing-header-btn-outline:hover {
  background: var(--me-accent-soft);
  border-color: var(--me-accent);
  color: var(--me-accent);
}
.landing-header-btn-primary {
  background: var(--me-accent);
  border: 1px solid var(--me-accent);
  box-shadow: var(--me-shadow-btn);
  color: var(--me-accent-fg);
}
.landing-header-btn-primary:hover {
  background: var(--me-accent-hover);
  border-color: var(--me-accent-hover);
  box-shadow: var(--me-shadow-btn);
  transform: none;
}

/* ============================================================
   3-6. 画面幅ごとの詰め

   991.98px 以下でヘッダーが 75px → 55px になる (style.css:3126 付近)。
   カードの余白もそれに合わせて落とさないと文字が端に張り付く。
   ============================================================ */

@media (max-width: 991.98px) {
  :root {
    --me-pad-article: 22px;
    --me-h2-size: 22px;
    --me-body-size: 14.5px;
    --me-lead-size: 15px;
  }
  .usermanual-container {
    margin: 14px 12px 40px 12px;
    border-radius: var(--me-radius);
  }
  .sidebar-wrapper {
    height: auto;
  }
  .sidebar-wrapper .ps-sidebar-container {
    padding-top: 0;
  }
  /* Navigator ボタンは position:fixed で記事の上に浮くので、
     先頭の見出しに被らないところまでカードを下げる */
  .usermanual-container {
    margin-top: 52px;
  }
  .sb-button {
    box-shadow: var(--me-shadow-btn);
  }
  .usermanual-content-text-wrapper.um-note {
    margin: var(--me-gap-block) var(--me-pad-article);
    padding: 18px 18px 6px 18px;
  }
}

@media (max-width: 575.98px) {
  :root {
    --me-pad-article: 18px;
    --me-h2-size: 20px;
  }
  .home-content-text-wrapper.provide,
  .home-content-text-wrapper.feature,
  .home-content-text-wrapper.price,
  .home-content-text-wrapper.comparison,
  .home-content-text-wrapper.faq,
  .home-content-text-wrapper.sns {
    border-radius: var(--me-radius);
  }
}

/* ============================================================
   3-7. 料金ページ (Resources/Price) の「強化」スタイル

   style.css:1100〜1470 に後から足された一角で、#02db9f / #4caf50 /
   #2e7d32 という明るい緑が独自に使われている。Calm の差し色 (#0e6f63)
   とぶつかるので、同じ役割のまま深緑に寄せる。
   ============================================================ */

/* おすすめプランの背景は画像 (PriceBk_green)。CSS で色を変えられないので
   外して、地のグラデーションで「これが推し」を出す */
.home-content-price-plan-background-image {
  display: none;
}
.home-content-price-plan-box-wrapper.enlarged .home-content-price-plan-box {
  background: linear-gradient(180deg, var(--me-accent-soft) 0%, var(--me-surface) 58%);
  border: 1px solid var(--me-accent);
}

.resource-price-free-banner {
  background: linear-gradient(135deg, var(--me-accent-soft) 0%, #e3efec 100%);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg);
  box-shadow: none;
}
.resource-price-free-banner-title {
  /* 日本語で「まで」の「で」だけが次の行に落ちるのを防ぐ (・と空白でだけ折り返す) */
  text-wrap: balance;
  word-break: keep-all;
  color: var(--me-accent);
  font-family: var(--me-font-display);
  font-size: var(--me-hero-size);
  font-weight: var(--me-h1-weight);
  line-height: var(--me-h1-lh);
  letter-spacing: var(--me-h1-ls);
}
.resource-price-free-banner-subtitle {
  color: var(--me-accent);
  font-size: var(--me-lead-size);
  line-height: var(--me-lead-lh);
}
.resource-price-free-banner-badge,
.resource-price-free-badge {
  background: var(--me-accent);
  border-radius: var(--me-radius-pill);
  color: var(--me-accent-fg);
  font-family: var(--me-font-ui);
  letter-spacing: var(--me-label-ls);
}
/* 見出し帯の「10 店舗 / 20 ユーザー / スタッフ無制限」。
   無制限だけを塗りの札にして、数の上限がある 2 つと並べたときに目が止まるようにする。
   読み込み時に左から順に浮き上がる (me-stat-in)。 */
.me-price-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 28px auto 0;
  max-width: 760px;
}
.me-price-stat {
  align-items: center;
  animation: me-stat-in 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  display: flex;
  flex: 1 1 180px;
  flex-direction: column;
  gap: 6px;
  justify-content: flex-start;
  min-width: 0;
  padding: 18px 18px 16px;
}
.me-price-stat:nth-child(2) {
  animation-delay: 90ms;
}
.me-price-stat:nth-child(3) {
  animation-delay: 180ms;
}
.me-price-stat-num {
  align-items: center;
  color: var(--me-fg-head);
  display: inline-flex;
  font-family: var(--me-font-display);
  font-size: 2.4rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  height: 2.6rem;
  line-height: 1;
}
.me-price-stat-label {
  color: var(--me-fg-dim);
  font-family: var(--me-font-ui);
  font-size: 0.92rem;
  letter-spacing: 0.02em;
}
.me-price-stat-text {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
/* 「1端末 ＝ 1ユーザーアカウント」など、数字の意味を補う一行 */
.me-price-stat-sub {
  color: var(--me-fg-dim);
  font-family: var(--me-font-ui);
  font-size: 0.78rem;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
.me-price-stat--hero .me-price-stat-sub {
  color: var(--me-accent-fg);
  opacity: 0.88;
}
.me-price-stat--hero {
  background: var(--me-accent);
  border-color: var(--me-accent);
  box-shadow: 0 12px 28px -14px rgba(14, 111, 99, 0.6);
}
.me-price-stat--hero .me-price-stat-num,
.me-price-stat--hero .me-price-stat-label {
  color: var(--me-accent-fg);
}
.me-price-stat--hero .me-price-stat-num {
  font-size: 2.9rem;
}
.me-price-stat--hero .me-price-stat-label {
  font-weight: 700;
}
.me-price-stats-note {
  text-wrap: balance;
  /* 日本語は句読点でだけ折り返す (「20台ま／では」を防ぐ) */
  overflow-wrap: anywhere;
  word-break: keep-all;
  margin-left: auto;
  margin-right: auto;
  max-width: 680px;
  color: var(--me-fg-dim);
  font-size: 0.95rem;
  line-height: 1.7;
  margin-top: 14px;
}
/* プランの箱の「＋ スタッフ数は無制限」 */
.me-price-staff-plus {
  background: var(--me-surface);
  border: 1px solid var(--me-accent);
  border-radius: var(--me-radius-pill);
  color: var(--me-accent);
  display: inline-block;
  font-size: 0.92em;
  font-weight: 700;
  margin: 6px 0 4px;
  padding: 2px 14px;
}
@keyframes me-stat-in {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 575.98px) {
  .me-price-stat {
    flex-basis: 100%;
    flex-direction: row;
    gap: 14px;
    justify-content: flex-start;
    padding: 12px 18px;
  }
  .me-price-stat-text {
    align-items: flex-start;
    text-align: left;
  }
  .me-price-stat-num,
  .me-price-stat--hero .me-price-stat-num {
    font-size: 1.9rem;
    height: 2rem;
    justify-content: center;
    min-width: 2.8rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .me-price-stat {
    animation: none;
  }
}

.resource-price-comparison {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-sm);
}
.resource-price-comparison-original {
  color: var(--me-fg-faint);
}
.resource-price-comparison-arrow,
.resource-price-comparison-free {
  color: var(--me-accent);
}
.resource-price-title-title {
  font-size: var(--me-h2-size);
  font-weight: var(--me-h2-weight);
  letter-spacing: var(--me-h2-ls);
  line-height: var(--me-h2-lh);
}
.resource-price-title-subtitle {
  color: var(--me-fg-dim);
  font-size: var(--me-body-size);
  line-height: var(--me-body-lh);
}
.home-content-price-plan-feature-earlybird.enhanced {
  background: var(--me-accent-soft);
  border-radius: var(--me-radius);
  color: var(--me-accent);
}
.resource-price-option-note {
  background: var(--me-surface-2);
  border-radius: var(--me-radius-sm);
  color: var(--me-fg-dim);
  font-size: var(--me-note-size);
}

/* 追加オプションの箱 — 元は !important 付きの灰色 */
.home-content-price-option-box-wrapper.minimal .home-content-price-option-box {
  background: var(--me-surface-2) !important;
  border: 1px solid var(--me-line);
}
.home-content-price-option-box-wrapper.minimal .home-content-price-option-title,
.home-content-price-option-box-wrapper.minimal .home-content-price-option-feature-text,
.home-content-price-option-box-wrapper.minimal .home-content-price-option-price {
  color: var(--me-fg-dim) !important;
}
.home-content-price-option-box-wrapper.minimal .home-content-price-option-feature-icon-wrapper {
  color: var(--me-fg-faint) !important;
}

/* hover / tooltip も元が !important なので合わせる */
.home-content-price-plan-choose-btn.green:hover {
  background: var(--me-accent-hover) !important;
  border-width: 1px !important;
  box-shadow: 0 10px 22px -10px rgba(14, 111, 99, 0.7);
}
.home-content-price-plan-choose-btn.green:active {
  box-shadow: var(--me-shadow-btn);
}
.button-tooltip {
  background: var(--me-warn);
  border-radius: var(--me-radius-sm);
  box-shadow: 0 6px 18px -8px rgba(176, 86, 31, 0.6);
  font-family: var(--me-font-ui);
}
.button-tooltip::after {
  border-top-color: var(--me-warn);
}
@keyframes tooltip-pulse {
  0%,
  100% {
    box-shadow: 0 6px 18px -8px rgba(176, 86, 31, 0.6);
  }
  50% {
    box-shadow: 0 8px 24px -8px rgba(176, 86, 31, 0.8);
  }
}

/* ============================================================
   3-8. 図版 — 素材の解像度を超えて引き伸ばさない

   元は .home-content-img / .usermanual-content-img が
   `width:100%; height:100%` だった。素材 450 枚のうち 291 枚が
   800〜1199px、24 枚は 300px 未満で、232x63px のような小さな切り抜きも
   記事幅 (約 860px) いっぱいまで拡大されていた = 約 3.7 倍。
   🔴 画像に焼き込まれた文字だけが本文の数倍の大きさになり、
   輪郭もぼける。「幅を合わせる」ではなく「素材より大きくしない」が正。
   ============================================================ */

.home-content-img,
.home-get-takemyorder-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* 🔴 上の `.usermanual-content-img` は記事に 1 枚も当たっていない。
   マニュアル記事の <img> 623 枚は class を持たず `width="100%"` 属性だけが付いており
   (例: MobileOrder/OrderManagement/Receiving)、素材 700px の画面写真が記事幅まで
   引き伸ばされていた。class ではなく器で止める。width 属性は presentational なので
   ここの `width:auto` が勝つ。 */
.usermanual-content-img-wrapper img {
  width: auto;
  /* 🔴 高さで止める。スマホの画面写真は素材が 700x1517 (縦横比 2.17) あり、
     素材幅どおりに置いても PC では本文より大きく見える。素材 1229 枚の縦横比は
     縦長 72 枚が 1.32〜2.21・横長 1157 枚が 1.28 以下ではっきり割れているので、
     高さの上限 1 本で「スマホの写真だけを縮める」が成立する (幅では区別できない)。
     960px にすると 700x1517 は幅 443px = ユーザー指定の 450px 前後に収まり、
     1400px 級の PC 画面写真は列幅で決まるまま (縮むのは最大でも 860→837px)。 */
  max-height: 960px;
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* 画像が素材幅で止まるので、器の側で中央に置かないと版面が左に寄る */
.home-content-img-wrapper,
.usermanual-content-img-wrapper {
  text-align: center;
}

/* ヒーローの図版 (top-image) は 1040px 前後の「イラスト」で、
   文字が大きく描き込まれている。列幅いっぱいだと本文より目立つので上限を切る。
   実寸で並べる screenshot 系 (me-figure) は別扱い。 */
.home-content-img-wrapper.top-image .home-content-img {
  max-width: 520px;
}

/* 幅の広い画面写真 (1600px 級) を読める大きさで見せるための器。
   半分の列に入れると 0.3 倍まで縮んで中の文字が読めなくなる。 */
.me-figure {
  margin: 0 auto;
  max-width: 900px;
  padding: 8px 20px 0 20px;
}
.me-figure .home-content-img {
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  max-width: 100%;
  box-sizing: border-box;
}
.me-figure-caption {
  color: var(--me-fg-dim);
  font-family: var(--me-font-ui);
  font-size: var(--me-note-size);
  letter-spacing: 0.02em;
  margin-bottom: 12px;
  text-align: center;
}

/* ============================================================
   3-9. 版面のリズム — 余白を「段」でそろえる

   元はセクションごとに 40px / 20px / 30px が場当たりに入っていて、
   ヒーローだけ極端に空いたり、次の段と隣り合ったりしていた。
   縦の間隔を --me-gap-* に寄せて、行の頭が必ずそろうようにする。
   ============================================================ */

/* ---- ヒーロー: 文と図の高さを合わせる ----
   .top-phrase の器は table ではないので文が上端に張り付き、
   隣の図版だけが縦中央に来て段がずれていた。 */
.home-content-container.top-phrase {
  align-items: center;
  display: flex;
  height: 100%;
}
.home-content-text-wrapper.top-phrase {
  padding: 40px 40px 40px 44px;
}
.home-content-text-text.top-phrase {
  /* 46ch (≒456px) だと半分の列 (1500px で内寸 525px) に対して 70px 余り、
     行が列の途中で終わって見える。1em = 和文 1 字の 34em にして、
     列が広いときだけ効くようにする。 */
  max-width: 34em;
}

/* ---- 行の間 ---- */
.home-container > .row + .row,
.home-container > .row {
  margin-bottom: 0;
}
.home-container > .row > [class*='col-'] {
  padding-bottom: var(--me-gap-block);
}

/* ---- 箇条書き ----
   アイコンと文の行頭をそろえる (元は行の中央でそろっていて 1 行目がずれる) */
.home-content-text-text.flex {
  align-items: flex-start;
}
.home-content-text-icon-wrapper {
  color: var(--me-accent);
}

/* ---- 箇条書きをまとめるカード ---- */
.me-list-card {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg);
  box-shadow: var(--me-shadow-card);
  margin: 0 auto;
  max-width: 880px;
  padding: 36px 44px 32px 44px;
}
.me-list-card .home-content-text-title {
  padding-top: 0;
}

/* ---- 「Proudly Serving These Clients」= セクションのラベル ----
   元は 18px の本文が左端に置かれていて、下のロゴ帯と関係が読めなかった。 */
.home-content-text-wrapper.clients {
  padding: 26px 20px 10px 20px;
}
.home-content-text-wrapper.clients .home-content-text-text {
  color: var(--me-fg-faint);
  font-family: var(--me-font-ui);
  font-size: var(--me-label-size) !important;
  font-weight: 700;
  justify-content: center;
  letter-spacing: var(--me-label-ls);
  line-height: 1.6 !important;
  margin: 0;
  text-align: center;
  text-transform: uppercase;
}

/* ---- 導入店ロゴの帯 ---- */
.home-content-container.brand-slider {
  border-radius: var(--me-radius-lg);
  height: 260px;
  margin: 0 20px 28px 20px;
  padding: 34px 0 30px 0;
  width: auto;
}

/* ---- SNS / フッターの帯 ---- */
.home-content-text-wrapper.sns {
  border-radius: var(--me-radius-lg);
}

@media (max-width: 991.98px) {
  .home-content-container.top-phrase {
    display: block;
  }
  .home-content-text-wrapper.top-phrase {
    padding: 32px 24px 20px 24px;
  }
  .home-content-img-wrapper.top-image .home-content-img {
    max-width: 420px;
  }
  .me-list-card {
    border-radius: var(--me-radius);
    margin: 0 12px;
    padding: 26px 22px 20px 22px;
  }
  .me-figure {
    padding: 4px 12px 0 12px;
  }
  .home-content-container.brand-slider {
    margin: 0 12px 20px 12px;
  }
  .home-container > .row > [class*='col-'] {
    padding-bottom: var(--me-gap-para);
  }
}

/* 🔴 例外 — 大きさが決まっている枠の中の画像は「枠に合わせる」が正。
   導入店ロゴは 300x300 の素材を 180x180 のブロックに入れているので、
   3-8 の width:auto を当てると枠からはみ出して下が切れる。 */
.home-brand-slider-block .home-content-img,
.company-brand-slider-block .home-content-img,
.home-signup-img-wrapper .home-content-img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}
/* ロゴ素材は 300x300。スライダーが 387px の枠を作るので、
   引き伸ばさないよう素材幅で止めて中央に置く。
   会社概要ページだけ img のクラス名が `.company-content-img` で別なので両方書く。 */
.home-brand-slider-block .home-content-img,
.company-brand-slider-block .home-content-img,
.company-brand-slider-block .company-content-img {
  margin: 0 auto;
  max-width: 300px;
}

/* ヒーローのイラストは文字が大きく描き込まれているので、
   本文より目立たない大きさまで落とす */
.home-content-img-wrapper.top-image .home-content-img {
  max-width: 460px;
}

/* ============================================================
   3-10. 3-8 / 3-9 の詰め (実機で見てから直したもの)
   ============================================================ */

/* 🔴 上限を px で書くと 3-8 の max-width:100% を丸ごと上書きしてしまい、
   幅 390px の端末で図版が画面の外へはみ出す。min() で両方を効かせる。 */
.home-content-img-wrapper.top-image .home-content-img {
  max-width: min(460px, 100%);
}

/* 🔴 `.app-main` は flex で、マニュアル側の列 `.app-main__usermanual` は
   flex アイテム。既定の `flex: 0 1 auto` だと中身 (940px のカード) の幅に
   縮むので、幅 2000px の画面では列そのものが 260〜1200px しか無く、
   カードに margin:auto を書いても動かせる余白が 0 だった。
   = 右に 800px の空白ができていた原因。列を伸ばしてから中央に置く。 */
.app-main__usermanual {
  flex: 1 1 auto;
  min-width: 0;
}
.usermanual-container {
  margin-left: auto;
  margin-right: auto;
}
/* 画面が広いときはカード自体も少し広げる。本文は --me-measure で
   止まったままなので、広がるのは図版だけ。 */
@media (min-width: 1600px) {
  .usermanual-container {
    max-width: 1080px;
  }
}

/* ヒーローの見出しは style.css の .font50 が `50px !important`。
   スマホでは 2 行に折れて画面の 1/3 を占めるので、幅ごとに落とす。 */
@media (max-width: 991.98px) {
  .home-content-img-wrapper.top-image .home-content-img {
    max-width: min(420px, 100%);
  }
  .usermanual-container {
    margin-left: 12px;
    margin-right: 12px;
  }
}

/* ---- ヒーロー横のリード文 (Home) ----
   見出しクラスを使っているが役割は本文。太字 17px だと左の見出しと競って
   2 つの見出しが並んでいるように見えるので、本文の重さに落とす。 */
.home-content-text-title.top-explanation {
  color: var(--me-fg);
  font-family: var(--me-font-body);
  font-size: var(--me-lead-size);
  font-weight: 400;
  letter-spacing: var(--me-body-ls);
  line-height: var(--me-lead-lh);
  max-width: 46ch;
}

/* 「Proudly Serving These Clients」は Home だけクラス名が違う */
.home-content-text-wrapper.proudlysreve {
  padding: 26px 20px 10px 20px;
}
.home-content-text-wrapper.proudlysreve .home-content-text-text {
  color: var(--me-fg-faint);
  font-family: var(--me-font-ui);
  font-size: var(--me-label-size) !important;
  font-weight: 700;
  justify-content: center;
  letter-spacing: var(--me-label-ls);
  line-height: 1.6 !important;
  margin: 0;
  text-align: center;
  text-transform: uppercase;
}

/* ---- 段落の行頭にある「空のアイコン枠」----
   本文の行は <div flex><div アイコン/><div 本文/></div> という形で、
   アイコンを置かない段落でも空の div が残り margin だけで 60px 字下げしている。
   そのぶん本文が見出しより右にずれて、左端が 2 本になっていた。
   🔴 中身のある行 (箇条書きの ✓ / ☆) は字下げが意味を持つので畳まない。 */
.usermanual-content-text-text.flex > div:first-child:empty,
.home-content-text-wrapper:not(:has(.home-content-text-icon-wrapper))
  .home-content-text-text.flex
  > div:first-child:empty {
  display: none;
}
.usermanual-content-text-text.flex > div:first-child:empty + div,
.home-content-text-wrapper:not(:has(.home-content-text-icon-wrapper))
  .home-content-text-text.flex
  > div:first-child:empty
  + div {
  margin-left: 0 !important;
}
/* 🔴 器の中に本物のアイコンがある箇条書きでは、空の枠は「続きの行」の
   ぶら下げ用なので畳んではいけない。畳むと ☆ の行だけ字下げされて
   リストの左端が 2 本になる。アイコン列 (16px + margin 6px) と同じ幅に
   そろえる — JSX の `margin-right: 46px` は当てずっぽうで合っていない。 */
.home-content-text-wrapper:has(.home-content-text-icon-wrapper)
  .home-content-text-text.flex
  > div:first-child:empty {
  flex: 0 0 22px;
  margin-right: 0 !important;
}

/* ---- 縦並びのプルダウン (Who can use / Resources) ----
   Resources は 13 項目あって 1 列だと画面の高さを使い切る。
   高さで折り返して 2 列にする。項目の少ない Who can use は 1 列のまま。 */
.app-header-dialog:not(.horizontal) {
  align-content: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 380px;
  /* 列で折り返す flex は絶対配置だと 1 列分の幅にしか縮まず、
     2 列目が overflow:hidden で切れる。max-content で全列ぶんを取る。 */
  width: max-content;
  /* 中央寄せ (translateX(-50%+40px)) のままだと 2 列になった途端に
     画面の右端からはみ出す。縦型は項目の右端で揃える。 */
  transform: translateX(calc(-100% + 104px));
}
.app-header-dialog:not(.horizontal) .app-header-dialog-link-container {
  width: 208px;
}

/* ============================================================
   マニュアルのキーワード検索 (サイドバー上部)
   索引は tools/docs/um_build_search_index.py が作る 351 行の表で、
   本文そのものは i18n の辞書から実行時に引く。
   ============================================================ */

.um-search {
  position: relative;
  margin: 0 10px 12px 10px;
}
.um-search-input {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  font-size: 14px;
  color: var(--me-side-fg);
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-sm, 6px);
  outline: none;
}
.um-search-input:focus {
  border-color: var(--me-accent, #00a3e0);
}
/* 結果はサイドバーの中だと overflow で右半分が切れていた (2026-09-14)。
   Search/index.tsx が body 直下に出し、left / top / width / max-height を
   検索窓の位置から計算して style で渡す。ここは見た目と重なり順だけ。 */
.um-search-results {
  position: fixed;
  z-index: 3000;
  overflow-y: auto;
  background: var(--me-surface, #fff);
  color: var(--me-side-fg, inherit);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg, 10px);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, 0.22),
    0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 8px 0;
}
.um-search-results .um-search-name {
  font-size: 15px;
}
.um-search-results .um-search-snippet {
  font-size: 13px;
}
.um-search-count,
.um-search-empty {
  padding: 6px 14px;
  font-size: 12px;
  opacity: 0.65;
}
.um-search-item {
  padding: 6px 0;
  border-top: 1px solid var(--me-line);
}
.um-search-item:first-of-type {
  border-top: none;
}
.um-search-title {
  padding: 4px 14px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.um-search-title:hover,
.um-search-snippet:hover {
  background: var(--me-bg);
}
.um-search-crumb {
  font-size: 11px;
  opacity: 0.6;
}
.um-search-name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}
.um-search-snippet {
  padding: 3px 14px 3px 26px;
  font-size: 12px;
  line-height: 1.6;
  opacity: 0.85;
  cursor: pointer;
}
.um-search-mark {
  background: #ffe58a;
  color: #3a2d00;
  border-radius: 2px;
  padding: 0 1px;
}
/* 飛んだ先で該当箇所を一時的に光らせる。数秒で自動的に消える。 */
.um-search-hit {
  background: #fff6d5;
  border-radius: 4px;
  box-shadow: 0 0 0 4px #fff6d5;
  transition:
    background 0.4s ease,
    box-shadow 0.4s ease;
}

/* ============================================================
   3-11. 2 カラムの「真ん中だけ余白が広い」を直す

   実測 (1500px / platform/acquire/mobileorder):
     左の外 44px : 真ん中 142px : 右の外 40px  = 1 : 3.2 : 1

   🔴 余白を「器」と「中身」の両方が持っていたのが原因。
     ① Bootstrap の桁間は `.row { margin-inline: -15px }` +
        `[col] { padding-inline: 15px }` で作られている。
        **外側は負マージンで引き戻されるので 0、内側だけ 15+15=30px 残る** —
        これが本来の正しい仕組み。
     ② その上に `.home-content-text-wrapper { padding: 40px }` /
        `.home-content-img-wrapper.padding-40` が乗っている。
        この 40px は**内側の辺には 2 回 (40+40)、外側の辺には 1 回**しか付かない。
     → 真ん中 = 40+15+15+40 = 110〜142、外 = 40。文字が短く折り返すと更に空く。

   直し方は一般的な作法どおり —
   **外側の余白は器 (.home-container) が持ち、桁間は行の gutter だけが持つ。
   列の中身は横 padding を持たない。**
   数式: 真ん中 = 2*(15 + e)、外 = P + e。 e=10, P=40 とすると
   真ん中 50 : 外 50 で 1 : 1 : 1 になる。
   ============================================================ */

.home-container {
  padding-left: 40px;
  padding-right: 40px;
}

/* 列の中身から横 padding を抜く。
   🔴 背景を持つ「カード」型の器は別 — そこの 40px はカードの内側の余白なので残す。 */
[class*='col-md-6']
  .home-content-text-wrapper:not(.provide):not(.feature):not(.price):not(.comparison):not(.faq):not(
    .sns
  ):not(.clients):not(.proudlysreve),
[class*='col-md-6'] .home-content-img-wrapper {
  padding-left: 10px;
  padding-right: 10px;
}

/* 見出しは折り返しの行長をそろえる (最後の 1 行だけ 1 単語、を防ぐ) */
.home-content-text-title {
  text-wrap: balance;
}

@media (max-width: 991.98px) {
  .home-container {
    padding-left: 16px;
    padding-right: 16px;
  }
  [class*='col-md-6']
    .home-content-text-wrapper:not(.provide):not(.feature):not(.price):not(.comparison):not(
      .faq
    ):not(.sns):not(.clients):not(.proudlysreve),
  [class*='col-md-6'] .home-content-img-wrapper {
    padding-left: 8px;
    padding-right: 8px;
  }
}

/* ============================================================
   3-12. 手順の番号バッジが本文の上に乗っていた

   🔴 `.home-content-text-text.flex` には style.css に `display: flex` があるが、
   **`.usermanual-content-text-text.flex` には無かった**。
   そのためマニュアル側だけ行が block のままで、
   `<div class="um-step-num">1</div>` が本文の 1 行上に積まれ、
   番号と文が縦に重なって読めなくなっていた (☆ / ✓ のアイコン行も同じ)。
   ============================================================ */

.usermanual-content-text-text.flex {
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
}
/* 長い単語や URL があっても縮めるように (flex アイテムの既定は min-width:auto) */
.usermanual-content-text-text.flex > div:last-child {
  min-width: 0;
}
.um-step-num {
  /* バッジ (26px 角・行高 26px) を本文の 1 行目の中心に合わせる */
  flex: 0 0 26px;
  margin: 3px 0 0 2px;
}

/* ============================================================
   3-13. ヒーローの見出しとリード文 (Home)

   直す前の形:
     [列 1: 見出し 3 行] [列 2: リード文]  ← リード文だけ別の列だった

   これだと
     ① PC ではリード文が見出しの真横・上端に浮き、見出しの右に
        「もう 1 本の段」があるように見える。
     ② 1 列に畳むと、列の下余白 (--me-gap-block) が見出しとリード文の
        間に丸ごと入って 100px 以上の穴が空く。
     ③ リード文の折り返しが列の幅ではなく `max-width:46ch` で決まり、
        列の右側が 100px ほど空いたまま行が終わる = 「幅が最後まで
        いかない」。

   → リード文を見出しと同じ列に移した (index.tsx)。ここではその後の
     幅・字送り・軸の始末だけを書く。
   ============================================================ */

/* 🔴 `.home-content-container.top-phrase` は flex。中の wrapper は
   flex アイテムなので既定の `flex: 0 1 auto` だと**見出しの最長行の幅**まで
   縮む (1500px で列 600px に対し wrapper 390px だった)。
   リード文の折り返しがその 390px で決まってしまうので、列いっぱいに伸ばす。 */
.home-content-container.top-phrase > .home-content-text-wrapper.top-phrase {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

/* リード文。1em = 和文 1 字なので 34em ≒ 34 字。列が狭いときは列幅が勝つ
   ので実際には効かず、広いときだけ行が伸びすぎるのを止める。 */
.home-content-text-wrapper.top-phrase .home-content-text-title.top-explanation {
  margin-top: 22px;
  max-width: 34em;
}

@media (max-width: 767.98px) {
  /* 1 列に畳むと下の図と CTA は中央に来る。見出しとリード文だけ左寄せだと
     軸が 2 本になって崩れて見えるので、同じ中央軸にそろえる。 */
  .home-content-text-wrapper.top-phrase .home-content-text-title,
  .home-content-text-wrapper.top-phrase .home-content-text-text:not(.flex),
  .home-content-text-wrapper.top-phrase .home-content-text-title.top-explanation {
    text-align: center;
  }
  .home-content-text-wrapper.top-phrase .home-content-text-text:not(.flex) {
    margin-left: auto;
    margin-right: auto;
  }
  .home-content-text-wrapper.top-phrase .home-content-text-title.top-explanation {
    margin-left: auto;
    margin-right: auto;
    margin-top: 18px;
  }
  /* 見出しの下に図が続くので、列の下余白は詰める */
  .home-content-text-wrapper.top-phrase {
    padding-bottom: 0;
  }
}

/* 和文の見出しは既定だと「モバイ / ル注文」のように語の途中で折れる。
   Chrome 119+ の auto-phrase は文節で折る。対応していない環境は無視するだけ。 */
:lang(ja) .home-content-text-title,
:lang(ja) .usermanual-content-text-title,
:lang(ja) .home-content-text-bold {
  word-break: auto-phrase;
}

/* ============================================================
   3-14. 節 (帯) の左右をそろえる

   実測 (Home @1500) では、背景を持つ帯の左右が節ごとに違っていた。

     me-list-card  310 / 880px      provide     210 / 1080px
     feature       230 / 1040px     brand-slider 170 / 1160px
     price         190 / 1120px     comparison   190 / 1120px
     faq           150 / 1200px     sns          150 / 1200px

   どれも中央そろえなので左右は対称だが、**幅が全部違う**ので下に読み進むほど
   端が階段状にずれていく。「右のマージンだけずれている」の正体はこれ。
   原因は帯ごとに `margin: 0 20px` / `0 40px` / なし がバラバラに書かれていたこと。

   器の中心はどの帯も 750px でそろっているので、**幅を 1 つに決めれば端がそろう**。
   基準は `.home-container` (1200px) の内側 = 1120px。
   ============================================================ */

.home-content-text-wrapper.provide,
.home-content-text-wrapper.feature,
.home-content-text-wrapper.price,
.home-content-text-wrapper.comparison,
.home-content-text-wrapper.faq,
.home-content-text-wrapper.sns,
.home-content-container.brand-slider,
.home-content-container > .me-list-card,
.me-figure {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--me-band);
  width: 100%;
}
/* ロゴのスライダーだけ style.css に `max-width: 100% !important` があるので、
   同じ強さで上書きしないと 1 本だけ 1200px のまま残る */
.home-content-container.brand-slider {
  max-width: var(--me-band) !important;
}

/* 節の縦の間。実測では 52 / 62 / 96 / 48 / 40 / 40 / 0px とばらついていた。
   間を作っている場所が 3 つ (列の padding-bottom・器 `.table` の padding・
   帯の margin) あって、節ごとに効く数が違ったのが原因。
   🔴 **縦の間を持つのは帯の margin-bottom だけ**にして、他の 2 つは 0 にする。 */
.home-container > .row > [class*='col-md-12'] {
  padding-bottom: 0;
}
.home-content-container.table {
  padding-bottom: 0;
  padding-top: 0;
}
.home-content-text-wrapper.provide,
.home-content-text-wrapper.feature,
.home-content-text-wrapper.price,
.home-content-text-wrapper.comparison,
.home-content-text-wrapper.faq,
.home-content-text-wrapper.sns,
.home-content-container.brand-slider,
.home-content-container > .me-list-card,
.me-figure {
  margin-bottom: var(--me-gap-section);
  margin-top: 0;
}

/* 🔴 帯は `.home-container` の中だけに居るわけではない。
   `.loader-content-wrapper` の直下には `.price-container` `.faq-container`
   `.copyright-container` や裸の `.brand-slider` も並んでいて、こちらは
   左右の余白を 1 つも持っていなかった。PC では帯の max-width で結果的に
   そろうが、モバイル (max-width が効かない) では**画面の端まで届いてしまい**、
   角丸が画面の角で切れて見えていた。節の器に同じ余白を持たせる。 */
.loader-content-wrapper > div:not(.brand-slider) {
  padding-left: 40px;
  padding-right: 40px;
}
.loader-content-wrapper > .brand-slider {
  margin-left: 40px;
  margin-right: 40px;
}
/* 🔴 料金ページだけ .app-main__outer を挟まず、.app-main (flex) の直下に器が来る。
   flex の子は既定で min-width:auto = 中身の最小幅より縮まないので、
   器の padding 40px ×2 が上乗せされて 1580px (画面 1500px) になり、
   見出し帯が右端に 40px はみ出して角丸が切れていた。 */
.app-main > .loader-content-wrapper {
  min-width: 0;
}
/* プランの器は style.css で width:100vw。器 (.home-container) の左 16px の内側で
   画面幅いっぱいに広がるので、スマホで右に 16px はみ出して横スクロールが出ていた。 */
.home-content-price-plan-container {
  width: 100%;
  max-width: 100%;
}
/* 利用規約 / プライバシーポリシーは display:table の器に本文を置いている。
   table は中身の最小幅より縮まないので、本文の長い URL
   (https://myaccount.google.com/permissions など) がそのまま器の最小幅になり、
   スマホで右に 30px はみ出していた。長い語はどこでも折れるようにする。 */
.home-content-text-text.tc,
.home-content-text-text.pp {
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* 料金: 器 (.home-container) は 829px の読みものの幅なのに、プラン枠と追加オプション枠が
   col-lg-6 (器の 50%) に置かれて 365px に潰れ、PC でも「スタンダードプ / ラン」
   「(SGD 1,534/ 月額)」のように語の途中で折れていた。器の中では 1 列しかないので
   列を器いっぱいに広げる (枠自体は max-width 700px で止まる)。 */
.col-lg-6:has(> .home-content-price-plan-box-wrapper),
.col-lg-6:has(> .home-content-price-option-box-wrapper) {
  flex: 0 0 100%;
  max-width: 100%;
}

/* ---- Home「様々な機能」(FeatureChecklist) ----
   7 つの群を 2 列のカードで並べる。スマホは 1 列。 */
.me-feat-lead {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
  color: var(--me-fg-dim);
  font-size: var(--me-body-size);
  line-height: var(--me-body-lh);
}
.me-feat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 0 28px 8px;
}
.me-feat-group {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  padding: 22px 24px;
}
.me-feat-group-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 12px;
  font-family: var(--me-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--me-fg-head);
}
.me-feat-count {
  font-family: var(--me-font-ui);
  font-size: var(--me-note-size);
  font-weight: 500;
  color: var(--me-fg-dim);
}
.me-feat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.me-feat-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 0;
  color: var(--me-fg);
  font-size: var(--me-body-size);
  line-height: var(--me-body-lh);
  /* 親 (.home-content-text-wrapper.feature) が中央寄せなので、折り返した 2 行目が真ん中に来てしまう */
  text-align: left;
}
.me-feat-item svg {
  flex: 0 0 18px;
  margin-top: 4px;
}
/* 群は 7 つ = 奇数なので、最後の 1 枚を 2 列ぶち抜きにして右下の穴を消す。中の項目は 2 列に流す */
.me-feat-group:last-child {
  grid-column: 1 / -1;
}
.me-feat-group:last-child .me-feat-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
}
@media (max-width: 767.98px) {
  .me-feat-grid {
    grid-template-columns: 1fr;
    padding: 0 8px;
  }
  .me-feat-group {
    padding: 18px 16px;
  }
  .me-feat-group:last-child .me-feat-list {
    grid-template-columns: 1fr;
  }
}

/* ---- Home「サービス比較」: 大きな 2 箱をやめ、項目ごとの 3 列表にした ----
   文字は他の節と同じ本文サイズ以下に抑え、MONOEDGE 列だけ色を付けて目で追えるようにする。 */
.me-cmp-lead,
.me-faq-lead {
  color: var(--me-fg-dim);
  font-family: var(--me-font-ui);
  font-size: var(--me-body-size);
  line-height: 1.7;
  margin: 0 auto 24px;
  max-width: 760px;
  text-align: center;
}
.me-cmp {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  font-family: var(--me-font-ui);
  margin: 0 32px;
  overflow: hidden;
  text-align: left;
}
.me-cmp-row {
  border-top: 1px solid var(--me-line);
  display: grid;
  grid-template-columns: 150px minmax(0, 1.15fr) minmax(0, 1fr);
}
.me-cmp-row:first-child {
  border-top: 0;
}
.me-cmp-row > span {
  font-size: 14px;
  line-height: 1.65;
  padding: 12px 16px;
}
.me-cmp-row--head > span {
  color: var(--me-fg-dim);
  font-size: var(--me-note-size);
  font-weight: 600;
  letter-spacing: 0.04em;
  padding-bottom: 10px;
  padding-top: 14px;
}
.me-cmp-row--head .me-cmp-us-head {
  color: var(--me-accent);
}
.me-cmp-topic {
  color: var(--me-fg-head);
  font-weight: 600;
}
.me-cmp-us {
  background: var(--me-accent-soft);
  color: var(--me-fg-head);
}
.me-cmp-us,
.me-cmp-them {
  align-items: flex-start;
  display: flex;
  gap: 8px;
}
.me-cmp-them {
  color: var(--me-fg-dim);
}
.me-cmp-mark {
  flex: 0 0 16px;
  margin-top: 4px;
}
.me-cmp-them-label {
  display: none;
}
.me-cmp-note {
  color: var(--me-fg-dim);
  font-family: var(--me-font-ui);
  font-size: var(--me-note-size);
  line-height: 1.6;
  margin: 14px 32px 28px;
  text-align: left;
}
@media (max-width: 767.98px) {
  .me-cmp,
  .me-cmp-note {
    margin-left: 0;
    margin-right: 0;
  }
  .me-cmp-row {
    grid-template-columns: 1fr;
    padding: 12px 0;
  }
  .me-cmp-row--head {
    display: none;
  }
  .me-cmp-row:nth-child(2) {
    border-top: 0;
  }
  .me-cmp-row > span {
    padding: 4px 14px;
  }
  .me-cmp-us {
    background: transparent;
  }
  .me-cmp-them-label {
    color: var(--me-fg-dim);
    display: block;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
  }
}

/* ---- Home「よくあるご質問」: 6 つの見出しで分けて並べる ---- */
.me-faq-lead {
  margin-bottom: 8px;
}
.me-faq-group {
  margin-top: 16px;
}
.me-faq-group-title {
  color: var(--me-accent);
  font-family: var(--me-font-ui);
  font-size: var(--me-note-size);
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0;
  padding: 18px 30px 8px;
  text-align: left;
}
.me-faq-group .faqbox-question:first-of-type {
  border-top: 1px solid var(--me-line);
}

/* 帯の角丸も 40px / 18px が混在していたのでそろえる */
.home-content-text-wrapper.provide,
.home-content-text-wrapper.feature,
.home-content-text-wrapper.price,
.home-content-text-wrapper.comparison,
.home-content-text-wrapper.faq,
.home-content-text-wrapper.sns {
  border-radius: var(--me-radius-lg);
}

@media (max-width: 991.98px) {
  /* 1 列のときは器 (.home-container) の 16px だけを余白にして、
     帯は器いっぱいに広げる。ここで margin を残すと二重に凹む。 */
  .home-content-text-wrapper.provide,
  .home-content-text-wrapper.feature,
  .home-content-text-wrapper.price,
  .home-content-text-wrapper.comparison,
  .home-content-text-wrapper.faq,
  .home-content-text-wrapper.sns,
  .home-content-container.brand-slider,
  .home-content-container > .me-list-card,
  .me-figure {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
  .home-content-container.brand-slider {
    max-width: none !important;
  }
  .loader-content-wrapper > div:not(.brand-slider) {
    padding-left: 16px;
    padding-right: 16px;
  }
  .loader-content-wrapper > .brand-slider {
    margin-left: 16px;
    margin-right: 16px;
    /* `width: 100%` のままだと margin のぶんだけ右にはみ出す */
    width: auto;
  }
  .home-content-text-wrapper.provide,
  .home-content-text-wrapper.feature,
  .home-content-text-wrapper.price,
  .home-content-text-wrapper.comparison,
  .home-content-text-wrapper.faq,
  .home-content-text-wrapper.sns,
  .home-content-container.brand-slider,
  .home-content-container > .me-list-card,
  .me-figure {
    margin-bottom: 28px;
  }
}

/* ---- 見出しは左なのに本文だけ中央、を直す ----
   `.home-content-container-cell` が `text-align: center` の table-cell なので、
   自前で寄せを書いていない本文は**中央を継承**する。見出し
   (`.home-content-text-title`) には `text-align: left` が書いてあるため、
   同じ器の中で見出しが左・本文が中央という 2 本の軸ができていた。 */
.home-content-text-wrapper.w400 .home-content-text-text:not(.center) {
  text-align: left;
}

/* ---- 料金ページ「追加オプション」の値段が 1 行下にずれる ----
   🔴 値段 (`…-option-feature-price`) は行の**中**ではなく行の**兄弟**として
   置かれている。そのため項目名と値段が上下 2 行に分かれ、値段だけ右に
   ぶら下がって「ずれている」ように見えていた。
   器を 2 列のグリッドにして、兄弟のまま同じ行に並べる。 */
.home-content-price-option-feature-container {
  align-items: center;
  column-gap: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
}
.home-content-price-option-feature-container > .home-content-price-option-feature-comment {
  grid-column: 1 / -1;
}

/* ---- w400 の器に残っていた中央寄せの本文 ----
   `.home-content-text-wrapper.w400` の中身は見出しも本文もすべて左寄せなのに、
   自前で寄せを書いていない 3 種類 (Shopify の手順・コード枠、QR 注文ページの
   無名 div) だけが table-cell の `text-align: center` を継承していた。
   明示的に中央にしたいものは `.center` を持っているので、それだけ除く。 */
.home-content-text-wrapper.w400 > div:not(.center) {
  text-align: left;
}

/* ---- 会社概要の小見出しだけ中央だった ----
   本文が左寄せなので、同じ器の中に軸が 2 本できていた。見出しも左に寄せる。 */
.company-content-text-wrapper.explanation > .company-content-text-bold {
  text-align: left;
}

/* ---- 画面写真に枠を付ける ----
   ページの地色と写真の地色がどちらも白に近いので、写真の端が消えて
   「置いた」ものに見えなかった。`me-figure` の全幅図版と同じ枠にそろえる。
   🔴 ヒーローのイラスト (`top-image`) は背景が透過なので枠を付けない。 */
[class*='col-md-6'] .home-content-img-wrapper:not(.top-image) .home-content-img {
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
}

/* 写真の下の説明文は本文と同じ大きさだと写真より目立つ。図版キャプションにそろえる。 */

/* ---- 本文中のリンク ----
   Bootstrap 既定の #007bff がそのまま出ていて、落ち着いた配色の中で
   1 箇所だけ彩度が浮いていた。アクセント色にそろえる。
   ボタン類 (自前で色を持つもの) には当てない。 */
.app-main a:not(.btn):not([class*='button']):not([class*='jump']) {
  color: var(--me-accent);
}
.app-main a:not(.btn):not([class*='button']):not([class*='jump']):hover {
  color: var(--me-accent-hover);
}

/* ---- 見出し写真だけ左右 15px はみ出していた ----
   `.home-header-img-wrapper` は行 (`.row`) の直下に段を挟まずに置かれているので、
   段が持つはずの 15px の桁間を持たず、帯より 15px ずつ外に出ていた。 */
.home-container > .row > .home-header-img-wrapper {
  padding-left: 15px;
  padding-right: 15px;
}

/* ============================================================
   4. モーション — 節がスクロールで浮き上がる

   🔴 初期状態 (opacity:0) をここに書いてはいけない。JS が落ちたページで
   本文が永久に消える。`me-reveal` は `hooks/useScrollReveal.ts` が
   **実行時に付ける**ので、JS が動いていないブラウザには何も起きない。
   🔴 クラス名を `me-` で始めているのは PurgeCSS の safelist が `/^me-/` を
   持っているから (Bootstrap の margin-end 用)。JS からしか出てこない
   クラス名を別の綴りにすると production ビルドで丸ごと消える。
   ============================================================ */

.me-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.72s cubic-bezier(0.16, 1, 0.3, 1) var(--me-reveal-delay, 0ms),
    transform 0.72s cubic-bezier(0.16, 1, 0.3, 1) var(--me-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.me-reveal.me-reveal--in {
  opacity: 1;
  transform: none;
}

/* 図版はほんの少し奥から出てくる (寄ってくる感じ) */
.me-figure.me-reveal,
.home-content-container.brand-slider.me-reveal {
  transform: translateY(20px) scale(0.985);
}

/* 🔴 動きを止めている人には何もしない (OS の設定を尊重する) */
/* 横いっぱいの画面写真 — スクロールに合わせて 0.9 → 1 へ寄ってくる。
   値 (--me-zoom) は useScrollReveal が毎フレーム書く。JS が無ければ 1 のまま。 */
.me-zoom {
  transform: scale(var(--me-zoom, 1));
  transform-origin: 50% 0;
  will-change: transform;
}

/* ヒーローの写真は白い下地ごと切り抜かれているので、地の色に溶かす */
.home-container > .row:first-of-type > [class*='col-']:nth-child(-n + 2) .home-content-img {
  mix-blend-mode: multiply;
}

@media (prefers-reduced-motion: reduce) {
  .me-zoom,
  .me-reveal,
  .me-figure.me-reveal,
  .home-content-container.brand-slider.me-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ============================================================
   5. 節を「板」にする — 全ページ共通のカード

   Home だけが箱で区切られていて、CRM / 予約 / モバイル注文 /
   デジタルメニューの各ページは本文と画面写真が地の上に裸で置かれていた。
   同じ器に入れて、ページごとの作りの差をなくす。

   🔴 ヒーロー (最初の行の先頭 2 段) は板にしない。見出しは地の上に置く。
   🔴 すでに自前の背景を持っている節 (provide / feature / price / …) と、
      枠を持つ `me-figure` を含む器は二重になるので除く。
   ============================================================ */

/* ヒーローは地のまま (行の先頭 2 段)。
   🔴 板の除外条件は :where() に入れて詳細度を 0 にしてある。:not() を 14 個並べると
      詳細度が 0,19,0 まで膨らみ、この上書きが負けてヒーローの写真まで板になっていた。
      クラスを 2 回書いているのは、手を乗せたときの規則 (:hover で 1 段上がる) にも勝つため。 */
.home-container
  > .row:first-of-type
  > [class*='col-']:nth-child(-n + 2)
  > .home-content-container.home-content-container {
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
}

/* 板の中では、器がもう余白を持っているので中身は横 padding を持たない */
.home-container > .row > [class*='col-'] > .home-content-container.table .home-content-img-wrapper,
.home-container
  > .row
  > [class*='col-']
  > .home-content-container.table
  .home-content-text-wrapper {
  padding-left: 0;
  padding-right: 0;
}
.home-container
  > .row
  > [class*='col-']
  > .home-content-container.table
  .home-content-img-wrapper.padding-40 {
  padding-top: 0;
  padding-bottom: 0;
}
/* ヒーローの図版だけは元の余白を残す (板ではないので詰めると寄りすぎる) */
.home-container
  > .row:first-of-type
  > [class*='col-']:nth-child(-n + 2)
  > .home-content-container
  .home-content-img-wrapper.padding-40 {
  padding: 24px 20px;
}

/* 板の中の本文は、板の padding だけを上下の余白にする。
   外側の器・文字の器・見出しがそれぞれ上の余白を持っていて、スマホでは見出しの上が
   64px (板 22 + 器の margin 20 + padding 10 + 見出し 12) 空いていた。 */
.home-container
  > .row
  > [class*='col-']
  > .home-content-container.table
  .home-content-text-wrapper {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.home-container
  > .row
  > [class*='col-']
  > .home-content-container.table
  .home-content-text-wrapper
  > .home-content-text-title:first-child {
  padding-top: 0;
}

/* 板の中の画面写真は角丸で、板の角と揃える */
.home-container > .row > [class*='col-'] > .home-content-container.table .home-content-img {
  border-radius: var(--me-radius);
}

/* 板の見出し — 本文との間に髪の毛 1 本の線を引いて、節の始まりを分かるようにする */
.home-container
  > .row
  > [class*='col-']
  > .home-content-container.table
  .home-content-text-wrapper
  > .home-content-text-title:first-child {
  border-bottom: 1px solid var(--me-line);
  margin-bottom: 16px;
  padding-bottom: 12px;
}

/* 写真の上に載る説明 (`home-content-img-title`) はキャプションとしてそろえる */

/* 板に手を乗せたときだけ、線が少し濃くなって浮く。動きは 1 段だけにする。 */

/* キーボードで辿っている人に、いまどこに居るかを見せる */
.app-main a:focus-visible,
.faqbox-question:focus-visible {
  outline: 2px solid var(--me-accent);
  outline-offset: 3px;
  border-radius: var(--me-radius-sm);
}

/* ============================================================
   6. Home — 「できること」(サービス一覧) と冒頭の価値カード (2026-09-15)

   旧「以下は私たちが提供するサービスです」は `.home-content-container.table` の中に
   帯を置いていたため、§5 の「板の中の text-wrapper は padding 0」に巻き込まれ、
   見出し・カード・注記が帯の端に張り付いていた (左右の余白が無い)。
   新しい帯は `.table` を使わず素の div で組み、内側の余白を帯自身が持つ。
   カードの間は Bootstrap の Col + marginBottom ではなく grid の gap で作る。
   → .claude/skills/landing-top-calm-design
   ============================================================ */

:root {
  /* 画面風イラストの中間色。accent-soft / warn-soft は白いカードの上だと見えないため */
  --me-accent-tint: #cfe3df;
  --me-warn-tint: #f2dccb;
  --me-svc-pad: 48px 44px 40px 44px;
}

/* ---- 節の頭 (ラベル → 見出し → リード) ---- */
.me-section-head {
  margin: 0 0 28px 0;
  text-align: left;
}
.me-eyebrow {
  color: var(--me-accent);
  font-family: var(--me-font-ui);
  font-size: var(--me-label-size);
  font-weight: 700;
  letter-spacing: var(--me-label-ls);
  line-height: 1.6;
  margin: 0 0 8px 0;
  text-transform: uppercase;
}
.me-h2 {
  color: var(--me-fg-head);
  font-family: var(--me-font-display);
  font-size: var(--me-h2-size);
  font-weight: var(--me-h2-weight);
  letter-spacing: var(--me-h2-ls);
  line-height: var(--me-h2-lh);
  margin: 0;
}
.me-lead {
  color: var(--me-fg);
  font-size: var(--me-lead-size);
  letter-spacing: var(--me-body-ls);
  line-height: var(--me-lead-lh);
  margin: 12px 0 0 0;
  max-width: 44em;
}
.me-footnote {
  color: var(--me-fg-dim);
  font-size: var(--me-note-size);
  line-height: 1.8;
  margin: 0;
  text-align: left;
}
.me-footnote a {
  color: var(--me-accent);
  font-weight: 700;
  text-decoration: none;
}
.me-footnote a:hover {
  text-decoration: underline;
}
.me-icon {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}
:lang(ja) .me-h2,
:lang(ja) .me-value-title,
:lang(ja) .me-svc-title,
:lang(ja) .me-svc-group-title {
  word-break: auto-phrase;
}

/* ---- 冒頭の価値カード (旧: 箇条書き 6 行) ---- */
.home-content-container > .me-list-card.me-values {
  padding: var(--me-svc-pad);
  text-align: left;
}
.me-values-grid {
  display: grid;
  gap: 28px 32px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.me-value-icon {
  align-items: center;
  background: var(--me-accent-soft);
  border-radius: var(--me-radius-pill);
  color: var(--me-accent);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  margin: 0 0 14px 0;
  width: 44px;
}
.me-value-title {
  color: var(--me-fg-head);
  font-family: var(--me-font-display);
  font-size: var(--me-h3-size);
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 6px 0;
}
.me-value-body {
  color: var(--me-fg-dim);
  font-size: 13.5px;
  line-height: 1.85;
  margin: 0;
}
.me-values .me-footnote {
  border-top: 1px solid var(--me-line);
  margin-top: 28px;
  padding-top: 16px;
}

/* ---- サービス一覧の帯 ---- */
.me-svc {
  background: var(--me-surface-2);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg);
  margin: 0 auto var(--me-gap-section) auto;
  max-width: var(--me-band);
  padding: var(--me-svc-pad);
  text-align: left;
  width: 100%;
}

/* 予約から再来店までの流れ */
.me-flow {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  list-style: none;
  margin: 0 0 44px 0;
  padding: 22px 12px 18px 12px;
}
.me-flow-step {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  text-align: center;
}
.me-flow-step + .me-flow-step::before {
  background: var(--me-line-strong);
  content: '';
  height: 1px;
  position: absolute;
  right: calc(50% + 30px);
  top: 22px;
  width: calc(100% - 60px);
}
.me-flow-icon {
  align-items: center;
  background: var(--me-accent-soft);
  border-radius: var(--me-radius-pill);
  color: var(--me-accent);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.me-flow-step:last-child .me-flow-icon {
  background: var(--me-accent);
  color: var(--me-accent-fg);
}
.me-flow-label {
  color: var(--me-fg-head);
  font-family: var(--me-font-ui);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

/* グループ */
.me-svc-group + .me-svc-group {
  margin-top: 44px;
}
.me-svc-group-head {
  align-items: baseline;
  column-gap: 14px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0 0 18px 0;
}
.me-svc-group-no {
  color: var(--me-accent);
  font-family: var(--me-font-ui);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.me-svc-group-title {
  color: var(--me-fg-head);
  font-family: var(--me-font-display);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
}
.me-svc-group-desc {
  color: var(--me-fg-dim);
  font-size: 14px;
  grid-column: 2;
  line-height: 1.8;
  margin: 2px 0 0 0;
}

/* カード */
.me-svc-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
/* 3 列で最後の 1 枚だけ行に残るとき (4 枚・7 枚)、右に 2 枚ぶんの穴を作らず横いっぱいに使う。
   図の幅は上の段の 1 列ぶんに合わせて、縦の線がそろって見えるようにする */
.me-svc-grid > .me-svc-card:last-child:nth-child(3n + 4) {
  flex-direction: row;
  grid-column: 1 / -1;
}
.me-svc-grid > .me-svc-card:last-child:nth-child(3n + 4) .me-svc-media {
  border-bottom: 0;
  border-right: 1px solid var(--me-line);
  flex: 0 0 calc((100% - 40px) / 3);
}
.me-svc-grid > .me-svc-card:last-child:nth-child(3n + 4) .me-svc-body {
  justify-content: center;
  padding: 24px 28px;
}
.me-svc-card {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  box-shadow: var(--me-shadow-card);
  color: inherit;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  text-align: left;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease,
    border-color 0.2s ease;
}
a.me-svc-card,
a.me-svc-card:hover,
a.me-svc-card:focus {
  color: inherit;
  text-decoration: none;
}
.me-svc-card--link:hover {
  border-color: var(--me-line-strong);
  box-shadow:
    0 1px 2px rgba(31, 33, 31, 0.05),
    0 22px 42px -26px rgba(31, 33, 31, 0.55);
  transform: translateY(-2px);
}
.me-svc-card--link:focus-visible {
  outline: 2px solid var(--me-accent);
  outline-offset: 2px;
}
.me-svc-media {
  aspect-ratio: 16 / 10;
  /* 🔴 min-height:auto のままだと中の SVG の縦横比が勝ち、aspect-ratio を変えても高さが変わらない */
  min-height: 0;
  background: var(--me-bg);
  border-bottom: 1px solid var(--me-line);
  padding: 10px 14px;
}
.me-svc-media svg {
  display: block;
  height: 100%;
  width: 100%;
}
.me-svc-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 18px 20px 20px 20px;
}
.me-svc-title {
  color: var(--me-fg-head);
  font-family: var(--me-font-display);
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.45;
  margin: 0 0 6px 0;
}
.me-svc-desc {
  color: var(--me-fg-dim);
  font-size: 13.5px;
  line-height: 1.8;
  margin: 0;
}
.me-svc-note {
  color: var(--me-fg-faint);
  font-size: 12px;
  line-height: 1.6;
  margin: 8px 0 0 0;
}
.me-svc-more {
  color: var(--me-accent);
  font-family: var(--me-font-ui);
  font-size: 13px;
  font-weight: 700;
  margin-top: auto;
  padding-top: 14px;
}

/* 注記 */
.me-svc-foot {
  border-top: 1px solid var(--me-line-strong);
  margin-top: 40px;
  padding-top: 18px;
}
.me-svc-printers {
  margin-top: 8px;
}
.me-svc-printers summary {
  color: var(--me-fg-dim);
  cursor: pointer;
  font-size: var(--me-note-size);
  line-height: 1.8;
}
.me-svc-printers[open] summary {
  margin-bottom: 4px;
}

/* ---- 画面風イラストの塗り (ServiceMockups.tsx) ---- */
.me-mk-card {
  fill: var(--me-surface);
  stroke: var(--me-line-strong);
  stroke-width: 1;
}
.me-mk-card-plain {
  fill: var(--me-surface);
}
.me-mk-panel {
  fill: var(--me-line);
}
.me-mk-line {
  fill: var(--me-line-strong);
}
.me-mk-grid {
  fill: var(--me-line);
}
.me-mk-dim {
  fill: var(--me-fg-faint);
}
.me-mk-head {
  fill: var(--me-fg-head);
}
.me-mk-acc {
  fill: var(--me-accent);
}
.me-mk-soft {
  fill: var(--me-accent-tint);
}
.me-mk-warn {
  fill: var(--me-warn);
}
.me-mk-warnsoft {
  fill: var(--me-warn-tint);
}
.me-mk-area {
  fill: var(--me-accent-soft);
}
.me-mk-stroke-white,
.me-mk-stroke-acc,
.me-mk-stroke-dim,
.me-mk-road,
.me-mk-road-thin,
.me-mk-dash,
.me-mk-arrow,
.me-mk-frame,
.me-mk-corner,
.me-mk-wave {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.me-mk-stroke-white {
  stroke: var(--me-surface);
  stroke-width: 2.2;
}
.me-mk-stroke-acc {
  stroke: var(--me-accent);
  stroke-width: 2.4;
}
.me-mk-stroke-dim {
  stroke: var(--me-fg-faint);
  stroke-dasharray: 4 4;
  stroke-width: 1.6;
}
.me-mk-road {
  stroke: var(--me-surface);
  stroke-width: 10;
}
.me-mk-road-thin {
  stroke: var(--me-surface);
  stroke-width: 5;
}
.me-mk-dash {
  stroke: var(--me-fg-faint);
  stroke-dasharray: 4 5;
  stroke-width: 1.6;
}
.me-mk-arrow {
  stroke: var(--me-fg-faint);
  stroke-width: 1.8;
}
.me-mk-frame {
  stroke: var(--me-accent);
  stroke-dasharray: 6 4;
  stroke-width: 2;
}
.me-mk-corner {
  stroke: var(--me-accent);
  stroke-width: 3;
}
.me-mk-wave {
  opacity: 0.55;
  stroke: var(--me-accent);
  stroke-width: 2.4;
}
.me-mk-num,
.me-mk-num-on {
  font: 700 11px var(--me-font-ui);
}
.me-mk-num {
  fill: var(--me-fg-head);
}
.me-mk-num-on {
  fill: var(--me-surface);
}
.me-mk-num-big {
  fill: var(--me-fg-head);
  font: 800 46px var(--me-font-ui);
  letter-spacing: -0.03em;
}
.me-mk-num-card {
  fill: var(--me-surface);
  font: 800 30px var(--me-font-ui);
  letter-spacing: -0.02em;
}
.me-mk-num-code {
  fill: var(--me-surface);
  font:
    700 22px ui-monospace,
    'SFMono-Regular',
    Menlo,
    Consolas,
    monospace;
}

/* ---- 幅ごとの組み替え ---- */
@media (max-width: 1199.98px) {
  .me-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  :root {
    --me-svc-pad: 32px 20px 28px 20px;
  }
  .me-svc {
    margin-bottom: 28px;
    max-width: none;
  }
  .home-content-container > .me-list-card.me-values {
    margin-left: 0;
    margin-right: 0;
  }
  .me-svc-grid {
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* 2 列では 4 枚はちょうど埋まるので、PC 用の「最後の 1 枚を横いっぱい」を戻す */
  .me-svc-grid > .me-svc-card:last-child:nth-child(3n + 4):nth-child(even) {
    flex-direction: column;
    grid-column: auto;
  }
  .me-svc-grid > .me-svc-card:last-child:nth-child(3n + 4):nth-child(even) .me-svc-media {
    border-bottom: 1px solid var(--me-line);
    border-right: 0;
    flex: none;
  }
  .me-svc-grid > .me-svc-card:last-child:nth-child(3n + 4) .me-svc-body {
    justify-content: flex-start;
    padding: 18px 20px 20px 20px;
  }
  /* 2 列で奇数枚のとき、最後の 1 枚の横に穴が空かないよう 2 列ぶんを使い、図と文を横に並べる */
  .me-svc-grid > .me-svc-card:last-child:nth-child(odd) {
    flex-direction: row;
    grid-column: 1 / -1;
  }
  .me-svc-grid > .me-svc-card:last-child:nth-child(odd) .me-svc-media {
    border-bottom: 0;
    border-right: 1px solid var(--me-line);
    flex: 0 0 50%;
  }
  .me-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 22px;
  }
  .me-flow-step:nth-child(3n + 1)::before {
    display: none;
  }
  .me-svc-group + .me-svc-group {
    margin-top: 36px;
  }
}
@media (max-width: 575.98px) {
  .me-values-grid,
  .me-svc-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .me-svc-grid > .me-svc-card:last-child:nth-child(odd) {
    flex-direction: column;
    grid-column: auto;
  }
  .me-svc-grid > .me-svc-card:last-child:nth-child(odd) .me-svc-media {
    border-bottom: 1px solid var(--me-line);
    border-right: 0;
    flex: none;
  }
  .me-svc-group-head {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2px;
  }
  .me-svc-group-desc {
    grid-column: 1;
  }
  .me-h2 {
    font-size: 22px;
  }
  /* 1 列で 18 枚が縦に並ぶので、図の高さを抑えてスクロール量を減らす */
  .me-svc-media {
    aspect-ratio: 2 / 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .me-svc-card {
    transition: none;
  }
  .me-svc-card--link:hover {
    transform: none;
  }
}

/* ============================================================
   7. Platform / ユーザータイプ (Who can use) の機能ページ (2026-09-15)

   旧ページは Row/Col + `.home-content-container.table` の table-cell で組まれ、
   §5 の padding 0 や中央寄せの継承に振り回されて余白がページごとにばらばらだった。
   9 ページを `components/FeaturePage` の 1 つの型に載せ替え、帯はすべて
   素の section で `--me-band` 幅にそろえる。
   並び: ヒーロー → 要点 3〜4 つ → 機能の節 (文と画面写真を交互) → あわせて使える機能 → CTA → 導入店
   ============================================================ */

/* 旧ページは CSSTransition の flex 中央寄せで器を真ん中に置いていた。ここでは器自身が寄る */
.home-container.me-fp {
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.me-fp > section,
.me-fp > .me-fp-hl,
.me-fp > .me-fp-clients {
  box-sizing: border-box;
  margin: 0 auto var(--me-gap-section) auto;
  max-width: var(--me-band);
  width: 100%;
}
:lang(ja) .me-fp-h1,
:lang(ja) .me-fp .me-h2 {
  word-break: auto-phrase;
}

/* ---- ボタン ---- */
.me-fp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.me-btn {
  align-items: center;
  border-radius: var(--me-radius-pill);
  display: inline-flex;
  font-family: var(--me-font-ui);
  font-size: 14.5px;
  font-weight: 700;
  justify-content: center;
  line-height: 1.4;
  min-height: 46px;
  padding: 10px 26px;
  text-align: center;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}
a.me-btn,
a.me-btn:hover,
a.me-btn:focus {
  text-decoration: none;
}
/* 🔴 `.app-main a:not(.btn):not([class*="button"]):not([class*="jump"])` (詳細度 0,4,1) が
   リンク文字を深緑にするので、同じ詳細度を後に書いて勝たせる。緑地に緑文字で読めなくなっていた */
.app-main .me-fp-actions > a.me-btn.me-btn--primary {
  color: var(--me-accent-fg);
}
.app-main .me-fp-actions > a.me-btn.me-btn--ghost {
  color: var(--me-fg-head);
}
.app-main .me-fp-actions > a.me-btn.me-btn--ghost:hover {
  color: var(--me-accent);
}
.me-btn--primary {
  background: var(--me-accent);
  border: 1px solid var(--me-accent);
  box-shadow: var(--me-shadow-btn);
}
.me-btn--primary:hover {
  background: var(--me-accent-hover);
  border-color: var(--me-accent-hover);
}
.me-btn--ghost {
  background: var(--me-surface);
  border: 1px solid var(--me-line-strong);
  color: var(--me-fg-head);
}
.me-btn--ghost:hover {
  border-color: var(--me-accent);
  color: var(--me-accent);
}
.me-btn:focus-visible,
.me-fp-jump:focus-visible {
  outline: 2px solid var(--me-accent);
  outline-offset: 2px;
}

/* 「基本機能は無料」の 1 行 (ヒーローのリードの下)。
   料金の但し書きは料金ページに任せ、機能ページでは項目ごとの「オプション」印を付けない */
.me-fp-free {
  align-items: center;
  color: var(--me-fg-head);
  display: flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: var(--me-body-ls);
  line-height: 1.5;
  margin: 16px 0 0 0;
}

/* ---- ヒーロー ---- */
.me-fp > .me-fp-hero {
  align-items: center;
  column-gap: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  padding-top: 52px;
}
.me-fp-h1 {
  color: var(--me-fg-head);
  font-family: var(--me-font-display);
  font-size: clamp(30px, 3.3vw, 42px);
  font-weight: var(--me-h1-weight);
  letter-spacing: var(--me-h1-ls);
  line-height: var(--me-h1-lh);
  margin: 0;
}
.me-fp-lead {
  color: var(--me-fg);
  font-size: 16px;
  letter-spacing: var(--me-body-ls);
  line-height: var(--me-lead-lh);
  margin: 18px 0 0 0;
  max-width: 36em;
}
.me-fp-hero-media--photo img {
  aspect-ratio: 4 / 3;
  border-radius: var(--me-radius-lg);
  display: block;
  object-fit: cover;
  width: 100%;
}

/* ---- 要点 (3〜4 つ) ---- */
.me-fp > .me-fp-hl {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg);
  box-shadow: var(--me-shadow-card);
  display: grid;
  gap: 28px 32px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  padding: 32px 36px;
}
.me-fp > .me-fp-hl--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.me-fp-hl-item {
  margin: 0;
}

/* ---- 機能の節 ---- */
.me-fp-sec {
  column-gap: 52px;
  display: grid;
  row-gap: 28px;
}
.me-fp-sec--split {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.me-fp-sec--split.me-fp-sec--flip .me-fp-sec-text {
  order: 2;
}
.me-fp-sec--wide {
  grid-template-columns: minmax(0, 1fr);
}
.me-fp-checks {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 20px 0 0 0;
  padding: 0;
}
.me-fp-sec--wide .me-fp-checks {
  column-gap: 40px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.me-fp-checks > li {
  color: var(--me-fg);
  column-gap: 12px;
  display: grid;
  font-size: 14.5px;
  grid-template-columns: 22px minmax(0, 1fr);
  line-height: 1.85;
}
.me-fp-check {
  align-items: center;
  background: var(--me-accent-soft);
  border-radius: var(--me-radius-pill);
  color: var(--me-accent);
  display: inline-flex;
  height: 22px;
  justify-content: center;
  margin-top: 3px;
  width: 22px;
}
.me-fp-check .me-icon {
  stroke-width: 2.4;
}
.me-fp-subs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.me-fp-sub {
  background: var(--me-surface-2);
  border-radius: var(--me-radius-pill);
  color: var(--me-fg-dim);
  font-size: 12.5px;
  line-height: 1.6;
  padding: 2px 10px;
}
.me-fp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 20px 0 0 0;
  padding: 0;
}
.me-fp-chips > li {
  background: var(--me-surface);
  border: 1px solid var(--me-line-strong);
  border-radius: var(--me-radius-pill);
  color: var(--me-fg);
  font-size: 13px;
  line-height: 1.6;
  padding: 5px 14px;
}
.me-fp-chips--links a {
  color: var(--me-accent);
  font-weight: 700;
  text-decoration: none;
}
.me-fp-chips--links a:hover {
  text-decoration: underline;
}
.me-fp-sec-note {
  margin-top: 16px;
}

/* ---- 画面写真 ----
   写真は 1040x920 の透過合成が多い。枠は地の色で敷き、縦長・横長が混ざっても枠の高さで揃える */
.me-fp-shot {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.me-fp-shot-frame {
  align-items: center;
  background: var(--me-surface-2);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg);
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  padding: 20px;
}
.me-fp-shot-frame img,
.me-fp-shot-frame video {
  display: block;
  height: auto;
  max-height: 520px;
  max-width: 100%;
  object-fit: contain;
}
.me-fp-shot-frame video {
  border-radius: 10px;
}
/* 節の中の URL の例 (Shopify の案内) */
.me-fp-code {
  background: var(--me-surface-2);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  color: var(--me-fg);
  font-size: 12.5px;
  line-height: 1.6;
  margin: 0 0 10px 0;
  overflow-x: auto;
  padding: 10px 14px;
  white-space: pre-wrap;
  word-break: break-all;
}
.me-fp-code-title {
  color: var(--me-fg-dim);
  font-family: var(--me-font-ui);
  font-size: var(--me-label-size);
  font-weight: 700;
  letter-spacing: var(--me-label-ls);
  margin: 12px 0 4px 0;
  text-transform: uppercase;
}
.me-fp-checks--tight {
  margin-top: 14px;
}
.me-fp-checks--tight li {
  font-size: 14px;
  margin-bottom: 6px;
}
.me-fp-shot-caption {
  color: var(--me-fg-dim);
  font-family: var(--me-font-ui);
  font-size: var(--me-note-size);
  line-height: 1.6;
  margin-top: 10px;
  text-align: center;
}
.me-fp-sec-media {
  display: grid;
  gap: 20px;
}
.me-fp-sec-media--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.me-fp-sec--wide .me-fp-sec-media--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.me-fp-sec--split .me-fp-sec-media--2 .me-fp-shot-frame {
  padding: 12px;
}
/* 1600px 級の横長写真 1 枚は、読める大きさで中央に */
.me-fp-sec--wide .me-fp-sec-media--1 {
  margin: 0 auto;
  max-width: 900px;
  width: 100%;
}

/* ---- AI アドバイザーの会話 ---- */
.me-fp-chat {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}
.me-fp-chat-row {
  display: grid;
  gap: 6px;
}
.me-fp-chat-row--guest {
  justify-items: end;
}
.me-fp-chat-label {
  align-items: center;
  color: var(--me-fg-faint);
  display: inline-flex;
  font-family: var(--me-font-ui);
  font-size: var(--me-label-size);
  font-weight: 700;
  gap: 6px;
  letter-spacing: var(--me-label-ls);
  text-transform: uppercase;
}
.me-fp-bubble {
  border-radius: 16px;
  color: var(--me-fg);
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
  padding: 12px 16px;
}
.me-fp-bubble p {
  margin: 0;
}
.me-fp-chat-row--guest .me-fp-bubble {
  background: var(--me-accent);
  border-bottom-right-radius: 4px;
  color: var(--me-accent-fg);
  max-width: 85%;
}
.me-fp-chat-row--ai .me-fp-bubble {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-bottom-left-radius: 4px;
}
.me-fp-dishes {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 10px 0;
  padding: 0;
}
.me-fp-dishes > li {
  display: grid;
  gap: 2px;
}
.me-fp-dishes strong {
  color: var(--me-fg-head);
  font-weight: 700;
}
.me-fp-dishes span {
  color: var(--me-fg-dim);
  font-size: 13px;
  line-height: 1.7;
}
.me-fp-bubble .me-fp-chat-foot {
  color: var(--me-fg-faint);
  font-size: 12px;
}

/* ---- 使い方のパターン (Integrated) ---- */
.me-fp-patterns {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 24px 0 20px 0;
  padding: 0;
}
.me-fp-patterns > li {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  box-shadow: var(--me-shadow-card);
  color: var(--me-fg-head);
  display: flex;
  flex-direction: column;
  font-size: 14px;
  font-weight: 700;
  gap: 12px;
  line-height: 1.6;
  padding: 18px 16px;
}
.me-fp-patterns .me-value-icon {
  margin: 0;
}

/* ---- あわせて使える機能 (Home のサービス帯を流用) ---- */
.me-fp-related-head {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
}
.me-fp-jump {
  align-items: center;
  color: var(--me-accent);
  display: inline-flex;
  font-family: var(--me-font-ui);
  font-size: 14px;
  font-weight: 700;
  gap: 6px;
  text-decoration: none;
}
.me-fp-jump:hover {
  color: var(--me-accent-hover);
  text-decoration: underline;
}

/* ---- お店のかたち別 (Restaurant) ---- */
.me-fp-types-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.me-fp-type {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  box-shadow: var(--me-shadow-card);
  padding: 24px 26px;
}
.me-fp-type .me-fp-chips {
  margin-top: 16px;
}

/* ---- CTA ---- */
.me-fp > .me-fp-cta {
  align-items: center;
  background: var(--me-accent-soft);
  border: 1px solid var(--me-accent-tint);
  border-radius: var(--me-radius-lg);
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
  justify-content: space-between;
  padding: 40px 44px;
}
.me-fp-cta-text {
  flex: 1 1 420px;
}
.me-fp-cta .me-fp-actions {
  margin-top: 0;
}

/* ---- 読み物の帯 (なぜ役立つか) — 見出し左・本文右の 2 段 ---- */
.me-fp > .me-fp-story {
  background: var(--me-surface-2);
  border-radius: var(--me-radius-lg);
  column-gap: 56px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
  padding: 44px;
}
.me-fp-story-head .me-h2 {
  margin: 0;
  word-break: auto-phrase;
}
.me-fp-story-body p {
  color: var(--me-fg);
  font-size: 15.5px;
  letter-spacing: var(--me-body-ls);
  line-height: 1.9;
  margin: 0 0 14px 0;
}
.me-fp-story-body p:last-child {
  margin-bottom: 0;
}

/* 節のリードの下の 1 段落 */
.me-fp-sec-body {
  color: var(--me-fg);
  font-size: 15px;
  letter-spacing: var(--me-body-ls);
  line-height: 1.85;
  margin: 0 0 18px 0;
  max-width: 44em;
}

/* ---- 始め方 (番号つきカード) ---- */
.me-fp-steps-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.me-fp-step {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius);
  box-shadow: var(--me-shadow-card);
  padding: 24px 24px 22px;
}
.me-fp-step-no {
  align-items: center;
  background: var(--me-accent-soft);
  border-radius: var(--me-radius-pill);
  color: var(--me-accent);
  display: inline-flex;
  font-family: var(--me-font-ui);
  font-size: 14px;
  font-weight: 700;
  height: 32px;
  justify-content: center;
  margin-bottom: 14px;
  width: 32px;
}
.me-fp-step-title {
  color: var(--me-fg-head);
  font-size: var(--me-h3-size);
  font-weight: 700;
  line-height: 1.45;
  margin: 0 0 8px 0;
  word-break: auto-phrase;
}
.me-fp-step-body {
  color: var(--me-fg-dim);
  font-size: 14px;
  line-height: 1.75;
  margin: 0;
}

/* 外部リンクのボタンの矢印 */
.me-btn .me-icon {
  margin-left: 6px;
  stroke-width: 2;
}

/* ---- 導入店 ---- */
.me-fp > .me-fp-clients {
  margin-bottom: 8px;
  text-align: center;
}
.me-fp-clients .me-eyebrow {
  color: var(--me-fg-faint);
  margin: 0;
}
/* Home では .loader-content-wrapper が SNS の帯に左右 40px / 16px を持たせている (§5)。
   FeaturePage はその器を使わないので同じ余白をここで持たせる。無いと Bootstrap の
   .row の -15px が画面の外に出て、スマホで横スクロールが出る (2026-09-16 実測) */
.me-fp-page > .home-content-container.sns,
.me-fp-page > .copyright-container {
  padding-left: 40px;
  padding-right: 40px;
}

@media (max-width: 1199.98px) {
  .me-fp > .me-fp-hl--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .me-fp-patterns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .me-fp > .me-fp-hero {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 28px;
    row-gap: 28px;
  }
  .me-fp-sec--split {
    grid-template-columns: minmax(0, 1fr);
  }
  .me-fp-sec--split.me-fp-sec--flip .me-fp-sec-text {
    order: 0;
  }
  .me-fp > .me-fp-hl {
    padding: 24px 20px;
  }
  .me-fp > .me-fp-cta {
    padding: 28px 20px;
  }
  .me-fp-types-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .me-fp > .me-fp-story {
    grid-template-columns: minmax(0, 1fr);
    padding: 28px 20px;
    row-gap: 16px;
  }
  .me-fp-steps-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .me-fp-page > .home-content-container.sns,
  .me-fp-page > .copyright-container {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 767.98px) {
  .me-fp > .me-fp-hl,
  .me-fp > .me-fp-hl--4,
  .me-fp-sec--wide .me-fp-checks {
    grid-template-columns: minmax(0, 1fr);
  }
  .me-fp-patterns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .me-fp-h1 {
    font-size: 28px;
  }
  .me-fp-actions .me-btn {
    flex: 1 1 auto;
  }
  .me-fp-sec-media--2,
  .me-fp-sec--wide .me-fp-sec-media--3 {
    grid-template-columns: minmax(0, 1fr);
  }
  .me-fp-shot-frame img {
    max-height: 420px;
  }
  .me-fp-patterns {
    grid-template-columns: minmax(0, 1fr);
  }
  .me-fp-patterns > li {
    align-items: center;
    flex-direction: row;
  }
}
@media (prefers-reduced-motion: reduce) {
  .me-btn {
    transition: none;
  }
}

/* ============================================================
   §8 Contact page (Bootstrap form kept, calm surface applied)
   ============================================================ */
.me-contact {
  max-width: calc(var(--me-band) + 80px);
  margin: 0 auto;
  padding: 0 40px 24px;
}
.me-contact .main-card {
  border: 1px solid var(--me-line);
  border-radius: var(--me-radius-lg, 16px);
  box-shadow: none;
  background: var(--me-surface);
}
.me-contact .main-card > .card-header {
  background: transparent;
  color: var(--me-fg-head);
  font-weight: 700;
  border-bottom: 1px solid var(--me-line);
  padding: 14px 20px;
  text-transform: none;
}
.me-contact .main-card > .card-body {
  padding: 24px 20px;
}
.me-contact h5 {
  font-size: 16px;
  font-weight: 700;
  color: var(--me-fg-head);
}
.me-contact .form-control,
.me-contact select.form-control {
  border-color: var(--me-line-strong);
  border-radius: 8px;
  box-shadow: none;
}
.me-contact .form-control:focus {
  border-color: var(--me-accent);
  box-shadow: 0 0 0 3px var(--me-accent-soft);
}
.me-contact .btn-primary,
.me-contact .btn-primary:focus,
.me-contact .btn-primary:disabled {
  background: var(--me-accent);
  border-color: var(--me-accent);
  color: var(--me-accent-fg);
  border-radius: 999px;
  padding: 10px 22px;
  font-weight: 700;
  box-shadow: none;
}
.me-contact .btn-primary:hover:not(:disabled) {
  background: var(--me-accent-strong, var(--me-accent));
  border-color: var(--me-accent-strong, var(--me-accent));
  color: var(--me-accent-fg);
}
.me-contact .btn-secondary {
  background: transparent;
  border-color: var(--me-line-strong);
  color: var(--me-fg-head);
  border-radius: 999px;
  padding: 10px 22px;
  font-weight: 700;
  box-shadow: none;
}
.me-contact .btn-secondary:hover {
  background: var(--me-surface-2);
  border-color: var(--me-line-strong);
  color: var(--me-fg-head);
}
@media (max-width: 991px) {
  .me-contact {
    padding: 0 16px 16px;
  }
}

/* ---- CRM「ロイヤリティプログラム」の 12 枚 (Platform/Overview/CRM の ProgramGrid) ---- */
.me-fp-prog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}
.me-fp-prog {
  padding: 20px 20px 16px;
}
.me-fp-prog .me-value-title {
  margin-top: 12px;
  font-size: 1.02rem;
}
.me-fp-sec--wide .me-fp-prog .me-fp-checks--tight {
  /* the wide section puts its own check list in two columns; a 12-card grid has no room for that */
  grid-template-columns: 1fr;
  column-gap: 0;
  margin-top: 10px;
}
.me-fp-prog .me-fp-checks--tight li {
  font-size: 13.5px;
  margin-bottom: 4px;
}
@media (max-width: 1099.98px) {
  .me-fp-prog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .me-fp-prog-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- 予約ページの順番待ちの描き起こし (Platform/Acquire/Reservation/WaitlistVisuals) ----
   写真ではなく HTML で描く。端末の枠だけは frame_device.py と同じ濃いグレー */
.me-fp-art-frame {
  overflow: hidden;
  padding: 28px 20px;
}
.me-wl-scene {
  align-items: center;
  display: flex;
  justify-content: center;
  max-width: 100%;
  position: relative;
}
.me-wl-phone {
  background: #1f2226;
  border-radius: 40px;
  box-shadow: 0 24px 40px -26px rgba(20, 24, 28, 0.55);
  flex: 0 0 auto;
  padding: 9px;
  width: 262px;
}
.me-wl-phone--small {
  width: 214px;
}
.me-wl-screen {
  background: var(--me-bg);
  border-radius: 32px;
  font-family: var(--me-font-ui);
  overflow: hidden;
  position: relative;
}
.me-wl-notch {
  background: #1f2226;
  border-radius: 0 0 14px 14px;
  height: 18px;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 86px;
}
.me-wl-appbar {
  align-items: center;
  background: var(--me-surface);
  border-bottom: 1px solid var(--me-line);
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 28px 14px 10px;
}
.me-wl-shop {
  color: var(--me-fg-head);
  font-size: 13px;
  font-weight: 700;
}
.me-wl-tag {
  color: var(--me-fg-dim);
  font-size: 10.5px;
}
.me-wl-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 14px 18px;
}
.me-wl-ticket {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: 14px;
  padding: 12px 12px 10px;
  text-align: center;
}
.me-wl-label {
  color: var(--me-fg-dim);
  font-size: 10.5px;
}
.me-wl-bignum {
  color: var(--me-accent);
  font-family: var(--me-font-display);
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.me-wl-phone--small .me-wl-bignum {
  font-size: 32px;
}
.me-wl-pos {
  align-items: baseline;
  background: var(--me-accent-soft);
  border-radius: var(--me-radius-pill);
  color: var(--me-accent);
  display: inline-flex;
  font-size: 11px;
  gap: 6px;
  margin-top: 6px;
  padding: 2px 12px;
}
.me-wl-pos strong {
  font-size: 15px;
}
.me-wl-dots {
  display: flex;
  gap: 6px;
  justify-content: center;
}
.me-wl-dot {
  background: var(--me-line-strong);
  border-radius: 50%;
  height: 8px;
  width: 8px;
}
.me-wl-dot--done {
  background: var(--me-fg-faint);
}
.me-wl-dot--me {
  background: var(--me-accent);
  box-shadow: 0 0 0 3px var(--me-accent-soft);
}
.me-wl-ahead,
.me-wl-note {
  color: var(--me-fg);
  font-size: 11.5px;
  line-height: 1.6;
  margin: 0;
  text-align: center;
}
.me-wl-note {
  color: var(--me-fg-dim);
  font-size: 10.5px;
}
.me-wl-eta {
  align-items: center;
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: 10px;
  display: flex;
  font-size: 10.5px;
  justify-content: space-between;
  padding: 7px 10px;
}
.me-wl-eta span {
  color: var(--me-fg-dim);
}
.me-wl-eta strong {
  color: var(--me-fg-head);
  font-size: 12px;
  white-space: nowrap;
}
.me-wl-phone--small .me-wl-eta {
  flex-direction: column;
  gap: 2px;
}
.me-wl-signup {
  background: var(--me-accent-soft);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
}
.me-wl-signup-title {
  color: var(--me-accent);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-wrap: balance;
}
.me-wl-btn {
  background: var(--me-surface);
  border: 1px solid var(--me-line-strong);
  border-radius: var(--me-radius-pill);
  color: var(--me-fg-head);
  font-size: 11.5px;
  font-weight: 700;
  padding: 7px 10px;
  text-align: center;
}
.me-wl-btn--primary {
  background: var(--me-accent);
  border-color: var(--me-accent);
  color: #fff;
}
.me-wl-scene--qr {
  gap: 14px;
}
.me-wl-paper {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 18px 30px -22px rgba(20, 24, 28, 0.5);
  flex: 0 0 auto;
  font-family: var(--me-font-ui);
  padding: 16px 16px 14px;
  text-align: center;
  transform: rotate(-4deg);
  width: 150px;
}
.me-wl-paper-shop {
  color: var(--me-fg-head);
  font-size: 11px;
  font-weight: 700;
}
.me-wl-paper-label {
  color: var(--me-fg-dim);
  font-size: 9.5px;
  margin-top: 8px;
}
.me-wl-paper-num {
  color: var(--me-fg-head);
  font-family: var(--me-font-display);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.1;
}
.me-wl-paper-meta {
  border-bottom: 1px dashed var(--me-line-strong);
  color: var(--me-fg-dim);
  font-size: 9.5px;
  padding-bottom: 8px;
}
.me-wl-paper-qr {
  display: inline-block;
  margin-top: 10px;
  position: relative;
}
.me-wl-qr {
  display: block;
  fill: var(--me-fg-head);
}
.me-wl-scanline {
  background: var(--me-accent);
  border-radius: 2px;
  box-shadow: 0 0 10px 2px rgba(14, 111, 99, 0.45);
  height: 2px;
  left: -6px;
  position: absolute;
  right: -6px;
  top: 46%;
}
.me-wl-paper-hint {
  color: var(--me-fg-dim);
  font-size: 9px;
  line-height: 1.5;
  margin-top: 6px;
}
.me-wl-arrow svg {
  display: block;
  fill: none;
  stroke: var(--me-accent);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
}
.me-wl-scene--staff {
  padding-bottom: 36px;
  width: 100%;
}
.me-wl-tablet {
  background: #1f2226;
  border-radius: 26px;
  box-shadow: 0 24px 40px -26px rgba(20, 24, 28, 0.55);
  max-width: 520px;
  padding: 12px;
  width: 100%;
}
.me-wl-tscreen {
  background: var(--me-bg);
  border-radius: 14px;
  font-family: var(--me-font-ui);
  overflow: hidden;
}
.me-wl-tbar {
  align-items: center;
  background: var(--me-surface);
  border-bottom: 1px solid var(--me-line);
  display: flex;
  justify-content: space-between;
  padding: 10px 14px;
}
.me-wl-ttitle {
  color: var(--me-fg-head);
  font-size: 13px;
  font-weight: 700;
}
.me-wl-tstat {
  background: var(--me-accent-soft);
  border-radius: var(--me-radius-pill);
  color: var(--me-accent);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 10px;
}
.me-wl-tgrid {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  padding: 12px;
}
.me-wl-queue {
  display: flex;
  flex-direction: column;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.me-wl-row {
  align-items: center;
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: 10px;
  display: flex;
  gap: 8px;
  padding: 6px 8px;
}
.me-wl-row--seat {
  border-color: var(--me-accent);
  box-shadow: 0 0 0 2px var(--me-accent-soft);
}
.me-wl-no {
  color: var(--me-accent);
  font-family: var(--me-font-display);
  font-size: 13px;
  font-weight: 800;
  min-width: 30px;
}
.me-wl-who {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  line-height: 1.3;
  min-width: 0;
}
.me-wl-who strong {
  color: var(--me-fg-head);
  font-size: 11.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.me-wl-who small {
  color: var(--me-fg-dim);
  font-size: 10px;
}
.me-wl-pill {
  background: var(--me-surface-2);
  border-radius: var(--me-radius-pill);
  color: var(--me-fg-dim);
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 9px;
}
.me-wl-pill--acc {
  background: var(--me-accent);
  color: #fff;
}
.me-wl-pill--line {
  background: var(--me-surface);
  border: 1px solid var(--me-accent);
  color: var(--me-accent);
}
.me-wl-side {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: 10px;
  padding: 8px;
}
.me-wl-side-title {
  color: var(--me-fg-dim);
  font-size: 10px;
  font-weight: 700;
}
.me-wl-tables {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 8px;
}
.me-wl-table {
  background: var(--me-surface-2);
  border-radius: 8px;
  color: var(--me-fg-faint);
  font-size: 10px;
  font-weight: 700;
  padding: 10px 0;
  text-align: center;
}
.me-wl-table--free {
  background: var(--me-accent-soft);
  box-shadow: inset 0 0 0 1.5px var(--me-accent);
  color: var(--me-accent);
}
.me-wl-side-note {
  color: var(--me-accent);
  font-size: 10px;
  line-height: 1.5;
  margin-top: 8px;
}
.me-wl-sms {
  background: var(--me-surface);
  border: 1px solid var(--me-line);
  border-radius: 16px;
  bottom: 0;
  box-shadow: 0 18px 34px -20px rgba(20, 24, 28, 0.45);
  font-family: var(--me-font-ui);
  padding: 10px 12px;
  position: absolute;
  right: 4px;
  width: 230px;
}
.me-wl-sms-head {
  color: var(--me-fg-dim);
  display: flex;
  font-size: 10px;
  justify-content: space-between;
}
.me-wl-sms-head span:first-child {
  color: var(--me-accent);
  font-weight: 800;
}
.me-wl-sms-body {
  color: var(--me-fg-head);
  font-size: 11.5px;
  line-height: 1.55;
  margin-top: 3px;
}
.me-wl-real {
  display: block;
  filter: drop-shadow(0 22px 30px rgba(20, 24, 28, 0.28));
  height: auto;
  margin: 0 auto;
  max-width: 100%;
  width: 290px;
}
.me-wl-real--scan {
  flex: 0 0 auto;
  width: 230px;
}
.me-wl-real--tablet {
  width: 100%;
}
/* the real queue fills the whole tablet, so the SMS sits below it instead of over the call buttons */
.me-wl-scene--staff-real {
  flex-direction: column;
  padding-bottom: 0;
}
.me-wl-scene--staff-real .me-wl-sms {
  align-self: flex-end;
  margin: -10px 8px 0 0;
  position: relative;
  right: auto;
}
@media (max-width: 767.98px) {
  .me-wl-real--scan {
    width: 180px;
  }
  .me-wl-scene--qr {
    gap: 6px;
  }
  .me-wl-paper {
    padding: 12px 10px;
    width: 120px;
  }
  .me-wl-paper .me-wl-qr {
    height: 72px;
    width: 72px;
  }
  .me-wl-arrow {
    display: none;
  }
  .me-wl-phone--small {
    width: 184px;
  }
  .me-wl-tgrid {
    grid-template-columns: 1fr;
  }
  .me-wl-side {
    display: none;
  }
  .me-wl-scene--staff {
    flex-direction: column;
    padding-bottom: 0;
  }
  .me-wl-sms {
    margin: -18px auto 0;
    position: relative;
    right: auto;
  }
}

/* ─────────────────────────────────────────────────────────────
   Usage-based pricing (AI / SMS) — Resources/Price. 2026-09-19.
   Source of the numbers: clp/Input/api_usage_rates.json +
   clp/usage_billing_policy.py. See §3 of the calm-design skill.
   ─────────────────────────────────────────────────────────── */
.me-usage-pricing {
  background: var(--me-surface);
  border-radius: var(--me-radius-lg);
  box-shadow: var(--me-shadow-card);
  margin: 0 auto var(--me-gap-section);
  max-width: var(--me-band);
  padding: 44px;
}
.me-usage-pricing-label {
  color: var(--me-accent);
  font-size: var(--me-label-size);
  font-weight: 700;
  letter-spacing: var(--me-label-ls);
  margin-bottom: 8px;
  text-transform: uppercase;
}
.me-usage-pricing-title {
  color: var(--me-fg-head);
  font-size: var(--me-h2-size);
  font-weight: 700;
  margin-bottom: 12px;
  word-break: auto-phrase;
}
.me-usage-pricing-lead {
  color: var(--me-fg);
  font-size: 15px;
  margin-bottom: 24px;
  max-width: 44em;
}
.me-usage-pricing-table-wrap {
  margin-bottom: 16px;
  overflow-x: auto;
}
.me-usage-pricing-table {
  border-collapse: collapse;
  font-size: 14px;
  table-layout: fixed;
  width: 100%;
}
/* Fixed column widths -- schema v2's two-line "input: ¥150 (US$1.00) / 1M
   tokens" price cells are wide enough that `table-layout: auto` (sizing
   columns to the widest unwrapped line) pushed the whole table past the
   card's right edge, off the visible page, with no visible scrollbar hint.
   Fixed widths + wrapping (below) keep every column inside the card. */
.me-usage-pricing-table col.me-usage-col-type {
  width: 30%;
}
.me-usage-pricing-table col.me-usage-col-price {
  width: 38%;
}
.me-usage-pricing-table col.me-usage-col-estimate {
  width: 32%;
}
.me-usage-pricing-table th,
.me-usage-pricing-table td {
  border-bottom: 1px solid var(--me-line);
  color: var(--me-fg);
  overflow-wrap: break-word;
  padding: 10px 12px;
  text-align: left;
}
.me-usage-pricing-table th {
  color: var(--me-fg-dim);
  font-size: var(--me-note-size);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* Price Book v2 -- one line per input/output (token classes) or a single
   line (per_minute / per_call), each with a small secondary USD price when
   the page is quoting a non-USD currency. Both are real fixed prices, never
   an "≈" conversion. */
.me-usage-price-line {
  margin-bottom: 2px;
}
.me-usage-price-line:last-child {
  margin-bottom: 0;
}
.me-usage-price-main {
  font-weight: 700;
}
.me-usage-price-usd {
  color: var(--me-fg-faint);
  font-size: var(--me-note-size);
  font-weight: 400;
}
.me-usage-pricing-free {
  background: var(--me-surface-2);
  border-radius: var(--me-radius);
  margin-bottom: 20px;
  padding: 18px 20px;
}
.me-usage-pricing-free-title {
  color: var(--me-fg-head);
  font-size: var(--me-h3-size);
  font-weight: 700;
  margin-bottom: 6px;
}
.me-usage-pricing-free-list {
  color: var(--me-fg-dim);
  font-size: 13.5px;
}
.me-usage-pricing-note {
  color: var(--me-fg-faint);
  font-size: var(--me-note-size);
  margin-bottom: 8px;
}
.me-usage-pricing-note div {
  margin-bottom: 4px;
}
@media (max-width: 991.98px) {
  .me-usage-pricing {
    padding: 24px 20px;
  }
  .me-usage-pricing-table {
    font-size: 13px;
  }
}
/* Below ~600px a 3-column table (label / unit price / practical estimate) has no
   room to breathe -- the estimate text wraps into an unreadable sliver. Turn each
   row into a stacked label/value card instead (a11y-standard "responsive table"
   pattern: thead hidden, td gets its heading back via data-label). */
@media (max-width: 600px) {
  .me-usage-pricing-table thead {
    display: none;
  }
  .me-usage-pricing-table,
  .me-usage-pricing-table tbody,
  .me-usage-pricing-table tr,
  .me-usage-pricing-table td {
    display: block;
    width: 100%;
  }
  .me-usage-pricing-table tr {
    border-bottom: 1px solid var(--me-line);
    padding: 10px 0;
  }
  .me-usage-pricing-table tr:last-child {
    border-bottom: none;
  }
  .me-usage-pricing-table td {
    border-bottom: none;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 0;
    white-space: normal;
  }
  .me-usage-pricing-table td::before {
    color: var(--me-fg-dim);
    content: attr(data-label);
    font-size: var(--me-note-size);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
}

/* Free monthly allowance grid (AI / AI support / SMS) — Resources/Price.
   2026-09-21. Numbers are rendered by React from a CLP call, never hardcoded
   in CSS; this only styles the layout. */
.me-usage-allowance-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 16px;
}
.me-usage-allowance-item {
  background: var(--me-accent-soft);
  border-radius: var(--me-radius);
  padding: 16px 18px;
}
.me-usage-allowance-value {
  color: var(--me-fg-head);
  font-size: 20px;
  font-weight: 700;
  word-break: auto-phrase;
}
.me-usage-allowance-label {
  color: var(--me-fg-dim);
  font-size: 13px;
  margin-top: 4px;
}
.me-usage-allowance-after {
  color: var(--me-fg-faint);
  font-size: var(--me-note-size);
}
@media (max-width: 991.98px) {
  .me-usage-allowance-grid {
    grid-template-columns: 1fr;
  }
}

/* Public Price Book table (LANDING_GetPublishedPrices) — Resources/Price.
   2026-09-21. See .claude/docs/billing/03-central-price-book-monoops.md. */
.me-usage-pricing-error {
  background: var(--me-accent-soft);
  border-radius: var(--me-radius);
  color: var(--me-fg-head);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
  padding: 14px 18px;
}
.me-usage-pricing-version {
  color: var(--me-fg-faint);
  font-size: var(--me-note-size);
  margin-bottom: 16px;
}
.me-usage-pricing-sms {
  margin-bottom: 20px;
}
.me-usage-sms-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}
.me-usage-sms-item {
  background: var(--me-surface-2);
  border-radius: var(--me-radius);
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
}
.me-usage-sms-item--default {
  background: var(--me-accent-soft);
}
.me-usage-sms-item-name {
  color: var(--me-fg-head);
  font-size: 13px;
  font-weight: 700;
  word-break: auto-phrase;
}
.me-usage-sms-item-code {
  color: var(--me-fg-faint);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.me-usage-sms-item-price {
  color: var(--me-fg-head);
  font-size: 14px;
  font-weight: 700;
}
.me-usage-sms-item-local {
  color: var(--me-fg-dim);
  font-size: 11.5px;
}
@media (max-width: 480px) {
  .me-usage-sms-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .me-usage-sms-item-name {
    font-size: 12px;
  }
  .me-usage-sms-item-price {
    font-size: 13px;
  }
}

/* 料金ページの最後に置いた「大きくなったときのオプション」。上のカードと同じ幅にそろえる
   (Col を 12 にしただけだと style.css の 700px で止まる)。 */
.home-content-price-option-box-wrapper.minimal .home-content-price-option-box {
  max-width: var(--me-band);
}
.home-content-price-option-lead {
  color: var(--me-fg);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.9;
  margin: 0 0 24px;
  max-width: 62em;
}
/* ページの締めくくりの見出しなので、上のカードの見出しと同じ大きさにする */
.home-content-price-option-box-wrapper.minimal .home-content-price-option-title {
  color: var(--me-fg-head) !important;
  font-size: var(--me-h2-size);
  font-weight: 700;
  margin-bottom: 12px;
  padding-left: 0;
}
.home-content-price-option-box-wrapper.minimal .home-content-price-option-box {
  /* 元は縦フレックスで余白が下に溜まり、締めの一文の下に 80px の空白が残っていた */
  /* wrapper が height:100% の flex なので箱が引き伸ばされ、締めの一文の下に 80px の空白が
     残っていた。自分の高さで止める。 */
  align-self: flex-start;
  display: block;
  padding: 40px 44px 32px;
}
.home-content-price-option-box-wrapper.minimal .resource-price-option-note {
  margin-bottom: 0;
}
@media (max-width: 480px) {
  .home-content-price-option-box-wrapper.minimal .home-content-price-option-box {
    padding: 28px 18px 24px;
  }
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url(/static/top/static/top/img/ajax-loader.gif) center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url(/static/top/static/top/img/slick.eot);
    src: url(/static/top/static/top/img/slick.eot?#iefix) format('embedded-opentype'), url(/static/top/static/top/img/slick.woff) format('woff'), url(/static/top/static/top/img/slick.ttf) format('truetype'), url(/static/top/static/top/img/slick.svg#slick) format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
.slick-prev:before
{
    content: '←';
}

.slick-next
{
    right: -25px;
}
.slick-next:before
{
    content: '→';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

/* MonoEdge Public API — Developer Docs site styling
 *
 * Scoped under .dev-* classes so it doesn't bleed into the rest of Top.
 * Color tokens follow the existing Top app aesthetic (white surface,
 * orange accent #f37021, dark-gray text). For a serious "API docs" feel
 * we lean into monospace + ample whitespace.
 */

/* ------------------------------------------------------------------ */
/* Hero (/developers/)                                                 */
/* ------------------------------------------------------------------ */

.dev-hero {
  background: linear-gradient(180deg, #fbfbfd 0%, #ffffff 60%);
  padding: 72px 24px 48px;
  border-bottom: 1px solid #e9ecef;
}
.dev-hero__inner {
  max-width: 980px;
  margin: 0 auto;
}
.dev-hero__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #f37021;
  margin-bottom: 12px;
}
.dev-hero__title {
  font-size: 48px;
  line-height: 1.1;
  font-weight: 800;
  color: #15171a;
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}
.dev-hero__subtitle {
  font-size: 19px;
  line-height: 1.55;
  color: #515761;
  max-width: 720px;
  margin: 0 0 32px;
}
.dev-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.dev-hero__cta-primary,
.dev-hero__cta-secondary {
  display: inline-block;
  padding: 12px 22px;
  font-weight: 600;
  font-size: 15px;
  border-radius: 8px;
  text-decoration: none;
  transition:
    transform 0.1s,
    box-shadow 0.1s;
}
.dev-hero__cta-primary {
  background: #f37021;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(243, 112, 33, 0.3);
}
.dev-hero__cta-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(243, 112, 33, 0.4);
  color: #ffffff;
}
.dev-hero__cta-secondary {
  border: 1px solid #d1d5db;
  color: #1f2937;
}
.dev-hero__cta-secondary:hover {
  border-color: #9ca3af;
  color: #1f2937;
}

.dev-hero__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin-top: 56px;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.dev-hero__card {
  background: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  padding: 24px;
  transition:
    border-color 0.15s,
    transform 0.15s;
  text-decoration: none;
  color: inherit;
  display: block;
}
.dev-hero__card:hover {
  border-color: #f37021;
  transform: translateY(-2px);
  color: inherit;
  text-decoration: none;
}
.dev-hero__card-icon {
  font-size: 28px;
  margin-bottom: 10px;
}
.dev-hero__card-title {
  font-weight: 700;
  font-size: 16px;
  color: #15171a;
  margin-bottom: 6px;
}
.dev-hero__card-body {
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
}

/* ------------------------------------------------------------------ */
/* Docs layout                                                          */
/* ------------------------------------------------------------------ */

.dev-docs-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  min-height: calc(100vh - 60px);
  background: #ffffff;
}
.dev-docs-layout__nav {
  background: #fbfbfd;
  border-right: 1px solid #e9ecef;
  padding: 24px 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}
.dev-docs-layout__main {
  padding: 32px 48px 80px;
  max-width: 920px;
}
@media (max-width: 900px) {
  .dev-docs-layout {
    grid-template-columns: 1fr;
  }
  .dev-docs-layout__nav {
    position: static;
    height: auto;
    padding: 16px 0;
  }
  .dev-docs-layout__main {
    padding: 16px 20px 60px;
  }
}

/* Sidebar */
.dev-docs-sidebar {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.dev-docs-sidebar__footer {
  margin-top: auto;
  padding: 16px 24px 8px;
  border-top: 1px solid #e9ecef;
}
.dev-docs-sidebar__back-home {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  font-size: 13px;
  color: #4b5563;
  text-decoration: none;
  border-radius: 6px;
  transition:
    background 0.12s,
    color 0.12s;
}
.dev-docs-sidebar__back-home:hover {
  background: #fff4ec;
  color: #f37021;
  text-decoration: none;
}
.dev-docs-sidebar__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 24px 20px;
  font-weight: 700;
  font-size: 15px;
  color: #15171a;
  text-decoration: none;
  border-bottom: 1px solid #e9ecef;
  margin-bottom: 16px;
}
.dev-docs-sidebar__brand:hover {
  color: #f37021;
  text-decoration: none;
}
.dev-docs-sidebar__brand-mark {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  background: #f37021;
  color: #ffffff;
  border-radius: 6px;
  font-size: 14px;
}
.dev-docs-sidebar__group {
  padding: 8px 0 4px;
}
.dev-docs-sidebar__group-label {
  padding: 6px 24px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
}
.dev-docs-sidebar__group ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.dev-docs-sidebar__item {
  display: block;
  padding: 7px 24px;
  color: #4b5563;
  text-decoration: none;
  border-left: 2px solid transparent;
}
.dev-docs-sidebar__item:hover {
  background: #f3f4f6;
  color: #15171a;
  text-decoration: none;
}
.dev-docs-sidebar__item.is-active {
  background: #fff4ec;
  color: #f37021;
  border-left-color: #f37021;
  font-weight: 600;
}

/* ------------------------------------------------------------------ */
/* Sign-in banner                                                       */
/* ------------------------------------------------------------------ */

.dev-signin-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-radius: 10px;
  font-size: 14px;
  margin-bottom: 24px;
}
.dev-signin-banner--anon {
  background: #fff8ef;
  border: 1px solid #fed4b1;
  color: #92400e;
}
.dev-signin-banner--no-app,
.dev-signin-banner--no-sandbox {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #047857;
}
.dev-signin-banner--ready {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #166534;
}
.dev-signin-banner--loading {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  height: 48px;
}
.dev-signin-banner__msg {
  flex: 1;
  font-weight: 500;
}
.dev-signin-banner__hint {
  font-size: 12px;
  color: #6b7280;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.dev-signin-banner__btn {
  background: #15171a;
  color: #ffffff;
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
}
.dev-signin-banner__btn:hover {
  background: #2d3138;
  color: #ffffff;
  text-decoration: none;
}

/* ------------------------------------------------------------------ */
/* Article (markdown-like) typography                                    */
/* ------------------------------------------------------------------ */

.dev-docs-article {
  font-size: 15.5px;
  line-height: 1.7;
  color: #1f2937;
}
.dev-docs-article h1 {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #15171a;
  margin: 0 0 12px;
}
.dev-docs-article h2 {
  font-size: 24px;
  font-weight: 700;
  margin: 40px 0 12px;
  color: #15171a;
}
.dev-docs-article h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 28px 0 8px;
  color: #15171a;
}
.dev-docs-article p {
  margin: 12px 0;
}
.dev-docs-article ul,
.dev-docs-article ol {
  padding-left: 24px;
  margin: 12px 0;
}
.dev-docs-article li {
  margin: 6px 0;
}
.dev-docs-article a {
  color: #f37021;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.dev-docs-article a:hover {
  color: #c2570f;
}
.dev-docs-article code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.9em;
  background: #f3f4f6;
  padding: 2px 6px;
  border-radius: 4px;
}
.dev-docs-article table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  font-size: 14px;
}
.dev-docs-article th,
.dev-docs-article td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid #e5e7eb;
}
.dev-docs-article th {
  font-weight: 700;
  background: #f9fafb;
}
.dev-docs-article blockquote {
  margin: 16px 0;
  padding: 14px 18px;
  background: #fef9c3;
  border-left: 3px solid #facc15;
  border-radius: 0 6px 6px 0;
  color: #713f12;
  font-size: 14.5px;
}
.dev-docs-article__lead {
  font-size: 17px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0 0 24px;
}

/* ------------------------------------------------------------------ */
/* CodeBlock                                                            */
/* ------------------------------------------------------------------ */

.dev-codeblock {
  margin: 16px 0 24px;
  border: 1px solid #1f2937;
  background: #15171a;
  border-radius: 10px;
  overflow: hidden;
}
.dev-codeblock__tabs {
  display: flex;
  align-items: center;
  background: #1f2937;
  padding: 0 6px;
}
.dev-codeblock__tab {
  background: transparent;
  border: 0;
  color: #9ca3af;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  font-family: inherit;
}
.dev-codeblock__tab:hover {
  color: #e5e7eb;
}
.dev-codeblock__tab.is-active {
  color: #ffffff;
  border-bottom-color: #f37021;
}
.dev-codeblock__copy {
  margin-left: auto;
  background: transparent;
  border: 1px solid #374151;
  color: #9ca3af;
  font-size: 12px;
  padding: 5px 10px;
  border-radius: 5px;
  cursor: pointer;
  margin-right: 8px;
  font-family: inherit;
}
.dev-codeblock__copy:hover {
  color: #ffffff;
  border-color: #4b5563;
}
.dev-codeblock__pre {
  margin: 0;
  padding: 18px 20px;
  overflow-x: auto;
  font-size: 13.5px;
  line-height: 1.55;
  color: #e5e7eb;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  background: #15171a;
}
/* .dev-docs-article code (inline chip: light grey bg + padding) otherwise
   leaks into blocks and puts light text on a light bar per line. */
.dev-docs-article .dev-codeblock__pre code {
  display: block;
  background: transparent;
  color: inherit;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
  white-space: pre;
}
.dev-codeblock__personalized-tag {
  background: #064e3b;
  color: #6ee7b7;
  font-size: 11px;
  padding: 4px 14px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  border-top: 1px solid #1f2937;
}

/* ------------------------------------------------------------------ */
/* API Reference (Stoplight Elements wrapper)                            */
/* ------------------------------------------------------------------ */

.dev-api-ref {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  min-height: 600px;
  overflow: hidden;
}
.dev-api-ref elements-api {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Language picker in the docs sidebar footer.
   Only EN / JA — the other locales in this app have no developer-docs
   strings, so offering them would silently serve English. */
.dev-docs-sidebar__lang {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
}
.dev-docs-sidebar__lang-btn {
  flex: 1;
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  cursor: pointer;
  transition:
    background 0.12s,
    color 0.12s,
    border-color 0.12s;
}
.dev-docs-sidebar__lang-btn:hover {
  color: #f37021;
  border-color: #f5c39c;
}
.dev-docs-sidebar__lang-btn.is-active {
  color: #fff;
  background: #f37021;
  border-color: #f37021;
}

